Sophie

Sophie

distrib > Mandriva > 10.2 > i586 > by-pkgid > 6e44f845027694a43e0fabd98ea639df > files > 5

webwork-1.4-3jpp.src.rpm

%define section free

# If you do not want cos-multipart support, give rpmbuild option '--without nonfree'
%define with_nonfree %{!?_without_nonfree:1}%{?_without_nonfree:0}
%define without_nonfree %{?_without_nonfree:1}%{!?_without_nonfree:0}

Summary:        Web application framework for J2EE
Name:           webwork
Version:        1.4
Release:        3jpp
Epoch:          0
License:        Apache Software License
URL:            http://www.opensymphony.com/webwork/
Group:          Development/Libraries/Java
Vendor:         JPackage Project
Distribution:   JPackage
Source0:        webwork-1.4.tar.gz
# cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/opensymphony login
# cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/opensymphony export -r release_1_4_0 webwork
Patch0:         webwork-Script.patch
Patch1:         webwork-Multipart.patch
Patch2:         webwork-build_xml.patch
BuildRequires:  jpackage-utils >= 0:1.5
BuildRequires:  ant >= 0:1.5.4
BuildRequires:  javacc
BuildRequires:  jtidy 
BuildRequires:  bsf 
BuildRequires:  httpunit 
BuildRequires:  junit >= 0:3.8.1
BuildRequires:  servletapi4 
BuildRequires:  xalan-j2 
BuildRequires:  xerces-j2 
BuildRequires:  jakarta-commons-logging 
BuildRequires:  jdom 
%if %{with_nonfree}
BuildRequires:  cos-multipart >= 0:0.05Nov2002
%endif
BuildRequires:  rhino 
BuildRequires:  pell-multipart
BuildRequires:  jakarta-commons-beanutils
BuildRequires:  jakarta-commons-collections
BuildRequires:  jakarta-commons-digester
BuildRequires:  itext
BuildRequires:  jasperreports
BuildRequires:  jakarta-poi
BuildRequires:  log4j
BuildRequires:  velocity
Requires:  bsf
Requires:  httpunit
Requires:  servletapi4
Requires:  xalan-j2
Requires:  xerces-j2
Requires:  jakarta-commons-logging
Requires:  jdom
Requires:  bsf
Requires:  rhino
Requires:  jakarta-commons-beanutils
Requires:  jakarta-commons-collections
Requires:  jakarta-commons-digester
Requires:  itext
Requires:  jasperreports
Requires:  jakarta-poi
Requires:  log4j
Requires:  velocity
BuildArch:      noarch
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-buildroot

%description
WebWork is a web application framework for J2EE. 
It is based on a concept called "Pull HMVC" Pull 
Hierarchical Model View Controller). It supports 
an arrange of view technologies - XSLT, JSP, 
Velocity, Applet, Jasper Reports, and more.


%package multipart
Summary:        Multipart support for %{name}
Group:          Development/Libraries/Java
Requires:  pell-multipart
%if %{with_nonfree}
Requires:  cos-multipart
%endif

%description multipart
%{summary}.

%package javadoc
Summary:        Javadoc for %{name}
Group:          Development/Documentation

%description javadoc
%{summary}.

%package manual
Summary:        Documents for %{name}
Group:          Development/Documentation

%description manual
%{summary}.

%prep
%setup -q -n %{name}
find . -name "*.jar" -exec rm {} \;
# Remove example with db4o, this lib is non-free, commercial only
rm -rf src/main/webwork/examples/userreg
# Remove cos-multipart implementation, pell-multipart will do it
%if %{without_nonfree}
rm src/main/webwork/multipart/CosMultiPartRequest.java
%endif
# Save MultiPartRequestWrapper, it may be patched to not accept cos
cp src/main/webwork/multipart/MultiPartRequestWrapper.java src/main/webwork/multipart/MultiPartRequestWrapper.java.sav
# save original build.xml
cp build.xml build.xml.sav

%patch0
%if %{without_nonfree}
%patch1
%endif
%patch2

%build
export CLASSPATH=$(build-classpath \
junit)
ln -s $(find-jar jtidy) lib/build/jtidy.jar
ln -s $(find-jar bsf) lib/build/bsf.jar
ln -s $(find-jar httpunit) lib/build/httpunit.jar
ln -s $(find-jar junit) lib/build/junit.jar
ln -s $(find-jar servletapi4) lib/build/servlet.jar
ln -s $(find-jar xalan-j2) lib/build/xalan.jar
ln -s $(find-jar xerces-j2) lib/build/xerces.jar
ln -s $(find-jar commons-logging) lib/core/commons-logging.jar
ln -s $(find-jar jdom) lib/examples/jdom.jar
ln -s $(find-jar bsf) lib/examples/bsf.jar
%if %{with_nonfree}
ln -s $(find-jar cos-multipart) lib/optional/cos-multipart.jar
%endif
ln -s $(find-jar rhino) lib/optional/js.jar
ln -s $(find-jar pell-multipart) lib/optional/pell-multipart.jar
ln -s $(find-jar commons-beanutils) lib/view/commons-beanutils.jar
ln -s $(find-jar commons-collections) lib/view/commons-collections.jar
ln -s $(find-jar commons-digester) lib/view/commons-digester.jar
ln -s $(find-jar itext) lib/view/itext.jar
ln -s $(find-jar jasperreports) lib/view/jasperreports.jar
ln -s $(find-jar poi) lib/view/poi.jar
ln -s $(find-jar log4j) lib/view/log4j.jar
ln -s $(find-jar velocity) lib/view/velocity.jar

ant -Dbuild.sysclasspath=first dist

%install
rm -rf $RPM_BUILD_ROOT

# jars
mkdir -p $RPM_BUILD_ROOT%{_javadir}
cp -p dist/lib/%{name}.jar \
  $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
cp -p dist/lib/%{name}client.jar \
  $RPM_BUILD_ROOT%{_javadir}/%{name}-client-%{version}.jar
cp -p dist/lib/%{name}multipart.jar \
  $RPM_BUILD_ROOT%{_javadir}/%{name}-multipart-%{version}.jar
(cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}.jar; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done)
mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/etc
cp dist/etc/* $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/etc
cp dist/%{name}.war $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}

# javadoc
mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
cp -pr dist/docs/api/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} # ghost symlink
rm -rf dist/docs/api

# manual
mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
cp -pr dist/docs/* $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}


%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

%files
%defattr(0644,root,root,0755)
%doc %{_docdir}/%{name}-%{version}/license.txt
%{_datadir}/%{name}-%{version}
%{_javadir}/%{name}-%{version}.jar
%{_javadir}/%{name}.jar
%{_javadir}/%{name}-client-%{version}.jar
%{_javadir}/%{name}-client.jar

%files multipart
%defattr(0644,root,root,0755)
%{_javadir}/%{name}-multipart-%{version}.jar
%{_javadir}/%{name}-multipart.jar

%files javadoc
%defattr(0644,root,root,0755)
%doc %{_javadocdir}

%files manual
%defattr(0644,root,root,0755)
%doc %{_docdir}

# -----------------------------------------------------------------------------

%changelog

* Fri Jul 02 2004 Ralph Apel <r.apel at r-apel.de> - 0:1.4-3jpp
- better solution for non-free exclusion (--without nonfree)
- relax versioned dependencies
- pell-multipart (and cos-multipart) are runtime deps only of webwork-multipart

* Mon Jun 28 2004 Ralph Apel <r.apel at r-apel.de> - 0:1.4-2jpp
- put multipart classes into separate subpackage and jar
- optionally build without cos-multipart option (-D'without_nonfree 1')
- drop requires clover

* Tue Mar 02 2004 Ralph Apel <r.apel at r-apel.de> - 0:1.4-1jpp
- First JPackage release