# TODO
-# - servletapi5 is needed by axis-1.2.1-0.2jpp.1.noarch
# - castor is needed by axis-1.2.1-0.2jpp.1.noarch
+# - package axis2, axis is obsolete. see NOTE below.
+# NOTE
+# - it won't compile with java 1.6. see:
+# https://fcp.surfsite.org/modules/newbb/viewtopic.php?topic_id=55862&viewmode=flat&order=ASC&start=20
%define archivever %(echo %{version} | tr . _)
Summary: A SOAP implementation in Java
-Summary(pl): Implementacja SOAP w Javie
+Summary(pl.UTF-8): Implementacja SOAP w Javie
Name: axis
-Version: 1.2.1
-Release: 0.3
+Version: 1.4
+Release: 0.1
License: Apache Software License
Group: Development/Languages/Java
-Source0: http://ws.apache.org/axis//dist/%{archivever}/%{name}-src-%{archivever}.tar.gz
-# Source0-md5: 157ad070accf373565bce80de1204a4d
+Source0: http://ws.apache.org/axis/dist/%{archivever}/%{name}-src-%{archivever}.tar.gz
+# Source0-md5: 3dcce3cbd37f52d70ebeb858f90608dc
+Patch0: axis-classpath.patch
+Patch1: axis-missing_xsd.patch
URL: http://ws.apache.org/axis/
-#BuildRequires: ant-nodeps
-BuildRequires: jakarta-ant >= 1.6
-BuildRequires: jdk
+BuildRequires: ant >= 1.6
+BuildRequires: ant-nodeps
+BuildRequires: java-gcj-compat-devel
# Mandatory requires
-BuildRequires: jaf
-BuildRequires: jakarta-commons-discovery
-BuildRequires: jakarta-commons-httpclient3
-BuildRequires: jakarta-commons-logging
-BuildRequires: jakarta-log4j
-BuildRequires: javamail
-BuildRequires: jaxp_parser_impl
-BuildRequires: servletapi5
-BuildRequires: wsdl4j
-# optional requires
-BuildRequires: castor
-BuildRequires: httpunit
-BuildRequires: jakarta-oro
-BuildRequires: jimi
-BuildRequires: jms
-BuildRequires: jsse
-BuildRequires: junit
-#BuildRequires: xml-security
+# BuildRequires: jaf
+# BuildRequires: java-commons-discovery
+# BuildRequires: java-commons-httpclient
+# BuildRequires: java-commons-logging
+# BuildRequires: java-xmlbeans
+# BuildRequires: javamail
+# BuildRequires: jaxp_parser_impl
+# BuildRequires: jpackage-utils
+# BuildRequires: logging-log4j
+# BuildRequires: rpmbuild(macros) >= 1.300
+# BuildRequires: servletapi5
+# BuildRequires: wsdl4j
+# # optional requires
+# BuildRequires: castor
+# BuildRequires: httpunit
+# BuildRequires: jakarta-oro
+# # BuildRequires: jimi
+# # BuildRequires: jms
+# BuildRequires: jsse
+# BuildRequires: junit
Requires: jaf
Requires: jakarta-commons-discovery
-Requires: jakarta-commons-httpclient3
+Requires: jakarta-commons-httpclient
Requires: jakarta-commons-logging
-Requires: java
Requires: javamail
Requires: jaxp_parser_impl
-#Requires: jpackage-utils >= 0:1.5
+Requires: logging-log4j
+Requires: jpackage-utils
Requires: log4j
Requires: wsdl4j
BuildArch: noarch
This project is a follow-on to the Apache SOAP project.
-%description -l pl
+%description -l pl.UTF-8
Apache AXIS to implementacja SOAP ("Simple Object Access Protocol")
przekazanego do W3C.
Z projektu specyfikacji W3C:
-SOAP to lekki protokó³ do wymiany informacji w scentralizowanym,
-rozproszonym ¶rodowisku. Jest to protokó³ oparty na XML-u, sk³adaj±cy
-siê z trzech czê¶ci: koperty definiuj±cej szkielet do opisu zawarto¶ci
-i sposobu przetwarzania komunikatu, zbioru regu³ kodowania do
-wyra¿ania instancji typów danych zdefiniowanych w aplikacji oraz
-konwencji reprezentowania zdalnych wywo³añ procedur i odpowiedzi.
+SOAP to lekki protokół do wymiany informacji w scentralizowanym,
+rozproszonym środowisku. Jest to protokół oparty na XML-u, składający
+się z trzech części: koperty definiującej szkielet do opisu zawartości
+i sposobu przetwarzania komunikatu, zbioru reguł kodowania do
+wyrażania instancji typów danych zdefiniowanych w aplikacji oraz
+konwencji reprezentowania zdalnych wywołań procedur i odpowiedzi.
-Ten projekt jest nastêpc± projektu Apache SOAP.
+Ten projekt jest następcą projektu Apache SOAP.
%package javadoc
Summary: Javadoc for %{name}
-Summary(pl): Dokumentacja javadoc dla pakietu %{name}
-Group: Development/Languages/Java
+Summary(pl.UTF-8): Dokumentacja javadoc dla pakietu %{name}
+Group: Documentation
+Requires: jpackage-utils
%description javadoc
Javadoc for %{name}.
-%description javadoc -l pl
+%description javadoc -l pl.UTF-8
Dokumentacja javadoc dla pakietu %{name}.
%package manual
Summary: Manual for %{name}
-Summary(pl): Podrêcznik do pakietu %{name}
+Summary(pl.UTF-8): Podręcznik do pakietu %{name}
Group: Development/Languages/Java
%description manual
Documentation for %{name}.
-%description manual -l pl
-Podrêcznik do pakietu %{name}.
+%description manual -l pl.UTF-8
+Podręcznik do pakietu %{name}.
%prep
%setup -q -n %{name}-%{archivever}
# Remove provided binaries
-find . -name "*.jar" -exec rm -f {} \;
-find . -name "*.zip" -exec rm -f {} \;
-find . -name "*.class" -exec rm -f {} \;
+# find -name '*.jar' | xargs rm -v
+find -name '*.class' | xargs rm -v
+
+%patch0 -p1
+%patch1 -p1
%build
-[ -z "$JAVA_HOME" ] && export JAVA_HOME=%{_jvmdir}/java
-
-CLASSPATH=$(build-classpath wsdl4j jakarta-commons-discovery jakarta-commons-httpclient3 jakarta-commons-logging log4j jaf javamail/mailapi servletapi5)
-export CLASSPATH=$CLASSPATH:$(build-classpath oro junit jimi xml-security jsse httpunit jms castor 2>/dev/null)
-
-export OPT_JAR_LIST="ant/ant-nodeps"
-ant \
- -Dcompile.ime=true \
- -Dwsdl4j.jar=$(build-classpath wsdl4j) \
- -Dcommons-discovery.jar=$(build-classpath jakarta-commons-discovery) \
- -Dcommons-logging.jar=$(build-classpath jakarta-commons-logging) \
- -Dcommons-httpclient.jar=$(build-classpath jakarta-commons-httpclient3) \
- -Dlog4j-core.jar=$(build-classpath log4j) \
- -Dactivation.jar=$(build-classpath jaf) \
- -Dmailapi.jar=$(build-classpath javamail/mailapi) \
- -Dxerces.jar=$(build-classpath jaxp_parser_impl) \
- -Dservlet.jar=$(build-classpath servletapi5) \
- -Dregexp.jar=$(build-classpath oro 2>/dev/null) \
- -Djunit.jar=$(build-classpath junit 2>/dev/null) \
- -Djimi.jar=$(build-classpath jimi 2>/dev/null) \
- -Djsse.jar=$(build-classpath jsse/jsse 2>/dev/null) \
- clean compile javadocs
+# requiredJars="activation bsf castor commons-codec commons-discovery commons-httpclient commons-logging httpunit jsse junit log4j mail xmlbeans servlet wsdl4j"
+# for I in $requiredJars; do
+# ln -sf $(find-jar $I) lib/$I
+# done
+
+CLASSPATH=$(build-classpath ecj tools)
+export CLASSPATH
+%ant -Dbuild.compiler=modern dist
%install
rm -rf $RPM_BUILD_ROOT
### Jar files
-
-install -d $RPM_BUILD_ROOT%{_javadir}/%{name}
+install -d $RPM_BUILD_ROOT%{_javadir}/%{name}/lib
cd build/lib
-install -m 644 axis.jar axis-ant.jar saaj.jar jaxrpc.jar \
+install axis.jar axis-ant.jar saaj.jar jaxrpc.jar \
$RPM_BUILD_ROOT%{_javadir}/%{name}
cd -
cd -
### Javadoc
-
install -d $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
-cp -pr build/javadocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
-
-cd docs
-rm -fr apiDocs
-ln -fs %{_javadocdir}/%{name} apiDocs
-cd -
+cp -a build/javadocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
+ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} # ghost symlink
%clean
rm -rf $RPM_BUILD_ROOT
%post javadoc
-rm -f %{_javadocdir}/%{name}
-ln -s %{name}-%{version} %{_javadocdir}/%{name}
-
-%postun javadoc
-if [ "$1" = "0" ]; then
- rm -f %{_javadocdir}/%{name}
-fi
+ln -nfs %{name}-%{version} %{_javadocdir}/%{name}
%files
%defattr(644,root,root,755)
%files javadoc
%defattr(644,root,root,755)
-%dir %{_javadocdir}/%{name}-%{version}
-%{_javadocdir}/%{name}-%{version}/*
+%{_javadocdir}/%{name}-%{version}
+%ghost %{_javadocdir}/%{name}
%files manual
%defattr(644,root,root,755)