diff --git a/java/build.sh b/java/build.sh index 6062c1c..66234ce 100755 --- a/java/build.sh +++ b/java/build.sh @@ -21,3 +21,7 @@ test -d build/install-jdk18 || ./build_jdk.sh jdk17 jdk18 test -d build/install-jdk19 || ./build_jdk.sh jdk18 jdk19 test -d build/install-jdk20 || ./build_jdk.sh jdk19 jdk20 test -d build/install-jdk21 || ./build_jdk.sh jdk20 jdk21 +test -d build/install-jdk22 || ./build_jdk.sh jdk21 jdk22 +test -d build/install-jdk23 || ./build_jdk.sh jdk22 jdk23 +test -d build/install-jdk24 || ./build_jdk.sh jdk23 jdk24 +test -d build/install-jdk25 || ./build_jdk.sh jdk24 jdk25 diff --git a/java/build_icedtea7.sh b/java/build_icedtea7.sh index 392007b..7c4cdf6 100755 --- a/java/build_icedtea7.sh +++ b/java/build_icedtea7.sh @@ -57,3 +57,5 @@ make \ DISTRIBUTION_PATCHES=icedtea-2.6.28-fix-includes.patch \ DISTRIBUTION_BOOT_PATCHES=icedtea-2.6.28-fix-bootstrap.patch make install + +find "$dir_install" -name '*.debuginfo' -delete diff --git a/java/build_icedtea8.sh b/java/build_icedtea8.sh index e615623..760905a 100755 --- a/java/build_icedtea8.sh +++ b/java/build_icedtea8.sh @@ -11,7 +11,7 @@ makeopts_jobs() { echo ${jobs:-1} } -version_icedtea8=3.33.0 +version_icedtea8=3.37.0 dir_download="$PWD/download" mkdir -p build; cd build @@ -28,7 +28,7 @@ unset _JAVA_OPTIONS export PATH="$PWD/../install-icedtea7/bin:$PATH" # Configure source -CFLAGS='-Wno-error=int-conversion -Wno-error=incompatible-pointer-types' \ +CFLAGS='-Wno-error=int-conversion -Wno-error=incompatible-pointer-types -std=gnu17' \ CONFIG_SHELL=/bin/bash ./configure \ --prefix="$dir_install" \ --with-jdk-home="$PWD/../install-icedtea7" \ @@ -50,3 +50,5 @@ CONFIG_SHELL=/bin/bash ./configure \ unset MAKEFLAGS make make install + +find "$dir_install" -name '*.debuginfo' -delete diff --git a/java/build_jdk.sh b/java/build_jdk.sh index e5ef726..4aeba77 100755 --- a/java/build_jdk.sh +++ b/java/build_jdk.sh @@ -11,17 +11,21 @@ makeopts_jobs() { echo ${jobs:-1} } -version_jdk21=21.0.6+6 +version_jdk25=25.0.3+0 +version_jdk24=24.0.2+12 +version_jdk23=23.0.2+7 +version_jdk22=22.0.2+9 +version_jdk21=21.0.10+5 version_jdk20=20.0.2+9 version_jdk19=19.0.2+7 version_jdk18=18.0.2.1+1 -version_jdk17=17.0.14+6 +version_jdk17=17.0.18+5 version_jdk16=16.0.2+7 version_jdk15=15.0.10+5 version_jdk14=14.0.2+12 version_jdk13=13.0.14+5 version_jdk12=12.0.2+10 -version_jdk11=11.0.26+3 +version_jdk11=11.0.30+4 version_jdk10=10.0.2+13 version_jdk9=9+181 @@ -43,6 +47,7 @@ cd "$srcdir" chmod +x configure # Some jdk versions require fixing up things +noinstall=false # TODO: Invert... CFLAGS= CXXFLAGS= case "$version_jdk_major" in @@ -52,7 +57,7 @@ jdk9) sed -i -e '/^ *COMPILER_VERSION_NUMBER=/{N;s/\[1-9\]/&[0-9]*/}' \ common/autoconf/generated-configure.sh export MAKE="$PWD/../install-make42/make" - CFLAGS="$CFLAGS -fcommon -Wno-error=int-conversion" + CFLAGS="$CFLAGS -fcommon -Wno-error=int-conversion -std=gnu17" ;; jdk10) patch -p1 -i "$dir_files/jdk-10.0.2+13-disarm-timebomb.patch" @@ -60,13 +65,13 @@ jdk10) sed -i -e '/^ *COMPILER_VERSION_NUMBER=/{N;s/\[1-9\]/&[0-9]*/}' \ make/autoconf/generated-configure.sh export MAKE="$PWD/../install-make42/make" - CFLAGS="$CFLAGS -fcommon" + CFLAGS="$CFLAGS -fcommon -std=gnu17" ;; jdk12) sed -i -e '/^ *COMPILER_VERSION_NUMBER=/{N;s/@<:@1-9@:>@/&@<:@0-9@:>@*/}' \ make/autoconf/toolchain.m4 export MAKE="$PWD/../install-make42/make" - CFLAGS="$CFLAGS -fcommon" + CFLAGS="$CFLAGS -fcommon -std=gnu17" ;; jdk13) sed -i -e '/^ *COMPILER_VERSION_NUMBER=/{N;s/@<:@1-9@:>@/&@<:@0-9@:>@*/}' \ @@ -74,15 +79,27 @@ jdk13) CFLAGS="$CFLAGS -fcommon" ;; jdk14) - ## Don't detect WSL - #sed -i -e 's/grep -i microsoft/false/' \ - #make/autoconf/build-aux/config.guess CFLAGS="$CFLAGS -fcommon" ;; jdk16) sed -i -e 's/\/fixpath_prefix/g' \ make/autoconf/util_paths.m4 ;; +jdk21) + noinstall=true + ;; +jdk22) + noinstall=true + ;; +jdk23) + noinstall=true + ;; +jdk24) + noinstall=true + ;; +jdk25) + noinstall=true + ;; esac unset _JAVA_OPTIONS JAVAC @@ -94,7 +111,7 @@ CONFIG_SHELL=/bin/bash ./configure \ --with-boot-jdk="$PWD/../install-$version_jdk_bootstrap" \ --with-jobs="$(makeopts_jobs)" \ --with-extra-cflags="$CFLAGS -w" \ - --with-extra-cxxflags="$CFLAGS -w" \ + --with-extra-cxxflags="$CXXFLAGS -w" \ --enable-headless-only \ --disable-full-docs \ --disable-warnings-as-errors @@ -102,4 +119,10 @@ echo "$version_jdk" > .src-rev # Build and install unset MAKEFLAGS -make install +if ! $noinstall; then + make install +else + make product-images + cp -rT build/*-release/images/jdk "$dir_install" +fi +find "$dir_install" -name '*.debuginfo' -delete diff --git a/java/download.sh b/java/download.sh index 4a11c52..e944720 100755 --- a/java/download.sh +++ b/java/download.sh @@ -1,21 +1,25 @@ #!/bin/sh set -eu -version_jdk21=21.0.6+6 # https://github.com/openjdk/jdk21u/tags +version_jdk25=25.0.3+0 # https://github.com/openjdk/jdk25u/tags +version_jdk24=24.0.2+12 # https://github.com/openjdk/jdk24u/tags +version_jdk23=23.0.2+7 # https://github.com/openjdk/jdk23u/tags +version_jdk22=22.0.2+9 # https://github.com/openjdk/jdk22u/tags +version_jdk21=21.0.10+5 # https://github.com/openjdk/jdk21u/tags version_jdk20=20.0.2+9 # https://github.com/openjdk/jdk20u/tags version_jdk19=19.0.2+7 # https://github.com/openjdk/jdk19u/tags version_jdk18=18.0.2.1+1 # https://github.com/openjdk/jdk18u/tags -version_jdk17=17.0.14+6 # https://github.com/openjdk/jdk17u/tags +version_jdk17=17.0.18+5 # https://github.com/openjdk/jdk17u/tags version_jdk16=16.0.2+7 # https://github.com/openjdk/jdk16u/tags version_jdk15=15.0.10+5 # https://github.com/openjdk/jdk15u/tags version_jdk14=14.0.2+12 # https://github.com/openjdk/jdk14u/tags version_jdk13=13.0.14+5 # https://github.com/openjdk/jdk13u/tags version_jdk12=12.0.2+10 # https://github.com/openjdk/jdk12u/tags -version_jdk11=11.0.26+3 # https://github.com/openjdk/jdk11u/tags +version_jdk11=11.0.30+4 # https://github.com/openjdk/jdk11u/tags version_jdk10=10.0.2+13 # https://github.com/openjdk/jdk10u/tags version_jdk9=9+181 # https://github.com/openjdk/jdk9u/tags version_make42=4.2.1 # https://ftp.gnu.org/gnu/make/ -version_icedtea8=3.33.0 # https://icedtea.classpath.org/download/source/ +version_icedtea8=3.37.0 # https://icedtea.classpath.org/download/source/ version_icedtea7=2.6.28 # https://icedtea.classpath.org/download/source/ version_ant=1.9.16 # https://ant.apache.org/manual-1.9.x/index.html version_gcc=6.5.0 # Final version @@ -24,6 +28,10 @@ version_ecj=4.9 # Final version mkdir -p download cd download +wget -O "jdk25u-jdk-$version_jdk25.tar.gz" -c "https://github.com/openjdk/jdk25u/archive/refs/tags/jdk-$version_jdk25.tar.gz" +wget -O "jdk24u-jdk-$version_jdk24.tar.gz" -c "https://github.com/openjdk/jdk24u/archive/refs/tags/jdk-$version_jdk24.tar.gz" +wget -O "jdk23u-jdk-$version_jdk23.tar.gz" -c "https://github.com/openjdk/jdk23u/archive/refs/tags/jdk-$version_jdk23.tar.gz" +wget -O "jdk22u-jdk-$version_jdk22.tar.gz" -c "https://github.com/openjdk/jdk22u/archive/refs/tags/jdk-$version_jdk22.tar.gz" wget -O "jdk21u-jdk-$version_jdk21.tar.gz" -c "https://github.com/openjdk/jdk21u/archive/refs/tags/jdk-$version_jdk21.tar.gz" wget -O "jdk20u-jdk-$version_jdk20.tar.gz" -c "https://github.com/openjdk/jdk20u/archive/refs/tags/jdk-$version_jdk20.tar.gz" wget -O "jdk19u-jdk-$version_jdk19.tar.gz" -c "https://github.com/openjdk/jdk19u/archive/refs/tags/jdk-$version_jdk19.tar.gz" @@ -45,11 +53,11 @@ wget -c "https://ftp.gnu.org/gnu/gcc/gcc-$version_gcc/gcc-$version_gcc.tar.xz" wget -c "ftp://sourceware.org/pub/java/ecj-$version_ecj.jar" wget -O javac.in -c 'https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-java/gcj-jdk/files/javac.in?id=56bd759df1d0c750a065b8c845e93d5dfa6b549d' -for part in corba hotspot jaxp jaxws jdk langtools openjdk; do - wget -O "icedtea-$version_icedtea7-$part.tar.bz2" -c "http://icedtea.classpath.org/download/drops/icedtea7/$version_icedtea7/$part.tar.bz2" -done for part in openjdk-git; do wget -O "icedtea-$version_icedtea8-$part.tar.xz" -c "http://icedtea.classpath.org/download/drops/icedtea8/$version_icedtea8/$part.tar.xz" done +for part in corba hotspot jaxp jaxws jdk langtools openjdk; do + wget -O "icedtea-$version_icedtea7-$part.tar.bz2" -c "http://icedtea.classpath.org/download/drops/icedtea7/$version_icedtea7/$part.tar.bz2" +done sha256sum -c ../download.sha256 diff --git a/java/download.sha256 b/java/download.sha256 index 7041687..bc595eb 100644 --- a/java/download.sha256 +++ b/java/download.sha256 @@ -9,20 +9,24 @@ fd93e65a4692593c2100963be2c75d697a32ba51ee2c02c7e7dccc524dfb1788 icedtea-2.6.28 24799d5ebebfb1e316f9434db1db5a360ac7c86e5783ce58693536f978a0aa47 icedtea-2.6.28-langtools.tar.bz2 78e5e89fc510280401e227d980abe30d49ea508c3eec537035481fd21a3b2c32 icedtea-2.6.28-openjdk.tar.bz2 951188e6c0e3599de22f5cb2d95b5da9bf480763b5c8c600dae9fec88cff1735 icedtea-2.6.28.tar.xz -bb2cd8a2c5bbe08d232693c77ea6efa5542c7178f05e8f7cd82eec9be2980d5b icedtea-3.33.0-openjdk-git.tar.xz -44975cd55e90b6ee7ff6b7b4de05b716a95f6a6ec54a57b1a3b88f5a9ab8b45e icedtea-3.33.0.tar.xz +1fce7d19b7f46f92dde19a8d5a5e0359ccfeeb6c6e4bc43091f13dfce6536806 icedtea-3.37.0-openjdk-git.tar.xz +e51e2f4914f459dec6e78f753edf8abb671d8b71466842f7efca94b220da8000 icedtea-3.37.0.tar.xz 3bb23cff0a6e5a7a820e19cce4b9b0f51a7b84ee9e0eeb048b463a5f3e996db0 javac.in 39ce1238d5b2066ffe1c1a09d87c170766309fe18290f27a4ab7d15844d34dc1 jdk10u-jdk-10.0.2+13.tar.gz -3d1818a29d9c1125c81b019cb9df9803d696544d5c1b23e6c7b132b2fa90fd5e jdk11u-jdk-11.0.26+3.tar.gz +dd7d6920bd456d8f1b34b5a5eace2b8ebade3584c091fb04efc359945d6ccccd jdk11u-jdk-11.0.30+4.tar.gz 8494fa3a6ffef590c86b403379422f325101bc86607557cb27c6774d59710b84 jdk12u-jdk-12.0.2+10.tar.gz 4c8e88490ed30276ea0145d37f33e094fcf436ce528bab29f6a9a3546820faf4 jdk13u-jdk-13.0.14+5.tar.gz 582e3d805ab74582332250f95f9845608c8f3d3273aa92af6f683c45d1a4f8e8 jdk14u-jdk-14.0.2+12.tar.gz 7aaeab4a68471e630d91eaf5540d067c8ffd5f023031be082b889763c1f94f3a jdk15u-jdk-15.0.10+5.tar.gz b4a0e71e41a11175e8a7c1dba86ed5b0aa878413158c8d48813db1b64ac9536c jdk16u-jdk-16.0.2+7.tar.gz -cfc8ce80723ebb38b03352276f433809b19e5e1f3c776fda3ea5d7c779dbe1b4 jdk17u-jdk-17.0.14+6.tar.gz +6a4258468eda101ca78b1f9c2e55564ca54fa4d83d1e9ac884db1629114680b9 jdk17u-jdk-17.0.18+5.tar.gz 7d026848a48e8777d3242bab2adf30122f0acda88abbd3f92636f8793eaf3455 jdk18u-jdk-18.0.2.1+1.tar.gz 5903efd527dd08e9c235c8822e3d5699c3d18a8618c3e533307e8d6491ffbbf0 jdk19u-jdk-19.0.2+7.tar.gz 4d6f176075d5f2ce62fd16ebd5cc4c27a3e551ce4d3d3bc0e9946454e52fc88d jdk20u-jdk-20.0.2+9.tar.gz -7b4142594fbb9b3ce92b9134d0d4a6b86fe74ae4998dbfcbc822207459751d03 jdk21u-jdk-21.0.6+6.tar.gz +8d8a833db4e052033d6ce515568648c9bf1c55185382a051c30b5ff9f40cc652 jdk21u-jdk-21.0.10+5.tar.gz +f3bc990ed34dd0c9a1467640a9c654df4375ff948e854038b913abec12be6179 jdk22u-jdk-22.0.2+9.tar.gz +a5072191906781fc9b6d70e335ae8d23f008739ce58372b0198025b4ba2fbec6 jdk23u-jdk-23.0.2+7.tar.gz +947087e85c4222f25e1b9a707cea89b04c00a0a9eb79ded489f0bab92ea42beb jdk24u-jdk-24.0.2+12.tar.gz +e571ba045ef06ca7e5cc7c6539509dd04012fdaad258c4466744600409845f34 jdk25u-jdk-25.0.3+0.tar.gz a80c59433d394b241ebcd36968ec6ff017fab3fdf3700a459a5b59e978dab396 jdk9u-jdk-9+181.tar.gz d6e262bf3601b42d2b1e4ef8310029e1dcf20083c5446b4b7aa67081fdffc589 make-4.2.1.tar.bz2 diff --git a/java/install_gentoo.txt b/java/install_gentoo.txt index fec6418..ce7b93d 100644 --- a/java/install_gentoo.txt +++ b/java/install_gentoo.txt @@ -3,25 +3,32 @@ sudo rsync -rvP build/install-icedtea8/ /opt/icedtea8 sudo mkdir -p /var/db/pkg/dev-java/openjdk-bin-8 echo 8 | sudo tee /var/db/pkg/dev-java/openjdk-bin-8/SLOT > /dev/null -sudo JDK_HOME=/opt/icedtea8 emerge dev-java/openjdk:8 +sudo JDK_HOME=/opt/icedtea8 emerge --usepkg=n dev-java/openjdk:8 sudo rm -rf /opt/icedtea8 /var/db/pkg/dev-java/openjdk-bin-8 sudo rsync -rvP build/install-jdk11/ /opt/jdk11 sudo mkdir -p /var/db/pkg/dev-java/openjdk-bin-11 echo 11 | sudo tee /var/db/pkg/dev-java/openjdk-bin-11/SLOT > /dev/null -sudo JDK_HOME="$(echo /opt/jdk11/jvm/*/)" emerge dev-java/openjdk:11 +sudo JDK_HOME="$(echo /opt/jdk11/jvm/*/)" emerge --usepkg=n dev-java/openjdk:11 sudo rm -rf /opt/jdk11 /var/db/pkg/dev-java/openjdk-bin-11 sudo rsync -rvP build/install-jdk17/ /opt/jdk17 sudo mkdir -p /var/db/pkg/dev-java/openjdk-bin-17 echo 17 | sudo tee /var/db/pkg/dev-java/openjdk-bin-17/SLOT > /dev/null sudo ln -s /opt/jdk17/jvm/*/ /opt/openjdk-bin-17 -sudo emerge dev-java/openjdk:17 +sudo emerge --usepkg=n dev-java/openjdk:17 sudo rm -rf /opt/jdk17 /opt/openjdk-bin-17 /var/db/pkg/dev-java/openjdk-bin-17 sudo rsync -rvP build/install-jdk21/ /opt/jdk21 sudo mkdir -p /var/db/pkg/dev-java/openjdk-bin-21 echo 21 | sudo tee /var/db/pkg/dev-java/openjdk-bin-21/SLOT > /dev/null -sudo ln -s /opt/jdk21/jvm/*/ /opt/openjdk-bin-21 -sudo emerge dev-java/openjdk:21 +sudo ln -s /opt/jdk21/ /opt/openjdk-bin-21 +sudo emerge --usepkg=n dev-java/openjdk:21 sudo rm -rf /opt/jdk21 /opt/openjdk-bin-21 /var/db/pkg/dev-java/openjdk-bin-21 + +sudo rsync -rvP build/install-jdk25/ /opt/jdk25 +sudo mkdir -p /var/db/pkg/dev-java/openjdk-bin-25 +echo 25 | sudo tee /var/db/pkg/dev-java/openjdk-bin-25/SLOT > /dev/null +sudo ln -s /opt/jdk25/ /opt/openjdk-bin-25 +sudo emerge --usepkg=n dev-java/openjdk:25 +sudo rm -rf /opt/jdk25 /opt/openjdk-bin-25 /var/db/pkg/dev-java/openjdk-bin-25