diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-01-26 18:50:40 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-01-26 18:50:40 +0000 |
| commit | 7b85f696d63a7195f090c404455fdd6cb335bf08 (patch) | |
| tree | 10b44585a64f0afa09e52fafd94593d56888e819 /dev-java | |
| parent | d58f9a1d8c3c156bad50e5cd8f331ccd303af582 (diff) | |
| download | baldeagleos-repo-7b85f696d63a7195f090c404455fdd6cb335bf08.tar.gz baldeagleos-repo-7b85f696d63a7195f090c404455fdd6cb335bf08.tar.xz baldeagleos-repo-7b85f696d63a7195f090c404455fdd6cb335bf08.zip | |
Adding metadata
Diffstat (limited to 'dev-java')
30 files changed, 2018 insertions, 171 deletions
diff --git a/dev-java/bcmail/Manifest b/dev-java/bcmail/Manifest index 0f48e2de86f2..cf19ab91dd5e 100644 --- a/dev-java/bcmail/Manifest +++ b/dev-java/bcmail/Manifest @@ -1 +1,2 @@ DIST bc-java-r1rv79.tar.gz 47563177 BLAKE2B 7ca8b64ab004fb70399e950e8c588b19d110596790525ce30aeec3f2c6501bffd1bab6854c6bf1499f101e33e0ac8127c2cdaa34e5531c430e4f00fb145202f3 SHA512 294241371f536e8a9be8ff2307eaad433620c9becb26a00f6b225ea31488bc40dd8b01d20c18e47c105c7a8f1b2415136608d82811581fad4718db02e9c882a3 +DIST bc-java-r1rv80.tar.gz 47815270 BLAKE2B 791a81cdcc101caf6a03b96aa00313ee74f3d9fde18fed0f88b2ad4a41ebf3bf539d6fed65c88328023ac8201f2e4299d284e49a17bfce65cf6a5791126c7db7 SHA512 3ae49559a922c650a4024e99db23117db04119a504f1c947175548ab30bebd03d68f9b5f09c4f900851a405ab48a8b3609ae2f7c66aca810354dc0d446620db5 diff --git a/dev-java/bcmail/bcmail-1.80.ebuild b/dev-java/bcmail/bcmail-1.80.ebuild new file mode 100644 index 000000000000..6920bbcc40c2 --- /dev/null +++ b/dev-java/bcmail/bcmail-1.80.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +JAVA_PKG_IUSE="doc source test" +MAVEN_ID="org.bouncycastle:bcmail-jdk18on:${PV}" +JAVA_TESTING_FRAMEWORKS="junit-4" + +inherit java-pkg-2 java-pkg-simple + +DESCRIPTION="The Bouncy Castle Java S/MIME APIs for handling S/MIME protocols" +HOMEPAGE="https://www.bouncycastle.org/download/bouncy-castle-java/" +MY_PV="r$(ver_rs 1 'rv' 2 'v')" +SRC_URI="https://github.com/bcgit/bc-java/archive/${MY_PV}.tar.gz -> bc-java-${MY_PV}.tar.gz" +S="${WORKDIR}/bc-java-${MY_PV}/mail" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64" + +CP_DEPEND=" + ~dev-java/bcpkix-${PV}:0 + ~dev-java/bcprov-${PV}:0 + ~dev-java/bcutil-${PV}:0 + dev-java/javax-mail:0 +" + +DEPEND=" + ${CP_DEPEND} + dev-java/jakarta-activation:1 + >=virtual/jdk-11:* +" + +RDEPEND=" + ${CP_DEPEND} + >=virtual/jre-1.8:* +" + +DOCS=( ../{README,SECURITY}.md ) +HTML_DOCS=( ../{CONTRIBUTORS,index}.html ) + +JAVA_AUTOMATIC_MODULE_NAME="org.bouncycastle.mail" +JAVA_CLASSPATH_EXTRA="jakarta-activation-1" +JAVA_RESOURCE_DIRS="src/main/resources" +JAVA_SRC_DIR=( + "src/main/java" + "src/main/jdk1.9" +) + +JAVA_TEST_GENTOO_CLASSPATH="junit-4" +JAVA_TEST_RESOURCE_DIRS=( "src/test/resources" "../pkix/src/main/resources" ) +JAVA_TEST_RUN_ONLY="org.bouncycastle.mail.smime.test.AllTests" +JAVA_TEST_SRC_DIR="src/test/java" + +src_prepare() { + java-pkg-2_src_prepare + java-pkg_clean .. +} + +src_install() { + docinto html + dodoc -r ../docs + java-pkg-simple_src_install +} diff --git a/dev-java/bcpg/Manifest b/dev-java/bcpg/Manifest index 0f48e2de86f2..cf19ab91dd5e 100644 --- a/dev-java/bcpg/Manifest +++ b/dev-java/bcpg/Manifest @@ -1 +1,2 @@ DIST bc-java-r1rv79.tar.gz 47563177 BLAKE2B 7ca8b64ab004fb70399e950e8c588b19d110596790525ce30aeec3f2c6501bffd1bab6854c6bf1499f101e33e0ac8127c2cdaa34e5531c430e4f00fb145202f3 SHA512 294241371f536e8a9be8ff2307eaad433620c9becb26a00f6b225ea31488bc40dd8b01d20c18e47c105c7a8f1b2415136608d82811581fad4718db02e9c882a3 +DIST bc-java-r1rv80.tar.gz 47815270 BLAKE2B 791a81cdcc101caf6a03b96aa00313ee74f3d9fde18fed0f88b2ad4a41ebf3bf539d6fed65c88328023ac8201f2e4299d284e49a17bfce65cf6a5791126c7db7 SHA512 3ae49559a922c650a4024e99db23117db04119a504f1c947175548ab30bebd03d68f9b5f09c4f900851a405ab48a8b3609ae2f7c66aca810354dc0d446620db5 diff --git a/dev-java/bcpg/bcpg-1.80.ebuild b/dev-java/bcpg/bcpg-1.80.ebuild new file mode 100644 index 000000000000..4c75e309734d --- /dev/null +++ b/dev-java/bcpg/bcpg-1.80.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +JAVA_PKG_IUSE="doc source test" +MAVEN_ID="org.bouncycastle:bcpg-jdk18on:${PV}" +JAVA_TESTING_FRAMEWORKS="junit-4" + +inherit java-pkg-2 java-pkg-simple + +DESCRIPTION="Java cryptography APIs" +HOMEPAGE="https://www.bouncycastle.org/download/bouncy-castle-java/" +MY_PV="r$(ver_rs 1 'rv' 2 'v')" +SRC_URI="https://github.com/bcgit/bc-java/archive/${MY_PV}.tar.gz -> bc-java-${MY_PV}.tar.gz" +S="${WORKDIR}/bc-java-${MY_PV}/pg" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64" + +CP_DEPEND=" + ~dev-java/bcprov-${PV}:0 + ~dev-java/bcutil-${PV}:0 +" + +DEPEND=" + ${CP_DEPEND} + >=virtual/jdk-11:* +" + +RDEPEND=" + ${CP_DEPEND} + >=virtual/jre-1.8:* +" + +DOCS=( ../{README,SECURITY}.md ) +HTML_DOCS=( ../{CONTRIBUTORS,index}.html ) + +JAVA_SRC_DIR=( + "src/main/java" + "src/main/jdk1.9" +) + +JAVA_AUTOMATIC_MODULE_NAME="org.bouncycastle.pg" +JAVA_TEST_GENTOO_CLASSPATH="junit-4" +JAVA_TEST_RESOURCE_DIRS="src/test/resources" +JAVA_TEST_SRC_DIR="src/test/java" + +src_prepare() { + java-pkg-2_src_prepare + java-pkg_clean .. +} + +src_test() { + pushd src/test/java || die + local JAVA_TEST_RUN_ONLY=$(find * \ + -name "AllTests.java" ) + popd || die + JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}" + JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}" + java-pkg-simple_src_test +} + +src_install() { + docinto html + dodoc -r ../docs + java-pkg-simple_src_install +} diff --git a/dev-java/bcpkix/Manifest b/dev-java/bcpkix/Manifest index d43d603a6a73..3a64c3aa01d9 100644 --- a/dev-java/bcpkix/Manifest +++ b/dev-java/bcpkix/Manifest @@ -1,2 +1,4 @@ DIST bc-java-r1rv79.tar.gz 47563177 BLAKE2B 7ca8b64ab004fb70399e950e8c588b19d110596790525ce30aeec3f2c6501bffd1bab6854c6bf1499f101e33e0ac8127c2cdaa34e5531c430e4f00fb145202f3 SHA512 294241371f536e8a9be8ff2307eaad433620c9becb26a00f6b225ea31488bc40dd8b01d20c18e47c105c7a8f1b2415136608d82811581fad4718db02e9c882a3 +DIST bc-java-r1rv80.tar.gz 47815270 BLAKE2B 791a81cdcc101caf6a03b96aa00313ee74f3d9fde18fed0f88b2ad4a41ebf3bf539d6fed65c88328023ac8201f2e4299d284e49a17bfce65cf6a5791126c7db7 SHA512 3ae49559a922c650a4024e99db23117db04119a504f1c947175548ab30bebd03d68f9b5f09c4f900851a405ab48a8b3609ae2f7c66aca810354dc0d446620db5 DIST bc-test-data-r1rv79.tar.gz 2101723062 BLAKE2B 1fa25babfbcaa855dfcf2ae8727f6a7a5221837127cc295a4c15dce515908418c9e052af101d6fc984c4b5ce204286b7361da29dbefad1b95603d6b1571603a0 SHA512 e14c1bf96a6010447cd13a680a87249a4e6d0661cc46b437e8b2e1098f3e80482dc9038446aad495ba72e1254e9c07e49b1ac848177b02ac36e10710fcd06413 +DIST bc-test-data-r1rv80.tar.gz 2191941682 BLAKE2B 5c21214c1be6961e181650c2a7a681c1a53ad01fd5fce1f38d672c495624eb289c3f6845b7cc8051be5d5a7508b531792d8fea905a35dd55d043903b73015756 SHA512 3013869d0c9a74e96f7bb3f70a0aacb1d8e825b044c8ed75825688a9bd994c56dafa4cdbf37129415d8890065af0faf243f45d43ebfeb969a9c9e9e789a2874f diff --git a/dev-java/bcpkix/bcpkix-1.80.ebuild b/dev-java/bcpkix/bcpkix-1.80.ebuild new file mode 100644 index 000000000000..b398de710b8d --- /dev/null +++ b/dev-java/bcpkix/bcpkix-1.80.ebuild @@ -0,0 +1,108 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +JAVA_PKG_IUSE="doc source test" +MAVEN_ID="org.bouncycastle:bcpkix-jdk18on:${PV}" +JAVA_TESTING_FRAMEWORKS="junit-4" + +inherit java-pkg-2 java-pkg-simple check-reqs + +DESCRIPTION="Java APIs for CMS, PKCS, EAC, TSP, CMP, CRMF, OCSP, and certificate generation" +HOMEPAGE="https://www.bouncycastle.org/download/bouncy-castle-java/" +MY_PV="r$(ver_rs 1 'rv' 2 'v')" +SRC_URI="https://github.com/bcgit/bc-java/archive/${MY_PV}.tar.gz -> bc-java-${MY_PV}.tar.gz + test? ( https://github.com/bcgit/bc-test-data/archive/${MY_PV}.tar.gz -> bc-test-data-${MY_PV}.tar.gz )" +S="${WORKDIR}/bc-java-${MY_PV}/pkix" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64" + +# 1) testSANMismatchIP(org.bouncycastle.est.test.TestHostNameAuthorizer) +# org.bouncycastle.est.ESTException: localhost.me: Temporary failure in name resolution HTTP Status Code: 0 +PROPERTIES="test_network" +RESTRICT="test" + +CDEPEND=" + ~dev-java/bcprov-${PV}:0 + ~dev-java/bcutil-${PV}:0 +" + +DEPEND=" + ${CDEPEND} + >=virtual/jdk-11:* +" + +RDEPEND=" + ${CDEPEND} + >=virtual/jre-1.8:* +" + +DOCS=( ../{README,SECURITY}.md ) +HTML_DOCS=( ../{CONTRIBUTORS,index}.html ) + +JAVA_AUTOMATIC_MODULE_NAME="org.bouncycastle.pkix" +JAVA_GENTOO_CLASSPATH="bcprov,bcutil" +JAVA_SRC_DIR=( + "src/main/java" + "src/main/jdk1.9" +) + +JAVA_TEST_EXTRA_ARGS="-Dbc.test.data.home=${S}/../core/src/test/data" +JAVA_TEST_GENTOO_CLASSPATH="junit-4" +JAVA_TEST_RESOURCE_DIRS=( src/{main,test}/resources ) +JAVA_TEST_SRC_DIR="src/test/java" + +# https://bugs.gentoo.org/823347 +check_env() { + if use test; then + # this is needed only for tests + CHECKREQS_MEMORY="2048M" + check-reqs_pkg_pretend + fi +} + +# https://bugs.gentoo.org/823347 +pkg_pretend() { + check_env +} + +# https://bugs.gentoo.org/823347 +pkg_setup() { + check_env + java-pkg-2_pkg_setup +} + +src_unpack() { + unpack bc-java-${MY_PV}.tar.gz + use test && unpack bc-test-data-${MY_PV}.tar.gz +} + +src_prepare() { + java-pkg-2_src_prepare + java-pkg_clean .. +} + +# https://bugs.gentoo.org/823347 +src_test() { + mv ../../bc-test-data-${MY_PV} bc-test-data || die "cannot move bc-test-data" + + JAVA_TEST_EXTRA_ARGS+=" -Xmx${CHECKREQS_MEMORY}" + pushd src/test/java || die + local JAVA_TEST_RUN_ONLY=$(find * \ + -name "AllTests.java" \ + ) + popd + einfo "${JAVA_TEST_RUN_ONLY}" + JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}" + JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}" + java-pkg-simple_src_test +} + +src_install() { + docinto html + dodoc -r ../docs + java-pkg-simple_src_install +} diff --git a/dev-java/bcprov/Manifest b/dev-java/bcprov/Manifest index d43d603a6a73..3a64c3aa01d9 100644 --- a/dev-java/bcprov/Manifest +++ b/dev-java/bcprov/Manifest @@ -1,2 +1,4 @@ DIST bc-java-r1rv79.tar.gz 47563177 BLAKE2B 7ca8b64ab004fb70399e950e8c588b19d110596790525ce30aeec3f2c6501bffd1bab6854c6bf1499f101e33e0ac8127c2cdaa34e5531c430e4f00fb145202f3 SHA512 294241371f536e8a9be8ff2307eaad433620c9becb26a00f6b225ea31488bc40dd8b01d20c18e47c105c7a8f1b2415136608d82811581fad4718db02e9c882a3 +DIST bc-java-r1rv80.tar.gz 47815270 BLAKE2B 791a81cdcc101caf6a03b96aa00313ee74f3d9fde18fed0f88b2ad4a41ebf3bf539d6fed65c88328023ac8201f2e4299d284e49a17bfce65cf6a5791126c7db7 SHA512 3ae49559a922c650a4024e99db23117db04119a504f1c947175548ab30bebd03d68f9b5f09c4f900851a405ab48a8b3609ae2f7c66aca810354dc0d446620db5 DIST bc-test-data-r1rv79.tar.gz 2101723062 BLAKE2B 1fa25babfbcaa855dfcf2ae8727f6a7a5221837127cc295a4c15dce515908418c9e052af101d6fc984c4b5ce204286b7361da29dbefad1b95603d6b1571603a0 SHA512 e14c1bf96a6010447cd13a680a87249a4e6d0661cc46b437e8b2e1098f3e80482dc9038446aad495ba72e1254e9c07e49b1ac848177b02ac36e10710fcd06413 +DIST bc-test-data-r1rv80.tar.gz 2191941682 BLAKE2B 5c21214c1be6961e181650c2a7a681c1a53ad01fd5fce1f38d672c495624eb289c3f6845b7cc8051be5d5a7508b531792d8fea905a35dd55d043903b73015756 SHA512 3013869d0c9a74e96f7bb3f70a0aacb1d8e825b044c8ed75825688a9bd994c56dafa4cdbf37129415d8890065af0faf243f45d43ebfeb969a9c9e9e789a2874f diff --git a/dev-java/bcprov/bcprov-1.80.ebuild b/dev-java/bcprov/bcprov-1.80.ebuild new file mode 100644 index 000000000000..29f963b00d48 --- /dev/null +++ b/dev-java/bcprov/bcprov-1.80.ebuild @@ -0,0 +1,106 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +JAVA_PKG_IUSE="doc source test" +MAVEN_ID="org.bouncycastle:bcprov-jdk18on:${PV}" +JAVA_TESTING_FRAMEWORKS="junit-4" + +inherit java-pkg-2 java-pkg-simple check-reqs + +DESCRIPTION="Java cryptography APIs" +HOMEPAGE="https://www.bouncycastle.org/download/bouncy-castle-java/" +MY_PV="r$(ver_rs 1 'rv' 2 'v')" +SRC_URI="https://github.com/bcgit/bc-java/archive/${MY_PV}.tar.gz -> bc-java-${MY_PV}.tar.gz + test? ( https://github.com/bcgit/bc-test-data/archive/${MY_PV}.tar.gz -> bc-test-data-${MY_PV}.tar.gz )" +S="${WORKDIR}/bc-java-${MY_PV}" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64" + +DEPEND=">=virtual/jdk-11:*" +RDEPEND=">=virtual/jre-1.8:*" + +DOCS=( {README,SECURITY}.md ) +HTML_DOCS=( {CONTRIBUTORS,index}.html ) + +check_env() { + if use test; then + # this is needed only for tests + CHECKREQS_MEMORY="2048M" + check-reqs_pkg_pretend + fi +} + +pkg_pretend() { + check_env +} + +pkg_setup() { + check_env + java-pkg-2_pkg_setup +} + +src_unpack() { + unpack bc-java-${MY_PV}.tar.gz + use test && unpack bc-test-data-${MY_PV}.tar.gz +} + +src_prepare() { + java-pkg-2_src_prepare + # TBD: unboundid-ldapsdk should be packaged from source. + java-pkg_clean ! -path "./libs/unboundid-ldapsdk-6.0.8.jar" +} + +src_compile() { + JAVA_RESOURCE_DIRS=( + "core/src/main/resources" + "prov/src/main/resources" + ) + JAVA_SRC_DIR=( + "core/src/main/java" + "prov/src/main/java" + "prov/src/main/jdk1.9" + ) + java-pkg-simple_src_compile +} + +src_test() { + mv ../bc-test-data-${MY_PV} bc-test-data || die "cannot move bc-test-data" + + JAVA_TEST_EXTRA_ARGS="-Dtest.java.version.prefix=$(java-config -g PROVIDES_VERSION)" + JAVA_TEST_EXTRA_ARGS+=" -Dbc.test.data.home=${S}/core/src/test/data" + JAVA_TEST_EXTRA_ARGS+=" -Xmx${CHECKREQS_MEMORY}" + JAVA_TEST_GENTOO_CLASSPATH="junit-4" + + einfo "Testing \"core\"" + JAVA_TEST_RESOURCE_DIRS="core/src/test/resources" + JAVA_TEST_SRC_DIR="core/src/test/java" + pushd core/src/test/java || die + local JAVA_TEST_RUN_ONLY=$(find * \ + -name "AllTests.java" ) + popd || die + JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}" + JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}" + java-pkg-simple_src_test + + einfo "Testing bcprov" + JAVA_GENTOO_CLASSPATH_EXTRA=":core.jar:libs/unboundid-ldapsdk-6.0.8.jar" + JAVA_TEST_RESOURCE_DIRS="prov/src/test/resources" + JAVA_TEST_SRC_DIR="prov/src/test/java" + pushd prov/src/test/java || die + local JAVA_TEST_RUN_ONLY=$(find * \ + -name "AllTests.java" ) + popd || die + JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}" + JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}" + java-pkg-simple_src_test +} + +src_install() { + docinto html + dodoc -r docs + java-pkg-simple_src_install +} diff --git a/dev-java/bcutil/Manifest b/dev-java/bcutil/Manifest index 0f48e2de86f2..cf19ab91dd5e 100644 --- a/dev-java/bcutil/Manifest +++ b/dev-java/bcutil/Manifest @@ -1 +1,2 @@ DIST bc-java-r1rv79.tar.gz 47563177 BLAKE2B 7ca8b64ab004fb70399e950e8c588b19d110596790525ce30aeec3f2c6501bffd1bab6854c6bf1499f101e33e0ac8127c2cdaa34e5531c430e4f00fb145202f3 SHA512 294241371f536e8a9be8ff2307eaad433620c9becb26a00f6b225ea31488bc40dd8b01d20c18e47c105c7a8f1b2415136608d82811581fad4718db02e9c882a3 +DIST bc-java-r1rv80.tar.gz 47815270 BLAKE2B 791a81cdcc101caf6a03b96aa00313ee74f3d9fde18fed0f88b2ad4a41ebf3bf539d6fed65c88328023ac8201f2e4299d284e49a17bfce65cf6a5791126c7db7 SHA512 3ae49559a922c650a4024e99db23117db04119a504f1c947175548ab30bebd03d68f9b5f09c4f900851a405ab48a8b3609ae2f7c66aca810354dc0d446620db5 diff --git a/dev-java/bcutil/bcutil-1.80.ebuild b/dev-java/bcutil/bcutil-1.80.ebuild new file mode 100644 index 000000000000..23cbe51a4eae --- /dev/null +++ b/dev-java/bcutil/bcutil-1.80.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +JAVA_PKG_IUSE="doc source test" +MAVEN_ID="org.bouncycastle:bcutil-jdk18on:${PV}" +JAVA_TESTING_FRAMEWORKS="junit-4" + +inherit java-pkg-2 java-pkg-simple + +DESCRIPTION="Java APIs for ASN.1 extension and utility APIs used to support bcpkix and bctls" +HOMEPAGE="https://www.bouncycastle.org/download/bouncy-castle-java/" +MY_PV="r$(ver_rs 1 'rv' 2 'v')" +SRC_URI="https://github.com/bcgit/bc-java/archive/${MY_PV}.tar.gz -> bc-java-${MY_PV}.tar.gz" +S="${WORKDIR}/bc-java-${MY_PV}/util" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64" + +CDEPEND="~dev-java/bcprov-${PV}:0" + +DEPEND=" + ${CDEPEND} + >=virtual/jdk-11:* +" + +RDEPEND=" + ${CDEPEND} + >=virtual/jre-1.8:* +" + +DOCS=( ../{README,SECURITY}.md ) +HTML_DOCS=( ../{CONTRIBUTORS,index}.html ) + +JAVA_AUTOMATIC_MODULE_NAME="org.bouncycastle.util" +JAVA_GENTOO_CLASSPATH="bcprov" +JAVA_SRC_DIR=( + "src/main/java" + "src/main/jdk1.9" +) + +JAVA_TEST_GENTOO_CLASSPATH="junit-4" +JAVA_TEST_RESOURCE_DIRS="src/test/resources" +JAVA_TEST_RUN_ONLY=( + "org.bouncycastle.asn1.util.test.AllTests" + "org.bouncycastle.oer.test.AllTests" +) +JAVA_TEST_SRC_DIR="src/test/java" + +src_prepare() { + java-pkg-2_src_prepare + java-pkg_clean .. +} + +src_install() { + docinto html + dodoc -r ../docs + java-pkg-simple_src_install +} diff --git a/dev-java/jdbc-postgresql/Manifest b/dev-java/jdbc-postgresql/Manifest index a7574c026ba4..9556219251bf 100644 --- a/dev-java/jdbc-postgresql/Manifest +++ b/dev-java/jdbc-postgresql/Manifest @@ -1,2 +1 @@ -DIST postgresql-jdbc-42.7.3.src.tar.gz 1005966 BLAKE2B 1c9aeae572fc983d6b86f8b552a78d1bd11cf439ca863ea4856ad470f60b6a9b4c0ae5ece60f3bc19718f288b9ce93572b522b5f5953a9b4b12558044d630959 SHA512 354e71a6da0f6b4b5282de4dd949f1824f1cd17a8dd73fbd218ff5adebd08e078fa7d59ee149cbe4133a7a149e39e71c5e075b58d72bfedd3e4b47680e86fa4b DIST postgresql-jdbc-42.7.4.src.tar.gz 1033780 BLAKE2B ece772486915c60154fdcf165854dfacdc3077da6fcfea5e58d555be14d397d090b78629ea431ac541f3ede0fce2c8c2927fc90546eac03cc27dfa0357ffc319 SHA512 3f864848d0b6b079daf8abecabb2bd8487fa8bc23ef9265bfa71c484b4ee3b38a76cc38af7a72ac3ac64fa26569952b9b69d08b3b8a115d44bee823151c6c292 diff --git a/dev-java/jdbc-postgresql/jdbc-postgresql-42.7.3.ebuild b/dev-java/jdbc-postgresql/jdbc-postgresql-42.7.3.ebuild deleted file mode 100644 index 912d0a1f42af..000000000000 --- a/dev-java/jdbc-postgresql/jdbc-postgresql-42.7.3.ebuild +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -JAVA_PKG_IUSE="doc source test" -MAVEN_ID="org.postgresql:postgresql:${PV}" -JAVA_TESTING_FRAMEWORKS="junit-4" - -inherit java-pkg-2 java-pkg-simple - -DESCRIPTION="Java JDBC 4.2 (JRE 8+) driver for PostgreSQL database" -HOMEPAGE="https://jdbc.postgresql.org/" -SRC_URI="https://jdbc.postgresql.org/download/postgresql-jdbc-${PV}.src.tar.gz" -S="${WORKDIR}/postgresql-${PV}-jdbc-src" - -LICENSE="BSD-2" -SLOT="0" -KEYWORDS="amd64 ~ppc64" -# package se.jiderhamn.classloader does not exist -# package se.jiderhamn.classloader.leak does not exist -# package uk.org.webcompere.systemstubs.environment does not exist -# package uk.org.webcompere.systemstubs.jupiter does not exist -# package uk.org.webcompere.systemstubs.properties does not exist -# package uk.org.webcompere.systemstubs.resource does not exist -RESTRICT="test" #839681 - -DEPEND=" - dev-java/checker-framework-qual:0 - dev-java/jna:4 - dev-java/osgi-cmpn:8 - dev-java/osgi-core:0 - dev-java/scram:0 - dev-java/waffle-jna:0 - >=virtual/jdk-1.8:* - test? ( dev-java/junit:5 ) -" - -RDEPEND=">=virtual/jre-1.8:*" - -JAVA_CLASSPATH_EXTRA=" - checker-framework-qual - jna-4 - osgi-cmpn-8 - osgi-core - scram - waffle-jna -" -JAVA_AUTOMATIC_MODULE_NAME="org.postgresql.jdbc" -JAVA_MAIN_CLASS="org.postgresql.util.PGJDBCMain" -JAVA_RESOURCE_DIRS="src/main/resources" -JAVA_SRC_DIR="src/main/java" -JAVA_TEST_GENTOO_CLASSPATH=" - junit-4 - junit-5 -" -JAVA_TEST_RESOURCE_DIRS="src/test/resources" -JAVA_TEST_SRC_DIR="src/test/java" diff --git a/dev-java/openjdk-bin/Manifest b/dev-java/openjdk-bin/Manifest index 7405b9ad4680..a78781567546 100644 --- a/dev-java/openjdk-bin/Manifest +++ b/dev-java/openjdk-bin/Manifest @@ -1,9 +1,9 @@ -DIST OpenJDK-jdk_aarch64_alpine-linux_hotspot_25_5-ea.tar.gz 138225970 BLAKE2B 1430c5c54bec1b31659a67ca8d93868fab07b27d761898917520219e6fe8f21d8b36fb959ce9c9b2e545b2c2f5c4be1caf27b4b8757a426dbd5397de464d3fc6 SHA512 d71003a807cb861bcf12bd9fdf4076807c9864f240f8a5e919b0607bc10277b73be2f3e0a2656adfd606894ba373aac2f44ce376811a1dbe84c083e5cd0c56db -DIST OpenJDK-jdk_aarch64_linux_hotspot_25_5-ea.tar.gz 138260372 BLAKE2B 31d457073e4ca76f4cfcbf1322d58663cf0b357f109f07d64f5edf81e3b7d3e6476f7c22295e3cf0f1cc9c4b8548fcd39cf31868bdbd527d9a1140ce2aa4a74a SHA512 ead72403cfed5f7ad5be68e8312d92edb599d5efdee9dfab4c5daee6a25dc1b928d47027488278b58deb32002157a7eeb95b36f918fe2941924cd9c7d15483fc -DIST OpenJDK-jdk_ppc64le_linux_hotspot_25_5-ea.tar.gz 138780103 BLAKE2B 9d5a3a41df35dd57cc1588abbd834b4a22a4a764320e5e9a46a8c33a89ad2e9a49d0651271d39527501fb9dbb62fbf8797f1193ec06eeb142662dec7f7e652ae SHA512 ea32bf9b1bc049af7c602eaafd5c078318b8c76528ccf0c24cf3e74539a067bc778d328355e8d79473160d2e9fdcedc733faa903bbc860cdf4718a8a66267d42 -DIST OpenJDK-jdk_riscv64_linux_hotspot_25_5-ea.tar.gz 137101096 BLAKE2B d133722c75705d5d3088e83520bc6378e5d72f41f2d9d9fd985feeca6df21f1e0cde4c366dba735aa32f9cc3cf538796f319b3d9d6a57acf6c3f0d867401552f SHA512 3beac34cf232e8f6ba33f32eaefb52640b67cf293865f340dc84793e5df39f634c422726fea23ba0d8bd5594c1595e20ef086f317ed81da01918846b0411bf42 -DIST OpenJDK-jdk_x64_alpine-linux_hotspot_25_5-ea.tar.gz 139323498 BLAKE2B eeac12f73abd0430802cf2ff84dd9858a8448b1ebb657cc059164dc228f614e4ec9ef1796f0b7e5e1728af3bb6ed03ff8a89624366b4a964cd54f91dd1ab2b00 SHA512 3de24f9eaf8941147fc149dca82deaa18061218054617ab0cad4b4de7f1258899762e321e9f33a969301ae40c487e0eec81abd973b515a55271c7d4ee8a44ed0 -DIST OpenJDK-jdk_x64_linux_hotspot_25_5-ea.tar.gz 139223383 BLAKE2B 88c909e9afd9a9646246e8708a5f98dbbfe9846b4081608c185a0715452ab663ae24a0d3c7817b49e01899054ba8d1a5f9968e1e0e8fae737304e21dc8674c4d SHA512 2f30cead9be2ffad5f475fe547dd5a113e61c5c2108e49b58da10ecbef7dd97b4e4148d0684ad9f3561ad64963c4be78cb822e985712b818329ec003946fd75c +DIST OpenJDK-jdk_aarch64_alpine-linux_hotspot_25_6-ea.tar.gz 137389244 BLAKE2B 6a94e5cfdf3df1ce9c0260a29df2794647721acd29408cf9ded988686528eed7bc145d2123ded77c56c959f405c2142f364888968f0b5332ccf289208371fe24 SHA512 19956aa65f87f800cd5bcb8970c8a5b27c76a3bafc7f8526aeeae36963cbb24a303b01b05ffef58fece4157c302d4c180d425ebc1b34e669cf4cc5ef3a84026d +DIST OpenJDK-jdk_aarch64_linux_hotspot_25_6-ea.tar.gz 137427153 BLAKE2B cb5395ecdd651b6232f9f942fabc8daaeb99f781a1a3f8a82cfb7cdf833cfa828eab7317d01cc510d90b9744f314849fd67a78fae33a4b0f541e77cdb8b4b41d SHA512 db70867f3d0d37167d18fd30ef8473b926442610a9771ed19b9f8ba43007360a28b0fe451065a0d6fb0fa1143e2f7bc87f00f9c1e18bd3f31c6080fca3e65e20 +DIST OpenJDK-jdk_ppc64le_linux_hotspot_25_6-ea.tar.gz 137953029 BLAKE2B 89cca67b1975a09a77d8cc7fb45d01925a7353f0727f8aa9c013796754fc588443787795c47db4a3c663e5e32194886f77bccc5dc6faf5170f06c12210618276 SHA512 2beffacca5e238de3d3c6a587719895b45c61f32586c0bb70b60ca9eb30411575ff21636321bd13b0be78ebeb0cde50f80afd84427cc17cb908d7dc4b77c8206 +DIST OpenJDK-jdk_riscv64_linux_hotspot_25_6-ea.tar.gz 136262097 BLAKE2B 2fb33e86c14cd290e8693879cff2fe18baa050371bfb0df637b001c317590825f94336c898affe76db94310bb7f38e74735b3e7ffb3568c92425fc0cba0aa45b SHA512 3fa525bb4b68f3178dec8c0353a81f5c7aa883cc68efd79054e8c4181a575eb67e81f34decd3bc4dafc7797ad0d521b2220e8f2957e7206db1416d6bddbe9077 +DIST OpenJDK-jdk_x64_alpine-linux_hotspot_25_6-ea.tar.gz 138489277 BLAKE2B 1f43b392f97d991bad1abdebd254b7d8a0c113aee1bcb30567665d18bf779f4f9ff757f2c307f2de041649ae6a18b66d7276360091ec63573195f0d49f779b16 SHA512 0628a65fc7aae60f7d0700c8078246a74e90b64d3d1e3505713649b917b9fbc0f142316c3b8230239a2bc86b1e286890328bebc385a9ea8f949574fd4969010b +DIST OpenJDK-jdk_x64_linux_hotspot_25_6-ea.tar.gz 138401572 BLAKE2B dd26911ec6181c8a3683b735df50855604a2ae10c62b7533b954c8abe560ff6db10d98f34e9a713a2c3ce266727a60c172125e54f3e1fe3fa514cd5dec759d5e SHA512 d2d91b375ba05283ce65f67b272485d87963bc19efc22cd7de7fc2e19fc20630e118322c9af47b4d66d1df7ed29012d350e4908a4df2cec7857ca3dab32be06b DIST OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.25_9.tar.gz 192125336 BLAKE2B e083ce8691f8462310eeaa7495d26519754f5bfadc8a786dd188f1dad4dc36164eea9220125340b43c9e6b4321be6e26d66a9c18247a6462e4cae9f453fe1171 SHA512 860fff5eff6ef2a29062aac0ee7f90d80dca417fb58ccbf9a9f2ca96a8dc4798a00dab42deedbc64a371d0356b17e6cd12cdc2b2879edfcec9463ffc004ce5fb DIST OpenJDK11U-jdk_arm_linux_hotspot_11.0.25_9.tar.gz 182871332 BLAKE2B ac6ba9e02fcec38dbb685cdebf379ecdcb5041bc53a71a0896baf7f2628faaa0dd1402b045a57010e2495c16e48116fd1216fe6d4b6cf35cbc996dafe8516e0a SHA512 db0761f8b0baa82c61567a869f2c23da61470d055ecbd73c7693a7be37167282af7387006f22a0c7a46e1e71591615fac0431925987af8fb8e36d77207669856 DIST OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.25_9.tar.gz 177532830 BLAKE2B 5a2e15a9cd601dfbc6749875ee53de1ca5d41c41335e52588c778412499c4825b9108bcf8dacbe250814ff5664d8b8fceefceb738dc24c3ab3d13d292fa3d027 SHA512 8ba8c210717046ab167eeccfc8a3b18e34e77262a0aef866b6268cbd5b91bfd6ed90003ce7de852d6e24f923e044839092e5faac2f3df6273b8b3868eb7e7398 diff --git a/dev-java/openjdk-bin/openjdk-bin-25_p5_beta.ebuild b/dev-java/openjdk-bin/openjdk-bin-25_p6_beta.ebuild index 1df73d6d9ac5..1df73d6d9ac5 100644 --- a/dev-java/openjdk-bin/openjdk-bin-25_p5_beta.ebuild +++ b/dev-java/openjdk-bin/openjdk-bin-25_p6_beta.ebuild diff --git a/dev-java/openjdk-jre-bin/Manifest b/dev-java/openjdk-jre-bin/Manifest index e431239db880..a9ff4511dc59 100644 --- a/dev-java/openjdk-jre-bin/Manifest +++ b/dev-java/openjdk-jre-bin/Manifest @@ -1,4 +1,8 @@ DIST OpenJDK11U-jre_x64_linux_hotspot_11.0.25_9.tar.gz 43388792 BLAKE2B 59f2ea968f5f243dc2e0b8d82270620839a5cbafd93bfb611b3713455e366f956357b1424e69e3082730e6803934f78852db8e06d6ff6dcda7f7bf5ce2c6323c SHA512 3e602a497d66ef423ba9110a69149ad5fe3c939c629eda1a0946697623ada8a1582d08b55f498b1d0862c95a7c64b0fab804fb713e49bdd4ddd9657c164ab7db +DIST OpenJDK11U-jre_x64_linux_hotspot_11.0.26_4.tar.gz 43392609 BLAKE2B 5252fb30aef1eb09c39f1c011c92f057db3d6401d96328eda5737f2c39b47c9d194712d163df7244dadbbde41551695213778fa9df7af4627bf0461e2506805c SHA512 61d2d9c747450dba0d6b37a304b1dbe69497989b6643b2a4cbe6a99c100b780ccc04e650c0e5273e9fa724fb0e8db5272d46f8ef7a66e3c0958f26e9bf0fe74e DIST OpenJDK17U-jre_x64_linux_hotspot_17.0.13_11.tar.gz 46082619 BLAKE2B 18cfcba579deb6665f45de59b145d2f9b3c047456e548b0728619a8b711890f66c15d0522e89ef3f8d7f9747636cefc509efc0d8c12e709d6f7e2faf8c6d1860 SHA512 6ab44ec3ae9f610b68008e68069a66095c7b2d1deba2990e061baf9800cbeafd818cb16a9386aabbc18299bc46e0f23540111eb6a0597561c835e67506eeff97 +DIST OpenJDK17U-jre_x64_linux_hotspot_17.0.14_7.tar.gz 46092700 BLAKE2B e4045ac58993c771e750464dba07432857facb49aca86954ff0446c3be7b4749848bc39a31519bc72ea83c81f70aa7c2c975ee750c41993bfd5fe37c7537ea28 SHA512 42cce997473203c1aa7bf4d64706b1031536cccbe40a35ef8ad37e23cc87e1ef6adca9afa69ac857d571ba888f7a9a8fe6a950f0084b22f58f36b865cbd975a6 DIST OpenJDK21U-jre_x64_linux_hotspot_21.0.5_11.tar.gz 51849867 BLAKE2B 6769bd34c2ba7f6d4939f1b7647cb7bd5eea5644a05f4e5474db612c29e05d247829b1eea2f0265febf41cd6a64a1e62c5eef7f1ee7c68e84f6bb085d3c656fb SHA512 7077e879e656a2b3bcb6274d5eb312320a95f13e909bd0fb5589e665db545caca0a6bf7d1117d76fe201caaa50a3bf917316e43f08d94b48872607bc25238a94 +DIST OpenJDK21U-jre_x64_linux_hotspot_21.0.6_7.tar.gz 51858210 BLAKE2B f45a6578b92a04663d1b2cb5f6a8d2bd7d5f8eebdbb9cdb843ae37491c9f48f431ac6b3207711ed53d2cc2727aae274b475b698e3e8aa9714226bccddc7f35de SHA512 5b4c90176ae56880d3f71330032ca679fac4f6df8002c14dbeb095952b23a4a502433205ec3deffbe1a11f4a9211a4b32d50c7d44254d2fb7d2f7c027590a7f3 DIST OpenJDK8U-jre_x64_linux_hotspot_8u432b06.tar.gz 41407945 BLAKE2B 99d146ceb6627be04b30bde28691df1362f2acc147a8b260d9633fb11d9ef2f23f2a0876a6cd32515dc0541ce1f5feb475793225266da9197ac7392db13c512a SHA512 c32343125e66005c9239d1002fad2a183bc3834dc1be5f85ca9bf6535bc40bc629d7e538cefc0d07cc2b49275a54ebd19098e43aecfc34cbd40e549da902b894 +DIST OpenJDK8U-jre_x64_linux_hotspot_8u442b06.tar.gz 41414365 BLAKE2B e6d788ef60efaabf9844f8805213ebb056f5c2d5028d0b54cff9665b38af84e461aefbdf1906b261a917b9809ec440676d95af4e2a48342660fe01bd38d1d527 SHA512 77369292244a2e323b3189790e4b8ccc9f8a84524c4c6f8d0f2c4c0073f1b9c591f7dbb41afe7282889f8d48af5452dd2f7920988fcab0d37dc890c36504b70d diff --git a/dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.26_p4.ebuild b/dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.26_p4.ebuild new file mode 100644 index 000000000000..730296912df7 --- /dev/null +++ b/dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.26_p4.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit java-vm-2 + +abi_uri() { + echo "${2-$1}? ( + https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk-${MY_PV}/OpenJDK${SLOT}U-jre_${1}_linux_hotspot_${MY_PV//+/_}.tar.gz + )" +} + +MY_PV=${PV/_p/+} +SLOT=${MY_PV%%[.+]*} + +SRC_URI=" + $(abi_uri x64 amd64) +" + +DESCRIPTION="Prebuilt Java JRE binaries provided by Eclipse Temurin" +HOMEPAGE="https://adoptium.net/" +LICENSE="GPL-2-with-classpath-exception" +KEYWORDS="~amd64" +IUSE="alsa cups headless-awt selinux" + +RDEPEND=" + media-libs/fontconfig:1.0 + media-libs/freetype:2 + >net-libs/libnet-1.1 + >=sys-apps/baselayout-java-0.1.0-r1 + >=sys-libs/glibc-2.2.5:* + sys-libs/zlib + alsa? ( media-libs/alsa-lib ) + cups? ( net-print/cups ) + selinux? ( sec-policy/selinux-java ) + !headless-awt? ( + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrender + x11-libs/libXtst + )" + +RESTRICT="preserve-libs splitdebug" +QA_PREBUILT="*" + +S="${WORKDIR}/jdk-${MY_PV}-jre" + +src_install() { + local dest="/opt/${PN}-${SLOT}" + local ddest="${ED}/${dest#/}" + + # Not sure why they bundle this as it's commonly available and they + # only do so on x86_64. It's needed by libfontmanager.so. IcedTea + # also has an explicit dependency while Oracle seemingly dlopens it. + rm -vf lib/libfreetype.so || die + + # Oracle and IcedTea have libjsoundalsa.so depending on + # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird. + if ! use alsa ; then + rm -v lib/libjsound.* || die + fi + + if use headless-awt ; then + rm -v lib/lib*{[jx]awt,splashscreen}* || die + fi + + rm -v lib/security/cacerts || die + dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts + + dodir "${dest}" + cp -pPR * "${ddest}" || die + + java-vm_install-env "${FILESDIR}"/${PN}.env.sh + java-vm_set-pax-markings "${ddest}" + java-vm_revdep-mask + java-vm_sandbox-predict /dev/random /proc/self/coredump_filter +} + +pkg_postinst() { + java-vm-2_pkg_postinst +} diff --git a/dev-java/openjdk-jre-bin/openjdk-jre-bin-17.0.14_p7.ebuild b/dev-java/openjdk-jre-bin/openjdk-jre-bin-17.0.14_p7.ebuild new file mode 100644 index 000000000000..730296912df7 --- /dev/null +++ b/dev-java/openjdk-jre-bin/openjdk-jre-bin-17.0.14_p7.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit java-vm-2 + +abi_uri() { + echo "${2-$1}? ( + https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk-${MY_PV}/OpenJDK${SLOT}U-jre_${1}_linux_hotspot_${MY_PV//+/_}.tar.gz + )" +} + +MY_PV=${PV/_p/+} +SLOT=${MY_PV%%[.+]*} + +SRC_URI=" + $(abi_uri x64 amd64) +" + +DESCRIPTION="Prebuilt Java JRE binaries provided by Eclipse Temurin" +HOMEPAGE="https://adoptium.net/" +LICENSE="GPL-2-with-classpath-exception" +KEYWORDS="~amd64" +IUSE="alsa cups headless-awt selinux" + +RDEPEND=" + media-libs/fontconfig:1.0 + media-libs/freetype:2 + >net-libs/libnet-1.1 + >=sys-apps/baselayout-java-0.1.0-r1 + >=sys-libs/glibc-2.2.5:* + sys-libs/zlib + alsa? ( media-libs/alsa-lib ) + cups? ( net-print/cups ) + selinux? ( sec-policy/selinux-java ) + !headless-awt? ( + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrender + x11-libs/libXtst + )" + +RESTRICT="preserve-libs splitdebug" +QA_PREBUILT="*" + +S="${WORKDIR}/jdk-${MY_PV}-jre" + +src_install() { + local dest="/opt/${PN}-${SLOT}" + local ddest="${ED}/${dest#/}" + + # Not sure why they bundle this as it's commonly available and they + # only do so on x86_64. It's needed by libfontmanager.so. IcedTea + # also has an explicit dependency while Oracle seemingly dlopens it. + rm -vf lib/libfreetype.so || die + + # Oracle and IcedTea have libjsoundalsa.so depending on + # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird. + if ! use alsa ; then + rm -v lib/libjsound.* || die + fi + + if use headless-awt ; then + rm -v lib/lib*{[jx]awt,splashscreen}* || die + fi + + rm -v lib/security/cacerts || die + dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts + + dodir "${dest}" + cp -pPR * "${ddest}" || die + + java-vm_install-env "${FILESDIR}"/${PN}.env.sh + java-vm_set-pax-markings "${ddest}" + java-vm_revdep-mask + java-vm_sandbox-predict /dev/random /proc/self/coredump_filter +} + +pkg_postinst() { + java-vm-2_pkg_postinst +} diff --git a/dev-java/openjdk-jre-bin/openjdk-jre-bin-21.0.6_p7.ebuild b/dev-java/openjdk-jre-bin/openjdk-jre-bin-21.0.6_p7.ebuild new file mode 100644 index 000000000000..47945aff9400 --- /dev/null +++ b/dev-java/openjdk-jre-bin/openjdk-jre-bin-21.0.6_p7.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit java-vm-2 + +abi_uri() { + echo "${2-$1}? ( + https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk-${MY_PV}/OpenJDK${SLOT}U-jre_${1}_linux_hotspot_${MY_PV//+/_}.tar.gz + )" +} + +MY_PV=${PV/_p/+} +SLOT=${MY_PV%%[.+]*} + +SRC_URI=" + $(abi_uri x64 amd64) +" + +DESCRIPTION="Prebuilt Java JRE binaries provided by Eclipse Temurin" +HOMEPAGE="https://adoptium.net/" +LICENSE="GPL-2-with-classpath-exception" +KEYWORDS="-* ~amd64" +IUSE="alsa cups headless-awt selinux" + +RDEPEND=" + media-libs/fontconfig:1.0 + media-libs/freetype:2 + >net-libs/libnet-1.1 + >=sys-apps/baselayout-java-0.1.0-r1 + >=sys-libs/glibc-2.2.5:* + sys-libs/zlib + alsa? ( media-libs/alsa-lib ) + cups? ( net-print/cups ) + selinux? ( sec-policy/selinux-java ) + !headless-awt? ( + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrender + x11-libs/libXtst + )" + +RESTRICT="preserve-libs splitdebug" +QA_PREBUILT="*" + +S="${WORKDIR}/jdk-${MY_PV}-jre" + +src_install() { + local dest="/opt/${PN}-${SLOT}" + local ddest="${ED}/${dest#/}" + + # Not sure why they bundle this as it's commonly available and they + # only do so on x86_64. It's needed by libfontmanager.so. IcedTea + # also has an explicit dependency while Oracle seemingly dlopens it. + rm -vf lib/libfreetype.so || die + + # Oracle and IcedTea have libjsoundalsa.so depending on + # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird. + if ! use alsa ; then + rm -v lib/libjsound.* || die + fi + + if use headless-awt ; then + rm -v lib/lib*{[jx]awt,splashscreen}* || die + fi + + rm -v lib/security/cacerts || die + dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts + + dodir "${dest}" + cp -pPR * "${ddest}" || die + + java-vm_install-env "${FILESDIR}"/${PN}.env.sh + java-vm_set-pax-markings "${ddest}" + java-vm_revdep-mask + java-vm_sandbox-predict /dev/random /proc/self/coredump_filter +} + +pkg_postinst() { + java-vm-2_pkg_postinst +} diff --git a/dev-java/openjdk-jre-bin/openjdk-jre-bin-8.442_p06.ebuild b/dev-java/openjdk-jre-bin/openjdk-jre-bin-8.442_p06.ebuild new file mode 100644 index 000000000000..6378e8264f29 --- /dev/null +++ b/dev-java/openjdk-jre-bin/openjdk-jre-bin-8.442_p06.ebuild @@ -0,0 +1,82 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit java-vm-2 + +abi_uri() { + echo "${2-$1}? ( + https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk${MY_PV}/OpenJDK8U-jre_${1}_linux_hotspot_${MY_PV/-/}.tar.gz + )" +} + +MY_PV=$(ver_rs 1 'u' 2 '-' ${PV//p/b}) +SLOT="$(ver_cut 1)" + +DESCRIPTION="Prebuilt Java JRE binaries provided by Eclipse Temurin" +HOMEPAGE="https://adoptium.net/" +SRC_URI=" + $(abi_uri x64 amd64) +" + +LICENSE="GPL-2-with-classpath-exception" +KEYWORDS="~amd64" + +IUSE="alsa cups headless-awt selinux" + +RDEPEND=" + media-libs/fontconfig:1.0 + media-libs/freetype:2 + >net-libs/libnet-1.1 + >=sys-apps/baselayout-java-0.1.0-r1 + >=sys-libs/glibc-2.2.5:* + sys-libs/zlib + alsa? ( media-libs/alsa-lib ) + cups? ( net-print/cups ) + selinux? ( sec-policy/selinux-java ) + !headless-awt? ( + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrender + x11-libs/libXtst + )" + +RESTRICT="preserve-libs splitdebug" +QA_PREBUILT="*" + +S="${WORKDIR}/jdk${MY_PV}-jre" + +src_install() { + local dest="/opt/${P}" + local ddest="${ED}/${dest#/}" + + rm ASSEMBLY_EXCEPTION LICENSE THIRD_PARTY_README || die + + # this does not exist on arm64 hence -f + rm -fv lib/*/libfreetype.so* || die + + if ! use alsa ; then + rm -v lib/*/libjsoundalsa.so* || die + fi + + if use headless-awt ; then + rm -fvr lib/*/lib*{[jx]awt,splashscreen}* \ + bin/policytool || die + fi + + rm -v lib/security/cacerts || die + dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts + + dodir "${dest}" + cp -pPR * "${ddest}" || die + + # provide stable symlink + dosym "${P}" "/opt/${PN}-${SLOT}" + + java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh + java-vm_set-pax-markings "${ddest}" + java-vm_revdep-mask + java-vm_sandbox-predict /dev/random /proc/self/coredump_filter +} diff --git a/dev-java/openjdk/Manifest b/dev-java/openjdk/Manifest index fa6af5a7e9ba..7d3393c439a4 100644 --- a/dev-java/openjdk/Manifest +++ b/dev-java/openjdk/Manifest @@ -1,9 +1,13 @@ DIST openjdk-11.0.18-riscv.patch.xz 272672 BLAKE2B b079612032a5bf135b05bdd1da16f2823772a5d9a18447a435f191daf78c5429a15c2e9ea64758dc9b26ee2a88275532b4f27714b2a7e4489f920c0ed2f5003b SHA512 c0426f243c5aa581d90366cb01ce811e34883a9d8a0298cab420378470e8eb427a56932ca1fbb5ed57e7430be2b38c6bc4491028ebaa25be0a938ba0bb2baf45 DIST openjdk-11.0.25_p9.tar.gz 116541441 BLAKE2B 5be0d6e1996860f0d8f36732758207044668fdbd6e9c9b21b96c897d526f2d86a931f2b8d732ebe4b668679c0e48cb49a472baf29d4ea5785dc4edb0d8a5de2f SHA512 25971b26d04dd111a21c112f694968c8d56c3692a62eb1366a1f49617a308a3a0cb37ab92ff02cff727041d6e32cbbc345f313db46df58f9e933a801a1588e8b +DIST openjdk-11.0.26_p4.tar.gz 116557373 BLAKE2B 0d3dc31b4568778da2612d002c8e92eb3aa0e2b1b1eed973adb82fe3ca2ebdddafa9cae116e0b91cfb4cfdd7a40c381b3c8dd14e5b4ee28c0cf388b467166b76 SHA512 b5375de7c39aafa4fe1ef6556e17bf5c8ace577953ea8e666c4e8adc3e8b0f6fdbf20b7c426a156420acb99787363e0e4c9d36df20cefcef5e74a48bb75eeb24 DIST openjdk-17.0.13_p11.tar.gz 107315661 BLAKE2B e403a8f33d4e79dd5c77a5dbfc991b443e15bddefe7cfde6cbd6f8df29f1cf499d0bd467d23f0c1b89b92b1dca16ebfb398a5c64b8787f787465a8a5f50bdfce SHA512 6f2220b3b0b9ab4441968d487858449f0e58400bfbbf8cc322b6c9393ab44869ea27285bed1022ac531f0a9eec5b7d6a07db4f7e78b094bb5ca8cedd5f40711a +DIST openjdk-17.0.14_p7.tar.gz 107408032 BLAKE2B 006be4d75d3d9ef3a40b1853dded3cced6f345ea473b7c03c89f04b1d74df7532878246bafde932b49da39c1cf66bcd7c2ee42dc9049c19efc653db8f7367971 SHA512 0643ac52b68e5884734289ab13592feef7273db96f7b5c0fd77d801e4d4e44a84abcc439fd1b138119c5583986f1d0b058aa74f55b00e0dfd31333cbb536744d DIST openjdk-21.0.5_p11.tar.gz 112679148 BLAKE2B 6cfb2ab73e1bcc5d74c28f56e163778ca42fa1b9eda5367f2198827eae04d5a269926c97b326d1e71b2a57f2780588f538db8d3a81f367903fd967534747d3af SHA512 2fdfdb7e21fcaf97590fa54317f87169d5fdabf38027f4f6570942b2af637fc9ace3d35c3bbb0df29720e7a0f6d6a4087253a713389743ed7947e433d7b8103b -DIST openjdk-25_p5.tar.gz 122561864 BLAKE2B 70c6d9d46a964338c35e0980ca29bf1e27aefe904108c198520c312a291b6e88eacd94694e37a81402428074421defa3748435393ce3aa9a2f6587fdb99281eb SHA512 b975d7aa3497df85c4b9028353f0a8d0f008948e4e1ea64c3828008e96282dd27c2c0862d73e059944db022dbcfabe567f0f40850339e86a7d936086e6b6e77e +DIST openjdk-21.0.6_p7.tar.gz 113221815 BLAKE2B 2b3d240037baa2b306a1064f260b7ed57a4f4dafe97626bf6e1de3e54357d8a7652c1798f6946d58aba30ca0be334d9a1f918b25381ab370d515f829abea4952 SHA512 fb03362608a35b0f6e131eaa974a52e6ff8a96f90d3bdaeccd2e1268f46db65c72387ed7bba1c8b0d9457c56950eae607fba29e102a338b009259262e1024726 +DIST openjdk-25_p7.tar.gz 122614923 BLAKE2B bbb55949df77054efebe53819b1a7f1f0379f08f4aba385679aff10a54bf02fdf249b3aa02a26ffc44fb1d8f7760d6d701dc95c0546bae57c5b2515702388e6a SHA512 ac3812a1de94e20b1ac7e0890b565ab4e3d7d5236e4edbd4e53b5c78d57a887af228a0a50c77e41d7adfbf0f0d92d7a156022f1f81fc5cca4c2ac7538f52ae75 DIST openjdk-8.432_p06.tar.gz 92765730 BLAKE2B 9c3823ed0394730cdbf306a92062656a793dd7b57a333319282a6aa01a8150927227d3e91ee2ee975108b8c3aa2b0b87669af2971dfc27a6400fb7c4ef22d246 SHA512 263642d56915e0533c154ab51148b0f6a9860b243dddf5bbb70f49174d07dd505393fa6e257bfa34eca6e95ecd4f271737fa48fee8db93e624e8336fe488eb83 +DIST openjdk-8.442_p06.tar.gz 92775643 BLAKE2B dfcac25f30d8178b9c9d9b2f90e06b7c8cd417dc43c00954d2e9a748f979c596b1b77f989a7137e022868dfc8d12a148f9281cf9a387ff91e9d4b505d416128b SHA512 6c0fe0b7aaf5ff887c720cced4203231c7ea6490817a5cb10196dabe0f3941833ddcc8024d2fe04f3a84502b6fe08277a6ff2f84ce605f4209a3494b9f0a80b7 DIST openjdk-bootstrap-11.0.13_p8-ppc64.tar.xz 108215404 BLAKE2B 5e6c0b905b34b437137922b73a9724da96b8832186fea945f8c73d941db822ca1cc5718f3ecb4607ed98d1f8241c9f365b54caaf978863e8b84680a94f067b5d SHA512 732e2220219d42be10589fcaf2420da87ebc8564b4afc6bd02f61f31cdca9c31b339366e34d374fb814499b92f8aa796435a18f28e10c8cb00d9a0f5953bb60e DIST openjdk-bootstrap-11.0.13_p8-x86.tar.xz 105420236 BLAKE2B d3137ad497937a9a04dedf38776f3ac45bf3b115d275991fd8582b72ade48390b6aa8ad89e0b4d34fa6a787a3c413dab20b32ef347dc8733544e810150c55d29 SHA512 f71a7ef8fbf19b0595dd7d4ebe52bbe1c95b8c17f34d092472c5f5ce8caf52a053f22db8587f1649f9a96ad01c0c632be343342812f5a8cc4ff843b33b8d9b0f DIST openjdk-bootstrap-11.0.14_p9-riscv.tar.xz 104601676 BLAKE2B 5f976e8a626a829fae70ad6c007f10bfeff79e29c85d6c75fb2f5ff8984fd2a2bd44ee6e07958dbbdaaed761c6839d375e1b5ba6cffc63b02ad9e2c9178310db SHA512 580dec81626553fe3e7afd0f6385a733ba80a0502cf0f9e8bdc973048887290c9ab6171267d61d8838c4ece4de58c9ca8b78540bd52b1757495a27175057ec64 diff --git a/dev-java/openjdk/openjdk-11.0.26_p4.ebuild b/dev-java/openjdk/openjdk-11.0.26_p4.ebuild new file mode 100644 index 000000000000..538d72512c7b --- /dev/null +++ b/dev-java/openjdk/openjdk-11.0.26_p4.ebuild @@ -0,0 +1,316 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs + +# don't change versioning scheme +# to find correct _p number, look at +# https://github.com/openjdk/jdk${SLOT}u/tags +# you will see, for example, jdk-17.0.4.1-ga and jdk-17.0.4.1+1, both point +# to exact same commit sha. we should always use the full version. +# -ga tag is just for humans to easily identify General Availability release tag. +# we need -ga tag to fetch tarball and unpack it, but exact number everywhere else to +# set build version properly +MY_PV="${PV%_p*}-ga" + +# variable name format: <UPPERCASE_KEYWORD>_XPAK +PPC64_XPAK="11.0.13_p8" # big-endian bootstrap tarball +RISCV_XPAK="11.0.14_p9" # lp64d bootstrap tarball +X86_XPAK="11.0.13_p8" + +# Usage: bootstrap_uri <keyword> <version> [extracond] +# Example: $(bootstrap_uri ppc64 17.0.1_p12 big-endian) +# Output: ppc64? ( big-endian? ( https://...17.0.1_p12-ppc64.tar.xz ) ) +bootstrap_uri() { + local baseuri="https://dev.gentoo.org/~arthurzam/distfiles/dev-java/${PN}/${PN}-bootstrap" + local suff="tar.xz" + local kw="${1:?${FUNCNAME[0]}: keyword not specified}" + local ver="${2:?${FUNCNAME[0]}: version not specified}" + local cond="${3-}" + + # here be dragons + echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}.${suff} ${cond:+) })" +} + +DESCRIPTION="Open source implementation of the Java programming language" +HOMEPAGE="https://openjdk.org" +SRC_URI=" + https://github.com/${PN}/jdk11u/archive/jdk-${MY_PV}.tar.gz + -> ${P}.tar.gz + !system-bootstrap? ( + $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian) + $(bootstrap_uri riscv ${RISCV_XPAK}) + $(bootstrap_uri x86 ${X86_XPAK}) + ) + riscv? ( https://dev.gentoo.org/~arthurzam/distfiles/dev-java/openjdk/openjdk-11.0.18-riscv.patch.xz ) +" +S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV}" + +LICENSE="GPL-2-with-classpath-exception" +SLOT="${MY_PV%%[.+]*}" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" + +IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap lto selinux source system-bootstrap systemtap" + +REQUIRED_USE=" + javafx? ( alsa !headless-awt ) + !system-bootstrap? ( jbootstrap ) +" + +COMMON_DEPEND=" + media-libs/freetype:2= + media-libs/giflib:0/7 + media-libs/harfbuzz:= + media-libs/libpng:0= + media-libs/lcms:2= + sys-libs/zlib + media-libs/libjpeg-turbo:0= + systemtap? ( dev-debug/systemtap ) +" + +# Many libs are required to build, but not to run, make is possible to remove +# by listing conditionally in RDEPEND unconditionally in DEPEND +RDEPEND=" + ${COMMON_DEPEND} + >=sys-apps/baselayout-java-0.1.0-r1 + !headless-awt? ( + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libXt + x11-libs/libXtst + ) + alsa? ( media-libs/alsa-lib ) + cups? ( net-print/cups ) + selinux? ( sec-policy/selinux-java ) +" + +DEPEND=" + ${COMMON_DEPEND} + app-arch/zip + media-libs/alsa-lib + net-print/cups + x11-base/xorg-proto + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libXt + x11-libs/libXtst + javafx? ( dev-java/openjfx:${SLOT}= ) + system-bootstrap? ( + || ( + dev-java/openjdk-bin:${SLOT}[gentoo-vm(+)] + dev-java/openjdk:${SLOT}[gentoo-vm(+)] + ) + ) +" + +# The space required to build varies wildly depending on USE flags, +# ranging from 2GB to 16GB. This function is certainly not exact but +# should be close enough to be useful. +openjdk_check_requirements() { + local M + M=2048 + M=$(( $(usex jbootstrap 2 1) * $M )) + M=$(( $(usex debug 3 1) * $M )) + M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M )) + + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +pkg_pretend() { + openjdk_check_requirements + if [[ ${MERGE_TYPE} != binary ]]; then + has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876" + fi +} + +pkg_setup() { + openjdk_check_requirements + java-vm-2_pkg_setup + + [[ ${MERGE_TYPE} == "binary" ]] && return + + JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}" + JAVA_PKG_WANT_SOURCE="${SLOT}" + JAVA_PKG_WANT_TARGET="${SLOT}" + + if use system-bootstrap; then + for vm in ${JAVA_PKG_WANT_BUILD_VM}; do + if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then + java-pkg-2_pkg_setup + return + fi + done + fi +} + +src_prepare() { + use riscv && eapply "${WORKDIR}"/openjdk-11.0.18-riscv.patch + default + chmod +x configure || die +} + +src_configure() { + if ! use system-bootstrap; then + local xpakvar="${ARCH^^}_XPAK" + export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}" + fi + + # Work around stack alignment issue, bug #647954. + use x86 && append-flags -mincoming-stack-boundary=2 + + # bug 906987; append-cppflags doesnt work + use elibc_musl && append-flags -D_LARGEFILE64_SOURCE + + # Strip some flags users may set, but should not. #818502 + filter-flags -fexceptions + + # Strip lto related flags, we rely on USE=lto and --with-jvm-features=link-time-opt + # https://bugs.gentoo.org/833097 + # https://bugs.gentoo.org/833098 + filter-lto + filter-flags -fdevirtualize-at-ltrans + + # Enabling full docs appears to break doc building. If not + # explicitly disabled, the flag will get auto-enabled if pandoc and + # graphviz are detected. pandoc has loads of dependencies anyway. + + local myconf=( + --disable-ccache + --disable-precompiled-headers + --enable-full-docs=no + --with-boot-jdk="${JDK_HOME}" + --with-extra-cflags="${CFLAGS}" + --with-extra-cxxflags="${CXXFLAGS}" + --with-extra-ldflags="${LDFLAGS}" + --with-freetype="${XPAK_BOOTSTRAP:-system}" + --with-giflib="${XPAK_BOOTSTRAP:-system}" + --with-harfbuzz="${XPAK_BOOTSTRAP:-system}" + --with-lcms="${XPAK_BOOTSTRAP:-system}" + --with-libjpeg="${XPAK_BOOTSTRAP:-system}" + --with-libpng="${XPAK_BOOTSTRAP:-system}" + --with-native-debug-symbols=$(usex debug internal none) + --with-vendor-name="Gentoo" + --with-vendor-url="https://gentoo.org" + --with-vendor-bug-url="https://bugs.gentoo.org" + --with-vendor-vm-bug-url="https://bugs.openjdk.java.net" + --with-vendor-version-string="${PVR}" + --with-version-pre="" + --with-version-string="${PV%_p*}" + --with-version-build="${PV#*_p}" + --with-zlib="${XPAK_BOOTSTRAP:-system}" + --enable-dtrace=$(usex systemtap yes no) + --enable-headless-only=$(usex headless-awt yes no) + $(tc-is-clang && echo "--with-toolchain-type=clang") + ) + ! use riscv && myconf+=( --with-jvm-features=shenandoahgc ) + + use lto && myconf+=( --with-jvm-features=link-time-opt ) + + if use javafx; then + # this is not useful for users, just for upstream developers + # build system compares mesa version in md file + # https://bugs.gentoo.org/822612 + export LEGAL_EXCLUDES=mesa3d.md + + local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip" + if [[ -r ${zip} ]]; then + myconf+=( --with-import-modules="${zip}" ) + else + die "${zip} not found or not readable" + fi + fi + + # Workaround for bug #938302 + if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then + myconf+=( DTRACE="${BROOT}"/usr/bin/stap-dtrace ) + fi + + if use !system-bootstrap ; then + addpredict /dev/random + addpredict /proc/self/coredump_filter + fi + + ( + unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS + CFLAGS= CXXFLAGS= LDFLAGS= \ + CONFIG_SITE=/dev/null \ + econf "${myconf[@]}" + ) +} + +src_compile() { + # Too brittle - gets confused by e.g. -Oline + export MAKEOPTS="-j$(makeopts_jobs) -l$(makeopts_loadavg)" + unset GNUMAKEFLAGS MAKEFLAGS + + local myemakeargs=( + JOBS=$(makeopts_jobs) + LOG=debug + CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror + NICE= # Use PORTAGE_NICENESS, don't adjust further down + $(usex doc docs '') + $(usex jbootstrap bootcycle-images product-images) + ) + emake "${myemakeargs[@]}" -j1 +} + +src_install() { + local dest="/usr/$(get_libdir)/${PN}-${SLOT}" + local ddest="${ED}/${dest#/}" + + cd "${S}"/build/*-release/images/jdk || die + + # Create files used as storage for system preferences. + mkdir .systemPrefs || die + touch .systemPrefs/.system.lock || die + touch .systemPrefs/.systemRootModFile || die + + # Oracle and IcedTea have libjsoundalsa.so depending on + # libasound.so.2 but OpenJDK only has libjsound.so. Weird. + if ! use alsa ; then + rm -v lib/libjsound.* || die + fi + + if ! use examples ; then + rm -vr demo/ || die + fi + + if ! use source ; then + rm -v lib/src.zip || die + fi + + rm -v lib/security/cacerts || die + + dodir "${dest}" + cp -pPR * "${ddest}" || die + + dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts + + # must be done before running itself + java-vm_set-pax-markings "${ddest}" + + einfo "Creating the Class Data Sharing archives and disabling usage tracking" + "${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die + + java-vm_install-env "${FILESDIR}"/${PN}.env.sh + java-vm_revdep-mask + java-vm_sandbox-predict /dev/random /proc/self/coredump_filter + + if use doc ; then + docinto html + dodoc -r "${S}"/build/*-release/images/docs/* + dosym -r /usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}" + fi +} + +pkg_postinst() { + java-vm-2_pkg_postinst +} diff --git a/dev-java/openjdk/openjdk-17.0.14_p7.ebuild b/dev-java/openjdk/openjdk-17.0.14_p7.ebuild new file mode 100644 index 000000000000..a576db8e3e4c --- /dev/null +++ b/dev-java/openjdk/openjdk-17.0.14_p7.ebuild @@ -0,0 +1,325 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs + +# variable name format: <UPPERCASE_KEYWORD>_XPAK +ARM64_XPAK="17.0.2_p8" # musl bootstrap install +PPC64_XPAK="17.0.1_p12" # big-endian bootstrap tarball +RISCV_XPAK="17.0.3_p7" +X86_XPAK="17.0.1_p12" + +# Usage: bootstrap_uri <keyword> <version> [extracond] +# Example: $(bootstrap_uri ppc64 17.0.1_p12 big-endian) +# Output: ppc64? ( big-endian? ( https://...17.0.1_p12-ppc64.tar.xz ) ) +bootstrap_uri() { + local baseuri="https://dev.gentoo.org/~arthurzam/distfiles/dev-java/${PN}/${PN}-bootstrap" + local suff="tar.xz" + local kw="${1:?${FUNCNAME[0]}: keyword not specified}" + local ver="${2:?${FUNCNAME[0]}: version not specified}" + local cond="${3-}" + [[ ${cond} == elibc_musl* ]] && local musl=yes + + # here be dragons + echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}${musl:+-musl}.${suff} ${cond:+) })" +} + +# don't change versioning scheme +# to find correct _p number, look at +# https://github.com/openjdk/jdk${SLOT}u/tags +# you will see, for example, jdk-17.0.4.1-ga and jdk-17.0.4.1+1, both point +# to exact same commit sha. we should always use the full version. +# -ga tag is just for humans to easily identify General Availability release tag. +MY_PV="${PV%_p*}-ga" + +DESCRIPTION="Open source implementation of the Java programming language" +HOMEPAGE="https://openjdk.org" +SRC_URI=" + https://github.com/${PN}/jdk17u/archive/jdk-${MY_PV}.tar.gz + -> ${P}.tar.gz + !system-bootstrap? ( + $(bootstrap_uri arm64 ${ARM64_XPAK} elibc_musl) + $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian) + $(bootstrap_uri x86 ${X86_XPAK}) + $(bootstrap_uri riscv ${RISCV_XPAK}) + ) +" +S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}" + +LICENSE="GPL-2-with-classpath-exception" +SLOT="${MY_PV%%[.+]*}" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" + +IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap lto selinux source system-bootstrap systemtap" + +REQUIRED_USE=" + javafx? ( alsa !headless-awt ) + !system-bootstrap? ( jbootstrap ) +" + +COMMON_DEPEND=" + media-libs/freetype:2= + media-libs/giflib:0/7 + media-libs/harfbuzz:= + media-libs/libpng:0= + media-libs/lcms:2= + sys-libs/zlib + media-libs/libjpeg-turbo:0= + systemtap? ( dev-debug/systemtap ) +" + +# Many libs are required to build, but not to run, make is possible to remove +# by listing conditionally in RDEPEND unconditionally in DEPEND +RDEPEND=" + ${COMMON_DEPEND} + >=sys-apps/baselayout-java-0.1.0-r1 + !headless-awt? ( + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libXt + x11-libs/libXtst + ) + alsa? ( media-libs/alsa-lib ) + cups? ( net-print/cups ) + selinux? ( sec-policy/selinux-java ) +" + +DEPEND=" + ${COMMON_DEPEND} + app-arch/zip + media-libs/alsa-lib + net-print/cups + x11-base/xorg-proto + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libXt + x11-libs/libXtst + javafx? ( dev-java/openjfx:${SLOT}= ) + system-bootstrap? ( + || ( + dev-java/openjdk-bin:${SLOT} + dev-java/openjdk:${SLOT} + ) + ) +" + +# The space required to build varies wildly depending on USE flags, +# ranging from 2GB to 16GB. This function is certainly not exact but +# should be close enough to be useful. +openjdk_check_requirements() { + local M + M=2048 + M=$(( $(usex jbootstrap 2 1) * $M )) + M=$(( $(usex debug 3 1) * $M )) + M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M )) + + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +pkg_pretend() { + openjdk_check_requirements + if [[ ${MERGE_TYPE} != binary ]]; then + has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876" + fi +} + +pkg_setup() { + openjdk_check_requirements + java-vm-2_pkg_setup + + [[ ${MERGE_TYPE} == "binary" ]] && return + + JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}" + JAVA_PKG_WANT_SOURCE="${SLOT}" + JAVA_PKG_WANT_TARGET="${SLOT}" + + # The nastiness below is necessary while the gentoo-vm USE flag is + # masked. First we call java-pkg-2_pkg_setup if it looks like the + # flag was unmasked against one of the possible build VMs. If not, + # we try finding one of them in their expected locations. This would + # have been slightly less messy if openjdk-bin had been installed to + # /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env + # file but disable it so that it would not normally be selectable. + + local vm + for vm in ${JAVA_PKG_WANT_BUILD_VM}; do + if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then + java-pkg-2_pkg_setup + return + fi + done +} + +src_prepare() { + default + chmod +x configure || die +} + +src_configure() { + if has_version dev-java/openjdk:${SLOT}; then + export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-${SLOT} + elif use !system-bootstrap ; then + local xpakvar="${ARCH^^}_XPAK" + export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}" + else + JDK_HOME=$(best_version -b dev-java/openjdk-bin:${SLOT}) + [[ -n ${JDK_HOME} ]] || die "Build VM not found!" + JDK_HOME=${JDK_HOME#*/} + JDK_HOME=${BROOT}/opt/${JDK_HOME%-r*} + export JDK_HOME + fi + + # Work around stack alignment issue, bug #647954. in case we ever have x86 + use x86 && append-flags -mincoming-stack-boundary=2 + + # bug 906987; append-cppflags doesnt work + use elibc_musl && append-flags -D_LARGEFILE64_SOURCE + + # Strip some flags users may set, but should not. #818502 + filter-flags -fexceptions + + # Strip lto related flags, we rely on USE=lto and --with-jvm-features=link-time-opt + # https://bugs.gentoo.org/833097 + # https://bugs.gentoo.org/833098 + filter-lto + filter-flags -fdevirtualize-at-ltrans + + # Enabling full docs appears to break doc building. If not + # explicitly disabled, the flag will get auto-enabled if pandoc and + # graphviz are detected. pandoc has loads of dependencies anyway. + + local myconf=( + --disable-ccache + --disable-precompiled-headers + --disable-warnings-as-errors + --enable-full-docs=no + --with-boot-jdk="${JDK_HOME}" + --with-extra-cflags="${CFLAGS}" + --with-extra-cxxflags="${CXXFLAGS}" + --with-extra-ldflags="${LDFLAGS}" + --with-freetype="${XPAK_BOOTSTRAP:-system}" + --with-giflib="${XPAK_BOOTSTRAP:-system}" + --with-harfbuzz="${XPAK_BOOTSTRAP:-system}" + --with-lcms="${XPAK_BOOTSTRAP:-system}" + --with-libjpeg="${XPAK_BOOTSTRAP:-system}" + --with-libpng="${XPAK_BOOTSTRAP:-system}" + --with-native-debug-symbols=$(usex debug internal none) + --with-vendor-name="Gentoo" + --with-vendor-url="https://gentoo.org" + --with-vendor-bug-url="https://bugs.gentoo.org" + --with-vendor-vm-bug-url="https://bugs.openjdk.java.net" + --with-vendor-version-string="${PVR}" + --with-version-pre="" + --with-version-string="${PV%_p*}" + --with-version-build="${PV#*_p}" + --with-zlib="${XPAK_BOOTSTRAP:-system}" + --enable-jvm-feature-dtrace=$(usex systemtap yes no) + --enable-headless-only=$(usex headless-awt yes no) + $(tc-is-clang && echo "--with-toolchain-type=clang") + ) + + use lto && myconf+=( --with-jvm-features=link-time-opt ) + + if use javafx; then + local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip" + if [[ -r ${zip} ]]; then + myconf+=( --with-import-modules="${zip}" ) + else + die "${zip} not found or not readable" + fi + fi + + # Workaround for bug #938302 + if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then + myconf+=( DTRACE="${BROOT}"/usr/bin/stap-dtrace ) + fi + + if use !system-bootstrap ; then + addpredict /dev/random + addpredict /proc/self/coredump_filter + fi + + ( + unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS + CFLAGS= CXXFLAGS= LDFLAGS= \ + CONFIG_SITE=/dev/null \ + econf "${myconf[@]}" + ) +} + +src_compile() { + # Too brittle - gets confused by e.g. -Oline + export MAKEOPTS="-j$(makeopts_jobs) -l$(makeopts_loadavg)" + unset GNUMAKEFLAGS MAKEFLAGS + + local myemakeargs=( + JOBS=$(makeopts_jobs) + LOG=debug + CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror + NICE= # Use PORTAGE_NICENESS, don't adjust further down + $(usex doc docs '') + $(usex jbootstrap bootcycle-images product-images) + ) + emake "${myemakeargs[@]}" -j1 +} + +src_install() { + local dest="/usr/$(get_libdir)/${PN}-${SLOT}" + local ddest="${ED}/${dest#/}" + + cd "${S}"/build/*-release/images/jdk || die + + # Create files used as storage for system preferences. + mkdir .systemPrefs || die + touch .systemPrefs/.system.lock || die + touch .systemPrefs/.systemRootModFile || die + + # Oracle and IcedTea have libjsoundalsa.so depending on + # libasound.so.2 but OpenJDK only has libjsound.so. Weird. + if ! use alsa ; then + rm -v lib/libjsound.* || die + fi + + if ! use examples ; then + rm -vr demo/ || die + fi + + if ! use source ; then + rm -v lib/src.zip || die + fi + + rm -v lib/security/cacerts || die + + dodir "${dest}" + cp -pPR * "${ddest}" || die + + dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts + + # must be done before running itself + java-vm_set-pax-markings "${ddest}" + + einfo "Creating the Class Data Sharing archives and disabling usage tracking" + "${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die + + java-vm_install-env "${FILESDIR}"/${PN}.env.sh + java-vm_revdep-mask + java-vm_sandbox-predict /dev/random /proc/self/coredump_filter + + if use doc ; then + docinto html + dodoc -r "${S}"/build/*-release/images/docs/* + dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}" + fi +} + +pkg_postinst() { + java-vm-2_pkg_postinst +} diff --git a/dev-java/openjdk/openjdk-21.0.6_p7.ebuild b/dev-java/openjdk/openjdk-21.0.6_p7.ebuild new file mode 100644 index 000000000000..ab2629b4316b --- /dev/null +++ b/dev-java/openjdk/openjdk-21.0.6_p7.ebuild @@ -0,0 +1,330 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs + +# variable name format: <UPPERCASE_KEYWORD>_XPAK +PPC64_XPAK="21.0.0_p35" # big-endian bootstrap tarball +X86_XPAK="21.0.0_p35" + +# Usage: bootstrap_uri <keyword> <version> [extracond] +# Example: $(bootstrap_uri ppc64 17.0.1_p12 big-endian) +# Output: ppc64? ( big-endian? ( https://...17.0.1_p12-ppc64.tar.xz ) ) +bootstrap_uri() { + local baseuri="https://dev.gentoo.org/~arthurzam/distfiles/dev-java/${PN}/${PN}-bootstrap" + local suff="tar.xz" + local kw="${1:?${FUNCNAME[0]}: keyword not specified}" + local ver="${2:?${FUNCNAME[0]}: version not specified}" + local cond="${3-}" + [[ ${cond} == elibc_musl* ]] && local musl=yes + + # here be dragons + echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}${musl:+-musl}.${suff} ${cond:+) })" +} + +# don't change versioning scheme +# to find correct _p number, look at +# https://github.com/openjdk/jdk${SLOT}u/tags +# you will see, for example, jdk-17.0.4.1-ga and jdk-17.0.4.1+1, both point +# to exact same commit sha. we should always use the full version. +# -ga tag is just for humans to easily identify General Availability release tag. +MY_PV="${PV%_p*}-ga" + +DESCRIPTION="Open source implementation of the Java programming language" +HOMEPAGE="https://openjdk.org" +SRC_URI=" + https://github.com/${PN}/jdk21u/archive/jdk-${MY_PV}.tar.gz + -> ${P}.tar.gz + !system-bootstrap? ( + $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian) + $(bootstrap_uri x86 ${X86_XPAK}) + ) +" +S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}" + +LICENSE="GPL-2-with-classpath-exception" +SLOT="${MY_PV%%[.+]*}" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" + +# lto temporarily disabled due to https://bugs.gentoo.org/916735 +IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap selinux source +system-bootstrap systemtap" + +REQUIRED_USE=" + javafx? ( alsa !headless-awt ) + !system-bootstrap? ( jbootstrap ) + !system-bootstrap? ( || ( ppc64 x86 ) ) +" + +COMMON_DEPEND=" + media-libs/freetype:2= + media-libs/giflib:0/7 + media-libs/harfbuzz:= + media-libs/libpng:0= + media-libs/lcms:2= + sys-libs/zlib + media-libs/libjpeg-turbo:0= + systemtap? ( dev-debug/systemtap ) +" + +# Many libs are required to build, but not to run, make is possible to remove +# by listing conditionally in RDEPEND unconditionally in DEPEND +RDEPEND=" + ${COMMON_DEPEND} + >=sys-apps/baselayout-java-0.1.0-r1 + !headless-awt? ( + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libXt + x11-libs/libXtst + ) + alsa? ( media-libs/alsa-lib ) + cups? ( net-print/cups ) + selinux? ( sec-policy/selinux-java ) +" + +DEPEND=" + ${COMMON_DEPEND} + app-arch/zip + media-libs/alsa-lib + net-print/cups + x11-base/xorg-proto + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libXt + x11-libs/libXtst + javafx? ( dev-java/openjfx:${SLOT}= ) + system-bootstrap? ( + || ( + dev-java/openjdk-bin:${SLOT} + dev-java/openjdk:${SLOT} + ) + ) +" + +# The space required to build varies wildly depending on USE flags, +# ranging from 2GB to 16GB. This function is certainly not exact but +# should be close enough to be useful. +openjdk_check_requirements() { + local M + M=2048 + M=$(( $(usex jbootstrap 2 1) * $M )) + M=$(( $(usex debug 3 1) * $M )) + M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M )) + + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +pkg_pretend() { + openjdk_check_requirements + if [[ ${MERGE_TYPE} != binary ]]; then + has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876" + fi +} + +pkg_setup() { + openjdk_check_requirements + java-vm-2_pkg_setup + + [[ ${MERGE_TYPE} == "binary" ]] && return + + JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}" + JAVA_PKG_WANT_SOURCE="${SLOT}" + JAVA_PKG_WANT_TARGET="${SLOT}" + + # The nastiness below is necessary while the gentoo-vm USE flag is + # masked. First we call java-pkg-2_pkg_setup if it looks like the + # flag was unmasked against one of the possible build VMs. If not, + # we try finding one of them in their expected locations. This would + # have been slightly less messy if openjdk-bin had been installed to + # /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env + # file but disable it so that it would not normally be selectable. + + local vm + for vm in ${JAVA_PKG_WANT_BUILD_VM}; do + if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then + java-pkg-2_pkg_setup + return + fi + done +} + +src_prepare() { + default + chmod +x configure || die +} + +src_configure() { + if has_version dev-java/openjdk:${SLOT}; then + export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-${SLOT} + elif use !system-bootstrap ; then + local xpakvar="${ARCH^^}_XPAK" + export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}" + else + JDK_HOME=$(best_version -b dev-java/openjdk-bin:${SLOT}) + [[ -n ${JDK_HOME} ]] || die "Build VM not found!" + JDK_HOME=${JDK_HOME#*/} + JDK_HOME=${BROOT}/opt/${JDK_HOME%-r*} + export JDK_HOME + fi + + # Work around stack alignment issue, bug #647954. in case we ever have x86 + use x86 && append-flags -mincoming-stack-boundary=2 + + # bug 906987; append-cppflags doesnt work + use elibc_musl && append-flags -D_LARGEFILE64_SOURCE + + # Strip some flags users may set, but should not. #818502 + filter-flags -fexceptions + + # Strip lto related flags, we rely on USE=lto and --with-jvm-features=link-time-opt + # https://bugs.gentoo.org/833097 + # https://bugs.gentoo.org/833098 + filter-lto + filter-flags -fdevirtualize-at-ltrans + + # Enabling full docs appears to break doc building. If not + # explicitly disabled, the flag will get auto-enabled if pandoc and + # graphviz are detected. pandoc has loads of dependencies anyway. + + local myconf=( + --disable-ccache + --disable-precompiled-headers + --disable-warnings-as-errors + --enable-full-docs=no + --with-boot-jdk="${JDK_HOME}" + --with-extra-cflags="${CFLAGS}" + --with-extra-cxxflags="${CXXFLAGS}" + --with-extra-ldflags="${LDFLAGS}" + --with-freetype="${XPAK_BOOTSTRAP:-system}" + --with-giflib="${XPAK_BOOTSTRAP:-system}" + --with-harfbuzz="${XPAK_BOOTSTRAP:-system}" + --with-lcms="${XPAK_BOOTSTRAP:-system}" + --with-libjpeg="${XPAK_BOOTSTRAP:-system}" + --with-libpng="${XPAK_BOOTSTRAP:-system}" + --with-stdc++lib=dynamic + --with-native-debug-symbols=$(usex debug internal none) + --with-vendor-name="Gentoo" + --with-vendor-url="https://gentoo.org" + --with-vendor-bug-url="https://bugs.gentoo.org" + --with-vendor-vm-bug-url="https://bugs.openjdk.java.net" + --with-vendor-version-string="${PVR}" + --with-version-pre="" + --with-version-string="${PV%_p*}" + --with-version-build="${PV#*_p}" + --with-zlib="${XPAK_BOOTSTRAP:-system}" + --enable-jvm-feature-dtrace=$(usex systemtap yes no) + --enable-headless-only=$(usex headless-awt yes no) + $(tc-is-clang && echo "--with-toolchain-type=clang") + ) + + use riscv && myconf+=( --with-boot-jdk-jvmargs="-Djdk.lang.Process.launchMechanism=vfork" ) + + # Werror=odr + # https://bugs.gentoo.org/916735 + # + # Disable it for now. + #use lto && myconf+=( --with-jvm-features=link-time-opt ) + + if use javafx; then + local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip" + if [[ -r ${zip} ]]; then + myconf+=( --with-import-modules="${zip}" ) + else + die "${zip} not found or not readable" + fi + fi + + # Workaround for bug #938302 + if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then + myconf+=( DTRACE="${BROOT}"/usr/bin/stap-dtrace ) + fi + + if use !system-bootstrap ; then + addpredict /dev/random + addpredict /proc/self/coredump_filter + fi + + ( + unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS + CFLAGS= CXXFLAGS= LDFLAGS= \ + CONFIG_SITE=/dev/null \ + econf "${myconf[@]}" + ) +} + +src_compile() { + # Too brittle - gets confused by e.g. -Oline + export MAKEOPTS="-j$(makeopts_jobs) -l$(makeopts_loadavg)" + unset GNUMAKEFLAGS MAKEFLAGS + + local myemakeargs=( + JOBS=$(makeopts_jobs) + LOG=debug + CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror + NICE= # Use PORTAGE_NICENESS, don't adjust further down + $(usex doc docs '') + $(usex jbootstrap bootcycle-images product-images) + ) + emake "${myemakeargs[@]}" -j1 +} + +src_install() { + local dest="/usr/$(get_libdir)/${PN}-${SLOT}" + local ddest="${ED}/${dest#/}" + + cd "${S}"/build/*-release/images/jdk || die + + # Create files used as storage for system preferences. + mkdir .systemPrefs || die + touch .systemPrefs/.system.lock || die + touch .systemPrefs/.systemRootModFile || die + + # Oracle and IcedTea have libjsoundalsa.so depending on + # libasound.so.2 but OpenJDK only has libjsound.so. Weird. + if ! use alsa ; then + rm -v lib/libjsound.* || die + fi + + if ! use examples ; then + rm -vr demo/ || die + fi + + if ! use source ; then + rm -v lib/src.zip || die + fi + + rm -v lib/security/cacerts || die + + dodir "${dest}" + cp -pPR * "${ddest}" || die + + dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts + + # must be done before running itself + java-vm_set-pax-markings "${ddest}" + + einfo "Creating the Class Data Sharing archives and disabling usage tracking" + "${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die + + java-vm_install-env "${FILESDIR}"/${PN}.env.sh + java-vm_revdep-mask + java-vm_sandbox-predict /dev/random /proc/self/coredump_filter + + if use doc ; then + docinto html + dodoc -r "${S}"/build/*-release/images/docs/* + dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}" + fi +} + +pkg_postinst() { + java-vm-2_pkg_postinst +} diff --git a/dev-java/openjdk/openjdk-25_p5.ebuild b/dev-java/openjdk/openjdk-25_p7.ebuild index 8d8d8b9b9b4f..8d8d8b9b9b4f 100644 --- a/dev-java/openjdk/openjdk-25_p5.ebuild +++ b/dev-java/openjdk/openjdk-25_p7.ebuild diff --git a/dev-java/openjdk/openjdk-8.442_p06.ebuild b/dev-java/openjdk/openjdk-8.442_p06.ebuild new file mode 100644 index 000000000000..c85e0700422d --- /dev/null +++ b/dev-java/openjdk/openjdk-8.442_p06.ebuild @@ -0,0 +1,283 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs + +# don't change versioning scheme +# to find correct _p number, look at +# https://github.com/openjdk/jdk${SLOT}u/tags +# you will see, for example, jdk-17.0.4.1-ga and jdk-17.0.4.1+1, both point +# to exact same commit sha. we should always use the full version. +# -ga tag is just for humans to easily identify General Availability release tag. +# we need -ga tag to fetch tarball and unpack it, but exact number everywhere else to +# set build version properly +MY_PV="$(ver_rs 1 'u' 2 '-' ${PV%_p*}-ga)" + +# variable name format: <UPPERCASE_KEYWORD>_XPAK +X86_XPAK="8.402_p06" +PPC64_XPAK="8.402_p06" + +# Usage: bootstrap_uri <keyword> <version> [extracond] +# Example: $(bootstrap_uri x86 8.402_p06) +# Output: ppc64? ( big-endian? ( https://...8.402_p06-x86.tar.xz ) ) +bootstrap_uri() { + local baseuri="https://dev.gentoo.org/~arthurzam/distfiles/dev-java/${PN}/${PN}-bootstrap" + local suff="tar.xz" + local kw="${1:?${FUNCNAME[0]}: keyword not specified}" + local ver="${2:?${FUNCNAME[0]}: version not specified}" + local cond="${3-}" + + # here be dragons + echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}.${suff} ${cond:+) })" +} + +DESCRIPTION="Open source implementation of the Java programming language" +HOMEPAGE="https://openjdk.org" +SRC_URI=" + https://github.com/openjdk/jdk8u/archive/jdk${MY_PV}.tar.gz + -> ${P}.tar.gz + !system-bootstrap? ( + $(bootstrap_uri x86 ${X86_XPAK}) + $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian) + ) +" +S="${WORKDIR}/jdk${SLOT}u-jdk${MY_PV}" + +LICENSE="GPL-2-with-classpath-exception" +SLOT="${PV%%[.+]*}" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" +IUSE="alsa big-endian debug cups doc examples headless-awt javafx +jbootstrap selinux system-bootstrap source" + +COMMON_DEPEND=" + media-libs/freetype:2= + media-libs/giflib:0/7 + sys-libs/zlib +" +# Many libs are required to build, but not to run, make is possible to remove +# by listing conditionally in RDEPEND unconditionally in DEPEND +RDEPEND=" + ${COMMON_DEPEND} + >=sys-apps/baselayout-java-0.1.0-r1 + !headless-awt? ( + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrender + x11-libs/libXt + x11-libs/libXtst + ) + alsa? ( media-libs/alsa-lib ) + cups? ( net-print/cups ) + selinux? ( sec-policy/selinux-java ) +" + +DEPEND=" + ${COMMON_DEPEND} + app-arch/zip + media-libs/alsa-lib + net-print/cups + virtual/pkgconfig + x11-base/xorg-proto + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrender + x11-libs/libXt + x11-libs/libXtst + system-bootstrap? ( + || ( + dev-java/openjdk-bin:${SLOT} + dev-java/openjdk:${SLOT} + ) + ) +" + +BDEPEND=" + virtual/pkgconfig +" + +PDEPEND="javafx? ( dev-java/openjfx:${SLOT} )" + +PATCHES=( + "${FILESDIR}/openjdk-8-insantiate-arrayallocator.patch" + "${FILESDIR}/openjdk-8.402_p06-0001-Fix-Wint-conversion.patch" + "${FILESDIR}/openjdk-8.402_p06-0002-Fix-Wincompatible-pointer-types.patch" + "${FILESDIR}/openjdk-8.402_p06-0003-Fix-negative-value-left-shift.patch" + "${FILESDIR}/openjdk-8.402_p06-0004-Fix-misc.-warnings.patch" +) + +# The space required to build varies wildly depending on USE flags, +# ranging from 2GB to 16GB. This function is certainly not exact but +# should be close enough to be useful. +openjdk_check_requirements() { + local M + M=2048 + M=$(( $(usex debug 3 1) * $M )) + M=$(( $(usex jbootstrap 2 1) * $M )) + M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M )) + + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +pkg_pretend() { + openjdk_check_requirements + if [[ ${MERGE_TYPE} != binary ]]; then + has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876" + fi +} + +pkg_setup() { + openjdk_check_requirements + java-vm-2_pkg_setup + + [[ ${MERGE_TYPE} == "binary" ]] && return + + JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}" + JAVA_PKG_WANT_SOURCE="${SLOT}" + JAVA_PKG_WANT_TARGET="${SLOT}" + + if use system-bootstrap; then + for vm in ${JAVA_PKG_WANT_BUILD_VM}; do + if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then + java-pkg-2_pkg_setup + return + fi + done + fi +} + +src_prepare() { + default + + # new warnings in new gcc https://bugs.gentoo.org/685426 + sed -i '/^WARNINGS_ARE_ERRORS/ s/-Werror/-Wno-error/' \ + hotspot/make/linux/makefiles/gcc.make || die + + chmod +x configure || die +} + +src_configure() { + if ! use system-bootstrap; then + local xpakvar="${ARCH^^}_XPAK" + export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}" + fi + + # general build info found here: + # https://hg.openjdk.java.net/jdk8/jdk8/raw-file/tip/README-builds.html + + # -Wregister use (bug #918655) + append-cxxflags -std=gnu++14 + + # Work around stack alignment issue, bug #647954. + use x86 && append-flags -mincoming-stack-boundary=2 + + # Strip some flags users may set, but should not. #818502 + filter-flags -fexceptions + + # Strip lto related flags, no support in this version. + # https://bugs.gentoo.org/833097 + # https://bugs.gentoo.org/833098 + filter-lto + filter-flags -fdevirtualize-at-ltrans + + tc-export_build_env CC CXX PKG_CONFIG STRIP + + local myconf=( + --disable-ccache + --disable-freetype-bundling + --disable-precompiled-headers + --enable-unlimited-crypto + --with-boot-jdk="${JDK_HOME}" + --with-extra-cflags="${CFLAGS}" + --with-extra-cxxflags="${CXXFLAGS}" + --with-extra-ldflags="${LDFLAGS}" + --with-freetype-lib="$( $(tc-getPKG_CONFIG) --variable=libdir freetype2 )" + --with-freetype-include="$( $(tc-getPKG_CONFIG) --variable=includedir freetype2)/freetype2" + --with-giflib="${XPAK_BOOTSTRAP:-system}" + --with-jtreg=no + --with-jobs=1 + --with-num-cores=1 + --with-update-version="$(ver_cut 2)" + --with-build-number="b$(ver_cut 4)" + --with-milestone="fcs" # magic variable that means "release version" + --with-vendor-name="Gentoo" + --with-vendor-url="https://gentoo.org" + --with-vendor-bug-url="https://bugs.gentoo.org" + --with-vendor-vm-bug-url="https://bugs.openjdk.java.net" + --with-zlib="${XPAK_BOOTSTRAP:-system}" + --with-native-debug-symbols=$(usex debug internal none) + $(usex headless-awt --disable-headful '') + $(tc-is-clang && echo "--with-toolchain-type=clang") + ) + + ( + unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC MAKE XARGS + CFLAGS= CXXFLAGS= LDFLAGS= \ + CONFIG_SITE=/dev/null \ + CONFIG_SHELL="${BROOT}/bin/bash" + econf "${myconf[@]}" + ) +} + +src_compile() { + # Too brittle - gets confused by e.g. -Oline + export MAKEOPTS="-j$(makeopts_jobs) -l$(makeopts_loadavg)" + unset GNUMAKEFLAGS MAKEFLAGS + + local myemakeargs=( + JOBS=$(makeopts_jobs) + LOG=debug + CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror + NICE= # Use PORTAGE_NICENESS, don't adjust further down + $(usex doc docs '') + $(usex jbootstrap bootcycle-images images) + ) + emake "${myemakeargs[@]}" -j1 +} + +src_install() { + local dest="/usr/$(get_libdir)/${PN}-${SLOT}" + local ddest="${ED}/${dest#/}" + + cd "${S}"/build/*-release/images/j2sdk-image || die + + if ! use alsa; then + rm -v jre/lib/$(get_system_arch)/libjsoundalsa.* || die + fi + + # build system does not remove that + if use headless-awt ; then + rm -fvr jre/lib/$(get_system_arch)/lib*{[jx]awt,splashscreen}* \ + {,jre/}bin/policytool bin/appletviewer || die + fi + + if ! use examples ; then + rm -vr demo/ || die + fi + + if ! use source ; then + rm -v src.zip || die + fi + + dodir "${dest}" + cp -pPR * "${ddest}" || die + + dosym -r /etc/ssl/certs/java/cacerts "${dest}"/jre/lib/security/cacerts + + java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh + java-vm_set-pax-markings "${ddest}" + java-vm_revdep-mask + java-vm_sandbox-predict /dev/random /proc/self/coredump_filter + + if use doc ; then + docinto html + dodoc -r "${S}"/build/*-release/docs/* + fi +} + +pkg_postinst() { + java-vm-2_pkg_postinst + einfo "JavaWebStart functionality provided by icedtea-web package" +} diff --git a/dev-java/scram/Manifest b/dev-java/scram/Manifest index cd3ccaa01b42..74211bc268b2 100644 --- a/dev-java/scram/Manifest +++ b/dev-java/scram/Manifest @@ -1,2 +1 @@ -DIST scram-2.1.tar.bz2 52442 BLAKE2B e9ec2367251770c4adb3d4bf62702c8ca13264fd12270dfb4f138c740536eb508a383486a81e1ab2bb0f8d4792642d033180c0e43ac287917543249fd16c8a76 SHA512 e2807d2c4b7984b5d9f53cb5ea6f9b2c2d5b48b5e695f25fb775cb3f22672851a9299cfe95912f109205c74817cf9f2fd706f8d49e473257e2571f409ec34044 DIST scram-3.1.tar.gz 70163 BLAKE2B f91c8eeb81e5518f2b238e363db94a17af6ff19aa43e693483d46cff57ca52b73490ddb78782a06e72fa417ebee6b3977ed9e42c25bfc844cb455ce0a5c112ee SHA512 9602c25c4e5c6efb04c334b8c89abaa2e50986c0f91f958792d55184f0d6242e6aeec495b408a55df4bc97eaab838bfdc6bb5f70b62665e6953a87bb5dc63ac6 diff --git a/dev-java/scram/scram-2.1.ebuild b/dev-java/scram/scram-2.1.ebuild deleted file mode 100644 index fc3c8a03ce1a..000000000000 --- a/dev-java/scram/scram-2.1.ebuild +++ /dev/null @@ -1,81 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -JAVA_PKG_IUSE="doc source test" -MAVEN_ID="com.ongres.scram:client:2.1" -JAVA_TESTING_FRAMEWORKS="junit-4" - -inherit java-pkg-2 java-pkg-simple - -DESCRIPTION="Java Implementation of the Salted Challenge Response Authentication Mechanism" -HOMEPAGE="https://gitlab.com/ongresinc/scram" -SRC_URI="https://gitlab.com/ongresinc/${PN}/-/archive/${PV}/${P}.tar.bz2" -S="${WORKDIR}/${P}" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="amd64 ~ppc64" - -CP_DEPEND="dev-java/saslprep:0" - -DEPEND="${CP_DEPEND} - dev-java/findbugs-annotations:0 - dev-java/jsr305:0 - >=virtual/jdk-1.8:* - test? ( dev-java/stringprep:0 ) -" - -RDEPEND="${CP_DEPEND} - >=virtual/jre-1.8:* -" - -DOCS=( CHANGELOG NOTICE README.md ) - -JAVADOC_CLASSPATH=" - findbugs-annotations - saslprep -" -JAVADOC_SRC_DIRS=( - "common/src/main/java" - "client/src/main/java" -) -JAVA_CLASSPATH_EXTRA="findbugs-annotations,jsr305" -JAVA_TEST_GENTOO_CLASSPATH="junit-4,stringprep" - -src_compile() { - einfo "Compiling module common" - JAVA_SRC_DIR="common/src/main/java" - JAVA_JAR_FILENAME="common.jar" - java-pkg-simple_src_compile - JAVA_GENTOO_CLASSPATH_EXTRA+=":common.jar" - rm -r target || die - - einfo "Compiling module client" - JAVA_SRC_DIR="client/src/main/java" - JAVA_JAR_FILENAME="client.jar" - java-pkg-simple_src_compile - JAVA_GENTOO_CLASSPATH_EXTRA+=":client.jar" - rm -r target || die - - use doc && ejavadoc -} - -src_test() { - cp -r {common,client}/src/test/java || die - - einfo "Testing module cwclientcommon" - JAVA_TEST_SRC_DIR="client/src/test/java" - java-pkg-simple_src_test -} - -src_install() { - JAVA_JAR_FILENAME="client.jar" - java-pkg-simple_src_install - java-pkg_dojar "common.jar" - if use source; then - java-pkg_dosrc "common/src/main/java/*" - java-pkg_dosrc "client/src/main/java/*" - fi -} diff --git a/dev-java/stringprep/Manifest b/dev-java/stringprep/Manifest index 94368f737726..8682e4995cc8 100644 --- a/dev-java/stringprep/Manifest +++ b/dev-java/stringprep/Manifest @@ -1,2 +1 @@ -DIST stringprep-1.1-sources.jar 23229 BLAKE2B f347262c7b3a7632c94111226333e964b51a3bb8af357b79a62e1f457c5fccd845cb2d232f8d3cca4fc149c2341b962724397eff53224ade10f492a17298a00c SHA512 88cec43ad19a7a2a6194a62999fecb35e17ff04127d72fb0990f4003e41af1d3a5aeb8b2cc3c0c87165cdcb005963faf244f05d78c6f00aac0ab1835d336e565 DIST stringprep-2.2.tar.gz 89428 BLAKE2B 1453bc3f6ffcf2cbb245c1e18bec1d3b0f7955f63727370c8dfce3e94bce2d880b6c24b91c59b52cbc8bc42330324ae3be7e750d3ecddfa04fd711bdbd171ef3 SHA512 ccaa184016c202b0343f15ce00e91b39d6f1d759904e501d67854142527fb96cf0accf8ef49fda463a0be5257ca3a6ea68f09661dba26ae9c0c25ad80af8ecb4 diff --git a/dev-java/stringprep/stringprep-1.1.ebuild b/dev-java/stringprep/stringprep-1.1.ebuild deleted file mode 100644 index 142c8b3c1a14..000000000000 --- a/dev-java/stringprep/stringprep-1.1.ebuild +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -JAVA_PKG_IUSE="doc source" -MAVEN_ID="com.ongres.stringprep:stringprep:1.1" - -inherit java-pkg-2 java-pkg-simple - -DESCRIPTION="SASLprep: Stringprep Profile for User Names and Passwords" -HOMEPAGE="https://gitlab.com/ongresinc/stringprep" -SRC_URI="https://repo1.maven.org/maven2/com/ongres/stringprep/stringprep/${PV}/stringprep-${PV}-sources.jar" - -LICENSE="BSD-2" -SLOT="0" -KEYWORDS="amd64 ~ppc64" - -DEPEND=">=virtual/jdk-1.8:*" -RDEPEND=">=virtual/jre-1.8:*" diff --git a/dev-java/waffle-jna/waffle-jna-3.3.0.ebuild b/dev-java/waffle-jna/waffle-jna-3.3.0.ebuild index 94c43ff2575a..5b63501c0254 100644 --- a/dev-java/waffle-jna/waffle-jna-3.3.0.ebuild +++ b/dev-java/waffle-jna/waffle-jna-3.3.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 2023-2024 Gentoo Authors +# Copyright 2023-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -16,7 +16,7 @@ S="${WORKDIR}/waffle-waffle-parent-${PV}/Source/JNA/waffle-jna" LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 ppc64" +KEYWORDS="amd64" RESTRICT="test" #839681 DEPEND=" |
