Sophie

Sophie

distrib > Mageia > 5 > i586 > by-pkgid > 5ab8422a74faa53d6be4c57162f2ef27 > files > 9

jython-2.2.1-18.mga5.src.rpm

%{expand: %%define pyver %(python -c 'import sys;print(sys.version[0:3])')}

%global cpython_version    %{pyver}
%global svn_tag            Release_2_2_1
%global _python_bytecompile_errors_terminate_build 0

Name:                      jython
Version:                   2.2.1
Release:                   %mkrel 18
Summary:                   A Java implementation of the Python language
License:                   ASL 1.1 and BSD and CNRI and JPython and Python
URL:                       http://www.jython.org/
# Use the included fetch-jython.sh script to generate the source drop
# for jython 2.2.1
# sh fetch-jython.sh \
#   jython https://jython.svn.sourceforge.net/svnroot Release_2_2_1
#
Source0:                   %{name}-fetched-src-%{svn_tag}.tar.bz2
Source2:                   fetch-%{name}.sh
Patch0:                    %{name}-cachedir.patch
# Make javadoc and copy-full tasks not depend upon "full-build"
# Also, copy python's license from source directory and not
# ${python.home}
Patch1:                    %{name}-nofullbuildpath.patch
Patch2:                    jython-dont-validate-pom.patch
# These address CVE-2013-2027 (http://bugs.jython.org/msg8004)
Patch3:                    %{name}-cacheperms.patch
Patch4:                    %{name}-makeCompiledFilename.patch
Patch5:                    %{name}-cached-classes.patch
Requires:                  jpackage-utils
Requires:                  jakarta-oro
Requires:                  servlet
Requires:                  python >= %{cpython_version}
Requires:                  libreadline-java >= 0.8.0-16
Requires:                  mysql-connector-java
BuildRequires:             ant
BuildRequires:             libreadline-java >= 0.8.0-16
BuildRequires:             mysql-connector-java
BuildRequires:             jakarta-oro
BuildRequires:             python >= %{cpython_version}
BuildRequires:             servlet
BuildRequires:             java-devel >= 1:1.6.0
BuildRequires:             jpackage-utils
Requires:                  java >= 1:1.6.0
Group:                     Development/Java

BuildArch:                 noarch

%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
Summary:           Javadoc for %{name}
Group:             Documentation

%description javadoc
API documentation for %{name}.

%package manual
Summary:           Manual for %{name}
Group:             Documentation

%description manual
Usage documentation for %{name}.

%package demo
Summary:           Demo for %{name}
Requires:          %{name} = %{version}-%{release}
Group:             Documentation

%description demo
Demonstrations and samples for %{name}.

%prep
%setup -q -n %{name}-svn-%{svn_tag}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1

%build
export CLASSPATH=$(build-classpath mysql-connector-java oro servlet)
# FIXME: fix jpackage-utils to handle multilib correctly
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=%{_bindir}/python \
  copy-dist


# remove #! from python files
pushd dist
  for f in `find . -name '*.py'`
  do
    sed --in-place  "s:#!\s*/usr.*::" $f
  done
popd

# Create Maven POM's
pushd maven
  ant -Dproject.version=%{version} install
popd

%install
# jar
install -d -m 755 $RPM_BUILD_ROOT%{_javadir}
install -m 644 dist/%{name}.jar \
  $RPM_BUILD_ROOT%{_javadir}/%{name}.jar

# javadoc
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}
cp -pr dist/Doc/javadoc/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}
# 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}
# demo
cp -pr dist/Demo $RPM_BUILD_ROOT%{_datadir}/%{name}
# manual
rm -rf dist/Doc/javadoc
mv dist/Doc %{name}-manual-%{version}

# pom
install -d -m 755 $RPM_BUILD_ROOT%{_mavenpomdir}
install -pm 644 build/maven/pom.xml $RPM_BUILD_ROOT%{_mavenpomdir}/JPP-%{name}.pom

# depmap
%add_maven_depmap JPP-%{name}.pom %{name}.jar -a "org.python:jython-standalone"

# 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

# Arch-specific location of dependency
case \$(uname -m) in
   x86_64 | ia64 | s390x | ppc64 | sparc64 )
      JYTHONLIBDIR="/usr/lib64" ;;
   * )
      JYTHONLIBDIR="/usr/lib" ;;
esac

# Configuration
MAIN_CLASS=org.python.util.%{name}
BASE_FLAGS=-Dpython.home=%{_datadir}/%{name}
BASE_JARS="%{name} oro servlet mysql-connector-java"

BASE_FLAGS="\$BASE_FLAGS -Dpython.console=org.python.util.ReadlineConsole"
BASE_FLAGS="\$BASE_FLAGS -Djava.library.path=\$JYTHONLIBDIR/libreadline-java"
BASE_FLAGS="\$BASE_FLAGS -Dpython.console.readlinelib=Editline"

# Set parameters
set_jvm
CLASSPATH=\$CLASSPATH:\$JYTHONLIBDIR/libreadline-java/libreadline-java.jar
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

%files
%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
%{_mavenpomdir}/*
%{_datadir}/maven-metadata/*

%files javadoc
%doc LICENSE.txt
%doc %{_javadocdir}/%{name}

%files manual
%doc LICENSE.txt README.txt
%doc %{name}-manual-%{version}

%files demo
%doc ACKNOWLEDGMENTS NEWS LICENSE.txt README.txt
%doc %{_datadir}/%{name}/Demo



%changelog
* Fri Feb 27 2015 luigiwalser <luigiwalser> 2.2.1-18.mga5
+ Revision: 817159
- actually apply CVE-2013-2027 patches

* Thu Feb 12 2015 luigiwalser <luigiwalser> 2.2.1-17.mga5
+ Revision: 814769
- add patches from fedora to fix CVE-2013-2027

* Sun Dec 28 2014 philippem <philippem> 2.2.1-16.mga5
+ Revision: 806899
- drop dead PyXML

* Wed Oct 15 2014 umeabot <umeabot> 2.2.1-15.mga5
+ Revision: 743787
- Second Mageia 5 Mass Rebuild

* Tue Sep 16 2014 umeabot <umeabot> 2.2.1-14.mga5
+ Revision: 680907
- Mageia 5 Mass Rebuild

* Fri Oct 18 2013 umeabot <umeabot> 2.2.1-13.mga4
+ Revision: 506500
- Mageia 4 Mass Rebuild

* Sat Jan 12 2013 umeabot <umeabot> 2.2.1-12.mga3
+ Revision: 355754
- Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild

* Sun Dec 16 2012 dmorgan <dmorgan> 2.2.1-11.mga3
+ Revision: 331488
- Added maven pom

* Thu Feb 03 2011 dmorgan <dmorgan> 0:2.2.1-6.mga1
+ Revision: 46502
- Add back epoch ( for mdv migrations)

* Thu Feb 03 2011 dmorgan <dmorgan> 2.2.1-5.mga1
+ Revision: 46497
- Fix java requires
- Use fedora spec file
- Fix java version require
- imported package jython


* Sun Jan 11 2009 Funda Wang <fundawang@mandriva.org> 0:2.2.1-0.0.2mdv2009.1
+ Revision: 328264
- rediff cachedir patch

* Tue Feb 05 2008 Alexander Kurtakov <akurtakov@mandriva.org> 0:2.2.1-0.0.2mdv2009.0
+ Revision: 162848
- remove old source

  + Olivier Blin <oblin@mandriva.com>
    - restore BuildRoot

  + Thierry Vignaud <tvignaud@mandriva.com>
    - kill re-definition of %%buildroot on Pixel's request

* Sun Dec 16 2007 Anssi Hannula <anssi@mandriva.org> 0:2.2.1-0.0.2mdv2008.1
+ Revision: 120813
- buildrequires java-rpmbuild

* Sat Oct 27 2007 David Walluck <walluck@mandriva.org> 0:2.2.1-0.0.1mdv2008.1
+ Revision: 102516
- 2.2.1

* Sat Sep 15 2007 Anssi Hannula <anssi@mandriva.org> 0:2.2-1.0.2mdv2008.0
+ Revision: 87455
- rebuild to filter out autorequires of GCJ AOT objects
- remove unnecessary Requires(post) on java-gcj-compat

* Wed Aug 29 2007 David Walluck <walluck@mandriva.org> 0:2.2-1.0.1mdv2008.0
+ Revision: 74773
- 2.2
- fix javaccHome
- fix BASE_JARS in jython script
- 2.2rc1 (SVN r3280)
- (Build)Requires: jline
- Requires: libreadline-java
- fix python.home (again)
- use python.console=org.python.util.JLineConsole by default


* Mon Mar 19 2007 David Walluck <walluck@mandriva.org> 2.2-0.b1.1.5mdv2007.1
+ Revision: 146808
- correct python.home to fix loading udner gij

* Mon Mar 12 2007 David Walluck <walluck@mandriva.org> 0:2.2-0.b1.1.4mdv2007.1
+ Revision: 141589
- add support for readline and editline
- use SVN (CVS is deprecated)
- fix tarball
- Import jython

* Sun Mar 11 2007 David Walluck <walluck@mandriva.org> 0:2.2-0.b1.1.1mdv2007.1
- 2.2b1 (CVS 20070208)

* Tue Feb 27 2007 Ralph Apel <r.apel at r-apel.de> - 0:2.2-0.a0.4jpp
- Add gcj_support option
- Assure optionality of mysql-connector-java
- Reactivate ht2html BR

* Wed Jun 21 2006 Ralph Apel <r.apel at r-apel.de> - 0:2.2-0.a0.3jpp
- First JPP-1.7 release
- Oracle JDBC not required, MySQL JDBC optional

* Tue Aug 24 2004 Randy Watler <rwatler at finali.com> - 0:2.2-0.a0.2jpp
- Rebuild with ant-1.6.2
- Allow build use of python >= 2.3 to generate docs since 2.2 libraries included