From dd7c7f0914b2eb83ac283441de30766578426392 Mon Sep 17 00:00:00 2001 From: Crucible Date: Wed, 21 Oct 2026 17:46:18 -0500 Subject: Publish srcux candidate 0000000776-20261021-173123 --- dev-java/automaton/Manifest | 1 + dev-java/automaton/automaton-1.12.4.ebuild | 42 ++++++ dev-java/automaton/metadata.xml | 9 ++ dev-java/axmlprinter2/Manifest | 1 + dev-java/axmlprinter2/axmlprinter2-1.0.ebuild | 24 ++++ dev-java/axmlprinter2/metadata.xml | 9 ++ dev-java/permit-reflect/Manifest | 1 + dev-java/permit-reflect/metadata.xml | 9 ++ dev-java/permit-reflect/permit-reflect-0.4.ebuild | 23 ++++ dev-java/scala-cli-bin/Manifest | 6 +- dev-java/scala-cli-bin/scala-cli-bin-1.10.1.ebuild | 76 ----------- dev-java/scala-cli-bin/scala-cli-bin-1.18.0.ebuild | 76 +++++++++++ dev-java/yajsw/Manifest | 1 + dev-java/yajsw/files/yajsw-14.01-build-fixes.patch | 42 ++++++ dev-java/yajsw/files/yajsw-14.01-javadoc.patch | 15 ++ dev-java/yajsw/files/yajsw-14.01-keystore.patch | 13 ++ dev-java/yajsw/files/yajsw-14.01-paths.patch | 37 +++++ dev-java/yajsw/files/yajsw-14.01-system-libs.patch | 112 +++++++++++++++ .../yajsw/files/yajsw-14.01-system-native.patch | 26 ++++ dev-java/yajsw/metadata.xml | 15 ++ dev-java/yajsw/yajsw-14.01.ebuild | 151 +++++++++++++++++++++ 21 files changed, 610 insertions(+), 79 deletions(-) create mode 100644 dev-java/automaton/Manifest create mode 100644 dev-java/automaton/automaton-1.12.4.ebuild create mode 100644 dev-java/automaton/metadata.xml create mode 100644 dev-java/axmlprinter2/Manifest create mode 100644 dev-java/axmlprinter2/axmlprinter2-1.0.ebuild create mode 100644 dev-java/axmlprinter2/metadata.xml create mode 100644 dev-java/permit-reflect/Manifest create mode 100644 dev-java/permit-reflect/metadata.xml create mode 100644 dev-java/permit-reflect/permit-reflect-0.4.ebuild delete mode 100644 dev-java/scala-cli-bin/scala-cli-bin-1.10.1.ebuild create mode 100644 dev-java/scala-cli-bin/scala-cli-bin-1.18.0.ebuild create mode 100644 dev-java/yajsw/Manifest create mode 100644 dev-java/yajsw/files/yajsw-14.01-build-fixes.patch create mode 100644 dev-java/yajsw/files/yajsw-14.01-javadoc.patch create mode 100644 dev-java/yajsw/files/yajsw-14.01-keystore.patch create mode 100644 dev-java/yajsw/files/yajsw-14.01-paths.patch create mode 100644 dev-java/yajsw/files/yajsw-14.01-system-libs.patch create mode 100644 dev-java/yajsw/files/yajsw-14.01-system-native.patch create mode 100644 dev-java/yajsw/metadata.xml create mode 100644 dev-java/yajsw/yajsw-14.01.ebuild (limited to 'dev-java') diff --git a/dev-java/automaton/Manifest b/dev-java/automaton/Manifest new file mode 100644 index 000000000000..6d2b1817c43d --- /dev/null +++ b/dev-java/automaton/Manifest @@ -0,0 +1 @@ +DIST automaton-1.12-4.tar.gz 396799 BLAKE2B 9dfb80e5a0559778329d42645a4d14867f784ab6c34879bb2f09e2f9ac5e3c797c42ec62c1638285a1a16d3b36e71110b3c7c56b194ad8edbe1cebe34499cae0 SHA512 73a1d4036061df75a64ff887d4aa8c065b23d73daec6c5f492234ec9d3cfb6bd5a428a5743d0dd04be185b715245aeb0b4966c653c643c23ad8c5def56c3e481 diff --git a/dev-java/automaton/automaton-1.12.4.ebuild b/dev-java/automaton/automaton-1.12.4.ebuild new file mode 100644 index 000000000000..c35955a28d24 --- /dev/null +++ b/dev-java/automaton/automaton-1.12.4.ebuild @@ -0,0 +1,42 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +JAVA_PKG_IUSE="doc source" + +inherit java-pkg-2 java-pkg-simple + +MY_P="${PN}-${PV%.*}-${PV##*.}" + +DESCRIPTION="Finite-state automata and regular expressions for Java" +HOMEPAGE="https://www.brics.dk/automaton/" +SRC_URI="https://www.brics.dk/automaton/${MY_P}.tar.gz" +S="${WORKDIR}/${MY_P%-*}" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND=">=virtual/jdk-1.8:*" +RDEPEND=">=virtual/jre-1.8:*" + +JAVA_SRC_DIR="src" + +src_compile() { + java-pkg-simple_src_compile + + mkdir datatypes || die + java -cp "${JAVA_JAR_FILENAME}" -Ddk.brics.automaton.datatypes=datatypes \ + dk.brics.automaton.Datatypes || die + + jar tf dist/automaton.jar > "${T}/upstream-entries" || die + grep '\.aut$' "${T}/upstream-entries" > "${T}/expected-datatypes" || die + + local datatype + while IFS= read -r datatype; do + [[ -s datatypes/${datatype} ]] || die "Missing or empty datatype: ${datatype}" + done < "${T}/expected-datatypes" + + java-pkg_addres "${JAVA_JAR_FILENAME}" datatypes +} diff --git a/dev-java/automaton/metadata.xml b/dev-java/automaton/metadata.xml new file mode 100644 index 000000000000..6bef585ad480 --- /dev/null +++ b/dev-java/automaton/metadata.xml @@ -0,0 +1,9 @@ + + + + + mit.mis@gmail.com + Michal Andrzejczak + + srcux + diff --git a/dev-java/axmlprinter2/Manifest b/dev-java/axmlprinter2/Manifest new file mode 100644 index 000000000000..455f55a43eb9 --- /dev/null +++ b/dev-java/axmlprinter2/Manifest @@ -0,0 +1 @@ +DIST axmlprinter2-1.0.zip 39688 BLAKE2B 61d85c4f8c67bc18dedb101cdfe3db6d4fb2dc14d87a46875581a3570769276ca86e18033a4f5fa4d01c77b12cfed580693bf5efd3c8e3153e6781508a3a8ee4 SHA512 876fc13a3e033982673f0d8d6f7081bc3d4f81893e7dc069048f81aec41e2e35a388909b3ebe387792c0286986647e11b7341918beffec4b1d803cd88b34dfc1 diff --git a/dev-java/axmlprinter2/axmlprinter2-1.0.ebuild b/dev-java/axmlprinter2/axmlprinter2-1.0.ebuild new file mode 100644 index 000000000000..e49f2880f085 --- /dev/null +++ b/dev-java/axmlprinter2/axmlprinter2-1.0.ebuild @@ -0,0 +1,24 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +JAVA_PKG_IUSE="doc source" + +inherit java-pkg-2 java-pkg-simple + +DESCRIPTION="Parser and printer for Android binary XML" +HOMEPAGE="https://code.google.com/archive/p/android4me/" +SRC_URI="https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/android4me/AXMLPrinter2.zip + -> ${P}.zip" +S="${WORKDIR}/AXMLPrinter" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND=">=virtual/jdk-11:*" +RDEPEND=">=virtual/jre-1.8:*" +BDEPEND="app-arch/unzip" + +JAVA_SRC_DIR="src" diff --git a/dev-java/axmlprinter2/metadata.xml b/dev-java/axmlprinter2/metadata.xml new file mode 100644 index 000000000000..6bef585ad480 --- /dev/null +++ b/dev-java/axmlprinter2/metadata.xml @@ -0,0 +1,9 @@ + + + + + mit.mis@gmail.com + Michal Andrzejczak + + srcux + diff --git a/dev-java/permit-reflect/Manifest b/dev-java/permit-reflect/Manifest new file mode 100644 index 000000000000..7c3678cc7a4a --- /dev/null +++ b/dev-java/permit-reflect/Manifest @@ -0,0 +1 @@ +DIST permit-reflect-0.4.tar.gz 9339 BLAKE2B fa03e5b7f83aa9ab69489f9885e154a80a7fbd9d81bfb1bb028a06d0a0c66e30d56b754d06fe5d41fc165d12018b2412fb4d0401e9c60a5108cf1b8861c3bd66 SHA512 1bc66108a8bb9332c710c465bc9b654fe855f5303293cf97e9eddcdf66531457e54b4bc74031d4da6f3b4c61dbb6a635d321c56a9fd2a7bf06791b8348cb720f diff --git a/dev-java/permit-reflect/metadata.xml b/dev-java/permit-reflect/metadata.xml new file mode 100644 index 000000000000..6bef585ad480 --- /dev/null +++ b/dev-java/permit-reflect/metadata.xml @@ -0,0 +1,9 @@ + + + + + mit.mis@gmail.com + Michal Andrzejczak + + srcux + diff --git a/dev-java/permit-reflect/permit-reflect-0.4.ebuild b/dev-java/permit-reflect/permit-reflect-0.4.ebuild new file mode 100644 index 000000000000..4b3c1cb6efb6 --- /dev/null +++ b/dev-java/permit-reflect/permit-reflect-0.4.ebuild @@ -0,0 +1,23 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +JAVA_PKG_IUSE="doc source" + +inherit java-pkg-2 java-pkg-simple + +COMMIT="ae7fc51f0160f73cacd1b763a1edaca3d66afaff" +DESCRIPTION="Reflection utilities for Java modules" +HOMEPAGE="https://github.com/nqzero/permit-reflect" +SRC_URI="https://github.com/nqzero/permit-reflect/archive/${COMMIT}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-${COMMIT}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND=">=virtual/jdk-11:*" +RDEPEND=">=virtual/jre-1.8:*" + +JAVA_SRC_DIR="src" diff --git a/dev-java/scala-cli-bin/Manifest b/dev-java/scala-cli-bin/Manifest index 495c605e2e49..48254d53d194 100644 --- a/dev-java/scala-cli-bin/Manifest +++ b/dev-java/scala-cli-bin/Manifest @@ -1,9 +1,9 @@ -DIST scala-cli-amd64-1.10.1.gz 40279670 BLAKE2B 99294f1c11f5dd8195c92cd84382ff4371906c3b3cf0aff215c568fbdf2fbf50f72f36b73a81f757ca2c0b6de4e45e808a5e47133a4531eb823e35c93d29fb16 SHA512 bfd41df7117fe86a1103bcc4f74edad4469dc0f87be649ea361c8f4e056b80ecc6c3b316f62fbdf70068aa2be605aa26916fb4e1f4aad1b253508952ec61e197 DIST scala-cli-amd64-1.12.2.gz 43487074 BLAKE2B 421edc8da7aa78c349ec17c80961d732d47376772dfe38fedc61c63b32fdf11b3f60427b23a6cc337150693c908de3a73e62ac1677b232b2b4655d8b064198b3 SHA512 753c518b3e07b6d4b19ff9f17aa465d02771f5264773b9aaf0c096806d525370cf3919077d59ba2f5bc002f6cb3424f774d2d6030b31f922fb5a22ac72be9c6c DIST scala-cli-amd64-1.13.0.gz 44511209 BLAKE2B eb8fdfeefae74280da6718ed01c60a3c3f5ea3c34d01fd58993cbdec4db61723a7a790df0265be1d5ecfc88c468a4b5eccdb82a3f0706df8614aca18d777d581 SHA512 cfb8c73ea67d46d096b76a75091d58d738e04273e6271bb894c65d4c9ab6739c2816eadd51bea6363eeff2c4e67cbfc2fc854255c86c875e51089f0275660e05 -DIST scala-cli-arm64-1.10.1.gz 40359451 BLAKE2B 4a308f920dee098cc61e69dc80215ccacd5f84523c01994a193cc1debb79fcc7bfced28b77d6722e56d809abf21fb1ac0729b3439cd2c9edda8073710c5995e0 SHA512 8977471c1e70d9a9be904b7e607d5d6600e9d8e6ab9ede96151f1290135d1c7b6153a9bc9656393f8395d6be6c7c7121414fbb86dcaa54a92fc671dfd8c586c6 +DIST scala-cli-amd64-1.18.0.gz 44596867 BLAKE2B 0da5f4707e77ab43975f53651403331cabdc15513c402639aec17fa919775c01aafaaacdd33ae8a6dfe282427317cc6c7c1bb591e809f2ff575f175a3a17456b SHA512 55d50265837a6bec97ecb45169ae2c4e7348a046e216502f1646e0ad80832ebf60f49dac00d822a67788ec8fbef84eefd3e43d356359e53edf72aabbf4056d1b DIST scala-cli-arm64-1.12.2.gz 42325724 BLAKE2B 01bc0e06f4be92d16bc18588813ede4cdd9d850803363ff9da75168141c45bf73ef8858431d792917338ec099954562c8f424b91a4c02d30db90c2ae98757a45 SHA512 0def09042c078c230c6c8577768dcb8a3b0c4346ec1cb9b3b9b7fdb844fe12755c7fd005f09098957db4561931946951a1be18c8d975bfe4d15a2ead4fa50562 DIST scala-cli-arm64-1.13.0.gz 43365263 BLAKE2B 9c7340b6a5df7af76c1f3cb0cf003c237ced92c38288a2ce628fdce1a05c6ea54e7f43b635cebceeaadc5887f19a068e3eaa4ba6c31efa6e95b0e264edc25db7 SHA512 77af2f9b76ae8b53348d81e9f3386599a9c6b13dc1320b2545b287056c0275bc6f8b44dd848a6da3f3471445caebac0e151d68699f11b456be74884fe39cb0f2 -DIST scala-cli-non-native-1.10.1 8207066 BLAKE2B f53ae775e4f9f31958bf6de351e7b74b4fdda95f26a6c19772dcaf18148b5b358bd8c64980cbebf6386849d47b861c788bc8d62c222289638dd18c0836f4cc37 SHA512 e7a967df5c3d39f388a243ac630c2b7a8dc360d0c18c770f0ce6b10879ac77c5047890a06cd2460d00a851d57f2e1d6cb4bdccbb08319362699a379139801289 +DIST scala-cli-arm64-1.18.0.gz 43487404 BLAKE2B 5533d05314d35d33c13509ba10cf0d56d0d57a607e7a715f74197d5baa3aa580c28349984072c5d929d2bf6da038db5f70c2a68eaf2416e71e18383944436c57 SHA512 67feedf5bd2f8c47f872fff7a717b752a0562e05cba96d6ffb866550c531ff4555864bbd5883a09fb79502005d0a615165a9ad0c6e874b29ca940d402cafed6d DIST scala-cli-non-native-1.12.2 8250773 BLAKE2B 9e37e38af1907a7a1b1e90e018530edd12986f59b4a333da704c4f219dcd243b3fdd8f4cb13de50732b0977d5de7b2359aa914be10837fb04e57d5b1eee088f5 SHA512 d134f3958a8a9d0c15918c51a7e0cebcaa963d1b7d85137bdd984a666db51d7083274bde05274f67bec4bc6287e87469b633eecf8b657b814686099adb4d4334 DIST scala-cli-non-native-1.13.0 8372435 BLAKE2B 09a40e45d2cc55881676cfea7812cfbd60bbceb4aa6f3ab8d6a4f57c11ae6bfbe9af6c0f86080429ecec41e5cd5d311040e1de429b922e5c33f2c5f9125ca115 SHA512 78bb708d27eed3e8037cfec96e9994f0286c54f75889854dedf762b9431ccdbea7ccf126f0a301c6e24d10a8e8512b885811b7692176193e4f53b3caba22d016 +DIST scala-cli-non-native-1.18.0 8411307 BLAKE2B d6aeedaa81f1bcaa68db8bf14c12c193e85a4f44fcb9e4067251625c9077002d0687003fd05eb0569d1b31e01d7a5786bd48faa525d2a079b62b9d2fdd44ad65 SHA512 3d858395ac39629808e5ca9812ad76f0def515146a7abdc80b9d61dbf970d930aa404ba5d67d18057c5a78edfd4dd0a57dad0bceff4ec04a720caa264f12e6ff diff --git a/dev-java/scala-cli-bin/scala-cli-bin-1.10.1.ebuild b/dev-java/scala-cli-bin/scala-cli-bin-1.10.1.ebuild deleted file mode 100644 index dddc219a8a44..000000000000 --- a/dev-java/scala-cli-bin/scala-cli-bin-1.10.1.ebuild +++ /dev/null @@ -1,76 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit shell-completion - -UPSTREAM_PV=${PV/_/-} -UPSTREAM_PV=${UPSTREAM_PV/rc/RC} - -DESCRIPTION="CLI to interact with Scala and Java" -HOMEPAGE="https://scala-cli.virtuslab.org/" -SRC_URI=" - !amd64? ( !arm64? ( - https://github.com/VirtusLab/scala-cli/releases/download/v${UPSTREAM_PV}/scala-cli - -> scala-cli-non-native-${UPSTREAM_PV} - ) ) - amd64? ( - https://github.com/VirtusLab/scala-cli/releases/download/v${UPSTREAM_PV}/scala-cli-x86_64-pc-linux.gz - -> scala-cli-amd64-${UPSTREAM_PV}.gz - ) - arm64? ( - https://github.com/VirtusLab/scala-cli/releases/download/v${UPSTREAM_PV}/scala-cli-aarch64-pc-linux.gz - -> scala-cli-arm64-${UPSTREAM_PV}.gz - ) -" - -S="${WORKDIR}" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64 arm64" - -# A JRE is not strictly required if native images of scala-cli are used -# (amd64, arm64). However we may want a system JRE anyway, and having JRE -# in RDEPEND reduces the chances that scala-cli needs to install one -# for the user. -RDEPEND=" - >=virtual/jre-11 - virtual/zlib:= -" -BDEPEND="!amd64? ( !arm64? ( >=virtual/jre-11 ) )" - -QA_TEXTRELS="*" -QA_FLAGS_IGNORED="/usr/bin/scala-cli" - -src_prepare() { - default - - if use amd64; then - mv scala-cli-amd64-${UPSTREAM_PV} scala-cli || die - elif use arm64; then - mv scala-cli-arm64-${UPSTREAM_PV} scala-cli || die - else - mv scala-cli-non-native-${UPSTREAM_PV} scala-cli || die - fi - - chmod +x scala-cli || die -} - -src_compile() { - for shell in bash zsh; do - ./scala-cli install-completions \ - --shell ${shell} \ - --env \ - --output "${S}" \ - > ${shell}-completion || die - done -} - -src_install() { - dobin scala-cli - - newbashcomp bash-completion scala-cli - dozshcomp zsh/_scala-cli -} diff --git a/dev-java/scala-cli-bin/scala-cli-bin-1.18.0.ebuild b/dev-java/scala-cli-bin/scala-cli-bin-1.18.0.ebuild new file mode 100644 index 000000000000..68b747d43c99 --- /dev/null +++ b/dev-java/scala-cli-bin/scala-cli-bin-1.18.0.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit shell-completion + +UPSTREAM_PV=${PV/_/-} +UPSTREAM_PV=${UPSTREAM_PV/rc/RC} + +DESCRIPTION="CLI to interact with Scala and Java" +HOMEPAGE="https://scala-cli.virtuslab.org/" +SRC_URI=" + !amd64? ( !arm64? ( + https://github.com/VirtusLab/scala-cli/releases/download/v${UPSTREAM_PV}/scala-cli + -> scala-cli-non-native-${UPSTREAM_PV} + ) ) + amd64? ( + https://github.com/VirtusLab/scala-cli/releases/download/v${UPSTREAM_PV}/scala-cli-x86_64-pc-linux.gz + -> scala-cli-amd64-${UPSTREAM_PV}.gz + ) + arm64? ( + https://github.com/VirtusLab/scala-cli/releases/download/v${UPSTREAM_PV}/scala-cli-aarch64-pc-linux.gz + -> scala-cli-arm64-${UPSTREAM_PV}.gz + ) +" + +S="${WORKDIR}" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +# A JRE is not strictly required if native images of scala-cli are used +# (amd64, arm64). However we may want a system JRE anyway, and having JRE +# in RDEPEND reduces the chances that scala-cli needs to install one +# for the user. +RDEPEND=" + >=virtual/jre-11 + virtual/zlib:= +" +BDEPEND="!amd64? ( !arm64? ( >=virtual/jre-11 ) )" + +QA_TEXTRELS="*" +QA_FLAGS_IGNORED="/usr/bin/scala-cli" + +src_prepare() { + default + + if use amd64; then + mv scala-cli-amd64-${UPSTREAM_PV} scala-cli || die + elif use arm64; then + mv scala-cli-arm64-${UPSTREAM_PV} scala-cli || die + else + mv scala-cli-non-native-${UPSTREAM_PV} scala-cli || die + fi + + chmod +x scala-cli || die +} + +src_compile() { + for shell in bash zsh; do + ./scala-cli install-completions \ + --shell ${shell} \ + --env \ + --output "${S}" \ + > ${shell}-completion || die + done +} + +src_install() { + dobin scala-cli + + newbashcomp bash-completion scala-cli + dozshcomp zsh/_scala-cli +} diff --git a/dev-java/yajsw/Manifest b/dev-java/yajsw/Manifest new file mode 100644 index 000000000000..d04e7122b24c --- /dev/null +++ b/dev-java/yajsw/Manifest @@ -0,0 +1 @@ +DIST yajsw-stable-14.01.zip 26534755 BLAKE2B 42face7f9296e0f851f24246e570a758f94771d5720dff680d12b68a499dcffbb5426d4853e34854d67c07274f6484c34b5f3bb0456baf58651220e403b33662 SHA512 ddef4867e93cfc0ed40b175b92bed8b43f94aa1a243a21fd7b460f72e593c8a71dfdcf867e928a1900361ed76b3bc292f8c1c1d8dfc8295f82ea3125b792a2b0 diff --git a/dev-java/yajsw/files/yajsw-14.01-build-fixes.patch b/dev-java/yajsw/files/yajsw-14.01-build-fixes.patch new file mode 100644 index 000000000000..31386c8a03f1 --- /dev/null +++ b/dev-java/yajsw/files/yajsw-14.01-build-fixes.patch @@ -0,0 +1,42 @@ +# Fix the build path and Java settings for Gradle 9 + +--- a/build/gradle/build.gradle ++++ b/build/gradle/build.gradle +@@ -4,10 +4,10 @@ + } + + ext { +- projectHome = 'Z:/dev/yajsw2026' //'../..' +- coreLibsDir = new File("$projectHome/lib/core").getAbsolutePath() ++ projectHome = rootProject.projectDir.parentFile.parentFile ++ coreLibsDir = new File(projectHome, "lib/core").getAbsolutePath() + println "$coreLibsDir" +- extendedLibsDir = new File("$projectHome/lib/extended").getAbsolutePath() ++ extendedLibsDir = new File(projectHome, "lib/extended").getAbsolutePath() + // dependency versions + + commons_cli_version = '1.11.0' +@@ -66,8 +66,10 @@ + + + +-sourceCompatibility = 11 +-targetCompatibility = 11 ++java { ++ sourceCompatibility = JavaVersion.VERSION_11 ++ targetCompatibility = JavaVersion.VERSION_11 ++} + //options.bootClasspath = "${System.getProperty('java6.home')}/jre/lib/rt.jar" + version = '' + +--- a/build/gradle/settings.gradle ++++ b/build/gradle/settings.gradle +@@ -1,7 +1,7 @@ + // defines a list of subprojects + + // build8. comment out for build9 +-include "wrapper", "wrapper-app", "ahessian", "hessian4", "srvmgr", "groovy-patch" ++include "wrapper", "wrapper-app", "ahessian", "hessian4", "groovy-patch" + + // build9. comment out for build8 + //include "wrapper", "wrapper-app", "wrapper-app9", "ahessian", "hessian4", "srvmgr", "groovy-patch", "groovy-patch9" diff --git a/dev-java/yajsw/files/yajsw-14.01-javadoc.patch b/dev-java/yajsw/files/yajsw-14.01-javadoc.patch new file mode 100644 index 000000000000..eea705c534fb --- /dev/null +++ b/dev-java/yajsw/files/yajsw-14.01-javadoc.patch @@ -0,0 +1,15 @@ +# Turn off doc checks so the docs can build +# this works around errors in the source comments + +--- a/build/gradle/wrapper/build.gradle ++++ b/build/gradle/wrapper/build.gradle +@@ -1,5 +1,9 @@ + def projectHome = '../../..' + ++tasks.named('javadoc') { ++ options.addBooleanOption('Xdoclint:none', true) ++} ++ + // set the sources for this build + sourceSets.main.java.srcDirs = ["$projectHome/src/yajsw/src/main/java", "$projectHome/src/app/src/main/java"] + sourceSets.main.java.exclude 'com/sun/jna/Native.java', 'com/sun/jna/Platform.java', 'org/apache/commons/vfs2/impl/StandardFileSystemManager.java' diff --git a/dev-java/yajsw/files/yajsw-14.01-keystore.patch b/dev-java/yajsw/files/yajsw-14.01-keystore.patch new file mode 100644 index 000000000000..4a4ac429090f --- /dev/null +++ b/dev-java/yajsw/files/yajsw-14.01-keystore.patch @@ -0,0 +1,13 @@ +# Build the keystore code from the source in this release + +--- a/build/gradle/wrapper/build.gradle ++++ b/build/gradle/wrapper/build.gradle +@@ -5,7 +5,7 @@ tasks.named('javadoc') { + } + + // set the sources for this build +-sourceSets.main.java.srcDirs = ["$projectHome/src/yajsw/src/main/java", "$projectHome/src/app/src/main/java"] ++sourceSets.main.java.srcDirs = ["$projectHome/src/yajsw/src/main/java", "$projectHome/src/app/src/main/java", "$projectHome/src/keystore/src/main/java"] + sourceSets.main.java.exclude 'com/sun/jna/Native.java', 'com/sun/jna/Platform.java', 'org/apache/commons/vfs2/impl/StandardFileSystemManager.java' + sourceSets.main.java.exclude 'io/netty/util/internal/CleanerJava9.java', 'io/netty/util/internal/ObjectUtil.java', 'io/netty/util/internal/PlatformDependent0.java' + sourceSets.main.java.exclude(['AbstractInternalLogger', 'InternalLogLevel', 'InternalLogger', 'InternalLoggerFactory', 'JdkLogger', 'JdkLoggerFactory'].collect { "io/netty/util/internal/logging/${it}.java" }) diff --git a/dev-java/yajsw/files/yajsw-14.01-paths.patch b/dev-java/yajsw/files/yajsw-14.01-paths.patch new file mode 100644 index 000000000000..3b08ceb3381b --- /dev/null +++ b/dev-java/yajsw/files/yajsw-14.01-paths.patch @@ -0,0 +1,37 @@ +# Keep config in /etc and runtime files outside /usr + +--- a/bin/setenv.sh ++++ b/bin/setenv.sh +@@ -33,7 +33,7 @@ + wrapper_app_jar="$wrapper_home"/wrapperApp.jar + export wrapper_app_jar + +-wrapper_java_sys_options=-Djna_tmpdir="$wrapper_home"/tmp ++wrapper_java_sys_options=-Djna_tmpdir="${TMPDIR:-/tmp}" + export wrapper_java_sys_options + + wrapper_java_options=-Xmx30m +@@ -45,10 +45,10 @@ + # show java version + "$java_exe" -version + +-conf_file="$wrapper_home"/conf/wrapper.conf ++conf_file="@GENTOO_PORTAGE_EPREFIX@/etc/yajsw/wrapper.conf" + export conf_file + +-conf_default_file="$wrapper_home"/conf/wrapper.conf.default ++conf_default_file="@GENTOO_PORTAGE_EPREFIX@/etc/yajsw/wrapper.conf.default" + export conf_default_file + + echo "wrapper home : $wrapper_home" +--- a/conf/wrapper.conf.default ++++ b/conf/wrapper.conf.default +@@ -128,7 +128,7 @@ + wrapper.console.loglevel=INFO + + # Log file to use for wrapper output logging. +-wrapper.logfile=${wrapper_home}/log/wrapper.log ++wrapper.logfile=wrapper.log + + # Format of output for the log file. (See docs for formats) + #wrapper.logfile.format=LPTM diff --git a/dev-java/yajsw/files/yajsw-14.01-system-libs.patch b/dev-java/yajsw/files/yajsw-14.01-system-libs.patch new file mode 100644 index 000000000000..f71767efe7e7 --- /dev/null +++ b/dev-java/yajsw/files/yajsw-14.01-system-libs.patch @@ -0,0 +1,112 @@ +# Use system jars in the build and the launchers + +--- a/build/gradle/build.gradle ++++ b/build/gradle/build.gradle +@@ -32,7 +32,10 @@ + joda_time_version = '2.7' + permit_version = '0.4' + } +-defaultTasks 'clean', 'build' ++ext.systemClasspath = System.getenv('GENTOO_CLASSPATH').split(File.pathSeparator) ++ .findAll { !it.endsWith('/slf4j-nop.jar') } ++ ++defaultTasks 'clean', 'build' + + // common settings for all sub-projects + allprojects { +@@ -45,26 +48,16 @@ + + + +-// for simplicity and to avoid dependency issues which arise due to the usage of SNAPSHOT libs +-// we use libs from local disk instead of public repository +-repositories { +- flatDir { +- dirs "$coreLibsDir/commons", "$coreLibsDir/jna", "$coreLibsDir/netty", "$coreLibsDir/permit", +- "$coreLibsDir/yajsw", +- "$extendedLibsDir/groovy", +- "$extendedLibsDir/regex", +- "$extendedLibsDir/cron", +- "$extendedLibsDir/commons", +- "$extendedLibsDir/abeille", +- "$extendedLibsDir/jgoodies", +- "$extendedLibsDir/slf4j", +- "$extendedLibsDir/velocity" +- ++configurations.configureEach { ++ withDependencies { ++ removeAll { it instanceof ExternalModuleDependency } + } +- } +- +- +- ++} ++dependencies { ++ implementation files(rootProject.systemClasspath) ++ implementation fileTree(dir: new File(rootProject.projectHome, 'lib'), ++ includes: ['**/*.jar'], excludes: ['**/yajsw/*.jar', '**/groovy-patch.jar']) ++} + + java { + sourceCompatibility = JavaVersion.VERSION_11 +--- a/build/gradle/wrapper/build.gradle ++++ b/build/gradle/wrapper/build.gradle +@@ -2,6 +2,9 @@ + + // set the sources for this build + sourceSets.main.java.srcDirs = ["$projectHome/src/yajsw/src/main/java", "$projectHome/src/app/src/main/java"] ++sourceSets.main.java.exclude 'com/sun/jna/Native.java', 'com/sun/jna/Platform.java', 'org/apache/commons/vfs2/impl/StandardFileSystemManager.java' ++sourceSets.main.java.exclude 'io/netty/util/internal/CleanerJava9.java', 'io/netty/util/internal/ObjectUtil.java', 'io/netty/util/internal/PlatformDependent0.java' ++sourceSets.main.java.exclude(['AbstractInternalLogger', 'InternalLogLevel', 'InternalLogger', 'InternalLoggerFactory', 'JdkLogger', 'JdkLoggerFactory'].collect { "io/netty/util/internal/logging/${it}.java" }) + sourceSets.main.resources.srcDirs = ["$projectHome/src/yajsw/src/main/java"] + sourceSets.main.resources.includes = ['resources/*'] + +@@ -50,7 +53,16 @@ + // TODO generate manifest instead of editing + jar { + manifest { +- from '../../MANIFEST.MF' ++ def systemJars = rootProject.systemClasspath.collect { new File(it).toURI().toString() } ++ from('../../MANIFEST.MF') { ++ eachEntry { entry -> ++ if (entry.key.startsWith('Class-Path-')) { ++ entry.value = (entry.value.split().findAll { file("$projectHome/$it").exists() } ++ + systemJars).unique().join(' ') ++ } ++ } ++ } ++ attributes 'Class-Path': systemJars.join(' ') + } + exclude 'org/rzo/yajsw/app/AbstractWrapperJVMMain*' + exclude 'org/rzo/yajsw/app/WrapperGroovyMain*' +--- a/build/gradle/wrapper-app/build.gradle ++++ b/build/gradle/wrapper-app/build.gradle +@@ -42,6 +42,15 @@ + // TODO generate manifest + jar { + manifest { +- from '../../MANIFEST.MF' ++ def systemJars = rootProject.systemClasspath.collect { new File(it).toURI().toString() } ++ from('../../MANIFEST.MF') { ++ eachEntry { entry -> ++ if (entry.key.startsWith('Class-Path-')) { ++ entry.value = (entry.value.split().findAll { file("$projectHome/$it").exists() } ++ + systemJars).unique().join(' ') ++ } ++ } ++ } ++ attributes 'Class-Path': systemJars.join(' ') + } + } +--- a/src/app/src/main/java/org/rzo/yajsw/boot/WrapperLoader.java ++++ b/src/app/src/main/java/org/rzo/yajsw/boot/WrapperLoader.java +@@ -215,7 +215,7 @@ + File myFile; + try + { +- myFile = new File(parent, file); ++ myFile = new File(parent.toURI().resolve(file)); + if (!myFile.exists()) + { + if (logErrors) diff --git a/dev-java/yajsw/files/yajsw-14.01-system-native.patch b/dev-java/yajsw/files/yajsw-14.01-system-native.patch new file mode 100644 index 000000000000..b5b8d7ea6d1d --- /dev/null +++ b/dev-java/yajsw/files/yajsw-14.01-system-native.patch @@ -0,0 +1,26 @@ +# Use Gentoo's JNA native library + +--- a/src/app/src/main/java/org/rzo/yajsw/boot/WrapperLoader.java ++++ b/src/app/src/main/java/org/rzo/yajsw/boot/WrapperLoader.java +@@ -34,6 +34,11 @@ import com.nqzero.permit.Permit; + + public class WrapperLoader + { ++ static ++ { ++ System.setProperty("jna.boot.library.path", "@GENTOO_LIBDIR@/jna"); ++ } ++ + + private static boolean checkPath(String path) + { +--- a/src/yajsw/src/main/java/org/rzo/yajsw/os/posix/PosixProcess.java ++++ b/src/yajsw/src/main/java/org/rzo/yajsw/os/posix/PosixProcess.java +@@ -1252,6 +1252,7 @@ public class PosixProcess extends AbstractProcess { + private String[] getSpawnCmdLine() { + ArrayList cmdList = new ArrayList(); + cmdList.add(getCurrentJava()); ++ cmdList.add("-Djna.boot.library.path=" + System.getProperty("jna.boot.library.path")); + String tmpDir = _tmpPath; + if (tmpDir == null) + tmpDir = System.getProperty("jna_tmpdir", null); diff --git a/dev-java/yajsw/metadata.xml b/dev-java/yajsw/metadata.xml new file mode 100644 index 000000000000..739a9b771a67 --- /dev/null +++ b/dev-java/yajsw/metadata.xml @@ -0,0 +1,15 @@ + + + + + mit.mis@gmail.com + Michal Andrzejczak + + + YAJSW runs an arbitrary Java or native application as a system daemon: + it starts the process, restarts it when it exits or stops responding, + captures its output, and installs it into the init system. It is a + clean-room reimplementation of the Tanuki Java Service Wrapper. + + srcux + diff --git a/dev-java/yajsw/yajsw-14.01.ebuild b/dev-java/yajsw/yajsw-14.01.ebuild new file mode 100644 index 000000000000..4e1b0c58f8c6 --- /dev/null +++ b/dev-java/yajsw/yajsw-14.01.ebuild @@ -0,0 +1,151 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +JAVA_PKG_IUSE="doc source" + +JAVA_PKG_WANT_BUILD_VM="openjdk-21 openjdk-bin-21" +JAVA_PKG_WANT_SOURCE="21" +JAVA_PKG_WANT_TARGET="21" + +inherit edo edos2unix java-pkg-2 multiprocessing prefix + +MY_P="${PN}-stable-${PV}" + +DESCRIPTION="Yet Another Java Service Wrapper, runs any application as a daemon" +HOMEPAGE="https://yajsw.sourceforge.io/" +SRC_URI=" + https://sourceforge.net/projects/yajsw/files/yajsw/${MY_P}/${MY_P}.zip/download + -> ${MY_P}.zip +" +S="${WORKDIR}/${MY_P}" + +LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 CC-BY-2.5 GPL-2+ LGPL-2.1+ MIT" +SLOT="0" +KEYWORDS="~amd64" + +CP_DEPEND=" + >=dev-java/automaton-1.11.8:0 + dev-java/commons-beanutils:0 + >=dev-java/commons-cli-1.11.0:0 + >=dev-java/commons-collections-4.5.0:4 + >=dev-java/commons-io-2.21.0:0 + >=dev-java/commons-lang-3.20.0:0 + >=dev-java/commons-logging-1.3.6:0 + >=dev-java/commons-text-1.15.0:0 + >=dev-java/commons-vfs-2.0:2 + >=dev-java/jna-5.18.1:0 + >=dev-java/joda-time-2.13.0:0 + >=dev-java/permit-reflect-0.4:0 + >=dev-java/slf4j-api-2.0.3:0 + >=dev-java/slf4j-simple-2.0.3:0 + >=dev-java/velocity-2.4.1:0 +" + +RDEPEND="${CP_DEPEND} + app-admin/sudo + >=virtual/jre-21:*" + +DEPEND="${CP_DEPEND} + virtual/jdk:21" + +BDEPEND=" + app-arch/unzip + >=dev-java/gradle-bin-8.5 +" + +PATCHES=( + "${FILESDIR}"/${P}-build-fixes.patch + "${FILESDIR}"/${P}-system-libs.patch + "${FILESDIR}"/${P}-system-native.patch + "${FILESDIR}"/${P}-javadoc.patch + "${FILESDIR}"/${P}-paths.patch + "${FILESDIR}"/${P}-keystore.patch +) + +DOCS=( readme.txt yajsw.policy.txt ) + +src_prepare() { + edos2unix build/gradle/{build,settings,wrapper/build,wrapper-app/build}.gradle + edos2unix src/app/src/main/java/org/rzo/yajsw/boot/WrapperLoader.java + edos2unix src/yajsw/src/main/java/org/rzo/yajsw/os/posix/PosixProcess.java + edos2unix conf/wrapper.conf.default + + default + java-pkg-2_src_prepare + sed -i "s|@GENTOO_LIBDIR@|${EPREFIX}/usr/$(get_libdir)|g" \ + src/app/src/main/java/org/rzo/yajsw/boot/WrapperLoader.java || die + eprefixify bin/setenv.sh + + rm -r lib/core/{jna,permit} \ + lib/extended/{commons,keystore,regex,sigar,slf4j,velocity} \ + lib/groovy/{mail,joda,jasypt,snmp} || die + find lib/core/commons -type f ! -name 'commons-configuration2-*.jar' -delete || die + rm lib/extended/cron/{joda-time-2.7,prevayler-core-2.6,prevayler-factory-2.6}.jar || die +} + +src_compile() { + local gradle + gradle=$(best_version -b '>=dev-java/gradle-bin-8.5') || die + [[ -n ${gradle} ]] || die "No supported Gradle installed" + gradle=${gradle##*/} + gradle=${gradle%-r*} + + local packages=( + automaton commons-beanutils commons-cli commons-collections-4 + commons-io commons-lang commons-logging commons-text commons-vfs-2 jna + joda-time permit-reflect slf4j-api slf4j-simple velocity + ) + local -x GENTOO_CLASSPATH + GENTOO_CLASSPATH=$(java-pkg_getjars --with-dependencies "$(IFS=,; echo "${packages[*]}")") || die + + local -x JAVA_TOOL_OPTIONS="-Duser.home=${T}" + local targets=( build ) + use doc && targets+=( :wrapper:javadoc ) + + cd build/gradle || die + edo "${EPREFIX}/usr/bin/${gradle}" \ + --console=plain \ + --offline \ + --no-daemon \ + --no-build-cache \ + --gradle-user-home "${T}/gradle_user_home" \ + --project-cache-dir "${T}/gradle_project_cache" \ + --parallel --max-workers="$(get_makeopts_jobs)" \ + "${targets[@]}" +} + +src_install() { + local dest="/usr/share/${PN}" b=build/gradle + + cp "${b}"/ahessian/build/libs/*.jar lib/core/yajsw/ || die + cp "${b}"/hessian4/build/libs/*.jar lib/extended/yajsw/ || die + cp "${b}"/groovy-patch/build/libs/*.jar lib/extended/groovy/ || die + + java-pkg_jarinto "${dest}" + java-pkg_dojar "${b}/wrapper/build/libs/wrapper.jar" + insinto "${dest}" + doins "${b}/wrapper-app/build/libs/wrapperApp.jar" + doins -r lib + + insinto /etc/yajsw + doins conf/wrapper.conf.default + + insinto "${dest}/templates" + doins templates/daemon.vm templates/systemd.vm + + exeinto "${dest}"/bin + doexe bin/{wrapper,setenv,genConfig,runConsole}.sh + doexe bin/{install,start,stop,query,uninstall}Daemon{,NoPriv}.sh + + einstalldocs + + if use doc; then + java-pkg_dojavadoc "${b}/wrapper/build/docs/javadoc" + fi + + if use source; then + java-pkg_dosrc src/{yajsw,app,ahessian,hessian,groovy-patch,keystore} + fi +} -- cgit v1.3