Name: yasl
Version: 1.3
Release: 1%{?dist}
Summary: Yet Another Swing Library
Group: Development/Libraries
License: LGPLv2+
URL: http://yaslibrary.sourceforge.net/
# cvs -d:pserver:anonymous@yaslibrary.cvs.sourceforge.net:/cvsroot/yaslibrary login
# cvs -z3 -d:pserver:anonymous@yaslibrary.cvs.sourceforge.net:/cvsroot/yaslibrary export -rHEAD YetAnotherSwingLib
# find YetAnotherSwingLib -name "*.class" -delete
# find YetAnotherSwingLib -name "*.jar" -delete
# find YetAnotherSwingLib -name ".cvsignore" -delete
# tar czf yasl-1.3-20121104-src-cvs.tar.gz YetAnotherSwingLib
Source0: %{name}-%{version}-20121104-src-cvs.tar.gz
Source1: yasl-arch-pom-template.xml
Source2: yasl-components-pom-template.xml
Source3: yasl-slf4j-pom-template.xml
# use system slf4j libs
# fix javac source
# fix javadoc classpath
Patch0: %{name}-%{version}-build.patch
Patch1: %{name}-%{version}-fix-incorrect-fsf-address.patch
Patch2: %{name}-%{version}-remove-classpath-from-manifests.patch
BuildRequires: java-devel
BuildRequires: jpackage-utils
BuildRequires: ant
BuildRequires: slf4j
Requires: slf4j
Requires: java
Requires: jpackage-utils
BuildArch: noarch
%description
Yet Another Swing Library (YASL) is a library for Java developers
containing Swing components, utilities, and a framework for Swing
applications.
%package javadoc
Group: Documentation
Summary: Javadoc for %{name}
Requires: jpackage-utils
%description javadoc
This package contains javadoc for %{name}.
%package demos
Group: Development/Libraries
Summary: Demonstrations and samples for %{name}
Requires: %{name} = %{version}-%{release}
Requires: slf4j
%description demos
This package contains sources archive demonstrations and samples for %{name}.
%prep
%setup -q -n YetAnotherSwingLib
%patch0 -p0
%patch1 -p1
%patch2 -p1
# fix unavailable resource
cp -p deployment/manifest.helloworld.mf deployment/manifest.matchinggame.mf
# fix for slf4j > 1.4.3
sed -i "s|String message = MessageFormatter.format(format, arg1, arg2);|String message = MessageFormatter.format(format, arg1, arg2).toString();|" source/org/yasl/logging/impl/YASLLogger.java
sed -i "s|String message = MessageFormatter.arrayFormat(format, args);|String message = MessageFormatter.format(format, args).toString();|" source/org/yasl/logging/impl/YASLLogger.java
cp -p %{SOURCE1} arch-pom.xml
cp -p %{SOURCE1} components-pom.xml
cp -p %{SOURCE1} slf4j-pom.xml
sed -i 's|@version@|%{version}|' *-pom.xml
%build
ant build api
%install
mkdir -p %{buildroot}%{_javadir}/%{name}
install -m 644 deployment/%{name}-arch-%{version}.jar %{buildroot}%{_javadir}/%{name}/%{name}-arch.jar
install -m 644 deployment/%{name}-components-%{version}.jar %{buildroot}%{_javadir}/%{name}/%{name}-components.jar
install -m 644 deployment/%{name}-slf4j-%{version}.jar %{buildroot}%{_javadir}/%{name}/%{name}-slf4j.jar
mkdir -p %{buildroot}%{_mavenpomdir}
install -pm 644 arch-pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}-arch.pom
%add_maven_depmap JPP.%{name}-%{name}-arch.pom %{name}/%{name}-arch.jar
install -pm 644 components-pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}-components.pom
%add_maven_depmap JPP.%{name}-%{name}-components.pom %{name}/%{name}-components.jar
install -pm 644 slf4j-pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}-slf4j.pom
%add_maven_depmap JPP.%{name}-%{name}-slf4j.pom %{name}/%{name}-slf4j.jar
# samples
install -m 644 deployment/%{name}-helloworld-%{version}.jar %{buildroot}%{_javadir}/%{name}/%{name}-helloworld.jar
install -m 644 deployment/%{name}-matchinggame-%{version}.jar %{buildroot}%{_javadir}/%{name}/%{name}-matchinggame.jar
install -m 644 deployment/%{name}-testapp-%{version}.jar %{buildroot}%{_javadir}/%{name}/%{name}-testapp.jar
mkdir -p %{buildroot}%{_javadocdir}/%{name}
cp -pr api/* %{buildroot}%{_javadocdir}/%{name}
%files
%{_javadir}/%{name}/%{name}-arch.jar
%{_javadir}/%{name}/%{name}-components.jar
%{_javadir}/%{name}/%{name}-slf4j.jar
%{_mavenpomdir}/JPP.%{name}-%{name}-*.pom
%{_mavendepmapfragdir}/%{name}
%doc deployment/COPYING.txt deployment/README.txt
%files javadoc
%{_javadocdir}/%{name}
%doc deployment/COPYING.txt
%files demos
%{_javadir}/%{name}/%{name}-helloworld.jar
%{_javadir}/%{name}/%{name}-matchinggame.jar
%{_javadir}/%{name}/%{name}-testapp.jar
%doc deployment/COPYING.txt
%changelog
* Sun Nov 04 2012 gil cattaneo 1.3-1
- initial rpm