From f2bc78a187d440fe92ee085cbbdc26bea5d07814 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Tue, 19 Dec 2017 22:02:27 +0100 Subject: [PATCH] Some fixes to OpenJDK Builds ok (if you have an older version installed), but runs out of memory during INSTALL. Help welcome. --- dev-lang/openjdk/openjdk-1.8.u40_b27.recipe | 17 ++++++++-- .../openjdk-1.8.u40_b27-source3.patchset | 32 +++++++++++++++++++ .../patches/openjdk-1.8.u40_b27.patchset | 23 +++++++++++++ 3 files changed, 70 insertions(+), 2 deletions(-) create mode 100644 dev-lang/openjdk/patches/openjdk-1.8.u40_b27-source3.patchset create mode 100644 dev-lang/openjdk/patches/openjdk-1.8.u40_b27.patchset diff --git a/dev-lang/openjdk/openjdk-1.8.u40_b27.recipe b/dev-lang/openjdk/openjdk-1.8.u40_b27.recipe index b75003ecf..80a91d580 100644 --- a/dev-lang/openjdk/openjdk-1.8.u40_b27.recipe +++ b/dev-lang/openjdk/openjdk-1.8.u40_b27.recipe @@ -13,34 +13,41 @@ REVISION="2" SOURCE_URI="https://bitbucket.org/hamishm/haiku-jdk8u/get/6e3a7c2446ea.zip" CHECKSUM_SHA256="68cb8171d84b1a0c12e20b2ecc968a12ed8f64d39858a6e3af9e287877c2245e" SOURCE_DIR="hamishm-haiku-jdk8u-6e3a7c2446ea" +PATCHES="openjdk-1.8.u40_b27.patchset" SOURCE_URI_2="https://bitbucket.org/hamishm/haiku-jdk8u-hotspot/get/e5ab6f7ff241.zip" CHECKSUM_SHA256_2="241b78f84c7d39a1b93c78e5bf0e02414aae92574450fd043fa6771a9bf18103" SOURCE_DIR_2="hamishm-haiku-jdk8u-hotspot-e5ab6f7ff241" SOURCE_URI_3="https://bitbucket.org/hamishm/haiku-jdk8u-jdk/get/9b3967c76020.zip" CHECKSUM_SHA256_3="a64e0109b51f4bf9e5902a7053ea69fe3caa58df03146c2dc0d3c586e389ee86" SOURCE_DIR_3="hamishm-haiku-jdk8u-jdk-9b3967c76020" +PATCHES_3="openjdk-1.8.u40_b27-source3.patchset" SOURCE_URI_4="http://hg.openjdk.java.net/jdk8u/jdk8u/langtools/archive/jdk8u40-b27.tar.bz2" CHECKSUM_SHA256_4="5a9ee52b24bd3bf42ff7e0fa355ac4bc9327d1da3d60499897300129ca984366" SOURCE_DIR_4="langtools-jdk8u40-b27" +SOURCE_FILENAME_4="langtools-jdk8u40-b27.tar.bz2" SOURCE_URI_5="http://hg.openjdk.java.net/jdk8u/jdk8u/corba/archive/jdk8u40-b27.tar.bz2" CHECKSUM_SHA256_5="4e9b83d2716d41d5af3b86ddae9302c6516a6c9ba96c8724c84a32b6c2bc8e87" SOURCE_DIR_5="corba-jdk8u40-b27" +SOURCE_FILENAME_5="corba-jdk8u40-b27.tar.bz2" SOURCE_URI_6="http://hg.openjdk.java.net/jdk8u/jdk8u/jaxp/archive/jdk8u40-b27.tar.bz2" CHECKSUM_SHA256_6="408880924559130f714dbd5fc5ac6d3ec9b060490f20d3886490f92f6c0067b8" SOURCE_DIR_6="jaxp-jdk8u40-b27" +SOURCE_FILENAME_6="jaxp-jdk8u40-b27.tar.bz2" SOURCE_URI_7="http://hg.openjdk.java.net/jdk8u/jdk8u/jaxws/archive/jdk8u40-b27.tar.bz2" CHECKSUM_SHA256_7="31a95d3e6ed051e58d919c7d800e396cfbd48d43389dc955e10574d0e50151f9" SOURCE_DIR_7="jaxws-jdk8u40-b27" +SOURCE_FILENAME_7="jaxws-jdk8u40-b27.tar.bz2" SOURCE_URI_8="http://hg.openjdk.java.net/jdk8u/jdk8u/nashorn/archive/jdk8u40-b27.tar.bz2" CHECKSUM_SHA256_8="07fc791ea33a06b949a63d438479cb401762c4fd3334beecc77e4bf7ed4e2389" SOURCE_DIR_8="nashorn-jdk8u40-b27" +SOURCE_FILENAME_8="nashorn-jdk8u40-b27.tar.bz2" ADDITIONAL_FILES=" elf.h jexec.rdef " ARCHITECTURES="!x86_gcc2 ?x86" -SECONDARY_ARCHITECTURES="?x86" # circular dependency - needs fixing +SECONDARY_ARCHITECTURES="?x86" DISABLE_SOURCE_PACKAGE=yes # at least as long as Ant and a complete SDK image are part of the sources @@ -130,7 +137,6 @@ BUILD_PREREQUIRES=" BUILD() { # prepare the directory structure - cd $(dirname $sourceDir)/jdk ln -sfn $sourceDir2 hotspot ln -sfn $sourceDir3 jdk ln -sfn $sourceDir4 langtools @@ -153,6 +159,12 @@ BUILD() freeTypeHeaders=$(finddir B_SYSTEM_HEADERS_DIRECTORY)$secondaryArchSubDir/freetype2 freeTypeLib=$(finddir B_SYSTEM_DEVELOP_DIRECTORY)/lib$secondaryArchSubDir + #OpenJDK has an internal limitation of 256 characters in a path. And with the default src dir we go past it. + #cd .. + #mv $sourceDir src + #cd src + #ln -s src $sourceDir + bash ./common/autoconf/autogen.sh bash ./configure --with-boot-jdk-jvmargs="-Xmx${maxHeapSize}" \ --with-freetype-include="${freeTypeHeaders}" \ @@ -163,6 +175,7 @@ BUILD() INSTALL() { + export DISABLE_ASLR=1 # install the generated SDK image dir jdkDir=$libDir/openjdk diff --git a/dev-lang/openjdk/patches/openjdk-1.8.u40_b27-source3.patchset b/dev-lang/openjdk/patches/openjdk-1.8.u40_b27-source3.patchset new file mode 100644 index 000000000..5b75718f3 --- /dev/null +++ b/dev-lang/openjdk/patches/openjdk-1.8.u40_b27-source3.patchset @@ -0,0 +1,32 @@ +From 5e89e2168b1467524a2957ffc1255306ee1c8c12 Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Tue, 19 Dec 2017 21:40:01 +0100 +Subject: Fix build on current Haiku. + +BMediaRecorder is not private anymore. + +diff --git a/src/haiku/native/com/sun/media/sound/PLATFORM_API_HaikuOS_PCM.cpp b/src/haiku/native/com/sun/media/sound/PLATFORM_API_HaikuOS_PCM.cpp +index 0788c05..ad09030 100644 +--- a/src/haiku/native/com/sun/media/sound/PLATFORM_API_HaikuOS_PCM.cpp ++++ b/src/haiku/native/com/sun/media/sound/PLATFORM_API_HaikuOS_PCM.cpp +@@ -35,7 +35,7 @@ extern "C" { + #include + #include + #include +-#include ++#include + #include + #include + +@@ -43,8 +43,6 @@ extern "C" { + + #if USE_DAUDIO == TRUE + +-using BPrivate::media::BMediaRecorder; +- + AudioDeviceCache cache; + + extern "C" { +-- +2.15.0 + diff --git a/dev-lang/openjdk/patches/openjdk-1.8.u40_b27.patchset b/dev-lang/openjdk/patches/openjdk-1.8.u40_b27.patchset new file mode 100644 index 000000000..480b6fb00 --- /dev/null +++ b/dev-lang/openjdk/patches/openjdk-1.8.u40_b27.patchset @@ -0,0 +1,23 @@ +From 6db58c603805660216318d0d657665d845d84fdb Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Tue, 19 Dec 2017 21:38:49 +0100 +Subject: Fix detection of number of CPUs + +For some reason awk says "Binary" which is not a number. Use wc. + +diff --git a/common/autoconf/build-performance.m4 b/common/autoconf/build-performance.m4 +index 4abbe4b..c8c7ad3 100644 +--- a/common/autoconf/build-performance.m4 ++++ b/common/autoconf/build-performance.m4 +@@ -45,7 +45,7 @@ AC_DEFUN([BPERF_CHECK_CORES], + NUM_CORES=`/usr/sbin/prtconf | grep "^Number Of Processors" | awk '{ print [$]4 }'` + FOUND_CORES=yes + elif test "x$OPENJDK_BUILD_OS" = xhaiku; then +- NUM_CORES=`sysinfo -cpu | grep "running at" | awk '{print [$]1}'` ++ NUM_CORES=`sysinfo -cpu | grep "CPU" | wc -l` + FOUND_CORES=yes + elif test -n "$NUMBER_OF_PROCESSORS"; then + # On windows, look in the env +-- +2.15.0 +