OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/jython?expand=0&rev=10
276 lines
11 KiB
RPMSpec
276 lines
11 KiB
RPMSpec
#
|
|
# 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|<javac |<javac source=\"1.4\" |' build.xml
|
|
perl -p -i -e 's|<javadoc |<javadoc source=\"1.4\" |' build.xml
|
|
fi
|
|
if ! grep -q "javac.*source=" dist/build.xml ; then
|
|
perl -p -i -e 's|<javac |<javac source=\"1.4\" |' dist/build.xml
|
|
perl -p -i -e 's|<javadoc |<javadoc source=\"1.4\" |' dist/build.xml
|
|
fi
|
|
perl -p -i -e 's|execon|apply|g' build.xml
|
|
#ant -Dpython.lib=/usr/%_lib/python%pyver -DPyXmlHome=/usr/%_lib/python%pyver copy-dist
|
|
ant -Dpython.lib=./python/dist/src/Lib -DPyXmlHome=/usr/%_lib/python%pyver copy-dist
|
|
ant -Dpython.home=%{_bindir} -Dht2html.dir=%{_datadir}/ht2html doc
|
|
ant javadoc
|
|
|
|
%install
|
|
# jar
|
|
install -d -m 755 $RPM_BUILD_ROOT%{_javadir}
|
|
install -m 644 dist/%{name}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
|
|
(cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}*; do ln -sf ${jar} ${jar/-%{version}/}; done)
|
|
# manual
|
|
rm -f Doc/Makefile
|
|
rm -rf Doc/api
|
|
# javadoc
|
|
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
|
|
cp -pr dist/Doc/javadoc/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
|
|
# data
|
|
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}
|
|
# these are not supposed to be distributed
|
|
find dist/Lib -type d -name test | xargs rm -rf
|
|
cp -pr dist/Lib $RPM_BUILD_ROOT%{_datadir}/%{name}
|
|
cp -pr dist/Tools $RPM_BUILD_ROOT%{_datadir}/%{name}
|
|
cp -pr dist/Demo $RPM_BUILD_ROOT%{_datadir}/%{name}
|
|
# registry
|
|
install -m 644 registry $RPM_BUILD_ROOT%{_datadir}/%{name}
|
|
# scripts
|
|
install -d $RPM_BUILD_ROOT%{_bindir}
|
|
cat > $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
|