mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
Merge updates from master
This commit is contained in:
@@ -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
|
||||
|
||||
233
dev-debug/dtrace/dtrace-2.0.4.ebuild
Normal file
233
dev-debug/dtrace/dtrace-2.0.4.ebuild
Normal 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
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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
|
||||
|
||||
36
dev-ruby/erb/erb-5.1.3.ebuild
Normal file
36
dev-ruby/erb/erb-5.1.3.ebuild
Normal 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
|
||||
}
|
||||
@@ -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
|
||||
|
||||
46
dev-ruby/liquid/liquid-5.9.0.ebuild
Normal file
46
dev-ruby/liquid/liquid-5.9.0.ebuild
Normal 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
|
||||
}
|
||||
@@ -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
|
||||
|
||||
60
dev-ruby/rubyzip/rubyzip-3.2.1.ebuild
Normal file
60
dev-ruby/rubyzip/rubyzip-3.2.1.ebuild
Normal 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
|
||||
}
|
||||
@@ -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
|
||||
|
||||
476
dev-vcs/git/git-2.51.2.ebuild
Normal file
476
dev-vcs/git/git-2.51.2.ebuild
Normal 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
|
||||
}
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 )"
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
Reference in New Issue
Block a user