diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-09-04 16:22:09 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-09-04 16:22:09 +0100 |
commit | 86eece26841510c190c0b254a24efc4d6b42acec (patch) | |
tree | a1931d648bb4ba1c6fc66c1675bf3c68de7351e4 /dev-java/jython | |
parent | 2f4adc38bc4dd33f9064b281ada16084185932ec (diff) |
gentoo auto-resync : 04:09:2022 - 16:22:09
Diffstat (limited to 'dev-java/jython')
-rw-r--r-- | dev-java/jython/Manifest | 1 | ||||
-rw-r--r-- | dev-java/jython/jython-2.7.0-r7.ebuild | 156 |
2 files changed, 157 insertions, 0 deletions
diff --git a/dev-java/jython/Manifest b/dev-java/jython/Manifest index 4f7918c23752..5529cf0e3769 100644 --- a/dev-java/jython/Manifest +++ b/dev-java/jython/Manifest @@ -7,4 +7,5 @@ AUX jython-2.7_beta1-dont-always-recompile-classes.patch 309 BLAKE2B 72fe6e0afe6 AUX jython-2.7_beta2-maxrepeat-import.patch 457 BLAKE2B a55f47a16264544608ba9916d3f2ced081a4f47d260bab2eeeb5959ad1aaf1074a69bea4d8083383d039f541f6b379a141c81c4376a7f7cf324ce06ddeb84ab1 SHA512 e06ddb36805e2545f351d9d5df651fa90b0b39d340e4772cbb24910f1e1c999463a21fbe4a62c9cc73f9ccdc0047f8900e6300602cb8d5b70cef7cacf1bd46d0 DIST jython-2.7.0-sources.jar 15371691 BLAKE2B 7e1c29f2a2c03b034e89bb9c3a8fdddbaef6a0191a7320c82b76e31b41336f3d99c1995b2e9864c033ec53629d45669ad460fb4a1433ea7bc6b0390919500a24 SHA512 7583810245d694fd1d99a57ad504fcefdfbc1183def2cbb93ae3660f341104205c73041d846bdcf2b564b3cf4b770b481703c1dcdb1458396812c92d30ee9fa6 EBUILD jython-2.7.0-r6.ebuild 4449 BLAKE2B 0bd29ed489b2132082f09bb91077092ed158eb0ca85d592b0e336a1ea56393f4f6001f4a4cc04627e816e65866fdd593ed0f5c0c967a87bbd1053f33be1b83d1 SHA512 d7f5e41ef217b5b56570fb1188f48e636a73b86216ac8d7472c9c9fe120d6fb9b3ff361aad09c66848ba1c34668102279f012823d2c5ab8f9ff351b27d313c15 +EBUILD jython-2.7.0-r7.ebuild 4449 BLAKE2B 693cd28b66fdc95153c2b9197f3228598bd4176d5425d20fcb119990db039d6ce7751020fc09ddb9e27de05b8f2b505feb57bae14227f09849b7ec32d6e6c338 SHA512 ea98dad5c25a6f27a1ad0d9f9aaeb68a8a681fbec05e7a92a7ccdb5f9978b0b6df72b00d6c446d5c595416e9ee37f2438d4991993a0b61a46cab980d26b57525 MISC metadata.xml 323 BLAKE2B 4c2b07b6a519fb3f1e4f7d0662e2488705d8ba2239a6cbd25b42aebd1bff1ca368105e1c5eee604915428c5b909ecc2547f6be4dfad126139a7f496bb276ae02 SHA512 de33eb0b1518ca8c0c9f8a44880946f491620bbcbfe0d5ebcb68dca71eba3965f0cf0ccd8c67128022c33845699222bd8b899c061cb5f7d7c0e09a4783fa3464 diff --git a/dev-java/jython/jython-2.7.0-r7.ebuild b/dev-java/jython/jython-2.7.0-r7.ebuild new file mode 100644 index 000000000000..b05f5ed59d82 --- /dev/null +++ b/dev-java/jython/jython-2.7.0-r7.ebuild @@ -0,0 +1,156 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +JAVA_PKG_IUSE="doc source" +MAVEN_ID="org.python:jython:2.7.0" + +inherit java-pkg-2 java-ant-2 python-utils-r1 flag-o-matic + +MY_PV=${PV/_beta/-b} +MY_P=${PN}-${MY_PV} + +DESCRIPTION="An implementation of Python written in Java" +HOMEPAGE="https://www.jython.org" +SRC_URI="https://search.maven.org/remotecontent?filepath=org/python/${PN}/${MY_PV}/${MY_P}-sources.jar" + +LICENSE="PSF-2" +SLOT="2.7" +KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux" +IUSE="examples test" + +CP_DEPEND="dev-java/antlr:3 + dev-java/netty:0 + dev-java/asm:9 + dev-java/commons-compress:0 + dev-java/guava:0 + dev-java/jffi:1.3 + dev-java/jline:2 + dev-java/icu4j:70 + dev-java/jnr-constants:0 + dev-java/jnr-posix:3.0 + dev-java/jnr-netdb:1.0 + dev-java/stringtemplate:0 + dev-java/xerces:2 + java-virtuals/servlet-api:3.0" +RDEPEND="${CP_DEPEND} + >=virtual/jre-1.8:*" +DEPEND="${CP_DEPEND} + >=virtual/jdk-1.8:* + dev-java/ant-core:0 + test? ( + dev-java/junit:4 + dev-java/ant-junit:0 + )" +BDEPEND="app-arch/unzip" + +S=${WORKDIR} + +RESTRICT="test" + +JAVA_ANT_REWRITE_CLASSPATH="yes" +JAVA_ANT_CLASSPATH_TAGS+=" java" + +EANT_BUILD_TARGET="developer-build" +EANT_TEST_EXTRA_ARGS="-Dpython.home=dist" + +# jdbc-informix and jdbc-oracle-bin (requires registration) aren't exposed. +# Uncomment and add to CDEPEND if you want either of them +#EANT_GENTOO_CLASSPATH+=",jdbc-informix" EANT_EXTRA_ARGS+=" -Dinformix.present" +#EANT_GENTOO_CLASSPATH+=",jdbc-oracle-bin" EANT_EXTRA_ARGS+=" -Doracle.present" + +PATCHES=( + "${FILESDIR}"/${PN}-2.5.2-distutils_scripts_location.patch + "${FILESDIR}"/${PN}-2.5.2-respect_PYTHONPATH.patch + "${FILESDIR}"/${PN}-2.7_beta1-ant.patch + "${FILESDIR}"/${PN}-2.7_beta1-dont-always-recompile-classes.patch + "${FILESDIR}"/${PN}-2.7_beta2-maxrepeat-import.patch + "${FILESDIR}"/${PN}-2.7.0-build.xml.patch + "${FILESDIR}"/CVE-2016-4000.patch +) + +src_prepare() { + default + + find \( -name '*.jar' -o -name '*.class' \ + -o -name '*.pyc' -o -name '*.exe' \) -delete + + # needed for launchertest + chmod +x tests/shell/test-jython.sh || die + + # https://bugs.gentoo.org/show_bug.cgi?id=833785 + sed -e 's:\(CharMatcher.\)ASCII:\1ascii():' \ + -i src/org/python/core/Py{,BaseCode,Unicode}.java || die + + java-pkg-2_src_prepare +} + +src_configure() { + # apparently this can cause problems + append-flags -fno-stack-protector + + EANT_GENTOO_CLASSPATH_EXTRA="$(java-pkg_getjars --with-dependencies antlr-3,jnr-posix-3.0)" + EANT_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjars --build-only ant-core)" +} + +src_test() { + java-pkg-2_src_test +} + +src_install() { + local instdir=/usr/share/${PN}-${SLOT} + + java-pkg_newjar dist/${PN}-dev.jar + + java-pkg_register-optional-dependency jdbc-mysql + java-pkg_register-optional-dependency jdbc-postgresql + + insinto ${instdir} + doins -r dist/{Lib,registry} + + dodoc ACKNOWLEDGMENTS NEWS README.txt + + use doc && java-pkg_dohtml -r dist/Doc/javadoc + use source && java-pkg_dosrc src/* + use examples && java-pkg_doexamples Demo/* + + local java_args=( + -Dpython.home="${EPREFIX}"/usr/share/${PN}-${SLOT} + -Dpython.executable="${EPREFIX}"/usr/bin/jython${SLOT} + -Dpython.cachedir="\${HOME}/.jythoncachedir" + ) + + java-pkg_dolauncher jython${SLOT} \ + --main org.python.util.jython \ + --java_args "${java_args[*]}" + + # we need a wrapper to help python_optimize + cat <<-EOF > "${T}"/jython + exec java -cp "$(java-pkg_getjars "${EANT_GENTOO_CLASSPATH}"):${EANT_GENTOO_CLASSPATH_EXTRA}:dist/${PN}-dev.jar" \ + -Dpython.home="${ED}${instdir}" \ + -Dpython.cachedir="${T}/.jythoncachedir" \ + -Duser.home="${T}" \ + org.python.util.jython "\${@}" + EOF + chmod +x "${T}"/jython || die + + local -x PYTHON="${T}"/jython + # we can't get the path from the interpreter since it does some + # magic that fails on non-installed copy... + _python_export jython${SLOT} EPYTHON + + # compile tests (everything else is compiled already) + # we're keeping it quiet since jython reports errors verbosely + # and some of the tests are supposed to trigger compile errors + python_optimize "${ED}${instdir}"/Lib/test &>/dev/null + + # for python-exec + echo "EPYTHON='${EPYTHON}'" > epython.py || die + python_moduleinto "/usr/share/jython-${SLOT}/Lib/site-packages" + python_domodule epython.py + + # some of the class files end up with newer timestamps than the files they + # were generated from, make sure this doesn't happen + find "${ED}${instdir}"/Lib/ -name '*.class' | xargs touch +} |