Sophie

Sophie

distrib > Mageia > 3 > i586 > media > core-release-src > by-pkgid > b10591fc071369cf7a0589b0e8d5c178 > files > 4

woodstox-core-4.1.2-8.mga3.src.rpm

%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