Merge updates from master

This commit is contained in:
Repository mirror & CI
2025-10-28 08:49:02 +00:00
23 changed files with 869 additions and 700 deletions

View File

@@ -1 +1,2 @@
DIST dtrace-2.0.3.tar.gz 1482755 BLAKE2B 8cbf4e0f3c500ae6b022692b3c2ba4a4eacca3feeab88e0712435863a4148217efb6d513a551510bf9e29ba9f8e543fccf5b246ed68c3a04d47259fc5a94f3f9 SHA512 74fe7cd73346a3b1a134128e1f612693739ffa1460fb0d9534cf1d31d70379a717a94ff11d23e1c4be55f3c23b95cc4f940b66a01abf7ac08ca2963049a66210
DIST dtrace-2.0.4.tar.gz 1699279 BLAKE2B 3fb610e2c233accbe36c372ab8e4f5012cdd314750dd64f7d411955038cdafeaeda038e63a06f6995f8cb89fd2df482f34fd5583f130f21f2b7a03747e33c778 SHA512 63623ce70d21dadf9e1de5d85e6d0a1a3043c0bd5f2255d32793209c1774e9be774699fdd70218a840f7060a1027388bf20d1d6c5e06b9e5671113c133ce390f

View File

@@ -0,0 +1,233 @@
# Copyright 2024-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit edo flag-o-matic linux-info multilib systemd toolchain-funcs udev
DESCRIPTION="Dynamic BPF-based system-wide tracing tool"
HOMEPAGE="https://github.com/oracle/dtrace-utils https://wiki.gentoo.org/wiki/DTrace"
if [[ ${PV} == 9999 ]]; then
EGIT_BRANCH="devel"
EGIT_REPO_URI="https://github.com/oracle/dtrace-utils"
inherit git-r3
else
SRC_URI="https://github.com/oracle/dtrace-utils/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}"/dtrace-utils-${PV}
KEYWORDS="-* ~amd64 ~arm64"
fi
LICENSE="UPL-1.0"
SLOT="0"
IUSE="test-install valgrind"
# TODO: can we make the wireshark dep conditional?
DEPEND="
dev-libs/elfutils
dev-libs/libbpf
dev-libs/libpfm:=
net-analyzer/wireshark[dumpcap]
net-libs/libpcap
>=sys-fs/fuse-3.2.0:3=
>=sys-libs/binutils-libs-2.42:=
sys-libs/zlib
"
RDEPEND="
${DEPEND}
!dev-debug/systemtap[dtrace-symlink(+)]
net-analyzer/wireshark
test-install? (
app-alternatives/bc
app-editors/vim-core
dev-build/make
dev-lang/perl
dev-util/perf
net-fs/nfs-utils
sys-apps/coreutils
sys-fs/xfsprogs
sys-process/time
virtual/jdk
)
"
BDEPEND="
dev-build/make
sys-apps/gawk
sys-devel/bison
>=sys-devel/bpf-toolchain-14.1.0
sys-devel/flex
"
DEPEND+=" valgrind? ( dev-debug/valgrind )"
QA_PRESTRIPPED="
usr/.*/dtrace/testsuite/test/triggers/.*
"
QA_FLAGS_IGNORED="
usr/.*/dtrace/testsuite/test/triggers/.*
"
# TODO: report upstream (bug #938221) although it seems like it's
# not relevant given it's a BPF object.
QA_EXECSTACK="
usr/*/dtrace/bpf_dlib.*
"
pkg_pretend() {
# TODO: optional kernel patches
# Basics for debugging information, BPF
local CONFIG_CHECK="~BPF ~DEBUG_INFO_BTF ~KALLSYMS_ALL"
CONFIG_CHECK+=" ~CUSE"
# Tracing
CONFIG_CHECK+=" ~TRACING"
CONFIG_CHECK+=" ~UPROBES ~UPROBE_EVENTS"
CONFIG_CHECK+=" ~FTRACE ~FTRACE_SYSCALLS ~DYNAMIC_FTRACE ~FUNCTION_TRACER"
CONFIG_CHECK+=" ~FPROBE"
CONFIG_CHECK+=" ~BPF_KPROBE_OVERRIDE ~FUNCTION_ERROR_INJECTION"
# DTrace can fallback to kprobes for fbt but people often want them off
# for security and newer kernels work fine with BPF for that, so
# let's omit it. kprobes are slower and scale poorly.
# https://gcc.gnu.org/PR84052
CONFIG_CHECK+=" !GCC_PLUGIN_RANDSTRUCT"
if use test-install ; then
# See test/modules
CONFIG_CHECK+=" ~EXT4_FS ~ISO9660_FS ~NFS_FS ~RDS ~TUN"
fi
check_extra_config
}
pkg_setup() {
eval unset ${!LC_*} LANG
}
src_configure() {
if tc-is-cross-compiler; then
die "DTrace does not yet support cross-compilation."
fi
tc-export CC
# lld does this by default, so fix that, although lld fails anyway...
# 'LIBDTRACE_1.0' to symbol 'dtrace_provider_modules' failed: symbol not defined
append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
# mold and lld can't cope with some relocation types used, e.g.
# 'test-triggers--usdt-tst-forker-prov.o:(.SUNW_dof): unknown relocation: R_X86_64_GLOB_DAT'
tc-ld-force-bfd
# -fno-semantic-interposition seems to lead to a broken dtrace
# that can't actually obtain results from probes, even trivial examples
# just hang.
filter-flags -fno-semantic-interposition
# While it builds as of 2025-06-08, it's broken at runtime
# in the same way as -fno-semantic-interposition (hangs, no probes fire).
filter-lto
local confargs=(
# TODO: Maybe we should set the UNPRIV_UID to something? -3 is a bit... kludgy
--prefix="${EPREFIX}"/usr
--mandir="${EPREFIX}"/usr/share/man
--docdir="${EPREFIX}"/usr/share/doc/${PF}
--with-systemd
HAVE_LIBCTF=yes
HAVE_BPFV3=yes
HAVE_VALGRIND=$(usex valgrind)
)
edo ./configure "${confargs[@]}"
}
src_compile() {
local myemakeargs=(
verbose=1
$(usev !test-install TRIGGERS='')
)
if use amd64 ; then
! has_multilib_profile && myemakeargs+=( NATIVE_BITNESS_ONLY=1 )
fi
# -j1: https://github.com/oracle/dtrace-utils/issues/82
emake -j1 "${myemakeargs[@]}"
}
src_test() {
# Needs root and is also very time-consuming
:;
}
src_install() {
emake DESTDIR="${D}" -j1 install $(usev test-install install-test)
# We want to strip neither the BPF libraries nor libdtrace.so itself
# as probes attach to some symbols that would get removed otherwise.
dostrip -x "/usr/$(get_libdir)"
# It's a binary (TODO: move it?)
docompress -x /usr/share/doc/${PF}/showUSDT
newinitd "${FILESDIR}"/dtprobed.init dtprobed
}
pkg_postinst() {
# We need a udev reload to pick up the CUSE device node rules.
udev_reload
if [[ -n ${REPLACING_VERSIONS} ]]; then
# TODO: Make this more intelligent wrt comparison
# One option for this is to detect when it's needed (DOF stash layout changes)
# and then e.g. sleep and restart for the user.
if systemd_is_booted ; then
einfo "Restart the DTrace 'dtprobed' service after upgrades once all dtraces are stopped with:"
einfo " systemctl try-restart dtprobed"
else
einfo "Restart the DTrace 'dtprobed' service after upgrades once all dtraces are stopped with:"
einfo " /etc/init.d/dtprobed restart"
fi
else
einfo "See https://wiki.gentoo.org/wiki/DTrace for getting started."
# We can't do magic for people with ROOT=.
if [[ -n ${ROOT} ]] ; then
einfo "Enable and start the DTrace 'dtprobed' service for systemd with:"
einfo " systemctl enable --now dtprobed"
einfo
einfo "Enable and start the DTrace 'dtprobed' service for OpenRC with:"
einfo " rc-update add dtprobed"
einfo " /etc/init.d/dtprobed start"
return
fi
# For first installs, we enable the service and start it.
#
# This is unusual, but the behaviour without dtprobed running
# is untested/unsupported. It's not a network service, it
# has no configuration, reads a single device node, and
# does all parsing within a seccomp jail. It also leads
# to hard-to-diagnose issues because USDT probes won't
# be registered and an application might have already
# started up which needs to be traced.
if systemd_is_booted ; then
ebegin "Enabling & starting DTrace 'dtprobed' service"
systemctl enable --now dtprobed
eend $?
else
ebegin "Enabling DTrace 'dtprobed' service"
rc-update add dtprobed
eend $?
ebegin "Starting DTrace 'dtprobed' service"
rc-service dtprobed start
eend $?
fi
fi
}
pkg_postrm() {
udev_reload
}

View File

@@ -1,4 +1,3 @@
DIST ecjsrc-4.20.jar 2255761 BLAKE2B 42e16e1bd3d90b8d9bf3e57f83b3e06f2857a20db3e3ac065ce39e95fc47e75de33186115c36dede691bc37fd55fa8123f2220d13f3d5819404f5de702b10fd2 SHA512 fb27c0a37ed5cdfdcdbc904d067bfdd0477ddfd873a6cd8477d3b473734fd0e37329f0e9ab85dc5f89994d68d9886a488bd88568bc00e25f54c1a5a468dc1384
DIST ecjsrc-4.26.jar 2347137 BLAKE2B 22e627178fe35f34cee7ba63e740ef2699bca691d460c81e97c2f18c197042cc0d901eea988331b3fa2ac7daa87daef9ee90bc1e62901935a6f2f3fe5f1e8534 SHA512 e53534160e6a2cdc8c5db7caec617d5671eb59954a86b9dcb36a514024c3205167c8416560796ce61d1aa188f551660f3bfd8eab46fefe9111c8f0b7a977342f
DIST ecjsrc-4.33.jar 2361539 BLAKE2B 1bfd2f7d8e9f79bceebec337ddff651a42d133015be8749076d6a67f60d7fbf8e56e658b1535f52fe7f736b6e59eff6187ee94c6c260b399145c1018ae388e35 SHA512 48823264ff18b666b6d350c58e8b3b7d0429d2c5de061cee4c88894da2d44049bf0fcf13ca20d848797ef0591fccd028ac687ec072b8eb02deb5f57b7e560677
DIST ecjsrc-4.37.jar 2347788 BLAKE2B 2db81e4095277a3f4c4d38aaad29d327af2bd8ccf9f2ad1a5f32519c808877cb33934335a1c47d42717fe3695a2d1f8b0a5533e1f86ef6d2986cc2c380420a3c SHA512 ee1d000125b10cc9fd51fd2f880fc1d543a4e9bbe5e792d79b5cd6a8ccf7addeeb0c04c2e672d08d7bcee7fd67ea36a684455f732aa6703ec8b234c92d0841cb

View File

@@ -1,55 +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"
# 3.38.0 according to
# https://github.com/eclipse-jdt/eclipse.jdt.core/blob/R4_32/org.eclipse.jdt.core.compiler.batch/pom.xml#L20
MAVEN_ID="org.eclipse.jdt:org.eclipse.jdt.core.compiler.batch:3.38.0"
inherit java-pkg-2 java-pkg-simple
DMF="R-${PV/_rc/RC}-202409030240"
DESCRIPTION="Eclipse Compiler for Java"
HOMEPAGE="https://projects.eclipse.org/projects/eclipse.jdt"
SRC_URI="https://download.eclipse.org/eclipse/downloads/drops4/${DMF}/ecjsrc-${PV/_rc/RC}.jar"
S="${WORKDIR}"
LICENSE="EPL-1.0"
SLOT="4.33"
KEYWORDS="amd64 ~arm64 ~ppc64"
BDEPEND="app-arch/unzip"
COMMON_DEP="app-eselect/eselect-java"
# ElementsImpl9.java:206: error:
# method does not override or implement a method from a supertype
DEPEND="${COMMON_DEP}
>=dev-java/ant-1.10.14-r3:0
>=virtual/jdk-21:*"
# Parser.java:1095: error:
# pattern matching in instanceof is not supported in -source 11
RDEPEND="${COMMON_DEP}
>=virtual/jre-17:*"
DOCS=( org/eclipse/jdt/core/README.md )
JAVA_AUTOMATIC_MODULE_NAME="org.eclipse.jdt.core.compiler.batch"
JAVA_CLASSPATH_EXTRA="ant"
JAVA_JAR_FILENAME="ecj.jar"
JAVA_LAUNCHER_FILENAME="ecj-${SLOT}"
JAVA_MAIN_CLASS="org.eclipse.jdt.internal.compiler.batch.Main"
JAVA_RESOURCE_DIRS="res"
src_prepare() {
java-pkg-2_src_prepare
# Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
rm META-INF/ECLIPSE_* || die
mkdir "${JAVA_RESOURCE_DIRS}" || die
find -type f \
! -name '*.java' \
| xargs cp --parent -t "${JAVA_RESOURCE_DIRS}" || die
}

View File

@@ -1,6 +1,2 @@
DIST mysql-connector-j-9.2.0.tar.gz 4502257 BLAKE2B 00c2bddf27f090236ce67bbd31b746d9d16c25aca27257005bbbb02430574d2b9e25eb597cb5948e6bb8b00bf5b2e564a44e7f072763816914c2c76bdfc80a1a SHA512 31a32cbb026932c3ec08c5a6f24643db084b3bf43d28e11b94bbccb5478b66f69322819dd611daa7b2ba0b705fba00d3a7ba2ce6d96f023cf4e2b0ae4457ba6a
DIST mysql-connector-j-9.4.0.tar.gz 4493403 BLAKE2B ea07fc61ff4b2f6c4e70e5263a2702eab62ca54ee0b98015c5a506ad6c0651815e5d379519fd71168764d228130f7f20542ecf6b78c90063792879ceb81cf11a SHA512 57db259a45b6b060c93f8252d5e9d1998534033db9b0ade8409bb72890701017d411482c8b11eb25c84d18bf8301c57ca200177b2e3e019f1be32e17304bc2fd
DIST oci-java-sdk-common-3.29.0.jar 453619 BLAKE2B 41a68344a9cf4733c642e3a6e4254f3991f19c13edf57b3c61352b1e6ffdfabfe29cd8dccaa9b128fae618a492fb342007d14ad65b06cd614da572c787cf35ab SHA512 b6def960e114b69d3f34706d5e293f0a05b30c31a1443a92e454631712bb633eaea3795beeeabe4eb1303b8ad42ef2b73d69880b73d360e193f8f1b532bc3430
DIST oci-java-sdk-common-3.66.0.jar 491192 BLAKE2B 9570b3d0ea16348a4cf184bd5e3bce5da7fe0d2bd69386ab92ed8d6ec8889f8db02ea70ebab7aed711dfab8891edc3a7497243424d8d8339587454e051e9afe5 SHA512 eda592ba11769b374631f8a238941736235dc7d29e67490fead6855bd6f7fca000ee8647c860d2d8b0531bf71dc2e51cdd5dd7a2b03e33bf4c29e6c9c8efc960
DIST opentelemetry-api-1.40.0.jar 141734 BLAKE2B 1f14ca7caadd0a3eed615da7ee528e5df72474d9a4eabcf5a820996830cf76c8fa3402de7d283598f1e4bb44b1a15c488b81863c4b5c0685ea35fe65f3fb12c2 SHA512 d4a1af66075b5f147ba297a8133a707716e323800d8aa2debcdace2bbe10046b2fee8a47d87fa9b6f1f11ad30f4da688670c546841990ad8daa7c8c0535498f2
DIST opentelemetry-context-1.40.0.jar 47251 BLAKE2B 7effcc63ec6695184467518686ec8165118cae1e7a4f1a7db273a3cbd1ff0b1e98c2a83252291db9536121e1e2999d1d77734acd7ddb5b272264138af4e6af74 SHA512 14ebc39edce8b603fe9f13d304faf54d7362abe3b1ae574aa84d5bbe37c43b133c8131976efd2bfedc94c646b2487054f7b3cce04e1f09efbce0f4ce5a6d5921

View File

@@ -1,78 +0,0 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# No tests, see bug #902723
JAVA_PKG_IUSE="doc source"
MAVEN_ID="com.mysql:mysql-connector-j:9.1.0"
# JAVA_TESTING_FRAMEWORKS="junit-4"
inherit java-pkg-2 java-pkg-simple
# Bundling binary versions of oci-java-sdk-common and opentelemetry
# https://github.com/oracle/oci-java-sdk/blob/v2.47.0/bmc-common/pom.xml
OSC="3.29.0"
OAV="1.40.0"
DESCRIPTION="JDBC Type 4 driver for MySQL"
HOMEPAGE="https://dev.mysql.com/doc/connector-j/en/"
SRC_URI="https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-j-${PV}.tar.gz
https://repo1.maven.org/maven2/com/oracle/oci/sdk/oci-java-sdk-common/${OSC}/oci-java-sdk-common-${OSC}.jar
https://repo1.maven.org/maven2/io/opentelemetry/opentelemetry-context/${OAV}/opentelemetry-context-${OAV}.jar
https://repo1.maven.org/maven2/io/opentelemetry/opentelemetry-api/${OAV}/opentelemetry-api-${OAV}.jar"
S="${WORKDIR}/mysql-connector-j-${PV}"
LICENSE="GPL-2-with-MySQL-FLOSS-exception"
SLOT="0"
KEYWORDS="amd64"
CP_DEPEND="
dev-java/c3p0:0
>=dev-java/protobuf-java-4.27.2:0
dev-java/slf4j-api:0
"
DEPEND="
${CP_DEPEND}
>=virtual/jdk-1.8:*
"
RDEPEND="
${CP_DEPEND}
>=virtual/jre-1.8:*
"
DOCS=( CHANGES README )
JAVA_GENTOO_CLASSPATH_EXTRA="${DISTDIR}/oci-java-sdk-common-${OSC}.jar"
JAVA_GENTOO_CLASSPATH_EXTRA+=":${DISTDIR}/opentelemetry-context-${OAV}.jar"
JAVA_GENTOO_CLASSPATH_EXTRA+=":${DISTDIR}/opentelemetry-api-${OAV}.jar"
JAVA_JAR_FILENAME="mysql-connector-j.jar"
JAVA_RESOURCE_DIRS="src/main/resources"
JAVA_SRC_DIR=(
"src/generated"
"src/legacy/java"
"src/main/core-api/java"
"src/main/core-impl/java"
"src/main/protocol-impl/java"
"src/main/user-api/java"
"src/main/user-impl/java"
)
src_prepare() {
java-pkg-2_src_prepare
mkdir -p src/main/resources/META-INF/services || die "META-INF"
# populate META-INF/services according to line 801 build.xml
echo com.mysql.cj.jdbc.Driver \
> src/main/resources/META-INF/services/java.sql.Driver || die "META-INF"
}
src_install() {
java-pkg-simple_src_install
java-pkg_newjar "${DISTDIR}/oci-java-sdk-common-${OSC}.jar" oci-java-sdk-common.jar
java-pkg_newjar "${DISTDIR}/opentelemetry-context-${OAV}.jar" opentelemetry-context.jar
java-pkg_newjar "${DISTDIR}/opentelemetry-api-${OAV}.jar" opentelemetry-api.jar
java-pkg_regjar "${ED}/usr/share/jdbc-mysql/lib/oci-java-sdk-common.jar"
}

View File

@@ -1,3 +1,4 @@
DIST erb-5.0.2.tar.gz 21822 BLAKE2B 0bbe198a230eda6a38ab8d059101d573d175dc8b63bbb8d325d5784f2c4f1fca408f47dd8dd029627a12d812156df77bac09fdcf88ce31da1068d7f58b32b716 SHA512 2dd7d6c450abcf2ece916112d36a25aced01843c00c367555d5f626a15765bb2155ba0273f12d40af57684a205377caeb0d318bcddea9b15c169d8bb68df6e3f
DIST erb-5.0.3.tar.gz 29689 BLAKE2B e4873a0f1a79466717d63e45bc10536f903881d6ea67b3a4cf8c5eb7af5eac9b40ffb6f2ba56789c762c3546bcd84c8b63ae9c0909840cc749b761f5f88c1cdf SHA512 114279238ce25b0f5d7fbca43d5464fa27963b41eca33ecd142e8353899a8c8c2f216805d6a989d99849fa71c09a83fadd4c698c2d2b21651b0f50307a97eef9
DIST erb-5.1.1.tar.gz 29868 BLAKE2B 20bfae1d24f11fefcb07d3f5c619fe91ef4ec8dfca5eba74fea21f51ab8ff5b5d7ee43d2784c07b2e237a4a847f8a2c4c68b6d1dfd7cf217ce0370b8284364e7 SHA512 f6085b78a19bd5480294c7286b320ecd2fe437ccfe2c0d70b123f9ae3b5f544493e5f5f444b4ffa7a02dc2c46f6b8b912a05f17a8900cfe0c38e03e03a5d06fc
DIST erb-5.1.3.tar.gz 30370 BLAKE2B d7caf250b1f50c3cbb37b244e154e37a67e81cebfa759dab63a8e3710a8327616d092cba6c0d1c34a260ac41932cc35cf4765bf992c08430d378480d8f05779e SHA512 ab5a06d0e0a22a97e621f49164cb0fdc1bc0902c1c92b67f4a30b5e4dd9a2ccb25021c62a8dca13303be24b23d6cf9b6866bd62e0e2a5669b3c19b50d3c759d6

View File

@@ -0,0 +1,36 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
USE_RUBY="ruby32 ruby33 ruby34"
# There is an erb binary in exe but that would conflict with the ruby
# built-in version.
RUBY_FAKEGEM_BINWRAP=""
RUBY_FAKEGEM_EXTENSIONS=(ext/erb/escape/extconf.rb)
RUBY_FAKEGEM_EXTENSION_LIBDIR="lib/erb"
RUBY_FAKEGEM_EXTRADOC="README.md"
RUBY_FAKEGEM_EXTRAINSTALL="libexec"
RUBY_FAKEGEM_GEMSPEC="erb.gemspec"
inherit ruby-fakegem
DESCRIPTION="An easy to use but powerful templating system for Ruby"
HOMEPAGE="https://github.com/ruby/erb"
SRC_URI="https://github.com/ruby/erb/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="|| ( Ruby-BSD BSD-2 )"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
all_ruby_prepare() {
sed -e "s:_relative ': './:" \
-e 's/git ls-files -z/find * -print0/' \
-i ${RUBY_FAKEGEM_GEMSPEC} || die
}
each_ruby_test() {
${RUBY} -Ilib:test:. -rtest/lib/helper -e "Dir['test/**/test_*.rb'].each { require _1 }" || die
}

View File

@@ -1,3 +1,4 @@
DIST liquid-4.0.4.tar.gz 102376 BLAKE2B 034c1635556455b41911230e03329f2e817562c9de91ad6cf94ec96f997293927b3c4c6cf4b3db6f778bb5b8a94c8727175d57a60ed8c5db562269f2d8e4d7ed SHA512 8c7a674ea7f7542f3a57e57235f1252d1177794fe2108463d29fb91efec68ac6e3cc2df5efe865afa47b34dbfce5bb4326d9cd661786429e8985b320671c6d23
DIST liquid-5.8.6.tar.gz 142534 BLAKE2B f701e3fc604c80778989e0a73fef6e66e1292fc3ac6dbc43baefaed6b4806846d6627b50c077924e0fe685f0872df1567140a5b9c0540bdadbb3f789f4830b80 SHA512 4f40fef12215b54d5ec6bb7245508c10c368d2e0316017b930a5f59f4f56fa5a5eb556e8d877b54b0bc70bbaa54f75547e0367fb3206d830b4f8034bd01a3f00
DIST liquid-5.8.7.tar.gz 143180 BLAKE2B 54bd82de83020a54757993c95843c0176cef7e77409e6c830d6456d0c097b02d1682752301f025b9f2336f6b356a4943a155961ebbd403e57f3ac7953671ab28 SHA512 cf8428dd4c43b29a60edd4295a17af47c1d83c3d481df12095d8222c195c41c6bf7e96725654897fe6fe12113fe43b96a1193a99dc2ed54c6f67c24babcc4117
DIST liquid-5.9.0.tar.gz 148939 BLAKE2B 167531c20c54e7a39f1c610276ef4b78c7aa9230dc0ecd306e9411b17adfb6250bfb25f2ca8a2c209a7975e0d707788af29352f60ff70763934ce51a199e04f4 SHA512 c0909c50557cac70f4312ef8b9d1642dd166d99ee5f6bf195f6d60afa69ab60bc5b0441c549c605fb5ff2e5bd4aa78aea2840a95f5b43541b2ff640a963328a9

View File

@@ -0,0 +1,46 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
USE_RUBY="ruby32 ruby33 ruby34"
RUBY_FAKEGEM_TASK_DOC=""
RUBY_FAKEGEM_EXTRADOC="History.md README.md"
RUBY_FAKEGEM_GEMSPEC="liquid.gemspec"
inherit ruby-fakegem
DESCRIPTION="Template engine for Ruby"
HOMEPAGE="https://shopify.github.io/liquid/"
SRC_URI="https://github.com/Shopify/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="$(ver_cut 1)"
KEYWORDS="~amd64 ~arm64"
IUSE="test"
ruby_add_rdepend "
dev-ruby/bigdecimal
>=dev-ruby/strscan-3.1.1
"
ruby_add_bdepend "test? ( dev-ruby/minitest )"
all_ruby_prepare() {
# liquid-c is not packaged
sed -i -e '/LIQUID_C/ s:^:#:' Rakefile || die
# Avoid test requiring unpackaged stackprof
sed -i -e '/assert_no_object_allocations/askip "unpackaged stackprof"' test/integration/context_test.rb || die
# Avoid test requiring unpackaged lru_redux
sed -e '/require.*lru_redux/ s:^:#:' \
-e '/test_expression_cache_with_lru_redux/askip "unpackaged lru_redux"' \
-i test/integration/expression_test.rb || die
# Ensure the gem version of strscan is used.
sed -e '3igem "strscan", ">=3.1.1"' \
-i test/test_helper.rb || die
}

View File

@@ -3,3 +3,4 @@ DIST rubyzip-3.0.2-git.tgz 944064 BLAKE2B f965ceeefa3e1f03e72e7dc64bacf143350c24
DIST rubyzip-3.1.0-git.tgz 1069585 BLAKE2B cd26f082aaf4c7af9749df7f51990e21c5bbc922224ac0f682b8efde037998ad663380a13164f1c0ba01368dc3f7abd8d3b30f0bc08f79166322f595a867afbf SHA512 4430ae3c41b920c05ad165def3db2aa51943355883926b66430ee3c610229db83bac00247536c761d2769b1b43cef694bffbbd457ad93f5b3c3c06c1278e0b03
DIST rubyzip-3.1.1-git.tgz 1070421 BLAKE2B ed1527adffb6d8f7392e3dac3ab82b0fc5e25ceecf4a70cbc2d052c5bc0e033ecfe174d3f40317429f347b2cbc69bb0792ab59c23080e166257936003e537e2a SHA512 ff69c517e1bc06e71baff5ca60046764ebb0e241d01ce76edff93bfd44a59b8aa388f0028792b78a8989ddba70eadf2422e6598da9c7a8c87d0adf26037e4ea5
DIST rubyzip-3.2.0-git.tgz 1072392 BLAKE2B 1d1fc763a895abe158e7ac1f558b1e5827e4b5c6a2a5a0906cf1c011a46285a65474a01a50cab952319ec90be7a7fa5281abdcb3a5c9ec63b460e038b69c22b5 SHA512 3d98cbd24be64d89d6227039353058f98c95221fc511f1e49cad85fbf57da5f6fcd5d38d80b2cfaec3e392531bb8635d1a593c4e794c170f4fa4f3f4f311a399
DIST rubyzip-3.2.1-git.tgz 1072295 BLAKE2B 86e70b8391f5bc57a21cb0e44386d26c086a583c056f8fa96ce567741285cb24128e6047706e06e56d612302e23c009ea016a076adc3499df8eba080bd64747b SHA512 fb08a1540bb5faa655cb6eb9786da4c4d31bb218917077d0e28399747543a2a709ba8f1a10c7185d93fa5793e1f6826aa1c55978af573ac0c0e52bbf8e67b205

View File

@@ -0,0 +1,60 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
USE_RUBY="ruby32 ruby33 ruby34"
RUBY_FAKEGEM_RECIPE_DOC="none"
RUBY_FAKEGEM_EXTRADOC="Changelog.md README.md"
RUBY_FAKEGEM_GEMSPEC="rubyzip.gemspec"
RUBY_FAKEGEM_BINWRAP=""
inherit ruby-fakegem
DESCRIPTION="A ruby library for reading and writing zip files"
HOMEPAGE="https://github.com/rubyzip/rubyzip"
# Tests are not included in the gem.
SRC_URI="https://github.com/rubyzip/rubyzip/archive/v${PV}.tar.gz -> ${P}-git.tgz"
LICENSE="Ruby-BSD"
SLOT="$(ver_cut 1)"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="test"
DEPEND="test? ( app-arch/zip )"
ruby_add_bdepend "test? ( dev-ruby/minitest:5 )"
all_ruby_install() {
all_fakegem_install
docinto examples
dodoc samples/*
}
all_ruby_prepare() {
# Avoid dependencies on simplecov and coveralls
sed -i -e '/simplecov/ s:^:#:' test/test_helper.rb || die
# Avoid dependency on bundler
sed -e '/bundler/ s:^:#: ; /rubocop/I s:^:#:' \
-e '2irequire "zip/version"' \
-i Rakefile || die
# Fix hardcoded path to /tmp
sed -i -e "s:/tmp/:${T}/:g" test/entry_test.rb || die
# Add missing requires
sed -i -e '1irequire "forwardable"; require "pathname"' test/input_stream_test.rb || die
sed -e '2irequire "zip/version"' \
-i test/constants_test.rb || die
# Fix broken test that uses native endian
sed -i -e '/pack/ s/LLS/VVv/' test/file_extract_test.rb || die
sed -e "s:_relative ': './:" \
-i ${RUBY_FAKEGEM_GEMSPEC} || die
}

View File

@@ -2,11 +2,14 @@ DIST git-2.49.1.tar.xz 7773832 BLAKE2B 89bd1202f580aa11ea774809140c02c2cde1f5573
DIST git-2.50.1.tar.xz 7880972 BLAKE2B 4e5e3168d7dd88cc508920dd773df2ec6b568c70e8068a18010f01241ebc9e9140ca13a9820e14f0d4695e966c436aef305a81e61cc66007b756b75f48dd5d16 SHA512 09f37290c0d4d074b97363f4a4be1813426e93ac3fa993c4d671bb1462bcc9335713c17d1442196a35205a603eeb052662382935d27498875a251f4fe86f6b36
DIST git-2.51.0.tar.xz 7857228 BLAKE2B b385ee2c7aed601435952c983045055c970cdda607d83ae8ba904ee10e5e76bca097ccbe0f22e4e1467c6d606c9eecb952ffb382f351124325b6fd5d87083596 SHA512 2b8c59589266c0c9e58a9f4fda4a970a8a492e2e0ecbafc414fcfacac4a04251f0115b3676f4599a415b53906f1dea312b18a42e9bde455286abd62ec327beaf
DIST git-2.51.1.tar.xz 7865216 BLAKE2B 3bb26baee468498f882eb3bf995c58cf441a9e7537ca3dafbe58cf24a947d37a52749b62e3095446787514f0eb9e1d767d4efbee29a8d63851803e8c6bb4daa6 SHA512 bc22d26bbfad4a549d2fb6bed11eb019c2dee607c86bf8faaa986774e526e5b367d80c9a79ab50358624634d840e8e0d27e0b46411d1aabbf76728b7a7f138dd
DIST git-2.51.2.tar.xz 7865980 BLAKE2B d567f52da82cabc5d2e4f542f02209aa170536864769fa49c9a24c5129e0603a940b1adf6dedf892c8971d947400a104d312b376f3f6aa23029cb57dffc9acb4 SHA512 547c3e522d9e6a2c2ccab24ee0c7f4f2d29878759563356e3a2ae9675884b7044ce5a236803170a203b79443760eb18a7089eec02bd105316e3ab045ab7603a7
DIST git-htmldocs-2.49.1.tar.xz 1602244 BLAKE2B 8d6df9ff42660123577933a95971bdd47d94b650b2cb8abafa4f4cbd981d016d3d3fdcbb08f22616ee44f928fc0aaac4f0ffee8a1d1d0c659240fcc2db9e2a25 SHA512 39db559a507b732d18ce1fa3ac513e87ca27b1d5df0f6d26cdead7b5add4eb29889d4c81e09b25c6fdbd813a0f13c833a22a4b6bbba6dea3b126e841a61424f8
DIST git-htmldocs-2.50.1.tar.xz 1615796 BLAKE2B 6d340b552075bce7d724824eefd03540d558e24c07b49e48f1bb4262a5b3632b6aa7782bb02b15aaf424d22e5460bffee066f1e2bb0018791dcec8afa79dd3b8 SHA512 ebe437851b039bab4ec83be807583a23beaf43073248ffdcddee2328fc621b5b712c094faac3ee15a783f5a0cbdd92c2635879426007e8ef0ddcb70f227782f9
DIST git-htmldocs-2.51.0.tar.xz 1627664 BLAKE2B 17106db9d7edf8717281d5af88ec9b53c91f6ba56552d5952d25ff593b4d227194df53a33dd52eb4791dd5044a7d867f8bed2371087e6dfdb4a0110e09f70055 SHA512 55460724b73bc42ebb611a4c0657f59040e8e7b28d56cb26814ae97c1b13ce3577e57e5a66f2749a93b7b3496b8a665ce5a2c31ba471eadb3267813915dc7051
DIST git-htmldocs-2.51.1.tar.xz 1629412 BLAKE2B e135a355e84c4bd1a1d1e54dd6ff875b43145649cdc90696b1650f74ff3a0b2a94190d23ffffc22b621703fbb713d042283a5e65b0ed60860cc892d26b44226e SHA512 0abfbef358162d03fc033bca23bc95cae0561e8f4852abfd49d53d546005caf0b6f759776c7bbada8353cb340b3b48b0c1cd0415db0bbf04efe591e7b9411fe1
DIST git-htmldocs-2.51.2.tar.xz 1629724 BLAKE2B ed8593f9ccbd8017656af7193914638c25be7ed2a449d3509d49949a1eff2134b3a9c163802155610e32cb07f9ea4eced9ebd0758eb0f36b0ff028c0ee0462f0 SHA512 cafb7fa2f0a3be6bff006f65c8462047e6f2c80482b09df7c45e7caba12acee670ddb886c125dcc751a5d701ebf812737f981bd0bcbc3035432de26db981929a
DIST git-manpages-2.49.1.tar.xz 594536 BLAKE2B b29aea1817053fefacc9a16abb86ea9fb4f2f239a268661a357cda16ab02b55ff3736b0c7d870fcacf4867bd063e14177bc46109115845fdea26b1870ff5f463 SHA512 0fbd824bfd68c72e8a6509989ffd016d1256cc3c5dfe4634170de2a07cdbdb4506f4b9136fa3176ac56c6f20f518a16758f1391bbd658be0caa8ebcc34158feb
DIST git-manpages-2.50.1.tar.xz 598416 BLAKE2B c47be82829562057a99da3dc801958c2f7d1eeabb5af3c28cc3a66ec03a02b96e2d1d670ce39f7ab1d39fc113abe896c73b2126129cd98c3d33292267f160690 SHA512 9de90823bfb815ce31938794b80bf8526d162125afe23084114c47d360235a8d63b6fcdf78613bd91ee492b8d8c614d026cce51733bdd63bffe533f7da616d05
DIST git-manpages-2.51.0.tar.xz 602200 BLAKE2B 12b103871dcd8173e88e2eb96621620682c19aecfb6ecbd7a9b3d8bb7358eed78c00af0738c502c5ff71ac8d85894c68ed33f395aed426d580210d4c1d36faf6 SHA512 ee2eb3bc90a63cb28ccdc8716b2d610b55eefbc0da255b7360695bc686ba52841b147c879a4f8b2ecdb767814b815929f7e0dd57fa612a87ef5e36b862056144
DIST git-manpages-2.51.1.tar.xz 602552 BLAKE2B a8781e1b7b040b39ca17ee9ea20688bc14bdd0a948e1bab2e39e01747770a97f64119e4eacdedd07e3d281469025958ca34d73faacad7c36381e9a9c8f4fe4ab SHA512 e8f00835472c2078023e28cb9ae1ac2aac8c4e950a8ef453eafe894d9bb8411e3e89108606b3783c00883db2bb041defb0bf9dd5b3558bcbd6b07b7f28c66e92
DIST git-manpages-2.51.2.tar.xz 602340 BLAKE2B 856c4531ed27b53f390f738774d758813f717b378bd64e4736e8627fe898b34b64b8d4b9fb686573f21d90d8db859062371586c440f3c6efca38346a04f7120b SHA512 d6443f22590797eb6947fbb317e2ec52beeabd6d3117425e23d93085952c4d9eaa8d26ae677a8f4d73938f9611ac636f5f26e29527cc96d1a6612c2853103a94

View File

@@ -0,0 +1,476 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
GENTOO_DEPEND_ON_PERL=no
# bug #329479: git-remote-testgit is not multiple-version aware
PYTHON_COMPAT=( python3_{11..14} )
inherit toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd meson
PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://git.kernel.org/pub/scm/git/git.git"
inherit git-r3
# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
# See https://git-scm.com/docs/gitworkflows#_graduation
# In order of stability:
# 9999-r0: maint
# 9999-r1: master
# 9999-r2: next
# 9999-r3: seen
case ${PVR} in
9999) EGIT_BRANCH=maint ;;
9999-r1) EGIT_BRANCH=master ;;
9999-r2) EGIT_BRANCH=next;;
9999-r3) EGIT_BRANCH=seen ;;
esac
fi
MY_PV="${PV/_rc/.rc}"
MY_P="${PN}-${MY_PV}"
DOC_VER="${MY_PV}"
DESCRIPTION="Stupid content tracker: distributed VCS designed for speed and efficiency"
HOMEPAGE="https://www.git-scm.com/"
if [[ ${PV} != *9999 ]]; then
SRC_URI_SUFFIX="xz"
SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
[[ ${PV/rc} != ${PV} ]] && SRC_URI_KORG+='/testing'
SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}"
SRC_URI+=" ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}"
SRC_URI+=" doc? ( ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} )"
if [[ ${PV} != *_rc* ]] ; then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
fi
S="${WORKDIR}"/${MY_P}
LICENSE="GPL-2"
SLOT="0"
IUSE="+curl cgi cvs doc keyring +gpg highlight +iconv +nls +pcre perforce +perl +safe-directory selinux subversion test tk +webdav xinetd"
# Common to both DEPEND and RDEPEND
DEPEND="
dev-libs/openssl:=
sys-libs/zlib
curl? (
net-misc/curl
webdav? ( dev-libs/expat )
)
keyring? (
app-crypt/libsecret
dev-libs/glib:2
)
iconv? ( virtual/libiconv )
pcre? ( dev-libs/libpcre2:= )
perl? ( dev-lang/perl:=[-build(-)] )
tk? ( dev-lang/tk:= )
"
RDEPEND="
${DEPEND}
gpg? ( app-crypt/gnupg )
perl? (
dev-perl/Error
dev-perl/MailTools
dev-perl/Authen-SASL
>=virtual/perl-libnet-3.110.0-r4[ssl]
cgi? (
dev-perl/CGI
highlight? ( app-text/highlight )
)
cvs? (
>=dev-vcs/cvsps-2.1:0
dev-perl/DBI
dev-perl/DBD-SQLite
)
subversion? (
dev-vcs/subversion[-dso(-),perl]
dev-perl/libwww-perl
dev-perl/TermReadKey
)
)
perforce? ( ${PYTHON_DEPS} )
selinux? ( sec-policy/selinux-git )
"
# This is how info docs are created with Git:
# .txt/asciidoc --(asciidoc)---------> .xml/docbook
# .xml/docbook --(docbook2texi.pl)--> .texi
# .texi --(makeinfo)---------> .info
BDEPEND="
doc? (
app-text/asciidoc
app-text/docbook2X
app-text/xmlto
sys-apps/texinfo
)
keyring? ( virtual/pkgconfig )
nls? ( sys-devel/gettext )
test? (
app-arch/unzip
app-crypt/gnupg
dev-lang/perl
)
"
# Live ebuild builds man pages and HTML docs, additionally
if [[ ${PV} == *9999 ]]; then
BDEPEND+=" app-text/asciidoc"
fi
SITEFILE="50${PN}-gentoo.el"
REQUIRED_USE="
cgi? ( perl )
cvs? ( perl )
perforce? ( ${PYTHON_REQUIRED_USE} )
subversion? ( perl )
webdav? ( curl )
"
RESTRICT="!test? ( test )"
PATCHES=(
"${FILESDIR}"/${PN}-2.48.1-macos-no-fsmonitor.patch
# This patch isn't merged upstream but is kept in the ebuild by
# demand from developers. It's opt-in (needs a config option)
# and the documentation mentions that it is a Gentoo addition.
"${FILESDIR}"/${PN}-2.50.0-diff-implement-config.diff.renames-copies-harder.patch
)
pkg_setup() {
if use subversion && has_version "dev-vcs/subversion[dso]" ; then
ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
ewarn "with USE=dso, there may be weird crashes in git-svn. You"
ewarn "have been warned!"
fi
if use perforce ; then
python-single-r1_pkg_setup
fi
}
src_unpack() {
if [[ ${PV} != *9999 ]] ; then
unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
cd "${S}" || die
unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
if use doc ; then
pushd "${S}"/Documentation &>/dev/null || die
unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
popd &>/dev/null || die
fi
else
git-r3_src_unpack
fi
}
src_prepare() {
if ! use safe-directory ; then
# This patch neuters the "safe directory" detection.
# bugs #838271, #838223
PATCHES+=(
"${FILESDIR}"/git-2.46.2-unsafe-directory.patch
)
fi
default
}
src_configure() {
local contrib=(
completion
subtree
$(usev perl 'contacts')
)
local credential_helpers=(
$(usev keyring 'libsecret')
$(usev perl 'netrc')
)
# Needs macOS Frameworks that can't currently be built with GCC.
if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
credential_helpers+=( osxkeychain )
fi
local native_file="${T}"/meson.ini.local
cat >> ${native_file} <<-EOF || die
[binaries]
# We don't want to bake /usr/bin/sh from usrmerged systems into
# binaries. /bin/sh is required by POSIX.
sh='/bin/sh'
EOF
local emesonargs=(
--native-file "${native_file}"
$(meson_feature curl)
$(meson_feature cgi gitweb)
$(meson_feature webdav expat)
$(meson_feature iconv)
$(meson_feature nls gettext)
$(meson_feature pcre pcre2)
$(meson_feature perl)
$(meson_feature perforce python)
$(meson_use test tests)
-Dcontrib=$(IFS=, ; echo "${contrib[*]}" )
-Dcredential_helpers=$(IFS=, ; echo "${credential_helpers[*]}" )
-Dmacos_use_homebrew_gettext=false
-Dperl_cpan_fallback=false
# TODO: allow zlib-ng
-Dzlib_backend=zlib
)
[[ ${CHOST} == *-darwin* ]] && emesonargs+=( -Dfsmonitor=false )
# For non-live, we use a downloaded docs tarball instead.
if [[ ${PV} == *9999 ]] || use doc ; then
emesonargs+=(
-Ddocs="man$(usev doc ',html')"
)
fi
if [[ ${PV} != *9999 ]] ; then
# Non-live ebuilds download the sources from a tarball which does not
# include a .git directory. Coccinelle assumes it exists and fails
# otherwise.
#
# Fixes https://bugs.gentoo.org/952004
emesonargs+=(
-Dcoccinelle=disabled
)
fi
meson_src_configure
if use tk ; then
local tkdir
for tkdir in git-gui gitk-git ; do
(
EMESON_SOURCE="${S}"/${tkdir}
BUILD_DIR="${WORKDIR}"/${tkdir}_build
emesonargs=()
meson_src_configure
)
done
fi
}
git_emake() {
local mymakeargs=(
prefix="${EPREFIX}"/usr
htmldir="${EPREFIX}"/usr/share/doc/${PF}/html
sysconfdir="${EPREFIX}"/etc
perllibdir="$(use perl && perl_get_raw_vendorlib)"
CC="$(tc-getCC)"
CFLAGS="${CFLAGS}"
LDFLAGS="${LDFLAGS}"
PKG_CONFIG="$(tc-getPKG_CONFIG)"
OPTAR="$(tc-getAR)"
OPTCC="$(tc-getCC)"
OPTCFLAGS="${CFLAGS}"
OPTLDFLAGS="${LDFLAGS}"
PERL_PATH="${EPREFIX}/usr/bin/perl"
PERL_MM_OPT=""
V=1
"$@"
)
emake "${mymakeargs[@]}"
}
src_compile() {
meson_src_compile
if use tk ; then
local tkdir
for tkdir in git-gui gitk-git ; do
(
EMESON_SOURCE="${S}"/${tkdir}
BUILD_DIR="${WORKDIR}"/${tkdir}_build
meson_src_compile
)
done
fi
if use doc ; then
# Workaround fragments that still use the Makefile and can't
# find the bits from Meson's out-of-source build
ln -s "${BUILD_DIR}"/Documentation/asciidoc.conf "${S}"/Documentation/asciidoc.conf || die
fi
git_emake -C contrib/diff-highlight
}
src_test() {
# t0610-reftable-basics.sh uses $A
local -x A=
meson_src_test
}
src_install() {
meson_src_install
if use doc ; then
cp -r "${ED}"/usr/share/doc/git-doc/. "${ED}"/usr/share/doc/${PF}/html || die
rm -rf "${ED}"/usr/share/doc/git-doc/ || die
fi
# Depending on the tarball and manual rebuild of the documentation, the
# manpages may exist in either OR both of these directories.
find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
local d
for d in / /howto/ /technical/ ; do
docinto ${d}
dodoc Documentation${d}*.adoc
done
docinto /
newbashcomp contrib/completion/git-completion.bash ${PN}
bashcomp_alias git gitk
# Not really a bash-completion file (bug #477920)
# but still needed uncompressed (bug #507480)
insinto /usr/share/${PN}
doins contrib/completion/git-prompt.sh
#dobin contrib/fast-import/git-p4 # Moved upstream
#dodoc contrib/fast-import/git-p4.txt # Moved upstream
newbin contrib/fast-import/import-tars.perl import-tars
# diff-highlight
dobin contrib/diff-highlight/diff-highlight
newdoc contrib/diff-highlight/README README.diff-highlight
# git-jump
exeinto /usr/libexec/git-core/
doexe contrib/git-jump/git-jump
newdoc contrib/git-jump/README git-jump.txt
dodir /usr/share/${PN}/contrib
# The following are excluded:
# completion - installed above
# diff-highlight - done above
# git-jump - done above
# gitview - installed above
# p4import - excluded because fast-import has a better one
# patches - stuff the Git guys made to go upstream to other places
# subtree - built seperately
# svnimport - use git-svn
# thunderbird-patch-inline - fixes thunderbird
local contrib_objects=(
buildsystems
fast-import
rerere-train.sh
stats
)
local i
for i in "${contrib_objects[@]}" ; do
cp -rf "${S}"/contrib/${i} "${ED}"/usr/share/${PN}/contrib || die "Failed contrib ${i}"
done
if use cgi ; then
# We used to install in /usr/share/${PN}/gitweb
# but upstream installs in /usr/share/gitweb
# so we will install a symlink and use their location for compat with other
# distros
dosym ../gitweb /usr/share/${PN}/gitweb
# INSTALL discusses configuration issues, not just installation
docinto /
newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
newdoc "${S}"/gitweb/README README.gitweb
for d in "${ED}"/usr/lib{,64}/perl5/ ; do
if [[ -d "${d}" ]] ; then
find "${d}" -name .packlist -delete || die
fi
done
else
rm -rf "${ED}"/usr/share/gitweb
fi
if use perl ; then
dodir "$(perl_get_vendorlib)"
mv "${ED}"/usr/share/perl5/Git.pm "${ED}/$(perl_get_vendorlib)" || die
mv "${ED}"/usr/share/perl5/Git "${ED}/$(perl_get_vendorlib)" || die
fi
if ! use subversion ; then
rm -f "${ED}"/usr/libexec/git-core/git-svn \
"${ED}"/usr/share/man/man1/git-svn.1*
fi
if use xinetd ; then
insinto /etc/xinetd.d
newins "${FILESDIR}"/git-daemon.xinetd git-daemon
fi
if ! use prefix ; then
newinitd "${FILESDIR}"/git-daemon-r2.initd git-daemon
newconfd "${FILESDIR}"/git-daemon.confd git-daemon
systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
systemd_dounit "${FILESDIR}/git-daemon.socket"
fi
if use tk ; then
local tkdir
for tkdir in git-gui gitk-git ; do
(
EMESON_SOURCE="${S}"/${tkdir}
BUILD_DIR="${WORKDIR}"/${tkdir}_build
meson_src_install
)
done
fi
perl_delete_localpod
# Remove disabled linguas
# we could remove sources in src_prepare, but install does not
# handle missing locale dir well
rm_loc() {
if [[ -e "${ED}/usr/share/locale/${1}" ]] ; then
rm -r "${ED}/usr/share/locale/${1}" || die
fi
}
plocale_for_each_disabled_locale rm_loc
}
pkg_postinst() {
if [[ -z ${REPLACING_VERSIONS} ]] ; then
elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
elog "completion."
elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
elog "Note that the prompt bash code is now in that separate script"
fi
optfeature_header "Some scripts require additional dependencies:"
optfeature git-quiltimport dev-util/quilt
optfeature git-instaweb www-servers/lighttpd www-servers/apache www-servers/nginx
}

View File

@@ -15,7 +15,7 @@ if [[ ${PV} == *9999 ]] ; then
inherit git-r3
else
SRC_URI="https://github.com/fail2ban/fail2ban/archive/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86"
fi
LICENSE="GPL-2"

View File

@@ -1,6 +1,10 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Sam James <sam@gentoo.org> (2025-10-28)
# Portability issues with dev-libs/apache-arrow (bug #923968).
sci-libs/gdal parquet
# PPN-SD <nicolas.parlant@parhuet.fr> (2025-10-04)
# media-libs/libemf is not keyworded here
app-office/dia wmf

View File

@@ -1,6 +1,10 @@
# Copyright 2019-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Sam James <sam@gentoo.org> (2025-10-28)
# Portability issues with dev-libs/apache-arrow (bug #923968).
sci-libs/gdal parquet
# Paul Zander <negril.nx+gentoo@gmail.com> (2025-06-29)
# media-libs/libvmaf is keyworded
media-libs/x265 -vmaf

View File

@@ -13,7 +13,7 @@ SRC_URI="https://github.com/xiaoyeli/superlu/archive/refs/tags/v${PV}.tar.gz ->
LICENSE="BSD"
SLOT="0/$(ver_cut 1)"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="doc examples test"
RESTRICT="!test? ( test )"

View File

@@ -23,7 +23,7 @@ else
inherit verify-sig
if [[ ${PV} != *_rc* ]] ; then
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos"
fi
SRC_URI="https://www.kernel.org/pub/linux/utils/util-linux/v${PV:0:4}/${MY_P}.tar.xz"

View File

@@ -1,17 +1,11 @@
DIST apache-tomcat-10.1.44-src.tar.gz 7247899 BLAKE2B da2e03b3095a45a25e41cc945b8f840d89a3dd0be0f9f953af61cacd2b4fc777b4574c224a6a116e66c44f9c3264d9a10662686fa7bb50dcbb10ca7d9518a4e0 SHA512 0d2ce14aa7547696c3b05fbb9d8aeef91f10b607c466bdaa6c785203170ac90589ebb8e4f021a16d2041866e74e33bfd83a3e34ded27888e7ffc08379bded624
DIST apache-tomcat-10.1.44-src.tar.gz.asc 833 BLAKE2B 4a6c9c87d91a5f77f7279779f3da5ff49c977b16c99dbdd5b70f685e8898c60dc5a1323b47f785cf24489b154ceec52128c67fa120736942c440f56d30caa5b8 SHA512 7bdd9271845e0a8e296830efad9882ed98d0bfaf8d7abb96776ffdc2548a64c26d16dc5ee94933bb9133acfdaadb6229befdb36f54f2395cf707b487b7d1db95
DIST apache-tomcat-10.1.46-src.tar.gz 7255282 BLAKE2B 36d3448d5416d13b30ef75a8cebf7f6944c052945c6038f3901a76dcb1a4acbd050fee66aa7471055a33b4b443f183a2dbe589a0f0b295b49ec3d1589d4d4eae SHA512 4abb5a5fad013135c4107508e4530673e4af623658b6aff5c4fc18fd557dfca37b58a9c5c0479e52e240b53d469ad91a34225a80b718aa2f91b8d385d16d9682
DIST apache-tomcat-10.1.46-src.tar.gz.asc 833 BLAKE2B 41a78695b8e93d2673727da9ced935ebb1e6228b57481fa133e81c36f1e9fbfc000ff7ff3d4db3feede2d3b24c2cdca4b6d488d7a4a4775a470a19edd89cf738 SHA512 cff0be2aa0c395b729b600b029f1be98b288e8c9e7c1a08d7fedae8f85d681480c552b51f239bda80a65b392351205d795cd9acfc918291d2ee62a4268af2ade
DIST apache-tomcat-10.1.48-src.tar.gz 7269762 BLAKE2B e3458a202e9e42000300926c26391d3cf16f827276596fc598b7e822c60c7ea16910a4d9093e7c26c07e504258d75d97a8fbcade37e7886d2c51836aade701ef SHA512 2f136e84e87811a31fde122f14d3b4aa6f0fd4a9e1a78015ff68ec31898cb8d7c1e14363464507ac987bc74b40cdfffc393faa0e04749ad9da8f32c6e84b5421
DIST apache-tomcat-10.1.48-src.tar.gz.asc 833 BLAKE2B 77143a702afd36f779417dec5c0b838928fda5520536e706f1b27f722d133112488351fd433c5acc6dbba80c39bd671cf7c251ca323428348b0e5197528d9f88 SHA512 8ce77c7ed01c97eed060159a26a24ebe48d0df06200ebdc1d2a27759c46987da15309958cc292095873e2b3f26da17f4151e93a918a8f4195b402390aa977e65
DIST apache-tomcat-11.0.10-src.tar.gz 7169469 BLAKE2B 3b28aa6b9b84ed17ab8ccd176ab7fc8e4d1bceef37ecd933bdfabc6f9ad3518e3b5c762161ecf50fb8cdb6b5dd23c842b66b4b397a092d6b192510ddf2037a73 SHA512 203f5bee5b446f5aa304957f1792e292e64015ac60dab33e30f8ca354683ac8d4cbc6780ac5c0d502a2076f9a08b614092581cffeac53337d8d3e7a78c3fd41b
DIST apache-tomcat-11.0.10-src.tar.gz.asc 849 BLAKE2B 620b5a744f3c4b5fda83d552f4add1f19b1f42cbf727556db2158fea3ac5cedf4b4c306d36979d31b4183f4972f2abdfdf81bc8744159c9f66eeb78276d41ceb SHA512 b21642e3b19fd983492a7662e29b76a7bb449424aab03a9bd8b4a85e4bb00d9980dee403c07cc60998adcdb19566eeb9a69abd56b42c395694fb2b8a7659f744
DIST apache-tomcat-11.0.11-src.tar.gz 7174430 BLAKE2B d38e7cdb8304f6635e729a4afe6d70b3f8dfd375aebff86a08d984013e6ebd05b8baa5c4ce11abdfec94de7f3dec83336058eaeafc84e643f08d1bef0637df36 SHA512 ecdd59ab212036d5d0a1b043ca5e27169e13601d7f3c2b394b26396feced027b77694711e115a76065ff394999ed69c9829f780460069f51e03be086c3b4e7b6
DIST apache-tomcat-11.0.11-src.tar.gz.asc 849 BLAKE2B 9358f07e7c08a3f3005a24f83c9c7689f0e69eddc2e396b730377baec9fcb7033edda03ea23bfc776602cbc587174f2ec6e5f8bae256f1b489b16ca1f96ae656 SHA512 3bb76a43281aca4d35f2e43d0b455fa58726a6636099d92f697cbcd520ed3a428360eb9d80ce6efa80ab5a5456e7c915b1df2864dab99caa7c4534f662710e78
DIST apache-tomcat-11.0.13-src.tar.gz 7191673 BLAKE2B ec4be9ba9f7d5d999bc53214419bfe028351b921dc7b3f97c900982a0152c7d8f42d8b0dc73dd5c808cd1e8e904f558b6c15112008ac573b13656d4311201c7b SHA512 be2b4c7ccdb7065f6862dd90e0ca0d09de08d68d25472044736a35e96dd6d3c37f8606ef2b321051454e31d210bf1a08a2cf6099a763d8d6610632666070315c
DIST apache-tomcat-11.0.13-src.tar.gz.asc 849 BLAKE2B 5380a3d02580c48ba4d0a6551da2d36872354fdeb6c02c220a3de7c2bf70563ee7b23ab91f5e955dd3ffa7c272706c1373e36f76c5986a74723c893f2a99a2e1 SHA512 03395c1f06bc49adf3d8eb1fab81fe0ed3cbeaca540f26e6060158b7ca27b1213b34a0fe9f123d26d2d5e8a9b8440c0d0c03bd1dd317c27df50db89ede12de9d
DIST apache-tomcat-9.0.108-src.tar.gz 7390563 BLAKE2B a13aa17d9e2c266af0667fc72216f490c844ccf5dcd64d8265cbaca62d7c867ee234460c8fdd9106004c3147aac708c67e2f14d32e0d8a8b0e20c3cd97a19e80 SHA512 df88cf29a79ac39ae569fa06b465a7bc162cf750645d2e0e1ac12f24b5c0569298c9cd854a253062d05e2eceee977e815f55722f3dfc959e96eebac5785ef84b
DIST apache-tomcat-9.0.108-src.tar.gz.asc 833 BLAKE2B d6f022c817aabebbee5e39afc2bc8556c5bbb1e60e28977d77c9a0f2da2f4b7eef1b3f2d83cb22bf9dc2256aaa2c0e69cab8f4a62efcb1eeb7df2072bfce131b SHA512 87e07a7a10434cff72c6c951f90b62d8b56d7cdb430c704ba017d37f0006d247804e3e169390b55ac008d5e28256e4fd23d962fa2be0d62897564f48d0db57fd
DIST apache-tomcat-9.0.109-src.tar.gz 7396259 BLAKE2B 78140ce85281ecc1f12d080c37af7bdd738030a61fd0a356c625550c3e5f260c2944e3a01da03c2b39020b4d51b683e8c2825208b011c3afe6079e6771d60d90 SHA512 5ff1fdc882ffd3e3bd05be17b6dc45f914fb2b6553f2438ef30f929f2255cde49b1bac3e39f1a1b1440664b5477e64bde6c408a477e7eab097aa8cee01b82850
DIST apache-tomcat-9.0.109-src.tar.gz.asc 833 BLAKE2B f2b1bef430cec5564d330cb122e2353464deeb1f5361768afaccf5bbadba177f14c6dfd97e9be85f3adcc33e890facb5824000636be47945b447976cf3ac04f7 SHA512 2387801b7a26d4e3406e0af7265d3174ece25433b78ebd9e8d346c98371eb2a62de6b31a94e7cbf8f46cdd66f1682876c9ea8164168b56584cbad2669290737b
DIST apache-tomcat-9.0.111-src.tar.gz 7411297 BLAKE2B 7728dfda254fedb2f780c1b56c41b3ac9d9bc8a447f60c11884ae5e2940acf622e47aa4576975e9fd5f981d99b1ebe6cc82af842453629cc28372f082602c3d6 SHA512 aa27b0e104cecb2d75853fc46ddae2bccda12ebb1c0e86e51731f7183028e17970dbacfd9d0f5534b32ea4c1d1f68bb0dac510aa71944ea686a545cf8e5adb40

View File

@@ -1,182 +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"
inherit java-pkg-2 prefix verify-sig
MY_P="apache-${P}-src"
DESCRIPTION="Tomcat Servlet-6.0/JSP-3.1/EL-5.0/WebSocket-2.1/JASPIC-3.0 Container"
HOMEPAGE="https://tomcat.apache.org/"
SRC_URI="mirror://apache/${PN}/tomcat-10/v${PV}/src/${MY_P}.tar.gz
verify-sig? ( https://downloads.apache.org/tomcat/tomcat-$(ver_cut 1)/v${PV}/src/${MY_P}.tar.gz.asc )"
S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0"
SLOT="10.1"
KEYWORDS="amd64 ~arm64 ~amd64-linux"
IUSE="extra-webapps"
RESTRICT="test" # can we run them on a production system?
ECJ_SLOT="4.26"
COMMON_DEP="
>=dev-java/ant-1.10.15:0
dev-java/bnd-annotation:0
dev-java/eclipse-ecj:${ECJ_SLOT}
dev-java/jax-rpc-api:0
>=dev-java/jakartaee-migration-1.0.7-r2:0
dev-java/wsdl4j:0"
RDEPEND="
${COMMON_DEP}
acct-group/tomcat
acct-user/tomcat
>=virtual/jre-11:*"
DEPEND="
${COMMON_DEP}
app-admin/pwgen
dev-java/bnd:0
dev-java/bnd-ant:0
dev-java/bnd-util:0
dev-java/bndlib:0
dev-java/libg:0
dev-java/osgi-cmpn:8
dev-java/osgi-core:0
dev-java/slf4j-api:0
|| ( virtual/jdk:21 virtual/jdk:17 )
test? (
>=dev-java/ant-1.10.15:0[junit]
dev-java/easymock:3.2
)"
BDEPEND="verify-sig? ( ~sec-keys/openpgp-keys-apache-tomcat-$(ver_cut 1) )"
VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/tomcat-$(ver_cut 1).apache.org.asc"
PATCHES=(
"${FILESDIR}/tomcat-10.1.20-do-not-copy.patch"
"${FILESDIR}/tomcat-10.1.20-offline.patch"
"${FILESDIR}/tomcat-9.0.87-gentoo-bnd.patch"
)
src_prepare() {
default #780585
java-pkg-2_src_prepare
java-pkg_clean
cat > build.properties <<-EOF || die
compile.debug=false
execute.download=false
exist=true # skip target="downloadfile-2"
version=${PV}-gentoo
version.number=${PV}
ant.jar=$(java-pkg_getjar --build-only ant ant.jar)
bnd-annotation.jar=$(java-pkg_getjars bnd-annotation)
bnd-ant.jar=$(java-pkg_getjars --build-only bnd-ant)
bnd-util.jar=$(java-pkg_getjars --build-only bnd-util)
bnd.jar=$(java-pkg_getjars --build-only bnd)
bndlib.jar=$(java-pkg_getjars --build-only bndlib)
jaxrpc-lib.jar=$(java-pkg_getjars jax-rpc-api)
jdt.jar=$(java-pkg_getjars eclipse-ecj-${ECJ_SLOT})
libg.jar=$(java-pkg_getjars --build-only libg)
migration-lib.jar=$(java-pkg_getjars jakartaee-migration)
osgi-cmpn.jar=$(java-pkg_getjars --build-only osgi-cmpn-8)
osgi-core.jar=$(java-pkg_getjars --build-only osgi-core)
slf4j-api.jar=$(java-pkg_getjars --build-only slf4j-api)
wsdl4j-lib.jar=$(java-pkg_getjars wsdl4j)
EOF
if use test; then
echo "easymock.jar=$(java-pkg_getjars --build-only easymock-3.2)" \
>> build.properties || die "easymock"
fi
# For use of catalina.sh in netbeans
sed -i -e "/^# ----- Execute The Requested Command/ a\
CLASSPATH=\`java-config --with-dependencies --classpath ${PN}-${SLOT}\`" \
bin/catalina.sh || die
}
# revisions of the scripts
IM_REV="-r2"
INIT_REV="-r1"
src_compile() {
LC_ALL=C eant
use doc && LC_ALL=C eant javadoc
}
src_test() {
eant test
}
src_install() {
local dest="/usr/share/${PN}-${SLOT}"
java-pkg_jarinto "${dest}"/bin
java-pkg_dojar output/build/bin/*.jar
exeinto "${dest}"/bin
doexe output/build/bin/*.sh
java-pkg_jarinto "${dest}"/lib
java-pkg_dojar output/build/lib/*.jar
dodoc RELEASE-NOTES RUNNING.txt
use doc && java-pkg_dojavadoc output/dist/webapps/docs/api
use source && java-pkg_dosrc java/*
### Webapps ###
# add missing docBase
local apps="host-manager manager"
for app in ${apps}; do
sed -i -e "s|=\"true\" >|=\"true\" docBase=\"\$\{catalina.home\}/webapps/${app}\" >|" \
output/build/webapps/${app}/META-INF/context.xml || die
done
insinto "${dest}"/webapps
doins -r output/build/webapps/{host-manager,manager,ROOT}
use extra-webapps && doins -r output/build/webapps/{docs,examples}
### Config ###
# create "logs" directory in $CATALINA_BASE
# and set correct perms, see #458890
dodir "${dest}"/logs
fperms 0750 "${dest}"/logs
# replace the default pw with a random one, see #92281
local randpw="$(pwgen -s -B 15 1)"
sed -i -e "s|SHUTDOWN|${randpw}|" output/build/conf/server.xml || die
# prepend gentoo.classpath to common.loader, see #453212
sed -i -e 's/^common\.loader=/\0${gentoo.classpath},/' output/build/conf/catalina.properties || die
insinto "${dest}"
doins -r output/build/conf
### rc ###
cp "${FILESDIR}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} "${T}" || die
eprefixify "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash}
sed -i -e "s|@SLOT@|${SLOT}|g" "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} || die
insinto "${dest}"/gentoo
doins "${T}"/tomcat.conf
exeinto "${dest}"/gentoo
newexe "${T}"/tomcat${INIT_REV}.init tomcat.init
newexe "${T}"/tomcat-instance-manager${IM_REV}.bash tomcat-instance-manager.bash
}
pkg_postinst() {
einfo "Ebuilds of Tomcat support running multiple instances. To manage Tomcat instances, run:"
einfo " ${EPREFIX}/usr/share/${PN}-${SLOT}/gentoo/tomcat-instance-manager.bash --help"
ewarn "Please note that since version 10 the primary package for all implemented APIs"
ewarn "has changed from javax.* to jakarta.*. This will almost certainly require code"
ewarn "changes to enable applications to migrate from Tomcat 9 and earlier to Tomcat 10 and later."
einfo "Please read https://wiki.gentoo.org/wiki/Apache_Tomcat"
}

View File

@@ -1,190 +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"
inherit java-pkg-2 prefix verify-sig
MY_P="apache-${P}-src"
DESCRIPTION="Tomcat Servlet-6.1/JSP-4.0/EL-6.0/WebSocket-2.2/JASPIC-3.1 Container"
HOMEPAGE="https://tomcat.apache.org/"
SRC_URI="mirror://apache/${PN}/tomcat-$(ver_cut 1)/v${PV}/src/${MY_P}.tar.gz
verify-sig? ( https://downloads.apache.org/tomcat/tomcat-$(ver_cut 1)/v${PV}/src/${MY_P}.tar.gz.asc )"
S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0"
SLOT="11"
KEYWORDS="amd64 ~arm64 ~amd64-linux"
IUSE="extra-webapps"
RESTRICT="test" # can we run them on a production system?
# We use ECJ_SLOT="4.33" instead of "4.35" because "4.35" would need Java
# version 23 or higher to build which is not keyworded:
# To use "4.33" we also added "tomcat-11.0.6-avoid_eclipse-ecj_4.35.patch".
ECJ_SLOT="4.33"
COMMON_DEP="
>=dev-java/ant-1.10.15:0
dev-java/bnd-annotation:0
dev-java/eclipse-ecj:${ECJ_SLOT}
dev-java/jax-rpc-api:0
>=dev-java/jakartaee-migration-1.0.7-r2:0
dev-java/wsdl4j:0"
# jre-17:* because of line 1081, build.xml
# <filter token="target.jdk" value="${compile.release}"/>
RDEPEND="
${COMMON_DEP}
acct-group/tomcat
acct-user/tomcat
>=virtual/jre-17:*"
DEPEND="
${COMMON_DEP}
app-admin/pwgen
dev-java/bnd:0
dev-java/bnd-ant:0
dev-java/bnd-util:0
dev-java/bndlib:0
dev-java/libg:0
dev-java/osgi-cmpn:8
dev-java/osgi-core:0
dev-java/slf4j-api:0
|| ( virtual/jdk:21 virtual/jdk:17 )
test? (
>=dev-java/ant-1.10.15:0[junit]
dev-java/easymock:3.2
)"
BDEPEND="verify-sig? ( ~sec-keys/openpgp-keys-apache-tomcat-$(ver_cut 1) )"
VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/tomcat-$(ver_cut 1).apache.org.asc"
PATCHES=(
"${FILESDIR}/tomcat-10.1.20-do-not-copy.patch"
"${FILESDIR}/tomcat-11.0.0-offline.patch"
"${FILESDIR}/tomcat-11.0.9-avoid_eclipse-ecj_4.35.patch"
"${FILESDIR}/tomcat-9.0.87-gentoo-bnd.patch"
)
src_prepare() {
default #780585
java-pkg-2_src_prepare
java-pkg_clean
cat > build.properties <<-EOF || die
compile.debug=false
execute.download=false
exist=true # skip target="downloadfile-2"
version=${PV}-gentoo
version.number=${PV}
ant.jar=$(java-pkg_getjar --build-only ant ant.jar)
bnd-annotation.jar=$(java-pkg_getjars bnd-annotation)
bnd-ant.jar=$(java-pkg_getjars --build-only bnd-ant)
bnd-util.jar=$(java-pkg_getjars --build-only bnd-util)
bnd.jar=$(java-pkg_getjars --build-only bnd)
bndlib.jar=$(java-pkg_getjars --build-only bndlib)
jaxrpc-lib.jar=$(java-pkg_getjars --build-only jax-rpc-api)
jdt.jar=$(java-pkg_getjars eclipse-ecj-${ECJ_SLOT})
libg.jar=$(java-pkg_getjars --build-only libg)
migration-lib.jar=$(java-pkg_getjars jakartaee-migration)
osgi-cmpn.jar=$(java-pkg_getjars --build-only osgi-cmpn-8)
osgi-core.jar=$(java-pkg_getjars --build-only osgi-core)
slf4j-api.jar=$(java-pkg_getjars --build-only slf4j-api)
wsdl4j-lib.jar=$(java-pkg_getjars --build-only wsdl4j)
EOF
if use test; then
echo "easymock.jar=$(java-pkg_getjars --build-only easymock-3.2)" \
>> build.properties || die "easymock"
fi
# For use of catalina.sh in netbeans
sed -i -e "/^# ----- Execute The Requested Command/ a\
CLASSPATH=\`java-config --with-dependencies --classpath ${PN}-${SLOT}\`" \
bin/catalina.sh || die
}
# revisions of the scripts
IM_REV="-r2"
INIT_REV="-r1"
src_compile() {
LC_ALL=C eant
use doc && LC_ALL=C eant javadoc
}
src_test() {
eant test
}
src_install() {
local dest="/usr/share/${PN}-${SLOT}"
java-pkg_jarinto "${dest}"/bin
java-pkg_dojar output/build/bin/*.jar
exeinto "${dest}"/bin
doexe output/build/bin/*.sh
java-pkg_jarinto "${dest}"/lib
java-pkg_dojar output/build/lib/*.jar
dodoc RELEASE-NOTES RUNNING.txt
use doc && java-pkg_dojavadoc output/dist/webapps/docs/api
use source && java-pkg_dosrc java/*
### Webapps ###
# add missing docBase
local apps="host-manager manager"
for app in ${apps}; do
sed -i -e "s|=\"true\" >|=\"true\" docBase=\"\$\{catalina.home\}/webapps/${app}\" >|" \
output/build/webapps/${app}/META-INF/context.xml || die
done
insinto "${dest}"/webapps
doins -r output/build/webapps/{host-manager,manager,ROOT}
use extra-webapps && doins -r output/build/webapps/{docs,examples}
### Config ###
# create "logs" directory in $CATALINA_BASE
# and set correct perms, see #458890
dodir "${dest}"/logs
fperms 0750 "${dest}"/logs
# replace the default pw with a random one, see #92281
local randpw="$(pwgen -s -B 15 1)"
sed -i -e "s|SHUTDOWN|${randpw}|" output/build/conf/server.xml || die
# prepend gentoo.classpath to common.loader, see #453212
sed -i -e 's/^common\.loader=/\0${gentoo.classpath},/' output/build/conf/catalina.properties || die
insinto "${dest}"
doins -r output/build/conf
### rc ###
cp "${FILESDIR}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} "${T}" || die
eprefixify "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash}
sed -i -e "s|@SLOT@|${SLOT}|g" "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} || die
insinto "${dest}"/gentoo
doins "${T}"/tomcat.conf
exeinto "${dest}"/gentoo
newexe "${T}"/tomcat${INIT_REV}.init tomcat.init
newexe "${T}"/tomcat-instance-manager${IM_REV}.bash tomcat-instance-manager.bash
}
pkg_postinst() {
einfo "Ebuilds of Tomcat support running multiple instances. To manage Tomcat instances, run:"
einfo " ${EPREFIX}/usr/share/${PN}-${SLOT}/gentoo/tomcat-instance-manager.bash --help"
ewarn "Please note that since version 10 the primary package for all implemented APIs"
ewarn "has changed from javax.* to jakarta.*. This will almost certainly require code"
ewarn "changes to enable applications to migrate from Tomcat 9 and earlier to Tomcat 10 and later."
einfo "Please read https://wiki.gentoo.org/wiki/Apache_Tomcat"
}

View File

@@ -1,181 +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"
inherit java-pkg-2 prefix verify-sig
MY_P="apache-${P}-src"
DESCRIPTION="Tomcat Servlet-4.0/JSP-2.3/EL-3.0/WebSocket-1.1/JASPIC-1.1 Container"
HOMEPAGE="https://tomcat.apache.org/"
SRC_URI="mirror://apache/${PN}/tomcat-9/v${PV}/src/${MY_P}.tar.gz
verify-sig? ( https://downloads.apache.org/tomcat/tomcat-$(ver_cut 1)/v${PV}/src/${MY_P}.tar.gz.asc )"
S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0"
SLOT="9"
KEYWORDS="amd64 ~arm64 ~amd64-linux ~x86-linux"
IUSE="extra-webapps"
RESTRICT="test" # can we run them on a production system?
ECJ_SLOT="4.20"
COMMON_DEP="
dev-java/bnd-annotation:0
dev-java/eclipse-ecj:${ECJ_SLOT}
dev-java/jax-rpc-api:0
dev-java/wsdl4j:0
"
RDEPEND="
${COMMON_DEP}
acct-group/tomcat
acct-user/tomcat
dev-java/javax-persistence-api:0
>=virtual/jre-1.8:*
"
DEPEND="
${COMMON_DEP}
app-admin/pwgen
>=dev-java/ant-1.10.15:0
dev-java/bnd:0
dev-java/bnd-ant:0
dev-java/bnd-util:0
dev-java/bndlib:0
dev-java/libg:0
dev-java/osgi-cmpn:8
dev-java/osgi-core:0
dev-java/slf4j-api:0
|| ( virtual/jdk:21 virtual/jdk:17 )
test? (
>=dev-java/ant-1.10.15:0[junit]
dev-java/easymock:3.2
)
"
BDEPEND="verify-sig? ( ~sec-keys/openpgp-keys-apache-tomcat-$(ver_cut 1) )"
VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/tomcat-$(ver_cut 1).apache.org.asc"
PATCHES=(
"${FILESDIR}/tomcat-9.0.104-build.xml.patch"
"${FILESDIR}/tomcat-9.0.87-gentoo-bnd.patch"
)
src_prepare() {
default #780585
java-pkg-2_src_prepare
java-pkg_clean
cat > build.properties <<-EOF || die
compile.debug=false
execute.download=false
exist=true # skip target="downloadfile-2"
version=${PV}-gentoo
version.number=${PV}
ant.jar=$(java-pkg_getjar --build-only ant ant.jar)
bnd-annotation.jar=$(java-pkg_getjars bnd-annotation)
bnd-ant.jar=$(java-pkg_getjars --build-only bnd-ant)
bnd-util.jar=$(java-pkg_getjars --build-only bnd-util)
bnd.jar=$(java-pkg_getjars --build-only bnd)
bndlib.jar=$(java-pkg_getjars --build-only bndlib)
jaxrpc-lib.jar=$(java-pkg_getjars jax-rpc-api)
jdt.jar=$(java-pkg_getjars eclipse-ecj-${ECJ_SLOT})
libg.jar=$(java-pkg_getjars --build-only libg)
osgi-cmpn.jar=$(java-pkg_getjars --build-only osgi-cmpn-8)
osgi-core.jar=$(java-pkg_getjars --build-only osgi-core)
slf4j-api.jar=$(java-pkg_getjars --build-only slf4j-api)
wsdl4j-lib.jar=$(java-pkg_getjars wsdl4j)
EOF
if use test; then
echo "easymock.jar=$(java-pkg_getjars --build-only easymock-3.2)" \
>> build.properties || die "easymock"
fi
# For use of catalina.sh in netbeans
sed -i -e "/^# ----- Execute The Requested Command/ a\
CLASSPATH=\`java-config --with-dependencies --classpath ${PN}-${SLOT}\`" \
bin/catalina.sh || die
}
# revisions of the scripts
IM_REV="-r2"
INIT_REV="-r1"
src_compile() {
LC_ALL=C eant
use doc && LC_ALL=C eant javadoc
}
src_test() {
eant test
}
src_install() {
local dest="/usr/share/${PN}-${SLOT}"
java-pkg_jarinto "${dest}"/bin
java-pkg_dojar output/build/bin/*.jar
exeinto "${dest}"/bin
doexe output/build/bin/*.sh
java-pkg_jarinto "${dest}"/lib
java-pkg_dojar output/build/lib/*.jar
dodoc RELEASE-NOTES RUNNING.txt
use doc && java-pkg_dojavadoc output/dist/webapps/docs/api
use source && java-pkg_dosrc java/*
### Webapps ###
# add missing docBase
local apps="host-manager manager"
for app in ${apps}; do
sed -i -e "s|=\"true\" >|=\"true\" docBase=\"\$\{catalina.home\}/webapps/${app}\" >|" \
output/build/webapps/${app}/META-INF/context.xml || die
done
insinto "${dest}"/webapps
doins -r output/build/webapps/{host-manager,manager,ROOT}
use extra-webapps && doins -r output/build/webapps/{docs,examples}
### Config ###
# create "logs" directory in $CATALINA_BASE
# and set correct perms, see #458890
dodir "${dest}"/logs
fperms 0750 "${dest}"/logs
# replace the default pw with a random one, see #92281
local randpw="$(pwgen -s -B 15 1)"
sed -i -e "s|SHUTDOWN|${randpw}|" output/build/conf/server.xml || die
# prepend gentoo.classpath to common.loader, see #453212
sed -i -e 's/^common\.loader=/\0${gentoo.classpath},/' output/build/conf/catalina.properties || die
insinto "${dest}"
doins -r output/build/conf
### rc ###
cp "${FILESDIR}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} "${T}" || die
eprefixify "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash}
sed -i -e "s|@SLOT@|${SLOT}|g" "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} || die
insinto "${dest}"/gentoo
doins "${T}"/tomcat.conf
exeinto "${dest}"/gentoo
newexe "${T}"/tomcat${INIT_REV}.init tomcat.init
newexe "${T}"/tomcat-instance-manager${IM_REV}.bash tomcat-instance-manager.bash
}
pkg_postinst() {
einfo "Ebuilds of Tomcat support running multiple instances. To manage Tomcat instances, run:"
einfo " ${EPREFIX}/usr/share/${PN}-${SLOT}/gentoo/tomcat-instance-manager.bash --help"
einfo "Please read https://wiki.gentoo.org/wiki/Apache_Tomcat"
}