diff options
-rw-r--r-- | dev-java/icedtea-web/files/README.gentoo-r3 | 16 | ||||
-rw-r--r-- | dev-java/icedtea-web/icedtea-web-1.8.8-r1.ebuild | 118 |
2 files changed, 134 insertions, 0 deletions
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 <https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248197#c2>, +# and some efforts there to fix the issue were unsuccessful. They seem +# to have ended up with restricting Java version to 8 +# <https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=244976#c17>. +# +# 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 +} |