# # spec file for package jython # # Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: jython BuildRequires: ant ht2html java2-devel-packages libreadline-java mysql-connector-java oro pyxml servletapi5 %{expand: %%define pyver %(python -c 'import sys;print(sys.version[0:3])')} %define name jython %define version 2.2 %define cpython_version 2.3 %define cpythondir python%{cpython_version} %define pyxml_version 0.8.3 %define release 0.a0.2jpp %define section free Version: 2.2 Release: 326 Summary: Java Source Interpreter License: Other uncritical OpenSource License ; Apache Software License Url: http://www.jython.org/ Source0: %{name}-cvs.tar.bz2 Source1: python-release22-maint-cvs.tar.bz2 Patch0: %{name}-cachedir.patch Patch1: jython-new-xml.diff Requires: jpackage-utils >= 1.5 Requires: oro Requires: servlet Group: Development/Libraries/Java BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build %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 noncommercial 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 manual License: Other uncritical OpenSource License ; Apache Software License Summary: Manual for jython Group: Development/Libraries/Java %description manual This package contains the manual for Jython. 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 License: Other uncritical OpenSource License ; Apache Software License PreReq: coreutils Summary: Javadoc for jython Group: Development/Libraries/Java %description javadoc This package contains the javadoc documentation for jython. 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 demo License: Other uncritical OpenSource License ; Apache Software License Summary: Demonstration and samples for jython Requires: %{name} = %{version}-%{release} Group: Development/Libraries/Java %description demo This package contains demonstration and sample files for Jython. 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. %prep %setup -q -n %{name} %setup -q -n %{name} -T -D -a 1 %patch0 -p1 %patch1 -p1 # remove all binary libs find . -name "*.jar" -exec rm -f {} \; # remove all CVS files for dir in `find . -type d -name CVS`; do rm -rf $dir; done for file in `find . -type f -name .cvsignore`; do rm -rf $file; done %build export CLASSPATH=$(build-classpath libreadline-java mysql-connector-java oro servlet) rm -rf org/apache if ! grep -q "javac.*source=" build.xml ; then perl -p -i -e 's| $RPM_BUILD_ROOT%{_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 servlet" if [ -f %{_libdir}/libJavaReadline.so ]; then BASE_FLAGS="\$BASE_FLAGS -Dpython.console=org.python.util.ReadlineConsole" BASE_FLAGS="\$BASE_FLAGS -Djava.library.path=%{_libdir}" BASE_FLAGS="\$BASE_FLAGS -Dpython.console.readlinelib=GnuReadline" BASE_JARS="\$BASE_JARS libreadline-java" fi if [ -f %{_javadir}/mysql-connector-java.jar ]; then BASE_JARS="\$BASE_JARS mysql-connector-java" fi # Set parameters set_jvm set_classpath \$BASE_JARS set_flags \$BASE_FLAGS set_options \$BASE_OPTIONS # Let's start run "\$@" EOF cat > $RPM_BUILD_ROOT%{_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 rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/Lib/UserDict.py %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %doc ACKNOWLEDGMENTS NEWS LICENSE.txt README.txt %attr(0755,root,root) %{_bindir}/%{name} %attr(0755,root,root) %{_bindir}/%{name}c %{_javadir}/* %dir %{_datadir}/%{name} %{_datadir}/%{name}/Lib %{_datadir}/%{name}/Tools %{_datadir}/%{name}/registry %files manual %defattr(-,root,root) %doc dist/Doc/*.html dist/Doc/images %files javadoc %defattr(-,root,root) %{_javadocdir}/%{name}-%{version} %files demo %defattr(-,root,root) %{_datadir}/%{name}/Demo %changelog