From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 920DE158090 for ; Wed, 11 May 2022 19:57:31 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 933E0E0833; Wed, 11 May 2022 19:57:30 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 71A5EE0833 for ; Wed, 11 May 2022 19:57:30 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id DEF14341848 for ; Wed, 11 May 2022 19:57:28 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 6B48B287 for ; Wed, 11 May 2022 19:57:27 +0000 (UTC) From: "Florian Schmaus" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Florian Schmaus" Message-ID: <1652298663.47bad21c79c7886701279312dc6923538dd12fd2.flow@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-java/icedtea-web/files/, dev-java/icedtea-web/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-java/icedtea-web/files/README.gentoo-r3 dev-java/icedtea-web/icedtea-web-1.8.8-r1.ebuild X-VCS-Directories: dev-java/icedtea-web/files/ dev-java/icedtea-web/ X-VCS-Committer: flow X-VCS-Committer-Name: Florian Schmaus X-VCS-Revision: 47bad21c79c7886701279312dc6923538dd12fd2 X-VCS-Branch: master Date: Wed, 11 May 2022 19:57:27 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 7975b60e-95f4-4824-af60-e0c91fb643c4 X-Archives-Hash: 68a24522e8d69fd6a70e4453577f1f44 commit: 47bad21c79c7886701279312dc6923538dd12fd2 Author: Yuan Liao gmail com> AuthorDate: Wed Mar 16 18:22:19 2022 +0000 Commit: Florian Schmaus gentoo org> CommitDate: Wed May 11 19:51:03 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=47bad21c dev-java/icedtea-web: EAPI 8, restrict build VM to 1.8 - java-pkg-2.eclass is inherited to set up JDK 8 as the build VM properly, so a JAVA_HOME that points to JDK 8 is always passed to the ./configure script regardless of the eselect-java system VM setting. - The 'itw-modularjdk.args' file is now installed to an FHS-compliant path to allow the programs from this package to be run with JRE 9+. These programs are compatible with JRE 9+ under the condition that this file is installed. The file is required for integration with the Java Platform Module System introduced in Java 9. - README.gentoo is updated to convey the USE="-headless-awt" requirement for any JRE used to run those programs. This seems to be a runtime-only requirement, as using a JDK with this USE flag disabled would not cause any build errors during testing. Bug: https://bugs.gentoo.org/659174 Bug: https://bugs.gentoo.org/698582 Bug: https://bugs.gentoo.org/783027 Bug: https://bugs.gentoo.org/831895 Signed-off-by: Yuan Liao gmail.com> Closes: https://github.com/gentoo/gentoo/pull/24610 Signed-off-by: Florian Schmaus gentoo.org> dev-java/icedtea-web/files/README.gentoo-r3 | 16 +++ dev-java/icedtea-web/icedtea-web-1.8.8-r1.ebuild | 118 +++++++++++++++++++++++ 2 files changed, 134 insertions(+) diff --git a/dev-java/icedtea-web/files/README.gentoo-r3 b/dev-java/icedtea-web/files/README.gentoo-r3 new file mode 100644 index 000000000000..fc199f3c50f2 --- /dev/null +++ b/dev-java/icedtea-web/files/README.gentoo-r3 @@ -0,0 +1,16 @@ +Browser plugin +-------------- + +The IcedTea browser plugin (NPPlugin) is no longer available, +as modern browsers no longer support this plugin format. + +JVM selection +------------- + +By default, Web Start uses the JVM +selected via eselect environment variable. +Note that this doesn't have to be an IcedTea. Openjdk will also work. +Also note that the selected JVM must have been installed with the +'headless-awt' USE flag *disabled*. +The choice can be overridden using the itweb-settings program. +Simply blank out the field to restore the default behaviour. diff --git a/dev-java/icedtea-web/icedtea-web-1.8.8-r1.ebuild b/dev-java/icedtea-web/icedtea-web-1.8.8-r1.ebuild new file mode 100644 index 000000000000..238bb9080267 --- /dev/null +++ b/dev-java/icedtea-web/icedtea-web-1.8.8-r1.ebuild @@ -0,0 +1,118 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +README_GENTOO_SUFFIX="-r3" +CRATES="dunce-0.1.1" + +inherit autotools bash-completion-r1 cargo java-pkg-2 readme.gentoo-r1 xdg-utils + +DESCRIPTION="FOSS Java browser plugin and Web Start implementation" +HOMEPAGE="https://github.com/AdoptOpenJDK/IcedTea-Web" +SRC_URI="https://github.com/AdoptOpenJDK/${PN}/archive/${P}.tar.gz + $(cargo_crate_uris ${CRATES})" +LICENSE="GPL-2 GPL-2-with-linking-exception LGPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" +IUSE="doc" + +# tests require ton of java deps we don't have packaged/working +# but rust tests pass. +RESTRICT="test" + +BDEPEND=" + app-arch/zip + sys-devel/bc + virtual/pkgconfig + virtual/rust + doc? ( sys-devel/bc ) +" + +# Build within Portage using JDK 11+ (also presumably 9+) fails during +# src_configure: +# configure: error: sun.security.util.SecurityConstants not found. +# +# When upstream's build instructions are executed outside Portage using +# JDK 11+, ./configure also fails, though a different error pops up: +# configure: error: sun.applet.AppletImageRef not found. +# +# If even the upstream build instructions fail outside Portage with JDK 11+, +# then it is very unlikely that the build issue within Portage is fixable. +# The upstream has moved forward to development of 2.0.0 and 3.0.0 versions, +# so they might no longer be interested in fixing the legacy 1.x versions. +# +# The 'sun.applet.AppletImageRef not found' issue has been reported to +# FreeBSD , +# and some efforts there to fix the issue were unsuccessful. They seem +# to have ended up with restricting Java version to 8 +# . +# +# Thus, the build VM version is restricted to 1.8 here. +DEPEND=" + virtual/jdk:1.8 +" + +RDEPEND=" + >=app-eselect/eselect-java-0.2.0 + >=virtual/jre-1.8:* +" + +S="${WORKDIR}/IcedTea-Web-${P}" + +QA_FLAGS_IGNORED="usr/bin/.*" + +src_prepare() { + eapply_user + sed -i 's/JAVADOC_OPTS=/\0-Xdoclint:none /g' Makefile.am || die + eautoreconf + cargo_gen_config +} + +src_configure() { + xdg_environment_reset + # some functionality (tagsoup rhino) is disabled, because dev-java is + # unmaintained and a lot of things simply does not build anymore. + # native plugins also disabled, modern browsers no longer support it. + # modularjdk-file and the 'itw-modularjdk.args' file controlled by it + # are required to run this package's programs using JRE 9+. + local myconf=( + --disable-native-plugin + --program-transform-name='s/^javaws$/itweb-javaws/' + --with-jdk-home="$(java-config -O)" + --with-modularjdk-file="${EPREFIX}/usr/share/${PN}/" + --with-itw-libs=DISTRIBUTION + --without-rhino + --without-tagsoup + $(use_enable doc docs) + ) + unset _JAVA_OPTIONS + export bashcompdir="$(get_bashcompdir)" # defaults to /etc if not found in pkg-config + export CARGO_HOME="${ECARGO_HOME}" + CONFIG_SHELL="${EPREFIX}/bin/bash" econf "${myconf[@]}" +} + +src_compile() { + # races in makefile + emake -j1 #nowarn +} + +src_install() { + default + rename -v '.bash' '' "${ED}/usr/share/bash-completion/completions/"*.bash || die + rename -v 'javaws' 'itweb-javaws' "${ED}/usr/share/man/man1/"javaws.1* || die + mv -v "${ED}/usr/share/bash-completion/completions/"{javaws,itweb-javaws} || die + sed -i 's/javaws/itweb-javaws/g' \ + "${ED}/usr/share/bash-completion/completions/itweb-javaws" || die + + readme.gentoo_create_doc +} + +src_test() { + # we want to override cargo.eclass' src_test + : +} + +pkg_postinst() { + readme.gentoo_print_elog +}