%define jythonver %(echo %version | cut -d '.' -f -3) %define javahome %{_jvmdir}/jdk Name: jython Version: 2.2.1.svn Release: 6mamba Summary: A Java implementation of the Python language Group: Development/Languages Vendor: openmamba Distribution: openmamba Packager: Automatic Build System URL: http://www.jython.org/Project/ # use fetch-jython.sh script to generate the source drop # sh fetch-jython.sh jython https://jython.svn.sourceforge.net/svnroot Release_2_2_1 Source0: jython-%{version}.tar.bz2 Source1: fetch-jython.sh Patch0: jython-2.2.1.svn-cachedir.patch Patch1: jython-2.2.1.svn-nofullbuildpath.patch License: BSD, Python Software Foundation License BuildRequires: apache-ant BuildRequires: apache-tomcat5-servletapi5 BuildRequires: jakarta-oro BuildRequires: java-gcj-compat BuildRequires: java-jline BuildRequires: java-junit3 BuildRequires: java-libreadline BuildRequires: java-mysql-connector %if "%{stage1}" != "1" BuildRequires: java-svnant %endif BuildRequires: jpackage-utils BuildRequires: libht2html BuildRequires: libpython-devel BuildRequires: postgresql-jdbc BuildRequires: python-xml Requires: apache-tomcat5-servletapi5 Requires: jakarta-oro Requires: java-libreadline Requires: java-mysql-connector Requires: libht2html Requires: python BuildRoot: %{_tmppath}/%{name}-%{version}-root %description Jython is an implementation of the high-level, dynamic, object-oriented language Python seamlessly integrated with the Java platform. The predecessor to Jython, JPython, is certified as 100% Pure Java. Jython is freely available for both commercial and non-commercial use and is distributed with source code. Jython is complementary to Java and is especially suited for the following tasks: Embedded scripting - Java programmers can add the Jython libraries to their system to allow end users to write simple or complicated scripts that add functionality to the application. Interactive experimentation - Jython provides an interactive interpreter that can be used to interact with Java packages or with running Java applications. This allows programmers to experiment and debug any Java system using Jython. Rapid application development - Python programs are typically 2-10X shorter than the equivalent Java program. This translates directly to increased programmer productivity. The seamless interaction between Python and Java allows developers to freely mix the two languages both during development and in shipping products. %package javadoc Group: Documentation Summary: Javadoc for %{name} %description javadoc A Java implementation of the Python language. This package contains API documentation for %{name}. %package manual Group: Documentation Summary: Manual for %{name} %description manual A Java implementation of the Python language. This package contains documentation for %{name}. %package demo Group: Documentation Summary: Demo for %{name} Requires: %{name} = %{version}-%{release} %description demo A Java implementation of the Python language. This package contains demonstrations and samples for %{name}. %prep %setup -q -n %{name}-%{version} %patch0 -p1 %patch1 -p1 %build export CLASSPATH=$(build-classpath oro servletapi5 javacc jline mysql-connector-java svnant postgresql-jdbc svn-javahl) export CLASSPATH=$CLASSPATH:%{_libdir}/libreadline-java/libreadline-java.jar rm -rf org/apache perl -p -i -e 's|execon|apply|g' build.xml ant \ -Dpython.home=%{_bindir} \ -Dht2html.dir=%{_datadir}/ht2html \ -Dpython.lib=./CPythonLib \ -Dpython.exe=%{__python} \ -DPyXmlHome=%{_libdir}/python%pyver \ %if "%{stage1}" != "1" -Dsvnant.jar.dir=%{_javadir} \ %endif -Djavahl.dir=%{_javadir} \ -Dtargetver=1.3 \ copy-dist # remove #! from python files pushd dist for f in `find . -name '*.py'` do sed --in-place "s:#!\s*/usr.*::" $f done popd %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" install -d -m 755 %{buildroot}%{_javadir} install -m 644 dist/%{name}.jar \ %{buildroot}%{_javadir}/%{name}-%{jythonver}.jar pushd %{buildroot}%{_javadir} for jar in *-%{jythonver}* do ln -sf ${jar} ${jar/-%{jythonver}/} done popd install -d -m 755 %{buildroot}%{_javadocdir}/%{name}-%{jythonver} cp -pr dist/Doc/javadoc/* %{buildroot}%{_javadocdir}/%{name}-%{jythonver} install -d -m 755 %{buildroot}%{_datadir}/%{name} find dist/Lib -type d -name test | xargs rm -rf cp -pr dist/Lib %{buildroot}%{_datadir}/%{name} cp -pr dist/Tools %{buildroot}%{_datadir}/%{name} cp -pr dist/Demo %{buildroot}%{_datadir}/%{name} rm -rf dist/Doc/javadoc mv dist/Doc %{name}-manual-%{jythonver} # registry install -m 644 registry %{buildroot}%{_datadir}/%{name} # scripts install -d %{buildroot}%{_bindir} cat > %{buildroot}%{_bindir}/%{name} << EOF #!/bin/sh # # %{name} script # JPackage Project (http://jpackage.sourceforge.net) # Source functions library . %{_datadir}/java-utils/java-functions # Source system prefs if [ -f %{_sysconfdir}/%{name}.conf ] ; then . %{_sysconfdir}/%{name}.conf fi # Source user prefs if [ -f \$HOME/.%{name}rc ] ; then . \$HOME/.%{name}rc fi # Configuration MAIN_CLASS=org.python.util.%{name} BASE_FLAGS=-Dpython.home=%{_datadir}/%{name} BASE_JARS="%{name} oro servletapi5 mysql-connector-java" BASE_FLAGS="\$BASE_FLAGS -Dpython.console=org.python.util.ReadlineConsole" BASE_FLAGS="\$BASE_FLAGS -Djava.library.path=%{_libdir}/libreadline-java" BASE_FLAGS="\$BASE_FLAGS -Dpython.console.readlinelib=Editline" # Set parameters set_jvm CLASSPATH=$CLASSPATH:%{_libdir}/libreadline-java/libreadline-java.jar set_classpath \$BASE_JARS set_flags \$BASE_FLAGS set_options \$BASE_OPTIONS # Let's start run "\$@" EOF cat > %{buildroot}%{_bindir}/%{name}c << EOF #!/bin/sh # # %{name}c script # JPackage Project (http://jpackage.sourceforge.net) %{_bindir}/%{name} %{_datadir}/%{name}/Tools/%{name}c/%{name}c.py "\$@" EOF #%{_bindir}/aot-compile-rpm \ # --exclude %{_datadir}/%{name}/Demo/jreload \ # --exclude %{_datadir}/%{name}/Demo/jreload/example.jar %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %files %defattr(-,root,root) %attr(0755,root,root) %{_bindir}/jython %attr(0755,root,root) %{_bindir}/jythonc %{_javadir}/jython-%{jythonver}.jar %{_javadir}/jython.jar %dir %{_datadir}/jython %{_datadir}/jython/Lib %{_datadir}/jython/Tools %{_datadir}/jython/registry %doc ACKNOWLEDGMENTS NEWS LICENSE.txt README.txt %files javadoc %defattr(-,root,root) %doc %{_javadocdir}/%{name}-%{jythonver} %files manual %defattr(-,root,root) %doc %{name}-manual-%{jythonver} %files demo %defattr(-,root,root) %doc %{_datadir}/%{name}/Demo %changelog * Wed Jul 31 2013 Automatic Build System 2.2.1.svn-6mamba - rebuilt * Mon Mar 28 2011 gil 2.2.1.svn-5mamba - rebuilt with java-gcj-compat support * Tue May 18 2010 gil 2.2.1.svn-4mamba - rebuilt with sun-java 6u20 and python 2.6 * Mon Jan 04 2010 gil 2.2.1.svn-3mamba - rebuilt with java-mysql-connector java-subversion java-svnant postgresql-jdbc python-xml support * Mon Mar 09 2009 gil 2.2.1.svn-2mamba - rebuilt with java-servletapi5 * Tue Jan 27 2009 gil 2.2.1.svn-1mamba - package created by autospec