diff --git a/dev-java/icedtea/Manifest b/dev-java/icedtea/Manifest index bd2ee1b..4d48508 100644 --- a/dev-java/icedtea/Manifest +++ b/dev-java/icedtea/Manifest @@ -1,4 +1,8 @@ AUX generate-cacerts.pl 11051 BLAKE2B e6d54319153735bd4b445581dfbd2b78e2e27a19f3b8a78d2fe6912efa207d133fa550652295648bc0bd1370956f71374d4b42de71776fa253f44d4e9dff2527 SHA512 22d1be675362c09ed61af4dc3ece14cab81e9514937d588ff5d324e61b7eba7d3dd99b26bc5ec0953365de56d099f708b2afdb13cca37bc4ff07fd8ce31fbe97 +AUX icedtea-jdk-execinfo.patch 1026 BLAKE2B c09c343ead869275a945d5e2437c833a641728fc39ad3e9218291fd12376b6684fbcf7f129b69fcd1bde11949c6998865b131ee0734cc33d80f332eb7261428e SHA512 0391970e6a32946aa3cccf38fdef9c0fe2af26cd0df824b98aa2fcfa1bf661d4a68e339bffcfd16f386c565fc68bb28a29208a67d4bad8a0e847ad02bd8becbb +AUX icedtea-jdk-fix-build.patch 2150 BLAKE2B ebfc48db63836bd3f60f946ad2a647ddfa3aea3e97742a475098ae8a8cd4a4a8b1bc9986f3b41d98c8da49713d374c39aff2199bcaebbb8a2fc112d2de805bb7 SHA512 213a537de5f011cb39d608515c3413513ac75fb93593f9a9ef4205f71d72bdd8b097c80db185f7b26021d5bb85045b866f34f3478482dc4189972d8614a13458 +AUX icedtea-jdk-musl.patch 4861 BLAKE2B 40028881fd456a7643501aee235e015039ea7e363c094bb0a23cab2faae1e8ae72501d562f6366f1630c3d1d08f7ee31f05bc95e802be7e146976d9087a07358 SHA512 44a35941c80f408d0607e32763b3b6ccee21e1d39886309327d3d74d2900117e4346ef59e77c663fd022fec10ee8f365eeb46c1260014d5765d226ce175ce3c5 +AUX icedtea-jdk-no-soname.patch 369 BLAKE2B e44f1f539abd742963664a6f64cdd8aaaa7b108b20535ca0a5a20b0892a083e81b676fd1c71a6b021b2fa1f15404520be388f14ac326ac909f0a11f1aac20864 SHA512 bf4b184e170f7b0ff64ab30d2162784fe2bd5460d1fa31973259f7065fd4c511c46f97724fe2bd72bb94e9006cb568d0e0c87d1a9c90819e65880f8f44830bb1 AUX icedtea.env.sh 1130 BLAKE2B 8ffd3a9c558b9abb9df723efc531496537d7883d676c145411d9a4f02ecd6826c5edec9451ced8187224a9c24b408e6cbad3dc11ebcbe2f69a38b0966cb691c7 SHA512 79c279338cc2790df91c92d8d9b97c007f1a030374066dfacbbb2f9aac754eafba9197b748adcb9fe6fbff16bd998b6536298443028df281d1b12d3b348da66f AUX jamvm-1.6.0-aarch64-support.patch 23347 BLAKE2B b80462ea9d8ceb54f8039d1a2c6e161a45eceabcd5e27993dec602605397d70754bcc4c70fcc6be197f17a7d1383d6d91ae57c01063dbc55c61537f50fb71de6 SHA512 aa602103865d64dc0d53d8d46002888b99afb7b92e95f39dacd36a2d3b937006f7816826efc418d0e3b9e7b3eec5b0b01a1642e37875635577c0c5653418596c AUX jamvm-1.6.0-opcode-guard.patch 1416 BLAKE2B 4e866f4dde142d591d3dce89f10589fd3fbd290b1429ad83ba4ba4d4dfcb91d7e9da4ea7797859337690e24a8f1ebcf39eaa5aad085d03233306db02147f18cb SHA512 396d18eaad17bc76d8316bfc8fa2553e081389deade1ce0cd72f082226a91dbd70ec983636d324243be0a502ae9e0dd91d40952f13bf77c991601e61385af728 @@ -25,4 +29,4 @@ DIST icedtea-cacao-c182f119eaad.tar.gz 4485353 BLAKE2B 5c1faa3cbbfea62f819562a01 DIST icedtea-cacao-c182f119eaad.tar.xz 3056520 BLAKE2B 6b1be66ce19f491d49f1591babcd8c088e8e327f828dca3f30b8f8b04c132140f8b9f487ef6d91aed212aebab2c7c3052d79fa3f2d76d3832341d94d48e77089 SHA512 22e8a031db5f93f82b276b310c175f1e926e48d64e1e50bebe51138e0f66391cd005501491a959d31663f338f27a29ec984ac29f77078f59472856e4d08edef7 DIST icedtea-jamvm-ec18fb9e49e62dce16c5094ef1527eed619463aa.tar.gz 317187 BLAKE2B 1ca581a02be4cf5c09162687bbc90ec01b58b4910d866d11512cf17a1caff181fdc69e42f7498b2df9deb875ddc6efc6bc2888428f411da94bbc2313ddf5a2c9 SHA512 a31348481e1c02747f5bb9db333f855c45a1555aa187ee35de5ef553a10a8a47dfcc1beb1e69502046c1758438b91958a328e0a0015812c153221f67734a70a6 EBUILD icedtea-3.7.0.ebuild 13476 BLAKE2B 83ff27f01a25038abf19cbfe5b13d495fe1845e112d6fa916f3192664779ae5bcef95b6b3d0fe189cf5c5baa24dae6ab901b9c50ee99f6679a4a1b6ffd6d4720 SHA512 beacbf9b65aba5ca2a624f1d3a68245feee9331b694e3a0f6993eacfdae78332174702bed0933809d97e8d5ee2ed2a1007e31f5e246720d2baa3ad0e47dc4619 -EBUILD icedtea-7.2.6.9.ebuild 11581 BLAKE2B 9f345d9e77df6e08248b715c3ff706ab796456d703299459b0e4cf56b51b4f8725cba99565e907f78de39b9f12fa1ef102df70bb12452a15a438bbb0a2a2a3c6 SHA512 a06c1e882cb57095889cc2ca296f55a5165354a5b1554eb397da4cf6b485217ec3eb5272661ff600cec547fb6fa4433aa8322f94ef9c18b7fab56d34f79eae0d +EBUILD icedtea-7.2.6.9.ebuild 12085 BLAKE2B c392b85759817efe9f53de6eea1051f8b3e9d3671d1b5cc558cb2449830be7e1c53c39ba8a360757dbcf3e43ada82aeb51b56e3bb9e925bbadb406ee965d02f5 SHA512 86643a8bfb678efef4feaad2a9103e64947914d80c2fa14d4fb43ce66a562e0756b64db3d72413e23aa420fa4cf8408b51e51a9928d3a5522b216f09ee4de916 diff --git a/dev-java/icedtea/files/icedtea-jdk-execinfo.patch b/dev-java/icedtea/files/icedtea-jdk-execinfo.patch new file mode 100644 index 0000000..a6499dc --- /dev/null +++ b/dev-java/icedtea/files/icedtea-jdk-execinfo.patch @@ -0,0 +1,40 @@ +--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_xembed_server.c ++++ openjdk/jdk/src/solaris/native/sun/awt/awt_xembed_server.c +@@ -35,7 +35,7 @@ + #include + #include + #include +-#ifdef __linux__ ++#if defined(__linux__) && defined(__GLIBC__) && ! defined(__UCLIBC__) + #include + #endif + #include +@@ -835,7 +835,7 @@ + AWT_UNLOCK(); + } + +-#ifdef __linux__ ++#if defined(__linux__) && defined(__GLIBC__) && ! defined(__UCLIBC__) + void + print_stack (void) + { +--- openjdk.orig/jdk/src/solaris/native/sun/xawt/XToolkit.c ++++ openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c +@@ -27,7 +27,7 @@ + #include + #include + #include +-#ifdef __linux__ ++#if defined(__linux__) && defined(__GLIBC__) && ! defined(__UCLIBC__) + #include + #endif + +@@ -689,7 +689,7 @@ + return ret; + } + +-#ifdef __linux__ ++#if defined(__linux__) && defined(__GLIBC__) && ! defined(__UCLIBC__) + void print_stack(void) + { + void *array[10]; diff --git a/dev-java/icedtea/files/icedtea-jdk-fix-build.patch b/dev-java/icedtea/files/icedtea-jdk-fix-build.patch new file mode 100644 index 0000000..9fae895 --- /dev/null +++ b/dev-java/icedtea/files/icedtea-jdk-fix-build.patch @@ -0,0 +1,56 @@ +Fixes three issues: + - so's should not be linked to -ljvm as dlopen(/abs/name) is + used by the launcher to load libjvm.so; it is thus not available + (musl/uclibc) ld.so to satisfy NEEDED dependency inserted by + -ljvm. Fix to not link against -ljvm, and disable -z defs so + undefined symbols are allowed in sos + - the previous makes ldd generate errors on unresolved symbols (musl) + remove it altogether as it's used for informative purposes only + (display things - not check anything useful) + - Don't delete the generated directory $(GENCSEXT), this can + confuse make in highly parallel builds with: + make[6]: *** INTERNAL: readdir: No such file or directory. Stop. + make[6]: Leaving directory '.../openjdk-boot/jdk/make/sun/nio/cs' + +--- openjdk.orig/jdk/make/common/Defs-linux.gmk ++++ openjdk/jdk/make/common/Defs-linux.gmk +@@ -350,7 +350,7 @@ + + EXTRA_LIBS += -lc + +-LDFLAGS_DEFS_OPTION = -Xlinker -z -Xlinker defs ++LDFLAGS_DEFS_OPTION = + LDFLAGS_COMMON += $(LDFLAGS_DEFS_OPTION) + + # +@@ -407,7 +407,7 @@ + # the library itself should not. + # + VM_NAME = server +-JVMLIB = -L$(LIBDIR)/$(LIBARCH)/$(VM_NAME) -ljvm ++JVMLIB = + JAVALIB = -ljava $(JVMLIB) + + # +--- openjdk.orig/jdk/make/sun/nio/cs/Makefile ++++ openjdk/jdk/make/sun/nio/cs/Makefile +@@ -107,7 +107,7 @@ + $(GENCSDATASRC)/DoubleByte-X.java.template \ + $(GENCSDATASRC)/extsbcs $(GENCSDATASRC)/dbcs + @$(prep-target) +- $(RM) -r $(GENCSEXT) ++ $(RM) -f "$(GENCSEXT)"/* + $(MKDIR) -p $(GENCSEXT) + $(BOOT_JAVA_CMD) -jar $(CHARSETMAPPING_JARFILE) $(GENCSDATASRC) $(GENCSEXT) extsbcs + $(BOOT_JAVA_CMD) -jar $(CHARSETMAPPING_JARFILE) $(GENCSDATASRC) $(GENCSEXT) euctw \ +--- openjdk.orig/jdk/make/common/shared/Defs-linux.gmk ++++ openjdk/jdk/make/common/shared/Defs-linux.gmk +@@ -207,8 +207,6 @@ + if [ "`$(NM) -D -g --defined-only $1 | $(EGREP) 'SUNWprivate'`" = "" ] ; then \ + $(ECHO) "$(MAPFILE_WARNING): File was not built with a mapfile: $1"; \ + fi && \ +- $(ECHO) "Library loads for: $1" && \ +- $(LDD) $1 && \ + $(ECHO) "RUNPATH for: $1" && \ + ( $(READELF) -d $1 | $(EGREP) 'NEEDED|RUNPATH|RPATH' ) \ + ) diff --git a/dev-java/icedtea/files/icedtea-jdk-musl.patch b/dev-java/icedtea/files/icedtea-jdk-musl.patch new file mode 100644 index 0000000..49c16d7 --- /dev/null +++ b/dev-java/icedtea/files/icedtea-jdk-musl.patch @@ -0,0 +1,116 @@ +diff -ru openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp +--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp 2014-06-12 20:14:44.000000000 +0000 ++++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp 2014-07-15 07:19:52.186682096 +0000 +@@ -46,6 +46,8 @@ + + #include "zip.h" + ++#define uchar unsigned char ++ + #ifdef NO_ZLIB + + inline bool jar::deflate_bytes(bytes& head, bytes& tail) { +diff -ru openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h +--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h 2014-06-12 20:14:44.000000000 +0000 ++++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h 2014-07-15 07:19:52.186682096 +0000 +@@ -23,9 +23,7 @@ + * questions. + */ + +-#define ushort unsigned short +-#define uint unsigned int +-#define uchar unsigned char ++#include + + struct unpacker; + +diff -ru openjdk.orig/jdk/src/share/native/sun/awt/medialib/mlib_types.h openjdk/jdk/src/share/native/sun/awt/medialib/mlib_types.h +--- openjdk.orig/jdk/src/share/native/sun/awt/medialib/mlib_types.h 2014-06-12 20:14:44.000000000 +0000 ++++ openjdk/jdk/src/share/native/sun/awt/medialib/mlib_types.h 2014-07-15 07:19:52.186682096 +0000 +@@ -27,6 +27,7 @@ + #ifndef MLIB_TYPES_H + #define MLIB_TYPES_H + ++#include /* for NULL */ + #include + #if defined(_MSC_VER) + #include /* for FLT_MAX and DBL_MAX */ +diff -ru 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 2014-06-12 20:14:44.000000000 +0000 ++++ openjdk/jdk/src/solaris/native/java/net/Inet4AddressImpl.c 2014-07-15 07:19:52.186682096 +0000 +@@ -47,7 +47,7 @@ + + #include "java_net_Inet4AddressImpl.h" + +-#if defined(__GLIBC__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 601104)) ++#if defined(__linux__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 601104)) + #define HAS_GLIBC_GETHOSTBY_R 1 + #endif + +diff -ru openjdk.orig/jdk/src/solaris/native/java/net/NetworkInterface.c openjdk/jdk/src/solaris/native/java/net/NetworkInterface.c +--- openjdk.orig/jdk/src/solaris/native/java/net/NetworkInterface.c 2014-06-12 20:14:44.000000000 +0000 ++++ openjdk/jdk/src/solaris/native/java/net/NetworkInterface.c 2014-07-15 07:19:52.186682096 +0000 +@@ -47,7 +47,6 @@ + + #ifdef __linux__ + #include +-#include + #include + #include + #endif +diff -ru 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 2014-06-12 20:14:44.000000000 +0000 ++++ openjdk/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c 2014-07-15 07:19:52.190015524 +0000 +@@ -35,7 +35,6 @@ + #endif + #ifdef __linux__ + #include +-#include + #include + #include + +diff -ru 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 2014-06-12 20:14:44.000000000 +0000 ++++ openjdk/jdk/src/solaris/native/java/net/PlainSocketImpl.c 2014-07-15 07:19:52.190015524 +0000 +@@ -43,7 +43,6 @@ + #endif + #ifdef __linux__ + #include +-#include + #endif + + #include "jvm.h" +diff -ru 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 2014-06-12 20:14:44.000000000 +0000 ++++ openjdk/jdk/src/solaris/native/java/net/linux_close.c 2014-07-15 07:22:17.609355950 +0000 +@@ -75,7 +75,7 @@ + #ifdef _AIX + static int sigWakeup = (SIGRTMAX - 1); + #else +-static int sigWakeup = (__SIGRTMAX - 2); ++static int sigWakeup; + #endif + + /* +@@ -148,6 +148,9 @@ + /* + * Setup the signal handler + */ ++#ifndef __AIX ++ sigWakeup = SIGRTMAX - 2; ++#endif + sa.sa_handler = sig_wakeup; + sa.sa_flags = 0; + sigemptyset(&sa.sa_mask); +diff -ru openjdk.orig/jdk/src/solaris/native/sun/nio/ch/NativeThread.c openjdk/jdk/src/solaris/native/sun/nio/ch/NativeThread.c +--- openjdk.orig/jdk/src/solaris/native/sun/nio/ch/NativeThread.c 2014-06-12 20:14:44.000000000 +0000 ++++ openjdk/jdk/src/solaris/native/sun/nio/ch/NativeThread.c 2014-07-15 07:19:52.190015524 +0000 +@@ -38,7 +38,7 @@ + #include + + /* Also defined in src/solaris/native/java/net/linux_close.c */ +-#define INTERRUPT_SIGNAL (__SIGRTMAX - 2) ++#define INTERRUPT_SIGNAL (SIGRTMAX - 2) + + static void + nullHandler(int sig) diff --git a/dev-java/icedtea/files/icedtea-jdk-no-soname.patch b/dev-java/icedtea/files/icedtea-jdk-no-soname.patch new file mode 100644 index 0000000..fe6bbb7 --- /dev/null +++ b/dev-java/icedtea/files/icedtea-jdk-no-soname.patch @@ -0,0 +1,12 @@ +--- ./openjdk/jdk/make/common/Defs-linux.gmk.orig ++++ ./openjdk/jdk/make/common/Defs-linux.gmk +@@ -248,7 +248,9 @@ + # + LDFLAGS_OPT = -Xlinker -O1 + LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH) ++ifdef LIBRARY + LDFLAGS_COMMON += -Wl,-soname=$(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX) ++endif + + # + # -static-libgcc is a gcc-3 flag to statically link libgcc, gcc-2.9x always diff --git a/dev-java/icedtea/icedtea-7.2.6.9.ebuild b/dev-java/icedtea/icedtea-7.2.6.9.ebuild index 0c02f5c..6fb6e48 100644 --- a/dev-java/icedtea/icedtea-7.2.6.9.ebuild +++ b/dev-java/icedtea/icedtea-7.2.6.9.ebuild @@ -170,6 +170,10 @@ src_unpack() { ln -s "${FILESDIR}/jamvm-1.6.0-aarch64-support.patch" "${S}/patches/jamvm" || die ln -s "${FILESDIR}/jamvm-1.6.0-opcode-guard.patch" "${S}/patches/jamvm" || die + ln -s "${FILESDIR}/${PN}-jdk-musl.patch" "${S}/patches" || die + ln -s "${FILESDIR}/${PN}-jdk-no-soname.patch" "${S}/patches" || die + ln -s "${FILESDIR}/${PN}-jdk-fix-build.patch" "${S}/patches" || die + ln -s "${FILESDIR}/${PN}-jdk-execinfo.patch" "${S}/patches" || die } src_configure() { @@ -189,6 +193,10 @@ src_configure() { DISTRIBUTION_PATCHES+="patches/jamvm/jamvm-1.6.0-aarch64-support.patch " DISTRIBUTION_PATCHES+="patches/jamvm/jamvm-1.6.0-opcode-guard.patch " + DISTRIBUTION_PATCHES+="patches/${PN}-jdk-musl.patch " + DISTRIBUTION_PATCHES+="patches/${PN}-jdk-no-soname.patch " + DISTRIBUTION_PATCHES+="patches/${PN}-jdk-fix-build.patch " + DISTRIBUTION_PATCHES+="patches/${PN}-jdk-execinfo.patch " export DISTRIBUTION_PATCHES