%global revision r1 %global sane_cvs_version 1.7%{revision} %global cvs_version 1_7R1 Name: rhino-appjet Version: 1.7 Release: 0.1.R1%{?dist} Summary: JavaScript for Java as modified by Appjet License: MPLv1.1 or GPLv2+ Source0: ftp://ftp.mozilla.org/pub/mozilla.org/js/rhino%{cvs_version}.zip URL: http://www.mozilla.org/rhino/ Group: Development/Libraries Patch0: rhino-1.7R1-appjet.patch BuildRequires: ant BuildRequires: bea-stax-api BuildRequires: java-devel >= 1:1.6.0 BuildRequires: jpackage-utils BuildRequires: xmlbeans Requires: xmlbeans Requires: jpackage-utils Requires: jline Requires: java BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %description Rhino is an open-source implementation of JavaScript written entirely in Java. It is typically embedded into Java applications to provide scripting to end users. %package demo Summary: Examples for %{name} Group: Development/Libraries %description demo Examples for %{name}. %package manual Summary: Manual for %{name} Group: Documentation %description manual Documentation for %{name}. %package javadoc Summary: Javadoc for %{name} Group: Documentation %description javadoc Javadoc for %{name}. %prep %setup -q -n rhino%{cvs_version} %patch0 -p1 -b .appjet # remove all binary bits find -name '*.class' -exec rm -f '{}' \; find -name '*.jar' -exec rm -f '{}' \; # Fix build %{__perl} -pi -e 's|.*\n||' build.xml testsrc/build.xml toolsrc/org/mozilla/javascript/tools/debugger/build.xml xmlimplsrc/build.xml # Fix manifest %{__perl} -pi -e 's|^Class-Path:.*\n||g' src/manifest %build export CLASSPATH= export OPT_JAR_LIST=: %ant -Dxbean.jar=$(build-classpath xmlbeans/xbean) \ -Djsr173.jar=$(build-classpath bea-stax-api) deepclean jar copy-all javadoc pushd examples export CLASSPATH=../build/rhino%{cvs_version}/js.jar:$(build-classpath xmlbeans/xbean) %{javac} *.java %{jar} cvf ../build/rhino%{cvs_version}/%{name}-examples-%{version}.jar *.class popd %install rm -rf %{buildroot} # jars mkdir -p %{buildroot}%{_javadir} cp -a build/rhino%{cvs_version}/js.jar %{buildroot}%{_javadir}/%{name}-%{version}%{revision}.jar cp -a build/rhino%{cvs_version}/%{name}-examples-%{version}.jar %{buildroot}%{_javadir}/%{name}-examples-%{version}%{revision}.jar (cd %{buildroot}%{_javadir} && ln -s %{name}-%{version}%{revision}.jar js-appjet-%{version}%{revision}.jar) (cd %{buildroot}%{_javadir} && for jar in *-%{version}*; do ln -s ${jar} `echo $jar| sed "s|-%{version}%{revision}||g"`; done) # javadoc mkdir -p %{buildroot}%{_javadocdir}/%{name}-%{version} cp -a build/rhino%{cvs_version}/javadoc/* %{buildroot}%{_javadocdir}/%{name}-%{version} %{_bindir}/find %{buildroot}%{_javadocdir}/%{name}-%{version} -type f -name '*.html' | %{_bindir}/xargs perl -pi -e 's/\r$//g' # examples mkdir -p %{buildroot}%{_datadir}/%{name}-%{sane_cvs_version} cp -a examples/* %{buildroot}%{_datadir}/%{name}-%{sane_cvs_version} %clean rm -rf %{buildroot} %files %defattr(-,root,root,-) %{_javadir}/* %files demo %defattr(-,root,root,-) %{_datadir}/%{name}-%{sane_cvs_version} %files javadoc %defattr(-,root,root,-) %doc %{_javadocdir}/* %changelog * Sat Oct 9 2010 Tom "spot" Callaway - 1.7-0.1.R1 - 1.7R1 package with appjet changes, initial package