diff --git a/app-admin/sudo-rs/Manifest b/app-admin/sudo-rs/Manifest index 6f80b840b8bb8..7a1478c75f2cc 100644 --- a/app-admin/sudo-rs/Manifest +++ b/app-admin/sudo-rs/Manifest @@ -2,8 +2,10 @@ DIST diff-0.1.13.crate 46216 BLAKE2B 27ceeafb7afd45eabbbe22d1f05667f513a6062762e DIST glob-0.3.3.crate 22861 BLAKE2B 34434d0ee1d50d0453f7294cb793ff123415feda605b09a2634708646fd91584db6b77a51d38c20ec89d8e3b36b136d071d30020f6325cbffbce736403c68803 SHA512 159a5de81cd59c472cd5705a50f140d29adb64ef10d8dd4bab77f9a44cce33933a779ecd12b399edffaac551fd935a3aa74ede4c9aa9b3e5212d220b3fe22219 DIST libc-0.2.177.crate 792045 BLAKE2B ecea1ade26b0faa9cb5fb025e237f3a59dfb562e7b3de3682b42a41038b1d436e83b42b53158c1fc1cc4b1cc64ab55ba1497e869ae850a677c089fcce9138912 SHA512 9d737091dba80244137987d06a52ffcd44a968c96b59ae9af9cfa40c38cb9675d023f6324fbf25c436ce1b9592ebf26248f85b0a7c97ee02360ca624b0efb3e0 DIST libc-0.2.178.crate 783720 BLAKE2B 72f5fecacf0494b3962ff893d647155af88e9942b14d110e521b25e5d65d95d41dc00f83431b82632a53c6e0ae7fd537d018d7bf29df65d5e56b908a893d77d0 SHA512 968b954e2edde88d14135decd9eaadc31ca1aad80529a6696591c06c4414d615c97ce0873f77bfebe08b862faa5f3cb79a6648ab90734d462bef06e06ea43dde +DIST libc-0.2.180.crate 812207 BLAKE2B 086681e1f488aa2ab8a477655e01bc27dc6c578fbf9eb2bb429828164825a5d450dee9bf1bc38afc8e1be5d849eddf384db75b9f4d3c64a0fde6cc37919c1b80 SHA512 5427ac2a7c03d02f14acc66c3a187fbb4e336a88e8cccf7f8281fe95f958b845c0205ec47aac2f6ba6ab8b8c4b5cd0d943205c3f78ad2830d44c3b7779c317ef DIST log-0.4.28.crate 51131 BLAKE2B 2911509cabe6a69b60945e798f2afee934d865d21efa22d150288de6a27a797fe00ee4f249fc6f6d7a02e2efb7377d2a7188a8ed8cb692f76b94a0df56d74d83 SHA512 cea74c92c80f291360a7cdf022e3ce2f509b9051b415840ab2a159585384f3fe606289da00a6def0c3d666416c5fcda865e2ae4ad48df07618818e8486cd0209 DIST pretty_assertions-1.4.1.crate 78952 BLAKE2B 016df9fb2f24304b68a6bf4fc8e144387f07a5a15fc8d92757cffad11b4a00e74559abf597d4ac8619a3dfea705c82df1b8c8620c5f32c61ea8f212fd9cbf9f5 SHA512 474f77c61cc17bbe9914c56b98a80e5918450205827cd059d693c2d603ff61a0897cad25dde645cb495200e61ddc14333d15eb8bf2de090a2eb68deeb9aec8b0 DIST sudo-rs-0.2.10.tar.gz 1173064 BLAKE2B 39278c6d346cc27c122640d59fc8fc3bc416d3ecc655d090cde7ff6fb15d95fecfbe32808956416c019ad72cfa96ae16225d6b172b7cbc3211fef81a7e5d7df1 SHA512 9009968625f7699803446aef386657dc1c1c864747ea1a0af4d4532d8eaeec236b3721c950a92db87f3371df64d7d873a678a3df021c7aeb72f0c5273f218af2 DIST sudo-rs-0.2.11.tar.gz 1183217 BLAKE2B 84afee2246e23e77b19f05b1fa46ed3c11b559585cb3fe007b530f3bcbb65b36331273128d6a0cecc77261486644bca79567ec060eda3117cbdcf4d0f4af689c SHA512 e1f90f74cf706f216d65416db91311039fa8e8b82fa337935f8a28b4a0258d7b99a3d326ea50111fae610472cc2333d1f876d99bb816a9fdab65b999bee8bf50 +DIST sudo-rs-0.2.12.tar.gz 1187822 BLAKE2B e131e12ad33cd252914912b0c218778656899932a4ee8728e99ae1b79033370adf83f177c721252770ea34297ce823f1e3237e5380431d2d12befa3adf705722 SHA512 0e8665dfed4155f6a4b626bce7e5f0d8a5336e03b480633ba71a4cb27b95d16e224b8cc9a3dc2242eeaa57813196772355ef58ee95ef520f8be16fe90345fdb9 DIST yansi-1.0.1.crate 75497 BLAKE2B c0d396c93a733ed6ec12aca3385d816f39b1f1fbed75da460f491f0cbfc30ba462842ebd1627fa8e5d2b7c0f37913a23747e5f5e23df1cb7c85d965e6c37159b SHA512 182c8c6c60a30a727d8f8b90bbf0527d91fa8ae9d8eb20e5414614b43ee6dc532f4b19241adbfb9299cb0004b39fe627036269b60b0c3860d9e1ea4413aca541 diff --git a/app-admin/sudo-rs/sudo-rs-0.2.12.ebuild b/app-admin/sudo-rs/sudo-rs-0.2.12.ebuild new file mode 100644 index 0000000000000..9381993de1ced --- /dev/null +++ b/app-admin/sudo-rs/sudo-rs-0.2.12.ebuild @@ -0,0 +1,120 @@ +# Copyright 2025-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.15.0 + +EAPI=8 + +CRATES=" + glob@0.3.3 + libc@0.2.180 +" + +inherit pam cargo + +DESCRIPTION="A memory safe implementation of sudo and su." +HOMEPAGE="https://github.com/trifectatechfoundation/sudo-rs" +SRC_URI=" + https://github.com/trifectatechfoundation/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="|| ( Apache-2.0 MIT )" +# Dependent crate licenses +LICENSE+=" || ( Apache-2.0 MIT )" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +IUSE="pam su system-names" + +RDEPEND=" + system-names? ( + !app-admin/sudo + su? ( + !sys-apps/util-linux[su] + !sys-apps/shadow[su] + pam? ( sys-apps/util-linux[pam] ) + ) + ) +" + +QA_FLAGS_IGNORED="usr/bin/.*" + +DOCS=( + README.md + SECURITY.md + CHANGELOG.md +) + +PATCHES=( + # disable tests that require root access + "${FILESDIR}/sudo-rs-0.2.8-tests.patch" +) + +src_prepare() { + local -a targets + local target + + if ! use system-names; then + find "${S}" -name '*.rs' -or -name 'Cargo.toml' \ + | xargs sed -r -e 's:"(sudo|visudo|su|su-l)":"\1-rs": ; s:"sudo-i":"sudo-rs-i":' -i || die + + readarray -t targets < <(find src/bin -name '*.rs') + + for target in "${targets[@]}"; do + mv "${target}" "${target//.rs/-rs.rs}" || die + done + + elif ! use su; then + find "${S}" -name '*.rs' -or -name 'Cargo.toml' \ + | xargs sed -r -e 's:"(su|su-l)":"\1-rs":' -i || die + + readarray -t targets < <(find src/bin -name '*.rs' -and -not -name '*sudo*') + + for target in "${targets[@]}"; do + rm "${target}" || die + done + fi + + default +} + +src_install() { + cargo_src_install + + local ext=$(usex system-names '' '-rs') + local su_ext=$(usex su "${ext}" '-rs') + local -a binaries=( sudo${ext} ) + use su && binaries+=( su${su_ext} ) + + dodoc "${DOCS[@]}" + + local man dest + for man in docs/man/*.?.man; do + dest="${man##*/}" + dest="${dest%.man}" + if [[ ${dest#.*} == su.* ]]; then + dest="${dest/./${su_ext}.}" + else + dest="${dest/./${ext}.}" + fi + newman "${man}" "${dest}" + done + + fperms 4755 $(printf -- '/usr/bin/%s\n' "${binaries[@]}") + dosym sudo${ext} /usr/bin/sudoedit${ext} + + insinto /etc + doins "${FILESDIR}"/sudoers-rs + + keepdir /etc/sudoers.d + + if use pam; then + pamd_mimic system-auth sudo${ext} auth account session + pamd_mimic system-auth sudo${ext}-i auth account session + + if ! use system-names && use su; then + pamd_mimic system-auth su${ext}-l auth account session + fi + fi +} diff --git a/dev-java/byte-buddy/Manifest b/dev-java/byte-buddy/Manifest index b8388cc51c64e..7f79ec52797cc 100644 --- a/dev-java/byte-buddy/Manifest +++ b/dev-java/byte-buddy/Manifest @@ -1 +1,2 @@ DIST byte-buddy-1.18.2.tar.gz 2143401 BLAKE2B 3480d8596e58141296fe920ffe43036088e5b6b1d094dc900fa63b175db6d801395fa209edfa0e97f33e1176c0ac21b1855a1d7460da95695f326042c5fad004 SHA512 f741c5a87ea5b8129b12de481147802eb4ac6d42386deadb7ed67fc8f97f4904baa6b710095f5ce5d24553d675ec005cb76e6fbfeb35dd1223f475011ab7e1ee +DIST byte-buddy-1.18.4.tar.gz 2146007 BLAKE2B 070c968c047ee689b3415ff26bc7cf1b143127105edb23a2f33a7653c1c813579f1d1344a58e70db6d63bede43f5543255074e3abddabbb5abc6316fd6dc573e SHA512 2e63b5b4c1db702af63c44ac4bf92a2857d7300ae86ca01c09ffcb7aa12c6729a7d739ba675859b7806bc5f1d45d735fbed4a0de8807a8e699763a0972f2a9fd diff --git a/dev-java/byte-buddy/byte-buddy-1.18.4.ebuild b/dev-java/byte-buddy/byte-buddy-1.18.4.ebuild new file mode 100644 index 0000000000000..4f704f1ea179e --- /dev/null +++ b/dev-java/byte-buddy/byte-buddy-1.18.4.ebuild @@ -0,0 +1,103 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +JAVA_PKG_IUSE="doc source test" +JAVA_TESTING_FRAMEWORKS="junit-4" + +inherit java-pkg-2 java-pkg-simple + +DESCRIPTION="Offers convenience for attaching an agent to the local or a remote VM" +HOMEPAGE="https://bytebuddy.net" +SRC_URI="https://github.com/raphw/byte-buddy/archive/${P}.tar.gz" +S="${WORKDIR}/byte-buddy-${P}" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64" + +# Min java 11 because of module-info. +DEPEND=" + >=dev-java/asm-9.9.1:0 + >=dev-java/asm-jdk-bridge-0.0.13:0 + >=dev-java/findbugs-annotations-3.0.1:0 + >=dev-java/jna-5.18.1:0 + >=dev-java/jsr305-3.0.2-r1:0 + || ( virtual/jdk:26 virtual/jdk:25 virtual/jdk:21 virtual/jdk:17 virtual/jdk:11 ) + test? ( + >=dev-java/mockito-2.28.2-r1:2 + ) +" +RDEPEND=">=virtual/jre-1.8:*" + +JAVA_CLASSPATH_EXTRA="asm asm-jdk-bridge findbugs-annotations jna jsr305" +JAVADOC_CLASSPATH="${JAVA_CLASSPATH_EXTRA}" +JAVADOC_SRC_DIRS=( byte-buddy{,-agent}/src/main/java ) + +src_prepare() { + java-pkg_clean ! -path "./byte-buddy-dep/src/test/*" # Keep test-classes + java-pkg-2_src_prepare + + # instead of shading byte-buddy-dep we move it into byte-buddy. + mv byte-buddy{-dep,}/src/main/java || die "cannot move sources" +} + +src_compile() { + einfo "Compiling byte-buddy-agent.jar" + JAVA_INTERMEDIATE_JAR_NAME="net.bytebuddy.agent" + JAVA_JAR_FILENAME="byte-buddy-agent.jar" + JAVA_MODULE_INFO_OUT="byte-buddy-agent/src/main" + JAVA_RESOURCE_DIRS="byte-buddy-agent/src/main/resources" + JAVA_SRC_DIR="byte-buddy-agent/src/main/java" + java-pkg-simple_src_compile + JAVA_GENTOO_CLASSPATH_EXTRA+=":byte-buddy-agent.jar" + rm -r target || die + + einfo "Compiling byte-buddy.jar" + JAVA_INTERMEDIATE_JAR_NAME="net.bytebuddy" + JAVA_JAR_FILENAME="byte-buddy.jar" + JAVA_MODULE_INFO_OUT="byte-buddy/src/main" + JAVA_MAIN_CLASS="net.bytebuddy.build.Plugin\$Engine\$Default" + JAVA_RESOURCE_DIRS=() + JAVA_SRC_DIR="byte-buddy/src/main/java" + java-pkg-simple_src_compile + JAVA_GENTOO_CLASSPATH_EXTRA+=":byte-buddy.jar" + rm -r target || die + + use doc && ejavadoc +} + +src_test() { + # instead of shading byte-buddy-dep we move it into byte-buddy. + mv byte-buddy{-dep,}/src/test || die "cannot move tests" + + JAVAC_ARGS="-g" + JAVA_TEST_GENTOO_CLASSPATH="asm asm-jdk-bridge junit-4 mockito-2" + + einfo "Testing byte-buddy-agent" + # https://github.com/raphw/byte-buddy/issues/1321#issuecomment-1252776459 + JAVA_TEST_EXTRA_ARGS=( -Dnet.bytebuddy.test.jnapath="${EPREFIX}/usr/$(get_libdir)/jna/" ) + JAVA_TEST_SRC_DIR="byte-buddy-agent/src/test/java" + java-pkg-simple_src_test + + einfo "Testing byte-buddy" + JAVA_TEST_RESOURCE_DIRS=( byte-buddy/src/test/{resources,precompiled*} ) + JAVA_TEST_SRC_DIR="byte-buddy/src/test/java" + + JAVA_TEST_EXCLUDES=( + # all tests in this class fail, https://bugs.gentoo.org/863386 + net.bytebuddy.build.CachedReturnPluginTest + ) + java-pkg-simple_src_test +} + +src_install() { + java-pkg_dojar "byte-buddy-agent.jar" + java-pkg-simple_src_install + + if use source; then + java-pkg_dosrc "byte-buddy-agent/src/main/java/*" + java-pkg_dosrc "byte-buddy/src/main/java/*" + fi +} diff --git a/dev-java/commons-daemon/Manifest b/dev-java/commons-daemon/Manifest index 1966f9cfe8e99..54094e25afc8f 100644 --- a/dev-java/commons-daemon/Manifest +++ b/dev-java/commons-daemon/Manifest @@ -1,2 +1,4 @@ DIST commons-daemon-1.4.1-src.tar.gz 292677 BLAKE2B 04fad8602d4a65d9d13f2e96efb6ec20facec6c1c7d891ee70098c4da926a50aa101425de684474f426e9c27f2cb0a6834501b3aa9afc63e58747d2146428b79 SHA512 948d176922e3d7d0843e9e8d6bdba653b367b3d4d87dc96e600bfe6a8721c1d813584116773e4a32740424e276b93c1808e0b644ee79e21b23b23d1b08b5569a DIST commons-daemon-1.4.1-src.tar.gz.asc 833 BLAKE2B 1e87505fb8e7dea9c104a076eddb6d40ce475a304c3acc1da597a0df325c0a08eff2ca9bc182afb90add2d6a141be89210c4a2ff1fcb4f6c514716354aaf8162 SHA512 1c96a307dce04554db68adae65eacaea561b662aaf4c9b9e275d53161220687dd65ccf0fbab725de777d3ba67b1c16c2e639d55c4b61ae333ad1bd275b7ba013 +DIST commons-daemon-1.5.1-src.tar.gz 396628 BLAKE2B 90d40aa1c7a992c26eabe76be323725900c999c62c75d49470025dcbfe218ec3a3dfbe2a45bce1efcb7bbb624ae2539b124b7513a66b84bd43b0b89df72a4b9d SHA512 7d2b0c8a4ac8241b2f561e12f3731ecd7d7b828242fdeafa509653d92f4838fe24a0a7b6b361684b7f707eb3044ded79d789878bbe89e04b883c2197f5a36652 +DIST commons-daemon-1.5.1-src.tar.gz.asc 833 BLAKE2B 6af4510929a5945c016ded7d186d282c504d9b5b08ced2a9486a928c3e21502b2baf1acfa70960224df613b7ba74ceeb518739b4dededa16721b0c33735b1174 SHA512 8d2675db4e8b9211a235bdbaff933a7328c1332cecdaefcef1758bb983b44b7220cdb47b2fd24e7bd7681fd96b4dbe8d872b0f25b572c8c2ab3c0960a2378a3b diff --git a/dev-java/commons-daemon/commons-daemon-1.5.1.ebuild b/dev-java/commons-daemon/commons-daemon-1.5.1.ebuild new file mode 100644 index 0000000000000..041194a5b3bb4 --- /dev/null +++ b/dev-java/commons-daemon/commons-daemon-1.5.1.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +JAVA_PKG_IUSE="doc source test" +JAVA_TESTING_FRAMEWORKS="junit-jupiter" + +inherit java-pkg-2 java-pkg-simple junit5 toolchain-funcs verify-sig + +DESCRIPTION="Tools to allow Java programs to run as UNIX daemons" +HOMEPAGE="https://commons.apache.org/proper/commons-daemon/" +SRC_URI="mirror://apache/commons/daemon/source/${P}-src.tar.gz + verify-sig? ( mirror://apache/commons/daemon/source/${P}-src.tar.gz.asc )" +S="${WORKDIR}/${P}-src" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~ppc64" + +BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-commons )" +DEPEND=" + >=virtual/jdk-11:* + test? ( + dev-java/junit:5[-vintage] + >=dev-java/opentest4j-1.3.0-r1:0 + ) +" +RDEPEND=">=virtual/jre-1.8:*" + +DOCS=( {CONTRIBUTING,README}.md {HOWTO-RELEASE,NOTICE,RELEASE-NOTES}.txt ) +HTML_DOCS=( PROPOSAL.html ) +PATCHES=( + "${FILESDIR}/commons-daemon-1.3.1-Make.patch" + "${FILESDIR}/commons-daemon-1.5.1-gentoo.patch" +) + +JAVA_INTERMEDIATE_JAR_NAME="org.apache.${PN/-/.}" +JAVA_MODULE_INFO_OUT="src/main" +JAVA_SRC_DIR="src/main/java" +JAVA_TEST_GENTOO_CLASSPATH="junit-5 opentest4j" +JAVA_TEST_SRC_DIR="src/test/java" +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/commons.apache.org.asc" + +src_prepare() { + default #780585 + java-pkg-2_src_prepare +} + +src_compile() { + java-pkg-simple_src_compile + cd src/native/unix || die + ./configure + emake AR="$(tc-getAR)" +} + +src_install() { + java-pkg-simple_src_install + dobin src/native/unix/jsvc +} diff --git a/dev-java/commons-daemon/files/commons-daemon-1.5.1-gentoo.patch b/dev-java/commons-daemon/files/commons-daemon-1.5.1-gentoo.patch new file mode 100644 index 0000000000000..cc302dbec1022 --- /dev/null +++ b/dev-java/commons-daemon/files/commons-daemon-1.5.1-gentoo.patch @@ -0,0 +1,18 @@ +--- a/src/native/unix/native/jsvc.h ++++ b/src/native/unix/native/jsvc.h +@@ -25,15 +25,7 @@ + #include + + /* Definitions for booleans */ +-#ifdef OS_DARWIN + #include +-#else +-typedef enum { +- false, +- true +-} bool; +-#endif +- + #include "version.h" + #include "debug.h" + #include "arguments.h"