%global base_name woodstox %global core_name woodstox-core %global stax2_ver 3.1.1 %define with_ant 0 Name: %{core_name} Version: 4.1.2 Release: %mkrel 8 Summary: High-performance XML processor License: ASL 2.0 or LGPLv2+, BSD Group: Development/Java URL: http://%{base_name}.codehaus.org/ # corrupt, missing some build files DO NOT USE #Source0: http://%{base_name}.codehaus.org/%{version}/%{core_name}-src-%{version}.tar.gz # svn export http://svn.codehaus.org/woodstox/wstx/tags/4.1.2 woodstox-4.1.2 # tar czf woodstox-4.1.2-src-svn.tar.gz woodstox-4.1.2 Source0: woodstox-4.1.2-src-svn.tar.gz Patch0: %{name}-unbundling.patch Patch1: %{name}-fsf-address.patch BuildArch: noarch Obsoletes: %base_name < 4.1.2-4 Provides: %base_name = %version-%release %if %with_ant Obsoletes: stax2-api Provides: stax2-api %endif BuildRequires: java-devel BuildRequires: jpackage-utils BuildRequires: felix-osgi-core BuildRequires: relaxngDatatype BuildRequires: msv-xsdlib # https://github.com/kohsuke/msv BuildRequires: msv-msv %if %with_ant BuildRequires: ant BuildRequires: ant-apache-bcel BuildRequires: ant-junit BuildRequires: bcel BuildRequires: bndtask BuildRequires: emma BuildRequires: java-javadoc BuildRequires: junit BuildRequires: sax2 %else # DO NOT USE BuildRequires: maven BuildRequires: stax2-api Requires: stax2-api %endif Requires: felix-osgi-core Requires: relaxngDatatype Requires: msv-xsdlib Requires: msv-msv Requires: jpackage-utils Requires: java %description Woodstox is a high-performance validating namespace-aware StAX-compliant (JSR-173) Open Source XML-processor written in Java. XML processor means that it handles both input (== parsing) and output (== writing, serialization)), as well as supporting tasks such as validation. This package also contains StAX2 APIs: StAX2 is an experimental API that is intended to extend basic StAX specifications in a way that allows implementations to experiment with features before they end up in the actual StAX specification (if they do). As such, it is intended to be freely implementable by all StAX implementations same way as StAX, but without going through a formal JCP process. %files %doc release-notes/asl/ASL2.0 release-notes/lgpl/LGPL2.1 release-notes/asl/NOTICE %{_javadir}/%{name}.jar %{_javadir}/%{name}-asl.jar %{_javadir}/%{name}-lgpl.jar %if %with_ant %{_javadir}/stax2-api.jar %{_javadir}/%{base_name}-stax2-api.jar %{_javadir}/%{base_name}-stax2test.jar %endif %{_mavenpomdir}/JPP-%{name}-asl.pom %{_mavenpomdir}/JPP-%{name}-lgpl.pom %if %with_ant %{_mavenpomdir}/JPP-%{base_name}-stax2-api.pom %endif %{_mavendepmapfragdir}/%{name} #-------------------------------------------------------------------- %package javadoc Summary: API documentation for %{name} Group: Development/Java Requires: jpackage-utils Obsoletes: %base_name-javadoc < 4.1.2-4 Provides: %base_name-javadoc = %version-%release %if %with_ant Obsoletes: stax2-api-javadoc Provides: stax2-api-javadoc %endif %description javadoc This package contains the API documentation for %{name}. %files javadoc #%doc release-notes/asl/ASL2.0 release-notes/lgpl/LGPL2.1 %doc %{_javadocdir}/%{name} #-------------------------------------------------------------------- %prep %setup -q -n %{base_name}-%{version} cp src/maven/%{name}-asl.pom pom.xml cp src/maven/%{name}-lgpl.pom pom-lgpl.xml %if %with_ant sed -i 's|<import file="build-maven-deploy.xml" />||g' build.xml sed -i 's|http://java.sun.com/j2se/1.5.0/docs/api/|/usr/share/javadoc/java/|g' build.xml find \( -name '*.jar' -o -name '*.class' \) -exec rm -f '{}' \; pushd lib # mkdir -p ant ln -sf $(build-classpath ant/bndtask) ant/bndtask-0.2.0.jar pushd msv ln -sf $(build-classpath msv-msv) msv.jar ln -sf $(build-classpath msv-xsdlib) xsdlib.jar ln -sf $(build-classpath relaxngDatatype) . popd ln -sf $(build-classpath emma) . ln -sf $(build-classpath emma_ant) . ln -sf $(build-classpath stax-api) stax-api-1.0.1.jar ln -sf $(build-classpath sax2) sax2.jar # mkdir -p osgi ln -sf $(build-classpath felix/org.osgi.core) osgi/org.osgi.core-1.2.0.jar # mkdir -p test ln -sf $(build-classpath junit) test/junit-3.8.1.jar popd cp src/maven/stax2-api.pom stax2-api.pom sed -i "s/@VERSION@/%{stax2_ver}/g" stax2-api.pom %else # removing bundled stuff rm -rf lib rm -rf src/maven rm -rf src/resources rm -rf src/samples rm -rf src/java/org rm -rf src/test/org rm -rf src/test/stax2 # fixing incomplete source directory structure mkdir src/main mv -f src/java src/main/ mkdir src/test/java mv -f src/test/wstxtest src/test/java/ %endif %patch0 -p1 %patch1 -p1 sed -i "s/@VERSION@/%{version}/g" pom.xml pom-lgpl.xml sed -i "s/@REQ_STAX2_VERSION@/%{stax2_ver}/g" pom.xml pom-lgpl.xml %build %if %with_ant export CLASSPATH=$(build-classpath ant bcel ant/ant-apache-bcel junit ant/ant-junit) ant -Dant.build.javac.source=1.5 -Dant.build.javac.target=1.5 jars.osgi javadoc jar.stax2test test %else # stax2 missing -> cannot compile tests -> tests skipped mvn-rpmbuild -Dmaven.test.skip=true \ install javadoc:aggregate %endif %install # jars install -d -m 755 %{buildroot}%{_javadir} %if %with_ant # OSGi support install -pm 644 build/%{name}-asl-%{version}.jar \ %{buildroot}%{_javadir}/%{name}-asl.jar install -pm 644 build/%{name}-lgpl-%{version}.jar \ %{buildroot}%{_javadir}/%{name}-lgpl.jar install -pm 644 build/stax2-api-%{stax2_ver}.jar \ %{buildroot}%{_javadir}/%{base_name}-stax2-api.jar install -pm 644 build/stax2test-%{stax2_ver}.jar \ %{buildroot}%{_javadir}/%{base_name}-stax2test.jar # backward compatibility ln -s %{name}-asl.jar %{buildroot}%{_javadir}/%{name}.jar ln -s %{base_name}-stax2-api.jar %{buildroot}%{_javadir}/stax2-api.jar %else # non OSGi support install -pm 644 target/%{name}-asl-%{version}.jar %{buildroot}%{_javadir}/%{name}.jar #ln -s %{name}-asl.jar %{buildroot}%{_javadir}/%{name}.jar ln -s %{name}.jar %{buildroot}%{_javadir}/%{name}-lgpl.jar ln -s %{name}.jar %{buildroot}%{_javadir}/%{name}-asl.jar %endif # pom install -d -m 755 %{buildroot}%{_mavenpomdir} install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP-%{name}-asl.pom install -pm 644 pom-lgpl.xml %{buildroot}%{_mavenpomdir}/JPP-%{name}-lgpl.pom # javadoc install -d -m 755 %{buildroot}%{_javadocdir}/%{name} %if %with_ant cp -pr build/javadoc/* %{buildroot}%{_javadocdir}/%{name} %else cp -pr target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name} %endif %add_maven_depmap JPP-%{name}-asl.pom %{name}-asl.jar %add_maven_depmap JPP-%{name}-lgpl.pom %{name}-lgpl.jar %if %with_ant install -pm 644 stax2-api.pom %{buildroot}%{_mavenpomdir}/JPP-%{base_name}-stax2-api.pom %add_maven_depmap JPP-%{base_name}-stax2-api.pom %{base_name}-stax2-api.jar %endif %changelog * Thu Jan 17 2013 dmorgan <dmorgan> 4.1.2-8.mga3 + Revision: 389051 - Remove glassfish-stax-api support * Thu Jan 17 2013 dmorgan <dmorgan> 4.1.2-7.mga3 + Revision: 389027 - Remove glassfish-stax-api support * Thu Jan 17 2013 dmorgan <dmorgan> 4.1.2-6.mga3 + Revision: 389025 - Remove glassfish-stax-api support * Mon Jan 14 2013 umeabot <umeabot> 4.1.2-5.mga3 + Revision: 385823 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Sat Jun 23 2012 dmorgan <dmorgan> 4.1.2-4.mga3 + Revision: 262716 - Build with maven + gil <gil> - build fix rebuilt with ant support added OSGi support * Sun Dec 25 2011 dmorgan <dmorgan> 4.1.2-3.mga2 + Revision: 187637 - imported package woodstox-core * Tue Sep 13 2011 Jaromir Capik <jcapik@redhat.com> - 4.1.2-1 - Initial version