public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Miroslav Šulc" <fordfrog@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-java/jython/
Date: Sun, 21 Nov 2021 16:31:34 +0000 (UTC)	[thread overview]
Message-ID: <1637512291.756755f4c2d6092298371f3a3ef3b759606e949c.fordfrog@gentoo> (raw)

commit:     756755f4c2d6092298371f3a3ef3b759606e949c
Author:     Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Sat Nov 20 23:12:45 2021 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Sun Nov 21 16:31:31 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=756755f4

dev-java/jython: use icu4j:70

Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/20661
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 dev-java/jython/jython-2.7.0-r4.ebuild | 152 +++++++++++++++++++++++++++++++++
 1 file changed, 152 insertions(+)

diff --git a/dev-java/jython/jython-2.7.0-r4.ebuild b/dev-java/jython/jython-2.7.0-r4.ebuild
new file mode 100644
index 000000000000..d8c735f6426a
--- /dev/null
+++ b/dev-java/jython/jython-2.7.0-r4.ebuild
@@ -0,0 +1,152 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+JAVA_PKG_IUSE="doc source"
+
+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 ~arm64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples test"
+
+CP_DEPEND="dev-java/antlr:3
+	dev-java/netty-transport:0
+	dev-java/asm:9
+	dev-java/commons-compress:0
+	dev-java/guava:20
+	dev-java/jffi:1.2
+	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/script-api:0
+	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
+
+	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
+}


             reply	other threads:[~2021-11-21 16:31 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-21 16:31 Miroslav Šulc [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-09-05  8:00 [gentoo-commits] repo/gentoo:master commit in: dev-java/jython/ Florian Schmaus
2022-09-04  9:19 Florian Schmaus
2022-08-26 12:58 Florian Schmaus
2022-08-26 12:36 Florian Schmaus
2022-06-17 13:50 Arthur Zamarin
2022-06-17 12:45 Arthur Zamarin
2022-06-16 15:15 Sam James
2022-06-16 15:15 Sam James
2022-04-29 19:21 Sam James
2022-04-29  8:46 Florian Schmaus
2022-04-29  8:46 Florian Schmaus
2022-04-23 12:00 Florian Schmaus
2022-01-28  8:58 Miroslav Šulc
2022-01-14  8:43 Miroslav Šulc
2022-01-10 19:10 Arthur Zamarin
2022-01-02 10:56 Miroslav Šulc
2022-01-02 10:54 Jakov Smolić
2022-01-02  0:04 Sam James
2021-12-31  9:55 Arthur Zamarin
2021-11-25  4:14 Sam James
2021-11-21 17:01 Miroslav Šulc
2021-11-19  7:24 Arthur Zamarin
2021-11-13 10:25 Sam James
2021-11-13 10:24 Sam James
2021-10-19  0:15 Sam James
2020-05-17 16:55 Aaron Bauman
2017-10-27 18:27 Patrice Clement
2017-10-25  9:31 Agostino Sarubbo
2017-10-03  0:42 Thomas Deutschmann
2016-02-14 17:02 Patrick Lauer
2016-01-16 14:50 James Le Cuirot
2016-01-16 14:20 James Le Cuirot
2015-11-12 16:03 Michał Górny
2015-09-07 13:54 Patrice Clement
2015-09-02 21:57 Patrice Clement

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1637512291.756755f4c2d6092298371f3a3ef3b759606e949c.fordfrog@gentoo \
    --to=fordfrog@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox