diff --git a/dev-java/icedtea/files/icedtea8-hotspot-musl.patch b/dev-java/icedtea/files/icedtea8-hotspot-musl.patch index a127e71..d43776f 100644 --- a/dev-java/icedtea/files/icedtea8-hotspot-musl.patch +++ b/dev-java/icedtea/files/icedtea8-hotspot-musl.patch @@ -10,3 +10,14 @@ "CHLD", SIGCHLD, /* Child status has changed (POSIX). */ "CONT", SIGCONT, /* Continue (POSIX). */ "STOP", SIGSTOP, /* Stop, unblockable (POSIX). */ +--- openjdk.orig/hotspot/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp ++++ openjdk/hotspot/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp +@@ -72,7 +72,7 @@ + # include + # include + # include +-# include ++# include /* provides __u64 */ + + #define REG_FP 29 + diff --git a/dev-java/icedtea/files/icedtea8-hotspot-noagent-musl.patch b/dev-java/icedtea/files/icedtea8-hotspot-noagent-musl.patch index 6467d05..d50a384 100644 --- a/dev-java/icedtea/files/icedtea8-hotspot-noagent-musl.patch +++ b/dev-java/icedtea/files/icedtea8-hotspot-noagent-musl.patch @@ -1,7 +1,6 @@ -diff -Naurw openjdk.orig/common/autoconf/configure openjdk/common/autoconf/configure ---- openjdk.orig/common/autoconf/configure 2016-02-02 13:31:48.655932240 -0800 -+++ openjdk/common/autoconf/configure 2016-02-02 13:36:24.860924385 -0800 -@@ -96,7 +96,7 @@ +--- openjdk/common/autoconf/configure 2022-01-08 15:04:00.298867992 +0000 ++++ openjdk/common/autoconf/configure 2022-01-08 15:04:15.944830341 +0000 +@@ -103,7 +103,7 @@ } # Check for local changes @@ -10,10 +9,9 @@ diff -Naurw openjdk.orig/common/autoconf/configure openjdk/common/autoconf/confi if test -e $conf_custom_script_dir/generated-configure.sh; then # Test if open configure is newer than custom configure, if so, custom needs to -diff -Naurw openjdk.orig/common/autoconf/jdk-options.m4 openjdk/common/autoconf/jdk-options.m4 ---- openjdk.orig/common/autoconf/jdk-options.m4 2016-02-02 13:31:48.657932240 -0800 -+++ openjdk/common/autoconf/jdk-options.m4 2016-02-02 13:36:24.860924385 -0800 -@@ -151,7 +151,7 @@ +--- openjdk/common/autoconf/jdk-options.m4 2022-01-08 15:01:06.578286090 +0000 ++++ openjdk/common/autoconf/jdk-options.m4 2022-01-08 15:02:07.122140367 +0000 +@@ -155,7 +155,7 @@ AC_SUBST(JVM_VARIANT_ZEROSHARK) AC_SUBST(JVM_VARIANT_CORE) @@ -22,10 +20,9 @@ diff -Naurw openjdk.orig/common/autoconf/jdk-options.m4 openjdk/common/autoconf/ if test "x$JVM_VARIANT_ZERO" = xtrue ; then INCLUDE_SA=false fi -diff -Naurw openjdk.orig/hotspot/make/linux/makefiles/defs.make openjdk/hotspot/make/linux/makefiles/defs.make ---- openjdk.orig/hotspot/make/linux/makefiles/defs.make 2016-02-02 13:31:53.410932105 -0800 -+++ openjdk/hotspot/make/linux/makefiles/defs.make 2016-02-02 13:36:24.861924385 -0800 -@@ -309,6 +309,9 @@ +--- openjdk/hotspot/make/linux/makefiles/defs.make 2021-10-23 22:41:58.000000000 +0000 ++++ openjdk/hotspot/make/linux/makefiles/defs.make 2022-01-08 15:18:40.869481619 +0000 +@@ -305,6 +305,9 @@ # Serviceability Binaries # No SA Support for PPC, IA64, ARM or zero @@ -35,10 +32,10 @@ diff -Naurw openjdk.orig/hotspot/make/linux/makefiles/defs.make openjdk/hotspot/ ADD_SA_BINARIES/x86 = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \ $(EXPORT_LIB_DIR)/sa-jdi.jar ADD_SA_BINARIES/sparc = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \ -@@ -326,6 +329,11 @@ +@@ -324,6 +327,11 @@ + endif endif endif - endif +else +ADD_SA_BINARIES/x86 = +ADD_SA_BINARIES/sparc = @@ -47,30 +44,29 @@ diff -Naurw openjdk.orig/hotspot/make/linux/makefiles/defs.make openjdk/hotspot/ ADD_SA_BINARIES/ppc = ADD_SA_BINARIES/ia64 = ADD_SA_BINARIES/arm = -diff -Naurw openjdk.orig/hotspot/make/linux/makefiles/sa.make openjdk/hotspot/make/linux/makefiles/sa.make ---- openjdk.orig/hotspot/make/linux/makefiles/sa.make 2016-02-02 13:31:53.414932105 -0800 -+++ openjdk/hotspot/make/linux/makefiles/sa.make 2016-02-02 13:36:24.861924385 -0800 +--- openjdk/hotspot/make/linux/makefiles/sa.make 2022-01-08 15:19:19.720308035 +0000 ++++ openjdk/hotspot/make/linux/makefiles/sa.make 2022-01-08 15:20:10.736087700 +0000 @@ -59,9 +59,11 @@ # if $(AGENT_DIR) does not exist, we don't build SA # also, we don't build SA on Itanium or zero. +# check for thread_db.h too (musl does not have it). - all: +-all: - if [ -d $(AGENT_DIR) -a "$(SRCARCH)" != "ia64" \ ++all: + if [ -d $(AGENT_DIR) -a -f /usr/include/thread_db.h \ -+ -a "$(SRCARCH)" != "ia64" \ ++ -a "$(SRCARCH)" != "ia64" \ -a "$(SRCARCH)" != "zero" ] ; then \ $(MAKE) -f sa.make $(GENERATED)/sa-jdi.jar; \ fi -diff -Naurw openjdk.orig/hotspot/make/linux/makefiles/saproc.make openjdk/hotspot/make/linux/makefiles/saproc.make ---- openjdk.orig/hotspot/make/linux/makefiles/saproc.make 2016-02-02 13:31:53.745932095 -0800 -+++ openjdk/hotspot/make/linux/makefiles/saproc.make 2016-02-02 13:36:24.861924385 -0800 -@@ -61,12 +61,15 @@ +--- openjdk/hotspot/make/linux/makefiles/saproc.make 2022-01-08 15:05:35.089639891 +0000 ++++ openjdk/hotspot/make/linux/makefiles/saproc.make 2022-01-08 15:06:30.619506275 +0000 +@@ -66,12 +66,15 @@ # if $(AGENT_DIR) does not exist, we don't build SA # also, we don't build SA on Itanium or zero. -+# check for thread_db.h too (musl does not have it). ++# check for thread_db.h too (musl does not have it) +ifneq ($(wildcard /usr/include/thread_db.h),) ifneq ($(wildcard $(AGENT_DIR)),) @@ -82,3 +78,14 @@ diff -Naurw openjdk.orig/hotspot/make/linux/makefiles/saproc.make openjdk/hotspo ifneq ($(ALT_SASRCDIR),) ALT_SAINCDIR=-I$(ALT_SASRCDIR) -DALT_SASRCDIR +--- openjdk/common/autoconf/toolchain.m4 2022-01-08 15:41:07.744979588 +0000 ++++ openjdk/common/autoconf/toolchain.m4 2022-01-08 15:41:36.256899139 +0000 +@@ -443,7 +443,7 @@ + # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + COMPILER_VERSION_OUTPUT=`$COMPILER --version 2>&1` + # Check that this is likely to be GCC. +- $ECHO "$COMPILER_VERSION_OUTPUT" | $GREP -E "^(gcc|g\+\+|distcc)" >&AS_MESSAGE_LOG_FD 2>&1 ++ $ECHO "$COMPILER_VERSION_OUTPUT" | $GREP -E "^(.*gcc|.*g\+\+|distcc)" >&AS_MESSAGE_LOG_FD 2>&1 + if test $? -ne 0; then + AC_MSG_NOTICE([The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler.]) + AC_MSG_NOTICE([The result from running with --version was: "$COMPILER_VERSION"]) diff --git a/dev-java/icedtea/files/icedtea8-jdk-musl.patch b/dev-java/icedtea/files/icedtea8-jdk-musl.patch index 03bd89f..4ec5341 100644 --- a/dev-java/icedtea/files/icedtea8-jdk-musl.patch +++ b/dev-java/icedtea/files/icedtea8-jdk-musl.patch @@ -50,7 +50,7 @@ diff -Naur openjdk.orig/jdk/src/solaris/native/common/jdk_util_md.h openjdk/jdk/ diff -Naur openjdk.orig/jdk/src/solaris/native/java/net/Inet4AddressImpl.c openjdk/jdk/src/solaris/native/java/net/Inet4AddressImpl.c --- openjdk.orig/jdk/src/solaris/native/java/net/Inet4AddressImpl.c 2017-01-30 11:02:08.137403055 -0800 +++ openjdk/jdk/src/solaris/native/java/net/Inet4AddressImpl.c 2017-01-30 11:05:52.541453901 -0800 -@@ -47,7 +47,7 @@ +@@ -37,7 +37,7 @@ #include "java_net_Inet4AddressImpl.h" @@ -59,32 +59,10 @@ diff -Naur openjdk.orig/jdk/src/solaris/native/java/net/Inet4AddressImpl.c openj #define HAS_GLIBC_GETHOSTBY_R 1 #endif -diff -Naur openjdk.orig/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c openjdk/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c ---- openjdk.orig/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c 2017-01-30 11:02:08.137403055 -0800 -+++ openjdk/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c 2017-01-30 11:06:33.725833488 -0800 -@@ -41,7 +41,6 @@ - #endif - #ifdef __linux__ - #include --#include - #include - #include - -diff -Naur openjdk.orig/jdk/src/solaris/native/java/net/PlainSocketImpl.c openjdk/jdk/src/solaris/native/java/net/PlainSocketImpl.c ---- openjdk.orig/jdk/src/solaris/native/java/net/PlainSocketImpl.c 2017-01-30 11:02:08.138403064 -0800 -+++ openjdk/jdk/src/solaris/native/java/net/PlainSocketImpl.c 2017-01-30 11:06:42.985918836 -0800 -@@ -43,7 +43,6 @@ - #endif - #ifdef __linux__ - #include --#include - #endif - - #include "jvm.h" diff -Naur openjdk.orig/jdk/src/solaris/native/java/net/linux_close.c openjdk/jdk/src/solaris/native/java/net/linux_close.c --- openjdk.orig/jdk/src/solaris/native/java/net/linux_close.c 2017-01-30 11:02:08.139403072 -0800 +++ openjdk/jdk/src/solaris/native/java/net/linux_close.c 2017-01-30 11:07:52.952560164 -0800 -@@ -56,7 +56,7 @@ +@@ -58,7 +58,7 @@ /* * Signal to unblock thread */ @@ -92,8 +70,8 @@ diff -Naur openjdk.orig/jdk/src/solaris/native/java/net/linux_close.c openjdk/jd +static int sigWakeup; /* - * The fd table and the number of file descriptors -@@ -95,6 +95,9 @@ + * fdTable holds one entry per file descriptor, up to a certain +@@ -147,6 +147,9 @@ /* * Setup the signal handler */ diff --git a/dev-java/icedtea/icedtea-3.21.0.ebuild b/dev-java/icedtea/icedtea-3.21.0.ebuild index 15b5507..212cca5 100644 --- a/dev-java/icedtea/icedtea-3.21.0.ebuild +++ b/dev-java/icedtea/icedtea-3.21.0.ebuild @@ -212,6 +212,8 @@ src_configure() { cp -v "${FILESDIR}/${PN}-hotspot-stop-using-obsolete-isnanf.patch" gentoo_patches || die cp -v "${FILESDIR}/${PN}-os_linux-remove-glibc-dependencies.patch" gentoo_patches || die cp -v "${FILESDIR}/${PN}${SLOT}-hotspot-musl.patch" gentoo_patches || die + cp -v "${FILESDIR}/${PN}${SLOT}-hotspot-noagent-musl.patch" gentoo_patches || die + cp -v "${FILESDIR}/${PN}${SLOT}-jdk-musl.patch" gentoo_patches || die DISTRIBUTION_PATCHES="gentoo_patches/openjdk-8-hotspot-arrayallocator.patch " @@ -223,6 +225,8 @@ src_configure() { DISTRIBUTION_PATCHES+="gentoo_patches/${PN}-hotspot-stop-using-obsolete-isnanf.patch " DISTRIBUTION_PATCHES+="gentoo_patches/${PN}-os_linux-remove-glibc-dependencies.patch " DISTRIBUTION_PATCHES+="gentoo_patches/${PN}${SLOT}-hotspot-musl.patch " + DISTRIBUTION_PATCHES+="gentoo_patches/${PN}${SLOT}-hotspot-noagent-musl.patch " + DISTRIBUTION_PATCHES+="gentoo_patches/${PN}${SLOT}-jdk-musl.patch " export DISTRIBUTION_PATCHES diff --git a/dev-java/icedtea/icedtea-3.7.0.ebuild b/dev-java/icedtea/icedtea-3.7.0.ebuild deleted file mode 100644 index 09ac8ea..0000000 --- a/dev-java/icedtea/icedtea-3.7.0.ebuild +++ /dev/null @@ -1,426 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Build written by Andrew John Hughes (gnu_andrew@member.fsf.org) - -EAPI="6" -SLOT="8" - -inherit autotools check-reqs flag-o-matic gnome2-utils java-pkg-2 java-vm-2 multiprocessing pax-utils prefix versionator - -ICEDTEA_VER=$(get_version_component_range 1-3) -ICEDTEA_BRANCH=$(get_version_component_range 1-2) -ICEDTEA_PKG=icedtea-${ICEDTEA_VER} -ICEDTEA_PRE=$(get_version_component_range _) - -CORBA_TARBALL="872ca6c060bb.tar.xz" -JAXP_TARBALL="154d73707643.tar.xz" -JAXWS_TARBALL="3f0a3aea44b4.tar.xz" -JDK_TARBALL="80cebaab0ba5.tar.xz" -LANGTOOLS_TARBALL="0a2dce555d35.tar.xz" -OPENJDK_TARBALL="644bdc77dd18.tar.xz" -NASHORN_TARBALL="136ab780f038.tar.xz" -HOTSPOT_TARBALL="074a569c30e4.tar.xz" -SHENANDOAH_TARBALL="773364cde857.tar.xz" -AARCH32_TARBALL="1cd346521065.tar.xz" - -CACAO_TARBALL="cacao-c182f119eaad.tar.xz" -JAMVM_TARBALL="jamvm-ec18fb9e49e62dce16c5094ef1527eed619463aa.tar.gz" - -CORBA_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-corba-${CORBA_TARBALL}" -JAXP_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-jaxp-${JAXP_TARBALL}" -JAXWS_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-jaxws-${JAXWS_TARBALL}" -JDK_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-jdk-${JDK_TARBALL}" -LANGTOOLS_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-langtools-${LANGTOOLS_TARBALL}" -OPENJDK_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-openjdk-${OPENJDK_TARBALL}" -NASHORN_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-nashorn-${NASHORN_TARBALL}" -HOTSPOT_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-hotspot-${HOTSPOT_TARBALL}" -SHENANDOAH_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-shenandoah-${SHENANDOAH_TARBALL}" -AARCH32_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-aarch32-${AARCH32_TARBALL}" - -CACAO_GENTOO_TARBALL="icedtea-${CACAO_TARBALL}" -JAMVM_GENTOO_TARBALL="icedtea-${JAMVM_TARBALL}" - -DROP_URL="http://icedtea.classpath.org/download/drops" -ICEDTEA_URL="${DROP_URL}/icedtea${SLOT}/${ICEDTEA_VER}" - -DESCRIPTION="A harness to build OpenJDK using Free Software build tools and dependencies" -HOMEPAGE="http://icedtea.classpath.org" -SRC_PKG="${ICEDTEA_PKG}.tar.xz" -SRC_URI=" - http://icedtea.classpath.org/download/source/${SRC_PKG} - ${ICEDTEA_URL}/openjdk.tar.xz -> ${OPENJDK_GENTOO_TARBALL} - ${ICEDTEA_URL}/corba.tar.xz -> ${CORBA_GENTOO_TARBALL} - ${ICEDTEA_URL}/jaxp.tar.xz -> ${JAXP_GENTOO_TARBALL} - ${ICEDTEA_URL}/jaxws.tar.xz -> ${JAXWS_GENTOO_TARBALL} - ${ICEDTEA_URL}/jdk.tar.xz -> ${JDK_GENTOO_TARBALL} - ${ICEDTEA_URL}/hotspot.tar.xz -> ${HOTSPOT_GENTOO_TARBALL} - ${ICEDTEA_URL}/nashorn.tar.xz -> ${NASHORN_GENTOO_TARBALL} - ${ICEDTEA_URL}/langtools.tar.xz -> ${LANGTOOLS_GENTOO_TARBALL} - shenandoah? ( ${ICEDTEA_URL}/shenandoah.tar.xz -> ${SHENANDOAH_GENTOO_TARBALL} ) - arm? ( ${ICEDTEA_URL}/aarch32.tar.xz -> ${AARCH32_GENTOO_TARBALL} ) - ${DROP_URL}/cacao/${CACAO_TARBALL} -> ${CACAO_GENTOO_TARBALL} - ${DROP_URL}/jamvm/${JAMVM_TARBALL} -> ${JAMVM_GENTOO_TARBALL}" - -LICENSE="Apache-1.1 Apache-2.0 GPL-1 GPL-2 GPL-2-with-linking-exception LGPL-2 MPL-1.0 MPL-1.1 public-domain W3C" -KEYWORDS="amd64 ~arm arm64 ~ppc64 ~x86" - -IUSE="+alsa cacao +cups doc examples +gtk headless-awt - jamvm +jbootstrap kerberos libressl pax_kernel +pch - sctp selinux shenandoah smartcard +source test zero" - -REQUIRED_USE="gtk? ( !headless-awt )" - -# Ideally the following were optional at build time. -ALSA_COMMON_DEP=" - >=media-libs/alsa-lib-1.0" -CUPS_COMMON_DEP=" - >=net-print/cups-1.2.12" -X_COMMON_DEP=" - >=media-libs/giflib-4.1.6:0= - >=media-libs/libpng-1.2:0= - >=x11-libs/libX11-1.1.3 - >=x11-libs/libXext-1.1.1 - >=x11-libs/libXi-1.1.3 - >=x11-libs/libXrender-0.9.4 - >=x11-libs/libXtst-1.0.3 - x11-libs/libXcomposite" -X_DEPEND=" - >=x11-libs/libXau-1.0.3 - >=x11-libs/libXdmcp-1.0.2 - >=x11-libs/libXinerama-1.0.2 - x11-base/xorg-proto" - -# The Javascript requirement is obsolete; OpenJDK 8+ has Nashorn -COMMON_DEP=" - >=dev-libs/glib-2.26:2= - media-libs/fontconfig:1.0= - >=media-libs/freetype-2.5.3:2= - >=media-libs/lcms-2.5:2= - >=sys-libs/zlib-1.2.3 - virtual/jpeg:0= - kerberos? ( virtual/krb5 ) - sctp? ( net-misc/lksctp-tools ) - smartcard? ( sys-apps/pcsc-lite )" - -# Gtk+ will move to COMMON_DEP in time; PR1982 -# gsettings-desktop-schemas will be needed for native proxy support; PR1976 -RDEPEND="${COMMON_DEP} - !dev-java/icedtea:0 - >=gnome-base/gsettings-desktop-schemas-3.12.2 - virtual/ttf-fonts - alsa? ( ${ALSA_COMMON_DEP} ) - cups? ( ${CUPS_COMMON_DEP} ) - gtk? ( - >=dev-libs/atk-1.30.0 - >=x11-libs/cairo-1.8.8 - x11-libs/gdk-pixbuf:2 - >=x11-libs/gtk+-2.8:2 - >=x11-libs/pango-1.24.5 - ) - !headless-awt? ( ${X_COMMON_DEP} ) - selinux? ( sec-policy/selinux-java )" - -# ca-certificates, perl and openssl are used for the cacerts keystore generation -# perl is needed for running the SystemTap tests and the bootstrap javac -# lsb-release is used to obtain distro information for the version & crash dump output -# attr is needed for xattr.h which defines the extended attribute syscalls used by NIO2 -# x11-libs/libXt is needed for headers only (Intrinsic.h, IntrinsicP.h, Shell.h, StringDefs.h) -# Ant is no longer needed under the new build system -DEPEND="${COMMON_DEP} ${ALSA_COMMON_DEP} ${CUPS_COMMON_DEP} ${X_COMMON_DEP} ${X_DEPEND} - || ( - dev-java/icedtea:8 - dev-java/icedtea:7 - ) - app-arch/cpio - app-arch/unzip - app-arch/zip - app-misc/ca-certificates - dev-lang/perl - !libressl? ( dev-libs/openssl:0 ) - libressl? ( dev-libs/libressl:0 ) - sys-apps/attr - sys-apps/lsb-release - x11-libs/libXt - virtual/pkgconfig - pax_kernel? ( sys-apps/elfix )" - -S="${WORKDIR}"/${ICEDTEA_PKG} - - -icedtea_check_requirements() { - local CHECKREQS_DISK_BUILD - - if use doc; then - CHECKREQS_DISK_BUILD="9000M" - else - CHECKREQS_DISK_BUILD="8500M" - fi - - check-reqs_pkg_${EBUILD_PHASE} -} - -pkg_pretend() { - icedtea_check_requirements -} - -pkg_setup() { - icedtea_check_requirements - - JAVA_PKG_WANT_BUILD_VM=" - icedtea-8 icedtea-bin-8 - icedtea-7 icedtea-bin-7" - JAVA_PKG_WANT_SOURCE="1.5" - JAVA_PKG_WANT_TARGET="1.5" - - java-vm-2_pkg_setup - java-pkg-2_pkg_setup -} - -src_unpack() { - unpack ${SRC_PKG} -} - -src_prepare() { - ln -s "${FILESDIR}/${PN}-hotspot-musl.patch" patches || die - ln -s "${FILESDIR}/${PN}${SLOT}-hotspot-noagent-musl.patch" patches || die - ln -s "${FILESDIR}/${PN}${SLOT}-jdk-execinfo.patch" patches || die - ln -s "${FILESDIR}/${PN}${SLOT}-jdk-fix-libjvm-load.patch" patches || die - ln -s "${FILESDIR}/${PN}${SLOT}-jdk-musl.patch" patches || die - ln -s "${FILESDIR}/${PN}${SLOT}-autoconf-config.patch" patches || die - ln -s "${FILESDIR}/${PN}${SLOT}-gcc-triple.patch" patches || die - ln -s "${FILESDIR}/${PN}-hotspot-stop-using-obsolete-isnanf.patch" patches || die - ln -s "${FILESDIR}/${PN}-os_linux-remove-glibc-dependencies.patch" patches || die - ln -s "${FILESDIR}/${PN}${SLOT}-hotspot-pointer-comparison.patch" "${S}/patches" || die - - eapply "${FILESDIR}/${PN}${SLOT}-disable-systemtap.patch" - eapply_user - eautoreconf -} - -src_configure() { - # GCC10/-fno-common handling, #723102 - if [[ $(gcc-major-version) -ge 10 ]]; then - append-flags -fcommon - append-flags -fno-delete-null-pointer-checks -fno-lifetime-dse - fi - - # For bootstrap builds as the sandbox control file might not yet exist. - addpredict /proc/self/coredump_filter - - # icedtea doesn't like some locales. #330433 #389717 - export LANG="C" LC_ALL="C" - - local cacao_config config hotspot_port hs_config jamvm_config use_cacao use_jamvm use_zero zero_config - local vm=$(java-pkg_get-current-vm) - - DISTRIBUTION_PATCHES="" - - DISTRIBUTION_PATCHES+="patches/${PN}-hotspot-musl.patch " - DISTRIBUTION_PATCHES+="patches/${PN}${SLOT}-hotspot-noagent-musl.patch " - DISTRIBUTION_PATCHES+="patches/${PN}${SLOT}-jdk-execinfo.patch " - DISTRIBUTION_PATCHES+="patches/${PN}${SLOT}-jdk-fix-libjvm-load.patch " - DISTRIBUTION_PATCHES+="patches/${PN}${SLOT}-jdk-musl.patch " - DISTRIBUTION_PATCHES+="patches/${PN}${SLOT}-autoconf-config.patch " - DISTRIBUTION_PATCHES+="patches/${PN}${SLOT}-gcc-triple.patch " - DISTRIBUTION_PATCHES+="patches/${PN}-hotspot-stop-using-obsolete-isnanf.patch " - DISTRIBUTION_PATCHES+="patches/${PN}-os_linux-remove-glibc-dependencies.patch " - DISTRIBUTION_PATCHES+="patches/${PN}${SLOT}-hotspot-pointer-comparison.patch " - - export DISTRIBUTION_PATCHES - - # gcj-jdk ensures ecj is present. - if use jbootstrap || has "${vm}" gcj-jdk; then - use jbootstrap || einfo "bootstrap is necessary when building with ${vm}, ignoring USE=\"-jbootstrap\"" - config+=" --enable-bootstrap" - else - config+=" --disable-bootstrap" - fi - - # Use Zero if requested - if use zero; then - use_zero="yes" - fi - - # Use JamVM if requested - if use jamvm; then - use_jamvm="yes" - fi - - # Use CACAO if requested - if use cacao; then - use_cacao="yes" - fi - - # Are we on a architecture with a HotSpot port? - # In-tree JIT ports are available for amd64, arm, arm64, ppc64 (be&le), SPARC and x86. - if { use amd64 || use arm || use arm64 || use ppc64 || use sparc || use x86; }; then - hotspot_port="yes" - - # Work around stack alignment issue, bug #647954. - use x86 && append-flags -mincoming-stack-boundary=2 - fi - - # Always use HotSpot as the primary VM if available. #389521 #368669 #357633 ... - # Otherwise use Zero for now until alternate VMs are working - if test "x${hotspot_port}" != "xyes"; then - use_zero="yes" - fi - - if use shenandoah; then - if { use amd64 || use arm64; }; then - hs_config="--with-hotspot-build=shenandoah" - hs_config+=" --with-hotspot-src-zip="${DISTDIR}/${SHENANDOAH_GENTOO_TARBALL}"" - else - eerror "Shenandoah can only be built on arm64 and x86_64. Please re-build with USE="-shenandoah"" - fi - else - if use arm ; then - hs_config="--with-hotspot-src-zip="${DISTDIR}/${AARCH32_GENTOO_TARBALL}"" - else - hs_config="--with-hotspot-src-zip="${DISTDIR}/${HOTSPOT_GENTOO_TARBALL}"" - fi - fi - - # Turn on JamVM if needed (non-HS archs) or requested - if test "x${use_jamvm}" = "xyes"; then - if test "x${hotspot_port}" = "xyes"; then - ewarn 'Enabling JamVM on an architecture with HotSpot support; issues may result.' - ewarn 'If so, please rebuild with USE="-jamvm"' - fi - ewarn 'JamVM is known to still have issues with IcedTea 3.x; please rebuild with USE="-jamvm"' - jamvm_config="--enable-jamvm" - fi - - # Turn on CACAO if needed (non-HS archs) or requested - if test "x${use_cacao}" = "xyes"; then - if test "x${hotspot_port}" = "xyes"; then - ewarn 'Enabling CACAO on an architecture with HotSpot support; issues may result.' - ewarn 'If so, please rebuild with USE="-cacao"' - fi - ewarn 'CACAO is known to still have issues with IcedTea 3.x; please rebuild with USE="-cacao"' - cacao_config="--enable-cacao" - fi - - # Turn on Zero if needed (non-HS/CACAO archs) or requested - if test "x${use_zero}" = "xyes"; then - if test "x${hotspot_port}" = "xyes"; then - ewarn 'Enabling Zero on an architecture with HotSpot support; performance will be significantly reduced.' - fi - zero_config="--enable-zero" - fi - - # Warn about potential problems with ccache enabled - if has ccache ${FEATURES}; then - ewarn 'ccache has been known to break IcedTea. Disable it before filing bugs.' - config+=" --enable-ccache" - else - config+=" --disable-ccache" - fi - - # PaX breaks pch, bug #601016 - if use pch && ! host-is-pax; then - config+=" --enable-precompiled-headers" - else - config+=" --disable-precompiled-headers" - fi - - config+=" --with-parallel-jobs=$(makeopts_jobs)" - - unset JAVA_HOME JDK_HOME CLASSPATH JAVAC JAVACFLAGS - - econf ${config} \ - --with-openjdk-src-zip="${DISTDIR}/${OPENJDK_GENTOO_TARBALL}" \ - --with-corba-src-zip="${DISTDIR}/${CORBA_GENTOO_TARBALL}" \ - --with-jaxp-src-zip="${DISTDIR}/${JAXP_GENTOO_TARBALL}" \ - --with-jaxws-src-zip="${DISTDIR}/${JAXWS_GENTOO_TARBALL}" \ - --with-jdk-src-zip="${DISTDIR}/${JDK_GENTOO_TARBALL}" \ - --with-langtools-src-zip="${DISTDIR}/${LANGTOOLS_GENTOO_TARBALL}" \ - --with-nashorn-src-zip="${DISTDIR}/${NASHORN_GENTOO_TARBALL}" \ - --with-cacao-src-zip="${DISTDIR}/${CACAO_GENTOO_TARBALL}" \ - --with-jamvm-src-zip="${DISTDIR}/${JAMVM_GENTOO_TARBALL}" \ - --with-jdk-home="$(java-config -O)" \ - --prefix="${EPREFIX}/usr/$(get_libdir)/icedtea${SLOT}" \ - --mandir="${EPREFIX}/usr/$(get_libdir)/icedtea${SLOT}/man" \ - --docdir="${EPREFIX}/usr/share/doc/${PF}" \ - --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" \ - --with-pkgversion="Gentoo ${PF}" \ - --disable-downloading --disable-Werror --disable-tests \ - --enable-system-lcms --enable-system-jpeg \ - --enable-system-zlib --disable-systemtap-tests \ - --enable-improved-font-rendering \ - $(use_enable headless-awt headless) \ - $(use_enable !headless-awt system-gif) \ - $(use_enable !headless-awt system-png) \ - $(use_enable doc docs) \ - $(use_enable kerberos system-kerberos) \ - $(use_with pax_kernel pax "${EPREFIX}/usr/sbin/paxmark.sh") \ - $(use_enable sctp system-sctp) \ - $(use_enable smartcard system-pcsc) \ - ${zero_config} ${cacao_config} ${jamvm_config} ${hs_config} -} - -src_compile() { - export DISABLE_HOTSPOT_OS_VERSION_CHECK=ok - default -} - -src_test() { - default -} - -src_install() { - default - - local dest="/usr/$(get_libdir)/icedtea${SLOT}" - local ddest="${ED}${dest#/}" - - if ! use alsa; then - rm -v "${ddest}"/jre/lib/$(get_system_arch)/libjsoundalsa.* || die - fi - - if ! use examples; then - rm -r "${ddest}"/demo "${ddest}"/sample || die - fi - - if ! use source; then - rm -v "${ddest}"/src.zip || die - fi - - dosym /usr/share/doc/${PF} /usr/share/doc/${PN}${SLOT} - - # Fix the permissions. - find "${ddest}" \! -type l \( -perm /111 -exec chmod 755 {} \; -o -exec chmod 644 {} \; \) || die - - # We need to generate keystore - bug #273306 - einfo "Generating cacerts file from certificates in ${EPREFIX}/usr/share/ca-certificates/" - mkdir "${T}/certgen" && cd "${T}/certgen" || die - cp "${FILESDIR}/generate-cacerts.pl" . && chmod +x generate-cacerts.pl || die - for c in "${EPREFIX}"/usr/share/ca-certificates/*/*.crt; do - openssl x509 -text -in "${c}" >> all.crt || die - done - ./generate-cacerts.pl "${ddest}/bin/keytool" all.crt || die - cp -vRP cacerts "${ddest}/jre/lib/security/" || die - chmod 644 "${ddest}/jre/lib/security/cacerts" || die - - java-vm_install-env "${FILESDIR}/icedtea.env.sh" - java-vm_sandbox-predict /proc/self/coredump_filter -} - -pkg_preinst() { - # From 3.4.0 onwards, the arm directory is a symlink to the aarch32 - # directory. We need to clear the old directory for a clean upgrade. - if use arm; then - local dir - for dir in "${EROOT}usr/$(get_libdir)/icedtea${SLOT}"/{lib,jre/lib}/arm; do - if [[ -d ${dir} && ! -L ${dir} ]]; then - rm -r "${dir}" || die - fi - done - fi - - gnome2_icon_savelist -} - -pkg_postinst() { gnome2_icon_cache_update; } -pkg_postrm() { gnome2_icon_cache_update; }