Sync with portage [Mon Apr 1 22:22:25 MSK 2024].

master 2555
root 4 weeks ago
parent 0a865a2315
commit aaf76806da

Binary file not shown.

Binary file not shown.

@ -1,2 +1,4 @@
DIST consul-template-0.29.4-deps.tar.xz 59446648 BLAKE2B 9ccd689f38eff50ad448a4226de918920c7acca9eb1e23d4e30f9999afc124224bb8f123b3dff4a1d433ea683ed523cd604a41472f50cb1919483040fc18c848 SHA512 3c60d88fdb82744f250cf02be3b3423f74360f18a43f4c4204ee97f73c370b878ecdbd5a300f96b74ffd9c7cde66f6c8b974392f7acc07a113b85ab6f1b6d8e9
DIST consul-template-0.29.5.tar.gz 262722 BLAKE2B 1e3ddf259d76cf487872cebbe8c8b5bb313b89d073b26496340d39cc55c4e56ec531cbefec4bc1c0dd5c8bb3bd707c9bebfd15011e421badf12ea59a5bbbdbe3 SHA512 f753c2ec7f6c97ac73b34820b40568b5b16a3b8d4bebc7390905614a96744e8d4afd4a63b8b911989ba084ea91d85a21e3283d67a36bf65a685aa63154361a14
DIST consul-template-0.37.4-deps.tar.xz 1548760 BLAKE2B 34a4e7926f41578071e60c715c534a8a50c49db3a78b06ae6ee49ed1a1c857faea753f27921cb6345bbc94f44ab81da58d3ffd1d27a0e29220bd2631bb35b58a SHA512 e28e29034407a5fbf78f9872b2cd85c0d6414cb5ec3c4b023b080c227583ae34ead6ab5b98c6ff4e1d278d9af137e895cedc79def10017d073f2b99561f1d483
DIST consul-template-0.37.4.tar.gz 288565 BLAKE2B 69fc82a482c7fce4201621ee43aca689b328be4e34bb99e1cd552ba844787744a97fb64364adc7d9a180fd424d30881deaed45077851bc10fa037799ea99d189 SHA512 e36a5e444801c8700577df28fb3fbc7398b825d8f549d620c07445d86099a7597d0e95d56ce24daedd44eb573cc33e40dd1bb1e7a6def2c2a1788133bb811c38

@ -0,0 +1,59 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit go-module systemd
DESCRIPTION="Generic template rendering and notifications with Consul"
HOMEPAGE="https://github.com/hashicorp/consul-template"
SRC_URI="https://github.com/hashicorp/consul-template/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI+=" https://dev.gentoo.org/~zmedico/dist/${P}-deps.tar.xz"
LICENSE="MPL-2.0"
LICENSE+=" Apache-2.0 BSD BSD-2 ISC MIT WTFPL-2"
SLOT="0"
KEYWORDS="~amd64"
COMMON_DEPEND="
acct-group/consul-template
acct-user/consul-template"
DEPEND="${COMMON_DEPEND}"
RDEPEND="${COMMON_DEPEND}"
# TODO: debug test failures
RESTRICT+=" test"
src_prepare() {
default
# remove -s and -w from the linker flags
sed \
-e '/-s \\/d' \
-e '/-w \\/d' \
-i Makefile || die
}
src_compile() {
emake GOBIN="${S}"/bin dev
}
src_test() {
emake GOBIN="${S}"/bin test
}
src_install() {
dobin bin/${PN}
dodoc CHANGELOG.md README.md
newinitd "${FILESDIR}/${PN}.initd" "${PN}"
newconfd "${FILESDIR}/${PN}.confd" "${PN}"
insinto /etc/logrotate.d
newins "${FILESDIR}/${PN}.logrotated" "${PN}"
systemd_dounit "${FILESDIR}/${PN}.service"
keepdir /etc/${PN}.d
keepdir /var/log/${PN}
fowners ${PN}:${PN} /var/log/${PN}
}

@ -1,3 +1,6 @@
DIST consul-1.15.10-vendor.tar.gz 46702348 BLAKE2B a04d6f5a4d2f6f8885207f9f72537d4ea1a3adc5aab64873edf7f710984d3b25a602fb93cecc44ed82249280b51bbe1131701ab09f7ebb1b444c80e013fe271d SHA512 7aade3f90ee689ddca3058f12e7c9f2a691c4eba966993d770d8dc7b171cad54c3c8b6c3f52e03128a8d1b159dd66b6c8b284050c5475d77b51f9a22c4a6af8a
DIST consul-1.15.11-deps.tar.xz 9566892 BLAKE2B 9459a93d78d3e4b991d0cdcfac22603c628c8f9fdacd8d50524a4c826cca66a575f6cd0bdf5fa9033e32b50336c53192567610ed73386f89c3c4e810c1412144 SHA512 d3876433b4ad3e7a062e059ef250bcfba23ede0595d8491f4b39c73c427e28c677b9f6e41317cf853ab8b3b2ce25151a4adf1a13b13a6a73c6e16de7382d2d05
DIST consul-1.15.11.tar.gz 28951114 BLAKE2B 02378088d1bbc4313ec62d644b583c328bc9cc40ccc18516a1a14ae0d7f8d12007f1a5fa7c5e455ec2e782ba986ce60d37b92369b1f89f7dd69871702cd97b31 SHA512 1c5c8f9a3ad79aa34fd82a49e92ef5a21fb0470d60e3f3413901305121cbb677c75f72ffd5405554424b336d4e5ec426b7c35f458c04b1d5ab9350c2649cd688
DIST consul-1.15.3-vendor.tar.gz 43434721 BLAKE2B 7595c98cdecf67e9fb412d8fea1d790dc6b1c29f7bc427e1d0872045a05f8873dc6107f196cea04fe0a2f2553d4fbb1f8d501e5e107b2bea3ae841e5d94eda64 SHA512 b69e3a7c1ebb01c7a64f2c6167e63e8a530b81be9aad8b591d0a71f512f5157ba9a564b46f9effe52a5abd3ae61732e7af10c5ba002110f745eb3d94ebcec256
DIST consul-1.15.7-vendor.tar.gz 46252048 BLAKE2B c63d69fb206895c535ffd60ada3589d99ec6aec81d7abe6b27169d4638bcc272f5d7c0b37d0bbe6be54f5e2d32f1e40fa1f4088da7fb4931f0c5c10007838197 SHA512 1e52f133f822cf11ee8498b7e92a7460c74d3ed4736c02e0957e3d950608f4aeaec8e8df7e9eb72ae7d4c31c4dcf5d827c9c42bdc7c4b991be53df22c150658a
DIST consul-1.18.1-deps.tar.xz 10161908 BLAKE2B da7e3e63470f082bf0f1e92252a2d30cce90c4268e5ad3d180ab4bfed6601e92e26e0a108fe7477a1d596cf44114e97551712bce4c2b3d13c06c3fae0fa948e5 SHA512 f0d3961de4c38052209d79817ba6570fc43f3b9c472c959d591cc8fd23029f32070a98c59c70c02f56b80c214ae60d4a2711ca2ec31472758209538ba00ef786
DIST consul-1.18.1.tar.gz 34424463 BLAKE2B 1c205471fa5d2500e4421eae37159dc3a3f8ebb46ab50266440302ca814834d39fddf0c27f4da5e78a103a2d7411eebf74bd256153b3954c6bc3c384de660a2f SHA512 023ee6f2dff82343f9c3382b531c8fa7f032e1820e09d18f67201c8ae839dfc89b145a8197be2f9c241709541a915a073dd117f5523e17ba0cdaa665bffc2f4c

@ -0,0 +1,62 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit go-module systemd
DESCRIPTION="A tool for service discovery, monitoring and configuration"
HOMEPAGE="https://www.consul.io"
GIT_COMMIT="4fc94919996f7b7e5d16145f8d89cc5ee644b094"
SRC_URI="https://github.com/hashicorp/consul/archive/v${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI+=" https://dev.gentoo.org/~zmedico/dist/${P}-deps.tar.xz"
LICENSE="BUSL-1.1 MPL-2.0"
LICENSE+=" Apache-2.0 BSD BSD-2 CC0-1.0 ISC MIT"
RESTRICT="test"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
BDEPEND="dev-go/gox"
COMMON_DEPEND="
acct-group/consul
acct-user/consul"
DEPEND="${COMMON_DEPEND}"
RDEPEND="${COMMON_DEPEND}"
S=${WORKDIR}/${P}
src_prepare() {
default
sed -e 's|^GIT_DATE=.*|GIT_DATE=2024-03-26T21:43:41Z|' -i GNUmakefile || die
}
src_compile() {
if use x86; then
#924629 pie breaks build on x86
GOFLAGS=${GOFLAGS//-buildmode=pie}
fi
# The dev target sets causes build.sh to set appropriate XC_OS
# and XC_ARCH, and skips generation of an unused zip file,
# avoiding a dependency on app-arch/zip.
GIT_DESCRIBE="v${PV}" \
GIT_DIRTY="" \
GIT_COMMIT="${GIT_COMMIT}" \
emake dev-build
}
src_install() {
dobin bin/consul
keepdir /etc/consul.d
insinto /etc/consul.d
doins "${FILESDIR}/"*.json.example
keepdir /var/log/consul
fowners consul:consul /var/log/consul
newinitd "${FILESDIR}/consul.initd" "${PN}"
newconfd "${FILESDIR}/consul.confd" "${PN}"
insinto /etc/logrotate.d
newins "${FILESDIR}/${PN}.logrotated" "${PN}"
systemd_dounit "${FILESDIR}/consul.service"
}

@ -6,13 +6,14 @@ inherit go-module systemd
DESCRIPTION="A tool for service discovery, monitoring and configuration"
HOMEPAGE="https://www.consul.io"
GIT_COMMIT="8e803db6b98d10b2d310800f2aef7e20d3add03c"
GIT_COMMIT="98cb473cc11f2de0ccb61106381b0c7e92819c58"
SRC_URI="https://github.com/zmedico/consul/archive/v${PV}-vendor.tar.gz -> ${P}-vendor.tar.gz"
LICENSE="MPL-2.0 Apache-2.0 BSD BSD-2 CC0-1.0 ISC MIT"
RESTRICT="test"
SRC_URI="https://github.com/hashicorp/consul/archive/v${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI+=" https://dev.gentoo.org/~zmedico/dist/${P}-deps.tar.xz"
LICENSE="BUSL-1.1 MPL-2.0"
LICENSE+=" Apache-2.0 BSD BSD-2 CC0-1.0 ISC MIT"
SLOT="0"
RESTRICT="test"
KEYWORDS="~amd64 ~arm64 ~x86"
BDEPEND="dev-go/gox"
@ -22,11 +23,9 @@ COMMON_DEPEND="
DEPEND="${COMMON_DEPEND}"
RDEPEND="${COMMON_DEPEND}"
S=${WORKDIR}/${P}-vendor
src_prepare() {
default
sed -e 's|^GIT_DATE=.*|GIT_DATE=2023-10-31T14:10:44Z|' -i GNUmakefile || die
sed -e 's|^GIT_DATE=.*|GIT_DATE=2024-03-26T21:59:08Z|' -i Makefile || die
}
src_compile() {

@ -1,3 +1,3 @@
DIST restart-services-0.17.0.tgz 25643 BLAKE2B 5999e12e38207d00266928504da05c00482c8297b7fee634f302f09cfa09e206bcf9d5a558d2a91e5de1d97318025fa995fbc3a61f0d0e74b8dfb1af3db8670b SHA512 c11ca431fbbc6899ab268e8979049144448479d953ed7373cc7483cca2c03cd4041a1ca1e47c0e810f91a18a43aa32cc305a4ea791e8b992246f972e0fbb19ab
DIST restart-services-1.0.tgz 25872 BLAKE2B 912c3e2c3cd49732369a5a4452be1f171c33cd3364cf3224b4443f6f21ef0fccd4c533edd79214cc2dae00cea558409eacbcef4b1566bef402f1850537432c63 SHA512 9c4e269ac6db8bf13c512cc3556a9356b4b44960dd562cf633df6e03db57677c05738edc46010b01976a6b0ee2152ac1e8d410a6c9d98142295ff0cbd3f93df2
DIST restart-services-1.1.tgz 26227 BLAKE2B 7893aa01c965fca24b42312f6b01cac46b0bbd3d8304865539adb00cc6f7cdcf8cff1a912cce98534eb4f3bd0af0e01df3387dab87b8e53193152b3966ff3c9b SHA512 165e4b07fa9a15a749f8e50064da83e9e1749f465248259de5b0dc97c2ef249131e1e993d8e34975628ed69b35e194b3d75a578f6279188f76236d02a970ac4b
DIST restart-services-1.2.tgz 27526 BLAKE2B 3936a4145767f917d4f1c856c65ee2b6445b495988e77ada488ff4b43d87abaaca7b9d59e48c89c59a666559d0416d5cf1a6171c5d903ee0385dabb922929882 SHA512 815fb40c4616afaf2e27877a4cbba86c0d44432cbf4be04991431e71f5e495dcb92f66bda020dca47d5363388455fbeaa3f3e35d2e9451785301386c73f724c0

@ -1,4 +1,4 @@
# Copyright 1999-2023 Gentoo Authors
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8

@ -24,7 +24,7 @@ else
)
"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc64 ~riscv ~sparc ~x86"
KEYWORDS="amd64 arm ~arm64 ~hppa ~ia64 ~ppc64 ~riscv ~sparc x86"
fi
LICENSE="GPL-3 LGPL-3 Apache-2.0"

@ -1 +1,2 @@
DIST xkcdpass-1.19.8.tar.gz 2689908 BLAKE2B 68d0e6b2799773433962ee19ede47f5983839f4e4cecd4939205c2f0872228b4da5a107176d3931fc41aa47be8e51b7fb7383c1da1898684484be98913c088f9 SHA512 f218a9afdf103444558233f9fe32655d2c604f3553d2782a923f73baa4d69495871557a753a5f38be4607bd373df43cf425c0cc6675b0b1b34723098fdeff7b5
DIST xkcdpass-1.19.9.tar.gz 2689919 BLAKE2B 089997c82569afa40fd2f7d2046b0dd284491d080597513f963c4e6af49ad20c4e01397af0f1dc3b91a23b95666b492eaaf85c3ac1c8f87d3250e012fd00bdc1 SHA512 b326160e181f0e0485514f10efa6cd8e98e139a8a89af37bad511713a7f46750f6da3ff1eeab20b850e0b5c607d0e329966d100d6bd4fe43b80d3edce090a2c1

@ -0,0 +1,40 @@
# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9..12} )
inherit distutils-r1 pypi
DESCRIPTION="Password generator inspired by XKCD 936"
HOMEPAGE="https://github.com/redacted/XKCD-password-generator"
LICENSE="BSD CC-BY-3.0
l10n_de? ( GPL-3 )
l10n_it? ( CC-BY-SA-3.0 )
l10n_no? ( CC-BY-4.0 )"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="l10n_de +l10n_en l10n_es l10n_fi l10n_fr l10n_it l10n_no l10n_pt"
distutils_enable_tests pytest
REQUIRED_USE="test? ( l10n_en )"
src_prepare() {
default
use l10n_de || rm ${PN}/static/{ger-anlx,eff_large_de_sample.wordlist}
use l10n_en || rm ${PN}/static/{eff-short,eff-special,legacy}
use l10n_es || rm ${PN}/static/spa-mich
use l10n_fi || rm ${PN}/static/fin-kotus
use l10n_fr || rm ${PN}/static/fr-*
use l10n_it || rm ${PN}/static/ita-wiki
use l10n_no || rm ${PN}/static/nor-nb
use l10n_pt || rm ${PN}/static/pt-*
}
python_install_all() {
distutils-r1_python_install_all
doman ${PN}.1
}

Binary file not shown.

@ -0,0 +1,27 @@
From 6110e9c82d8ba830c3440f36b990483ceaaea52c Mon Sep 17 00:00:00 2001
From: Ed Maste <emaste@freebsd.org>
Date: Fri, 29 Mar 2024 18:02:06 -0400
Subject: [PATCH] tar: make error reporting more robust and use correct errno
(#2101)
As discussed in #1609.
---
tar/read.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/tar/read.c b/tar/read.c
index af3d3f423..a7f14a07b 100644
--- a/tar/read.c
+++ b/tar/read.c
@@ -371,8 +371,9 @@ read_archive(struct bsdtar *bsdtar, char mode, struct archive *writer)
if (r != ARCHIVE_OK) {
if (!bsdtar->verbose)
safe_fprintf(stderr, "%s", archive_entry_pathname(entry));
- fprintf(stderr, ": %s: ", archive_error_string(a));
- fprintf(stderr, "%s", strerror(errno));
+ safe_fprintf(stderr, ": %s: %s",
+ archive_error_string(a),
+ strerror(archive_errno(a)));
if (!bsdtar->verbose)
fprintf(stderr, "\n");
bsdtar->return_value = 1;

@ -76,6 +76,8 @@ PATCHES=(
# https://github.com/libarchive/libarchive/issues/2069
# (we can simply update the command since we don't support old lrzip)
"${FILESDIR}/${P}-lrzip.patch"
# https://github.com/libarchive/libarchive/pull/2101
"${FILESDIR}/${P}-safe-fprintf.patch"
)
src_prepare() {

@ -2,5 +2,3 @@ DIST xz-5.4.2.tar.gz 2799022 BLAKE2B 3c622b0823f0cbb5fbc5eaa0372fc2f0fefe0950d13
DIST xz-5.4.2.tar.gz.sig 566 BLAKE2B 95c9c70fdd25b92095dd9691e4d9d4306a3f982becfe7bd42ca6132a76f29be2c2bc66f4fc2bda547058c18e227292f4185799eb905084fc3ab415ae867b4b1b SHA512 30e965c228ed3a8ecb804db8eb11703a765b7ee934030ea69bb3940b630811eb71bf74fd20371ef7759761904ece4f0144a0b00be4d843cf98299fd016f161aa
DIST xz-5.4.6.tar.gz 2889306 BLAKE2B f0bbd33ea7cd64d475c3501f6e76080c8c0080e377f23462f5f76459935f4e621538ddaa8452d2feaed278d62a596e38ed2aca18ed9e76512c4ec77fa2f4cc5f SHA512 b08a61d8d478d3b4675cb1ddacdbbd98dc6941a55bcdd81a28679e54e9367d3a595fa123ac97874a17da571c1b712e2a3e901c2737099a9d268616a1ba3de497
DIST xz-5.4.6.tar.gz.sig 566 BLAKE2B 808f1b5e2a17729f36a05ba88a9c00210cda2afa02923e6f289d13dc2a48f7674cafec6e25660e142d67f01dd941c7390cee2757b054df3a3193dde0791363a1 SHA512 d5e32b944e7492a32c40f675d918796e077f63490a23c6fce5c4d6d1eebc443f129d27a2e888913c5a36c3ffdac75b9c96c1749402283445e0ba9ff72b965741
DIST xz-5.6.1.tar.gz 3045434 BLAKE2B b3fc3140c9655e812a03800a5ed8ac709aaafaee2ce5d3a62defdd085e643fa639de44beb64833160f4eb12829ad25b96d9f50a8c3d56d79cd5bbef71b9009b2 SHA512 8af100eb83288f032e4813be2bf8de7d733c8761f77f078776c1391709241ad8fe3192d107664786e2543677915c5eeb3fe7add5c53b48b50c10a9de7c9f4fda
DIST xz-5.6.1.tar.gz.sig 566 BLAKE2B d515e60da078e6cb79a2c7a9daa3c8326487d7e8c0f1398d6059c53493232c3a3c21174dab5904833d0938a59fdb02f86aab05767d8cf02f8ee53981d3767fae SHA512 73f50ff5ce7f9d0a3bed1bc7d9e26de2217915517d2057f0c7102374eb20de1bb8b02a2f78680aae80b55913b2ede5141a118c51a2f565c6eba6ae8406474938

@ -1,141 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Remember: we cannot leverage autotools in this ebuild in order
# to avoid circular deps with autotools
EAPI=8
inherit flag-o-matic libtool multilib multilib-minimal preserve-libs toolchain-funcs
if [[ ${PV} == 9999 ]] ; then
# Per tukaani.org, git.tukaani.org is a mirror of github and
# may be behind.
EGIT_REPO_URI="
https://github.com/tukaani-project/xz
https://git.tukaani.org/xz.git
"
inherit git-r3 autotools
# bug #272880 and bug #286068
BDEPEND="sys-devel/gettext >=dev-build/libtool-2"
else
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jiatan.asc
inherit verify-sig
MY_P="${PN/-utils}-${PV/_}"
SRC_URI="
https://github.com/tukaani-project/xz/releases/download/v${PV/_}/${MY_P}.tar.gz
mirror://sourceforge/lzmautils/${MY_P}.tar.gz
https://tukaani.org/xz/${MY_P}.tar.gz
verify-sig? (
https://github.com/tukaani-project/xz/releases/download/v${PV/_}/${MY_P}.tar.gz.sig
https://tukaani.org/xz/${MY_P}.tar.gz.sig
)
"
if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
S="${WORKDIR}/${MY_P}"
fi
DESCRIPTION="Utils for managing LZMA compressed files"
HOMEPAGE="https://tukaani.org/xz/"
# See top-level COPYING file as it outlines the various pieces and their licenses.
LICENSE="0BSD LGPL-2.1+ GPL-2+ doc? ( CC-BY-SA-4.0 )"
SLOT="0"
IUSE="cpu_flags_arm_crc32 doc +extra-filters pgo nls static-libs"
if [[ ${PV} != 9999 ]] ; then
BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-jiatan )"
fi
src_prepare() {
default
if [[ ${PV} == 9999 ]] ; then
eautopoint
eautoreconf
else
# Allow building shared libs on Solaris/x64
elibtoolize
fi
}
multilib_src_configure() {
local myconf=(
--enable-threads
$(multilib_native_use_enable doc)
$(use_enable nls)
$(use_enable static-libs static)
$(use_enable cpu_flags_arm_crc32 arm64-crc32)
)
if ! multilib_is_native_abi ; then
myconf+=(
--disable-{xz,xzdec,lzmadec,lzmainfo,lzma-links,scripts}
)
fi
if ! use extra-filters ; then
myconf+=(
# LZMA1 + LZMA2 for standard .lzma & .xz files
--enable-encoders=lzma1,lzma2
--enable-decoders=lzma1,lzma2
# those are used by default, depending on preset
--enable-match-finders=hc3,hc4,bt4
# CRC64 is used by default, though some (old?) files use CRC32
--enable-checks=crc32,crc64
)
fi
if [[ ${CHOST} == *-solaris* ]] ; then
export gl_cv_posix_shell="${EPREFIX}"/bin/sh
# Undo Solaris-based defaults pointing to /usr/xpg5/bin
myconf+=( --disable-path-for-script )
fi
ECONF_SOURCE="${S}" econf "${myconf[@]}"
}
multilib_src_compile() {
# -fprofile-partial-training because upstream note the test suite isn't super comprehensive
# See https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo
local pgo_generate_flags=$(usev pgo "-fprofile-update=atomic -fprofile-dir=${T}/${ABI}-pgo -fprofile-generate=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)")
local pgo_use_flags=$(usev pgo "-fprofile-use=${T}/${ABI}-pgo -fprofile-dir=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)")
emake CFLAGS="${CFLAGS} ${pgo_generate_flags}"
if use pgo ; then
emake CFLAGS="${CFLAGS} ${pgo_generate_flags}" -k check
if tc-is-clang; then
llvm-profdata merge "${T}"/${ABI}-pgo --output="${T}"/${ABI}-pgo/default.profdata || die
fi
emake clean
emake CFLAGS="${CFLAGS} ${pgo_use_flags}"
fi
}
multilib_src_install_all() {
find "${ED}" -type f -name '*.la' -delete || die
if use doc ; then
rm "${ED}"/usr/share/doc/${PF}/COPYING* || die
fi
}
pkg_preinst() {
preserve_old_lib /usr/$(get_libdir)/liblzma$(get_libname 0)
}
pkg_postinst() {
preserve_old_lib_notify /usr/$(get_libdir)/liblzma$(get_libname 0)
}

@ -20,7 +20,7 @@ if [[ ${PV} == 9999 ]] ; then
# bug #272880 and bug #286068
BDEPEND="sys-devel/gettext >=dev-build/libtool-2"
else
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jiatan.asc
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/lassecollin.asc
inherit verify-sig
MY_P="${PN/-utils}-${PV/_}"
@ -50,12 +50,15 @@ SLOT="0"
IUSE="cpu_flags_arm_crc32 doc +extra-filters pgo nls static-libs"
if [[ ${PV} != 9999 ]] ; then
BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-jiatan )"
BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-lassecollin )"
fi
src_prepare() {
default
# Delete known-compromised test data (bug #928134)
rm tests/files/bad-3-corrupt_lzma2.xz tests/files/good-large_compressed.lzma || die
if [[ ${PV} == 9999 ]] ; then
eautopoint
eautoreconf

Binary file not shown.

@ -1,6 +1,3 @@
DIST buildah-1.33.5.tar.gz 18579521 BLAKE2B a59bfda3dea1f588a2f77a26b942da6ae02a00f1169008f776a2d7699b6b14f38ab29b46b7d0651e9fff3f007e5f95caed99952cc7585c25ea2a3153402958e9 SHA512 82ddfacd69918fb4ca8110d7d5279f4075385e5db5b64b58cf41a90c47e16093f1e65d8ef20136a4cd8f5c23ea8da7f35fb72581cec6472497b9c5b458023e9c
DIST buildah-1.33.6.tar.gz 18585405 BLAKE2B 4a6f6ebfce7799a45b0984b6f9a319becfed87d5acf5f1f784249ff6e5397495ac72c00a22ff0bcc68fd94f1d0a591fa4ac5f0f88bcc9c0a6cdefe117166b4ec SHA512 86eab18af459b0b92361d6e9f56ebe9dab65527d829e7771c13b6c574ef45746a7f53520783ff52978b14aac0d6ee8de32cdabf807666a96dcf46e07e36157e2
DIST buildah-1.33.7.tar.gz 18604354 BLAKE2B d2788096d8d6fd6cc528e8f33edc577778a2775a561ea3c4a983eb4a6fa1d5b570f6d8dc0f77e464d0c242add5d641e20afce83c9f5157021fbc82a009ea47c9 SHA512 1248ad1dcf0d10608674543caf4d78f5052db7932102226e23b73add5e129bd8c614672f3d06aa8052675dd83fa83ef2742ef08fe1a883037b41df8fde893ea1
DIST buildah-1.34.0.tar.gz 18751419 BLAKE2B 6584c5234e849f9b8cde5e4188791024c8ac5c0ba85859e289f3eb2ec32f97f722ebf25f1291f29e14edf4adc14e19d6a6a76630c820085e9f345736aeb3d4eb SHA512 a3836ce540058f418131969e157d548864727398535e4e99a693d883419b8d764da7166f9b9376c2b9686d8beac101687843c2e93198b16328ef333ad96d55db
DIST buildah-1.34.3.tar.gz 18856476 BLAKE2B c91c995a2ff4be8b4e84a70c581a817cb2f1333b08ca297163d218f80d538905c41718cfc267c03173330234c3476344be44df799eaaac891395a22bc7a020b3 SHA512 26d5c48cb5b056a274c1a9c6820a6076337f625fc6dd6683000db871f3de9d37907bd962ced3400334bfc230718219cda2108e2e984be5f8c76ecfa4a2f1e1ac
DIST buildah-1.35.1.tar.gz 19349661 BLAKE2B 31b633f35f937364816dac65e7a801676043630bc3c00ac445ad67afea04142748f76c4aed16690aa990e2c15ed220bdb42b96c6dd9bb0dac9c9d16fc2a27ddc SHA512 3e5af28b3d45e51674d08bef9a92cd64589026d9c6ebee51156738151681395860e372bba2667815e0f90e37984eb9dfdc9b8ad0675b62c8751582b29485d159
DIST buildah-1.35.3.tar.gz 19372597 BLAKE2B 014bea80b3a8c4482bbe098a0c5293892cf9f4f0d4d74ecaba8f155e49fab326689b95b690b413d64f6b576c7269bdb9d0f446244b832afe311e909b3f96856d SHA512 ca325ce1a878eb9e9a6caedf236add16702d8dcd83f15a1995b8215998821218104ea8cb7a5d11fc354ee01d9805c339578975d35db859f1d53b08e0a2139fe3

@ -1,125 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit go-module linux-info
DESCRIPTION="A tool that facilitates building OCI images"
HOMEPAGE="https://github.com/containers/buildah"
# main pkg
LICENSE="Apache-2.0"
# deps
LICENSE+=" BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0"
SLOT="0"
IUSE="apparmor btrfs +seccomp systemd doc test"
RESTRICT="test"
EXTRA_DOCS=(
"CHANGELOG.md"
"CONTRIBUTING.md"
"install.md"
"troubleshooting.md"
"docs/tutorials"
)
if [[ ${PV} == 9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/containers/buildah.git"
else
SRC_URI="https://github.com/containers/buildah/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 ~arm64"
fi
RDEPEND="
systemd? ( sys-apps/systemd )
btrfs? ( sys-fs/btrfs-progs )
seccomp? ( sys-libs/libseccomp:= )
apparmor? ( sys-libs/libapparmor:= )
app-containers/containers-common
app-crypt/gpgme:=
dev-libs/libgpg-error:=
dev-libs/libassuan:=
sys-apps/shadow:=
"
DEPEND="${RDEPEND}"
pkg_pretend() {
local CONFIG_CHECK=""
use btrfs && CONFIG_CHECK+=" ~BTRFS_FS"
check_extra_config
linux_config_exists || ewarn "Cannot determine configuration of your kernel."
}
src_prepare() {
default
# ensure all necessary files are there
local file
for file in docs/Makefile hack/libsubid_tag.sh hack/apparmor_tag.sh \
hack/systemd_tag.sh btrfs_installed_tag.sh btrfs_tag.sh; do
[[ -f "${file}" ]] || die
done
sed -i -e "s|/usr/local|/usr|g" Makefile docs/Makefile || die
echo -e '#!/usr/bin/env bash\necho libsubid' > hack/libsubid_tag.sh || die
cat <<-EOF > hack/apparmor_tag.sh || die
#!/usr/bin/env bash
$(usex apparmor 'echo apparmor' echo)
EOF
use seccomp || {
cat <<-'EOF' > "${T}/disable_seccomp.patch"
--- a/Makefile
+++ b/Makefile
@@ -5 +5 @@
-SECURITYTAGS ?= seccomp $(APPARMORTAG)
+SECURITYTAGS ?= $(APPARMORTAG)
EOF
eapply "${T}/disable_seccomp.patch" || die
}
cat <<-EOF > hack/systemd_tag.sh || die
#!/usr/bin/env bash
$(usex systemd 'echo systemd' echo)
EOF
echo -e "#!/usr/bin/env bash\n echo" > btrfs_installed_tag.sh || die
cat <<-EOF > btrfs_tag.sh || die
#!/usr/bin/env bash
$(usex btrfs echo 'echo exclude_graphdriver_btrfs btrfs_noversion')
EOF
use test || {
cat <<-'EOF' > "${T}/disable_tests.patch"
--- a/Makefile
+++ b/Makefile
@@ -54 +54 @@
-all: bin/buildah bin/imgtype bin/copy bin/tutorial docs
+all: bin/buildah docs
EOF
eapply "${T}/disable_tests.patch" || die
}
}
src_compile() {
# For non-live versions, prevent git operations which causes sandbox violations
# https://github.com/gentoo/gentoo/pull/33531#issuecomment-1786107493
[[ ${PV} != 9999* ]] && export COMMIT_NO="" GIT_COMMIT=""
default
}
src_test() {
emake test-unit
}
src_install() {
emake DESTDIR="${ED}" install install.completions
einstalldocs
use doc && dodoc -r "${EXTRA_DOCS[@]}"
}

@ -1,125 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit go-module linux-info
DESCRIPTION="A tool that facilitates building OCI images"
HOMEPAGE="https://github.com/containers/buildah"
# main pkg
LICENSE="Apache-2.0"
# deps
LICENSE+=" BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0"
SLOT="0"
IUSE="apparmor btrfs +seccomp systemd doc test"
RESTRICT="test"
EXTRA_DOCS=(
"CHANGELOG.md"
"CONTRIBUTING.md"
"install.md"
"troubleshooting.md"
"docs/tutorials"
)
if [[ ${PV} == 9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/containers/buildah.git"
else
SRC_URI="https://github.com/containers/buildah/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 arm64"
fi
RDEPEND="
systemd? ( sys-apps/systemd )
btrfs? ( sys-fs/btrfs-progs )
seccomp? ( sys-libs/libseccomp:= )
apparmor? ( sys-libs/libapparmor:= )
app-containers/containers-common
app-crypt/gpgme:=
dev-libs/libgpg-error:=
dev-libs/libassuan:=
sys-apps/shadow:=
"
DEPEND="${RDEPEND}"
pkg_pretend() {
local CONFIG_CHECK=""
use btrfs && CONFIG_CHECK+=" ~BTRFS_FS"
check_extra_config
linux_config_exists || ewarn "Cannot determine configuration of your kernel."
}
src_prepare() {
default
# ensure all necessary files are there
local file
for file in docs/Makefile hack/libsubid_tag.sh hack/apparmor_tag.sh \
hack/systemd_tag.sh btrfs_installed_tag.sh btrfs_tag.sh; do
[[ -f "${file}" ]] || die
done
sed -i -e "s|/usr/local|/usr|g" Makefile docs/Makefile || die
echo -e '#!/usr/bin/env bash\necho libsubid' > hack/libsubid_tag.sh || die
cat <<-EOF > hack/apparmor_tag.sh || die
#!/usr/bin/env bash
$(usex apparmor 'echo apparmor' echo)
EOF
use seccomp || {
cat <<-'EOF' > "${T}/disable_seccomp.patch"
--- a/Makefile
+++ b/Makefile
@@ -5 +5 @@
-SECURITYTAGS ?= seccomp $(APPARMORTAG)
+SECURITYTAGS ?= $(APPARMORTAG)
EOF
eapply "${T}/disable_seccomp.patch" || die
}
cat <<-EOF > hack/systemd_tag.sh || die
#!/usr/bin/env bash
$(usex systemd 'echo systemd' echo)
EOF
echo -e "#!/usr/bin/env bash\n echo" > btrfs_installed_tag.sh || die
cat <<-EOF > btrfs_tag.sh || die
#!/usr/bin/env bash
$(usex btrfs echo 'echo exclude_graphdriver_btrfs btrfs_noversion')
EOF
use test || {
cat <<-'EOF' > "${T}/disable_tests.patch"
--- a/Makefile
+++ b/Makefile
@@ -54 +54 @@
-all: bin/buildah bin/imgtype bin/copy bin/tutorial docs
+all: bin/buildah docs
EOF
eapply "${T}/disable_tests.patch" || die
}
}
src_compile() {
# For non-live versions, prevent git operations which causes sandbox violations
# https://github.com/gentoo/gentoo/pull/33531#issuecomment-1786107493
[[ ${PV} != 9999* ]] && export COMMIT_NO="" GIT_COMMIT=""
default
}
src_test() {
emake test-unit
}
src_install() {
emake DESTDIR="${ED}" install install.completions
einstalldocs
use doc && dodoc -r "${EXTRA_DOCS[@]}"
}

@ -44,6 +44,10 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="dev-go/go-md2man"
PATCHES=(
"${T}"/dont-call-as-directly-upstream-pr-5436.patch
)
pkg_pretend() {
local CONFIG_CHECK=""
use btrfs && CONFIG_CHECK+=" ~BTRFS_FS"
@ -53,6 +57,34 @@ pkg_pretend() {
}
src_prepare() {
cat <<'EOF' > "${T}/dont-call-as-directly-upstream-pr-5436.patch"
--- a/Makefile
+++ b/Makefile
@@ -10,6 +10,8 @@
BASHINSTALLDIR = $(PREFIX)/share/bash-completion/completions
BUILDFLAGS := -tags "$(BUILDTAGS)"
BUILDAH := buildah
+AS ?= as
+STRIP ?= strip
GO := go
GO_LDFLAGS := $(shell if $(GO) version|grep -q gccgo; then echo "-gccgoflags"; else echo "-ldflags"; fi)
@@ -72,11 +74,11 @@
bin/buildah: $(SOURCES) cmd/buildah/*.go internal/mkcw/embed/entrypoint.gz
$(GO_BUILD) $(BUILDAH_LDFLAGS) $(GO_GCFLAGS) "$(GOGCFLAGS)" -o $@ $(BUILDFLAGS) ./cmd/buildah
-ifneq ($(shell as --version | grep x86_64),)
+ifneq ($(shell $(AS) --version | grep x86_64),)
internal/mkcw/embed/entrypoint: internal/mkcw/embed/entrypoint.s
$(AS) -o $(patsubst %.s,%.o,$^) $^
$(LD) -o $@ $(patsubst %.s,%.o,$^)
- strip $@
+ $(STRIP) $@
else
.PHONY: internal/mkcw/embed/entrypoint
endif
EOF
default
# ensure all necessary files are there
@ -113,7 +145,7 @@ src_compile() {
# https://github.com/gentoo/gentoo/pull/33531#issuecomment-1786107493
[[ ${PV} != 9999* ]] && export COMMIT_NO="" GIT_COMMIT=""
tc-export AS LD
tc-export AS LD STRIP
export GOMD2MAN="$(command -v go-md2man)"
default
}

@ -1,125 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit go-module linux-info
DESCRIPTION="A tool that facilitates building OCI images"
HOMEPAGE="https://github.com/containers/buildah"
# main pkg
LICENSE="Apache-2.0"
# deps
LICENSE+=" BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0"
SLOT="0"
IUSE="apparmor btrfs +seccomp systemd doc test"
RESTRICT="test"
EXTRA_DOCS=(
"CHANGELOG.md"
"CONTRIBUTING.md"
"install.md"
"troubleshooting.md"
"docs/tutorials"
)
if [[ ${PV} == 9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/containers/buildah.git"
else
SRC_URI="https://github.com/containers/buildah/archive/v${PV}.tar.gz -> ${P}.tar.gz"
# KEYWORDS="amd64 arm64"
fi
RDEPEND="
systemd? ( sys-apps/systemd )
btrfs? ( sys-fs/btrfs-progs )
seccomp? ( sys-libs/libseccomp:= )
apparmor? ( sys-libs/libapparmor:= )
app-containers/containers-common
app-crypt/gpgme:=
dev-libs/libgpg-error:=
dev-libs/libassuan:=
sys-apps/shadow:=
"
DEPEND="${RDEPEND}"
pkg_pretend() {
local CONFIG_CHECK=""
use btrfs && CONFIG_CHECK+=" ~BTRFS_FS"
check_extra_config
linux_config_exists || ewarn "Cannot determine configuration of your kernel."
}
src_prepare() {
default
# ensure all necessary files are there
local file
for file in docs/Makefile hack/libsubid_tag.sh hack/apparmor_tag.sh \
hack/systemd_tag.sh btrfs_installed_tag.sh btrfs_tag.sh; do
[[ -f "${file}" ]] || die
done
sed -i -e "s|/usr/local|/usr|g" Makefile docs/Makefile || die
echo -e '#!/usr/bin/env bash\necho libsubid' > hack/libsubid_tag.sh || die
cat <<-EOF > hack/apparmor_tag.sh || die
#!/usr/bin/env bash
$(usex apparmor 'echo apparmor' echo)
EOF
use seccomp || {
cat <<-'EOF' > "${T}/disable_seccomp.patch"
--- a/Makefile
+++ b/Makefile
@@ -5 +5 @@
-SECURITYTAGS ?= seccomp $(APPARMORTAG)
+SECURITYTAGS ?= $(APPARMORTAG)
EOF
eapply "${T}/disable_seccomp.patch" || die
}
cat <<-EOF > hack/systemd_tag.sh || die
#!/usr/bin/env bash
$(usex systemd 'echo systemd' echo)
EOF
echo -e "#!/usr/bin/env bash\n echo" > btrfs_installed_tag.sh || die
cat <<-EOF > btrfs_tag.sh || die
#!/usr/bin/env bash
$(usex btrfs echo 'echo exclude_graphdriver_btrfs btrfs_noversion')
EOF
use test || {
cat <<-'EOF' > "${T}/disable_tests.patch"
--- a/Makefile
+++ b/Makefile
@@ -54 +54 @@
-all: bin/buildah bin/imgtype bin/copy bin/tutorial docs
+all: bin/buildah docs
EOF
eapply "${T}/disable_tests.patch" || die
}
}
src_compile() {
# For non-live versions, prevent git operations which causes sandbox violations
# https://github.com/gentoo/gentoo/pull/33531#issuecomment-1786107493
[[ ${PV} != 9999* ]] && export COMMIT_NO="" GIT_COMMIT=""
default
}
src_test() {
emake test-unit
}
src_install() {
emake DESTDIR="${ED}" install install.completions
einstalldocs
use doc && dodoc -r "${EXTRA_DOCS[@]}"
}

@ -44,6 +44,10 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="dev-go/go-md2man"
PATCHES=(
"${T}"/dont-call-as-directly-upstream-pr-5436.patch
)
pkg_pretend() {
local CONFIG_CHECK=""
use btrfs && CONFIG_CHECK+=" ~BTRFS_FS"
@ -53,6 +57,35 @@ pkg_pretend() {
}
src_prepare() {
cat <<'EOF' > "${T}/dont-call-as-directly-upstream-pr-5436.patch"
--- a/Makefile
+++ b/Makefile
@@ -14,6 +14,8 @@
BASHINSTALLDIR = $(PREFIX)/share/bash-completion/completions
BUILDFLAGS := -tags "$(BUILDTAGS)"
BUILDAH := buildah
+AS ?= as
+STRIP ?= strip
GO := go
GO_LDFLAGS := $(shell if $(GO) version|grep -q gccgo; then echo "-gccgoflags"; else echo "-ldflags"; fi)
@@ -76,14 +78,14 @@
bin/buildah: $(SOURCES) cmd/buildah/*.go internal/mkcw/embed/entrypoint_amd64.gz
$(GO_BUILD) $(BUILDAH_LDFLAGS) $(GO_GCFLAGS) "$(GOGCFLAGS)" -o $@ $(BUILDFLAGS) ./cmd/buildah
-ifneq ($(shell as --version | grep x86_64),)
+ifneq ($(shell $(AS) --version | grep x86_64),)
internal/mkcw/embed/entrypoint_amd64.gz: internal/mkcw/embed/entrypoint_amd64
gzip -k9nf $^
internal/mkcw/embed/entrypoint_amd64: internal/mkcw/embed/entrypoint_amd64.s
$(AS) -o $(patsubst %.s,%.o,$^) $^
$(LD) -o $@ $(patsubst %.s,%.o,$^)
- strip $@
+ $(STRIP) $@
endif
EOF
default
# ensure all necessary files are there
@ -113,7 +146,7 @@ src_compile() {
# https://github.com/gentoo/gentoo/pull/33531#issuecomment-1786107493
[[ ${PV} != 9999* ]] && export COMMIT_NO="" GIT_COMMIT=""
tc-export AS LD
tc-export AS LD STRIP
export GOMD2MAN="$(command -v go-md2man)"
default
}

@ -44,6 +44,11 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="dev-go/go-md2man"
PATCHES=(
"${FILESDIR}"/dont-call-as-directly-upstream-pr-5436.patch
"${FILESDIR}"/softcode-strip-upstream-pr-5446.patch
)
pkg_pretend() {
local CONFIG_CHECK=""
use btrfs && CONFIG_CHECK+=" ~BTRFS_FS"
@ -113,7 +118,7 @@ src_compile() {
# https://github.com/gentoo/gentoo/pull/33531#issuecomment-1786107493
[[ ${PV} != 9999* ]] && export COMMIT_NO="" GIT_COMMIT=""
tc-export AS LD
tc-export AS LD STRIP
export GOMD2MAN="$(command -v go-md2man)"
default
}

@ -44,6 +44,10 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="dev-go/go-md2man"
PATCHES=(
"${FILESDIR}"/softcode-strip-upstream-pr-5446.patch
)
pkg_pretend() {
local CONFIG_CHECK=""
use btrfs && CONFIG_CHECK+=" ~BTRFS_FS"
@ -113,7 +117,7 @@ src_compile() {
# https://github.com/gentoo/gentoo/pull/33531#issuecomment-1786107493
[[ ${PV} != 9999* ]] && export COMMIT_NO="" GIT_COMMIT=""
tc-export AS LD
tc-export AS LD STRIP
export GOMD2MAN="$(command -v go-md2man)"
default
}

@ -0,0 +1,32 @@
From c1b43b57bb20f8796002e1d6f93bbdbc02e28f20 Mon Sep 17 00:00:00 2001
From: Rahil Bhimjiani <me@rahil.rocks>
Date: Wed, 27 Mar 2024 14:27:09 +0530
Subject: [PATCH] Makefile - instead of calling `as` directly, use it from env
var
Signed-off-by: Rahil Bhimjiani <me@rahil.rocks>
---
Makefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index f1ab6b8bf4..7d27a41530 100644
--- a/Makefile
+++ b/Makefile
@@ -16,6 +16,7 @@ BUILDFLAGS := -tags "$(BUILDTAGS)"
BUILDAH := buildah
SELINUXOPT ?= $(shell test -x /usr/sbin/selinuxenabled && selinuxenabled && echo -Z)
SELINUXTYPE=container_runtime_exec_t
+AS ?= as
GO := go
GO_LDFLAGS := $(shell if $(GO) version|grep -q gccgo; then echo "-gccgoflags"; else echo "-ldflags"; fi)
@@ -79,7 +80,7 @@ bin/buildah: $(SOURCES) cmd/buildah/*.go internal/mkcw/embed/entrypoint_amd64.gz
$(GO_BUILD) $(BUILDAH_LDFLAGS) $(GO_GCFLAGS) "$(GOGCFLAGS)" -o $@ $(BUILDFLAGS) ./cmd/buildah
test -z "${SELINUXOPT}" || chcon --verbose -t $(SELINUXTYPE) $@
-ifneq ($(shell as --version | grep x86_64),)
+ifneq ($(shell $(AS) --version | grep x86_64),)
internal/mkcw/embed/entrypoint_amd64.gz: internal/mkcw/embed/entrypoint_amd64
gzip -k9nf $^

@ -0,0 +1,29 @@
commit 2cd31a0698bea846366e8e153619a108484a1a2a
Author: Rahil Bhimjiani <me@rahil.rocks>
Date: Mon Apr 1 09:25:21 2024 +0530
Makefile: softcode `strip`, use it from env var
Signed-off-by: Rahil Bhimjiani <me@rahil.rocks>
diff --git a/Makefile b/Makefile
index 7d27a4153..3a955c85a 100644
--- a/Makefile
+++ b/Makefile
@@ -17,6 +17,7 @@ BUILDAH := buildah
SELINUXOPT ?= $(shell test -x /usr/sbin/selinuxenabled && selinuxenabled && echo -Z)
SELINUXTYPE=container_runtime_exec_t
AS ?= as
+STRIP ?= strip
GO := go
GO_LDFLAGS := $(shell if $(GO) version|grep -q gccgo; then echo "-gccgoflags"; else echo "-ldflags"; fi)
@@ -87,7 +88,7 @@ internal/mkcw/embed/entrypoint_amd64.gz: internal/mkcw/embed/entrypoint_amd64
internal/mkcw/embed/entrypoint_amd64: internal/mkcw/embed/entrypoint_amd64.s
$(AS) -o $(patsubst %.s,%.o,$^) $^
$(LD) -o $@ $(patsubst %.s,%.o,$^)
- strip $@
+ $(STRIP) $@
endif

@ -23,7 +23,7 @@ SRC_URI="
LICENSE="MPL-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="amd64 ~x86"
RDEPEND="
|| (

@ -1,3 +1,3 @@
DIST podman-4.9.3.tar.gz 21727849 BLAKE2B 9a67ba4266a8a0e20d165ba2bae00dcf146724ee976838d5e3310b094155ffa89bff526e8ae72864dc100d1e6878d5519d53581dc7e034982a4f2b364e4c8feb SHA512 395014bbe70923f1444d2f33440013a16e9c339b70be5e6a9c7026617a40795a1c0e410c08a52fba46b9f5e853d853ce4133db36167a3c5ace7d325f8b3a3327
DIST podman-4.9.4.tar.gz 21733620 BLAKE2B 17d099c0a13fbbb77556742313c39995127fc97b4086ef3c2d74a92cc0a4f825a6c729dd099c6d4f4cd3d2ebfd470494babdeaa85a5653b327ea1a16fb5ea993 SHA512 7b52555789a1c214fcf26b0826bdda6cf0ccca588f87c0f15ac5e8358ddac625e17cafbe6a43de07cad964e1418b5ee0d2e38a5cb5dc6f6d4e638399749a7f7b
DIST podman-5.0.0.tar.gz 21861935 BLAKE2B 1ec7006f272f5da7f93929bc543cd8988d6f9596cb868e9561578ebef85d51cbd6baa4b66571872fc9748c639ca636ce27f6d90303707f04caa321c7b71db81a SHA512 8800d96d668cbc7a7ff85a09c71b3307a280c124513fd02fe478f415cf8db43ee47dc7e9c3b75046c6bda9f916937a2cc59887c2c4b26766c2f770abb87fd7ce
DIST podman-5.0.1.tar.gz 21863115 BLAKE2B 433949d70e7984a278d5231fe4a480d0c758a67e6df30f587f25da727440ba944cf38bb979ab6b6375f0ba65038c6b4c5a8ca73c6bc73df57b92089c5f6c072e SHA512 4ab64beea9b23839caa35bf8ec0f097ed16b4d2f448ce16039bb55672ac8b1d8d8cadf86c21eb32dc2c1d30dabb5b57a141823aa5fc3f14f09741f76cffa6023

@ -1,11 +0,0 @@
# Config file for /etc/init.d/podman
# Sets the API service daemon log level
# valid levels: debug, info, warn, error, fatal or panic
#LOG_LEVEL="error"
# Sets the API service daemon socket
#SOCKET="unix:/run/${RC_SVCNAME}/podman.sock"
# Configure the user[:group] the API service daemon will run as
#RUN_AS_USER="root:root"

@ -1,20 +0,0 @@
#!/sbin/openrc-run
# Copyright 2015-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
description="Podman Remote API Service"
LOG_PATH="/var/log/${RC_SVCNAME}"
RUN_PATH="/run/${RC_SVCNAME}"
: ${LOG_LEVEL:=error}
: ${RUN_AS_USER:=root:root}
: ${SOCKET:=unix:/run/${RC_SVCNAME}/podman.sock}
pidfile="${RUN_PATH}/${RC_SVCNAME}.pid"
command="/usr/bin/podman"
command_args="--log-level ${LOG_LEVEL} system service -t 0 ${SOCKET}"
command_background="true"
start_stop_daemon_args="--stdout ${LOG_PATH}/${RC_SVCNAME}.log --stderr ${LOG_PATH}/${RC_SVCNAME}.log --user ${RUN_AS_USER}"
start() {
checkpath -o "${RUN_AS_USER}" -d "${RUN_PATH}" "${LOG_PATH}"
default_start
}

@ -17,7 +17,7 @@ else
SRC_URI="https://github.com/containers/podman/archive/v${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${P/_rc/-rc}"
if [[ ${PV} != *rc* ]] ; then
KEYWORDS="~amd64 ~arm64 ~riscv"
KEYWORDS="amd64 arm64 ~riscv"
fi
fi

@ -3,7 +3,9 @@
EAPI=8
inherit go-module tmpfiles linux-info
PYTHON_COMPAT=( python3_{11,12} )
inherit go-module python-any-r1 tmpfiles linux-info
DESCRIPTION="A tool for managing OCI containers and pods with Docker-compatible CLI"
HOMEPAGE="https://github.com/containers/podman/ https://podman.io/"
@ -14,9 +16,8 @@ if [[ ${PV} == 9999* ]]; then
else
SRC_URI="https://github.com/containers/podman/archive/v${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${P/_rc/-rc}"
if [[ ${PV} != *rc* ]] ; then
KEYWORDS="amd64 arm64 ~riscv"
fi
[[ ${PV} != *rc* ]] && \
KEYWORDS="~amd64 ~arm64 ~riscv"
fi
# main pkg
@ -24,31 +25,28 @@ LICENSE="Apache-2.0"
# deps
LICENSE+=" BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0"
SLOT="0"
IUSE="apparmor btrfs cgroup-hybrid wrapper +fuse +init +rootless +seccomp selinux systemd"
IUSE="apparmor btrfs +seccomp selinux systemd wrapper"
RESTRICT="test"
RDEPEND="
app-containers/catatonit
>=app-containers/conmon-2.1.10
>=app-containers/containers-common-0.58.0-r1
app-crypt/gpgme:=
>=app-containers/conmon-2.0.0
>=app-containers/containers-common-0.56.0
dev-libs/libassuan:=
dev-libs/libgpg-error:=
sys-apps/shadow:=
apparmor? ( sys-libs/libapparmor )
btrfs? ( sys-fs/btrfs-progs )
cgroup-hybrid? ( >=app-containers/runc-1.0.0_rc6 )
!cgroup-hybrid? ( app-containers/crun )
wrapper? ( !app-containers/docker-cli )
fuse? ( sys-fs/fuse-overlayfs )
init? ( app-containers/catatonit )
rootless? ( app-containers/slirp4netns )
seccomp? ( sys-libs/libseccomp:= )
selinux? ( sec-policy/selinux-podman sys-libs/libselinux:= )
systemd? ( sys-apps/systemd:= )
"
DEPEND="${RDEPEND}"
BDEPEND="
${PYTHON_DEPS}
dev-go/go-md2man
"
@ -63,6 +61,7 @@ CONFIG_CHECK="
pkg_setup() {
use btrfs && CONFIG_CHECK+=" ~BTRFS_FS"
linux-info_pkg_setup
python-any-r1_pkg_setup
}
src_prepare() {
@ -92,50 +91,38 @@ src_prepare() {
src_compile() {
export PREFIX="${EPREFIX}/usr"
# bug 906073
use elibc_musl && export CGO_CFLAGS="-D_LARGEFILE64_SOURCE"
# For non-live versions, prevent git operations which causes sandbox violations
# https://github.com/gentoo/gentoo/pull/33531#issuecomment-1786107493
[[ ${PV} != 9999* ]] && export COMMIT_NO="" GIT_COMMIT=""
[[ ${PV} != 9999* ]] && export COMMIT_NO="" GIT_COMMIT="" EPOCH_TEST_COMMIT=""
# BUILD_SECCOMP is used in the patch to toggle seccomp
emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" BUILD_SECCOMP="$(usex seccomp)" all $(usev wrapper docker-docs)
emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" BUILD_SECCOMP="$(usex seccomp)" \
all $(usev wrapper docker-docs)
}
src_install() {
emake DESTDIR="${D}" install install.completions $(usev wrapper install.docker-full)
insinto /etc/cni/net.d
doins cni/87-podman-bridge.conflist
if use !systemd; then
newconfd "${FILESDIR}"/podman-5.0.0_rc4.confd podman
newinitd "${FILESDIR}"/podman-5.0.0_rc4.initd podman
newconfd "${FILESDIR}"/podman.confd podman
newinitd "${FILESDIR}"/podman.initd podman
newinitd "${FILESDIR}"/podman-restart-5.0.0_rc4.initd podman-restart
newconfd "${FILESDIR}"/podman-restart-5.0.0_rc4.confd podman-restart
insinto /etc/logrotate.d
newins "${FILESDIR}/podman.logrotated" podman
newinitd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.initd podman-clean-transient
newconfd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.confd podman-clean-transient
keepdir /var/lib/containers
}
exeinto /etc/cron.daily
newexe "${FILESDIR}"/podman-auto-update-5.0.0.cron podman-auto-update
pkg_preinst() {
PODMAN_ROOTLESS_UPGRADE=false
if use rootless; then
has_version 'app-containers/podman[rootless]' || PODMAN_ROOTLESS_UPGRADE=true
insinto /etc/logrotate.d
newins "${FILESDIR}/podman.logrotated" podman
fi
keepdir /var/lib/containers
}
pkg_postinst() {
tmpfiles_process podman.conf $(usev wrapper podman-docker.conf)
local want_newline=false
if [[ ${PODMAN_ROOTLESS_UPGRADE} == true ]] ; then
${want_newline} && elog ""
elog "For rootless operation, you need to configure subuid/subgid"
elog "for user running podman. In case subuid/subgid has only been"
elog "configured for root, run:"
elog "usermod --add-subuids 1065536-1131071 <user>"
elog "usermod --add-subgids 1065536-1131071 <user>"
want_newline=true
fi
}

Binary file not shown.

@ -13,7 +13,7 @@ SRC_URI+=" https://dev.gentoo.org/~ajak/distfiles/${CATEGORY}/${PN}/${P}-deps.ta
LICENSE="Apache-2.0 BSD BSD-2 MIT"
SLOT="0"
KEYWORDS="~amd64"
KEYWORDS="amd64"
BDEPEND="app-text/asciidoc
verify-sig? ( sec-keys/openpgp-keys-foxboron )"

Binary file not shown.

@ -573,6 +573,14 @@ src_install() {
\"${EPREFIX}/Applications/Gentoo\". You may want to copy or
symlink it into /Applications by yourself."
fi
if ! use mailutils; then
DOC_CONTENTS+="\\n\\nThe mailutils USE flag is disabled. If Emacs'
own e-mail features are going to be used as an e-mail client
(e.g. Rmail), you are strongly encouraged to enable it. If not,
Emacs will use its own implementation of movemail; which has
fewer features and is less secure. For more information see:
https://www.gnu.org/software/emacs/manual/html_node/emacs/Movemail.html"
fi
tc-is-cross-compiler && DOC_CONTENTS+="\\n\\nEmacs did not write
a portable dump file due to being cross-compiled.
To create this file at run time, execute the following command:

@ -586,6 +586,14 @@ src_install() {
\"${EPREFIX}/Applications/Gentoo\". You may want to copy or
symlink it into /Applications by yourself."
fi
if ! use mailutils; then
DOC_CONTENTS+="\\n\\nThe mailutils USE flag is disabled. If Emacs'
own e-mail features are going to be used as an e-mail client
(e.g. Rmail), you are strongly encouraged to enable it. If not,
Emacs will use its own implementation of movemail; which has
fewer features and is less secure. For more information see:
https://www.gnu.org/software/emacs/manual/html_node/emacs/Movemail.html"
fi
tc-is-cross-compiler && DOC_CONTENTS+="\\n\\nEmacs did not write
a portable dump file due to being cross-compiled.
To create this file at run time, execute the following command:

@ -575,6 +575,14 @@ src_install() {
\"${EPREFIX}/Applications/Gentoo\". You may want to copy or
symlink it into /Applications by yourself."
fi
if ! use mailutils; then
DOC_CONTENTS+="\\n\\nThe mailutils USE flag is disabled. If Emacs'
own e-mail features are going to be used as an e-mail client
(e.g. Rmail), you are strongly encouraged to enable it. If not,
Emacs will use its own implementation of movemail; which has
fewer features and is less secure. For more information see:
https://www.gnu.org/software/emacs/manual/html_node/emacs/Movemail.html"
fi
tc-is-cross-compiler && DOC_CONTENTS+="\\n\\nEmacs did not write
a portable dump file due to being cross-compiled.
To create this file at run time, execute the following command:

@ -1,2 +1,2 @@
DIST logseq-desktop-bin-0.10.6.zip 189610228 BLAKE2B 96dfa264c7018d973849cc52775c8dfccf3284f0880efba596697af21b0ae949fbdf39d1a0abc4e46242f58344c93075de6320460e3518bcdcd76b74c4690dd0 SHA512 42c7823973def77484f0f3ec21a47dad4acf02d60d40c1aeae73b583b6cbae8fea911692aac069c6daa657b8849e1129f13f328a4e1f991b289e9805a612a368
DIST logseq-desktop-bin-0.10.7.zip 189638441 BLAKE2B a2e81edca960f4efd3bd93634b57a1791a505a5aabcb43a1a551fb9270023f024cad704321c2a080af1f0e20b57848949eff2f4d7ddbcaf5a001048c7c2cec2e SHA512 c0bf76bb8ea9b58cfd229650a480b0f197c8d6c7780a146d73bcd4b439446a9bfd006154686b2e40f11d433d5f781f70f16e5b2e00fb8373c5dae57ebb679550
DIST logseq-desktop-bin-0.10.8.zip 189513360 BLAKE2B 851b9a5b8b7a5b1c94ecc71cab87dfe6b94a55f8c320b81e80647499741661e1f220b9077acb6f1cdd61e2a6c7dc646fb832cdc80e504a8a4015531d81875cee SHA512 64a31ce323d7f0e9640a6c1b386631b0a9571bf9677effc3e0d1fd0fb8e68da3b95d37ef1db97bb2c7a12f3c1a75de7db44af566fcdfa62eb8aa76390330bf42

Binary file not shown.

@ -18,7 +18,7 @@ else
SRC_URI="https://github.com/radian-software/${PN}/archive/v${PV}.tar.gz
-> ${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
KEYWORDS="amd64 ~x86"
fi
LICENSE="MIT"

@ -1,2 +1,3 @@
DIST buttercup-1.33.tar.gz 91925 BLAKE2B d17788f34b001fffa6322d0d3d1f397a32708c1906e993581ef299e6e3897fce90bea186e1cedde4c86c63083e0cc53d016a8c3bd431e7f18a36e70d0ecbd061 SHA512 95fb4031663ed0fa7a023c924ce8bf4b077ace65f0680a7a8ecfdfa5359b30e6d42b27ad857ed1b24ea405c7a49c7b182d337e2bf1c37d971bebba98b37f4f12
DIST buttercup-1.34.tar.gz 92551 BLAKE2B 51335027d4ee799e80563355eee1dbadddf2bf92e5790eb7afb2fbfd5a53fdc17ab09eec75b5e6712faac4f03e29c6493914f848a584f594710d9c5a379e4361 SHA512 8aa788b5937ecb89d7a8e486d28df78cb582024c438d6e5ec9ad582b17351b116bca87771a0e8d7386e8357d39f6ca8b109612258e55ca16497f4189eddb7a99
DIST buttercup-1.35.tar.gz 93375 BLAKE2B 7bedd4a8576f900934e3a39cdb5a58e85e6b9ec682cc1030495d50d686880ef14d73afbd49340856c3b3279548babf7297ba787f1a17bfd3dee81bd8a72f2f4a SHA512 416edb974999e2eac38040ce72c241ab961cc63f40068711b0436e4f3ca49025955d5ee2d93168770da0f251269652e36c1c9c0436f6ee6133c6ca859dbfe487

@ -0,0 +1,38 @@
# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit elisp
DESCRIPTION="Behaviour-driven Elisp testing"
HOMEPAGE="https://github.com/jorgenschaefer/emacs-buttercup"
if [[ "${PV}" == *9999* ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/jorgenschaefer/emacs-${PN}.git"
else
SRC_URI="https://github.com/jorgenschaefer/emacs-${PN}/archive/v${PV}.tar.gz
-> ${P}.tar.gz"
S="${WORKDIR}/emacs-${P}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
fi
LICENSE="GPL-3+"
SLOT="0"
DOCS=( docs/{running,writing}-tests.md )
SITEFILE="50${PN}-gentoo.el"
src_test() {
${EMACS} ${EMACSFLAGS} -L . -l buttercup \
-f buttercup-run-discover || die "tests failed"
}
src_install() {
elisp_src_install
dobin "bin/${PN}"
}

@ -0,0 +1,38 @@
# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit elisp
DESCRIPTION="Behaviour-driven Elisp testing"
HOMEPAGE="https://github.com/jorgenschaefer/emacs-buttercup"
if [[ "${PV}" == *9999* ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/jorgenschaefer/emacs-${PN}.git"
else
SRC_URI="https://github.com/jorgenschaefer/emacs-${PN}/archive/v${PV}.tar.gz
-> ${P}.tar.gz"
S="${WORKDIR}/emacs-${P}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
fi
LICENSE="GPL-3+"
SLOT="0"
DOCS=( docs/{running,writing}-tests.md )
SITEFILE="50${PN}-gentoo.el"
src_test() {
${EMACS} ${EMACSFLAGS} -L . -l buttercup \
-f buttercup-run-discover || die "tests failed"
}
src_install() {
elisp_src_install
dobin "bin/${PN}"
}

@ -15,7 +15,7 @@ SRC_URI="
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64"
KEYWORDS="amd64"
RDEPEND="
app-text/enchant:2

@ -1,2 +1,2 @@
DIST mastodon-1.0.17.tar.gz 158970 BLAKE2B 5896520ae881af514ac14272bddc1987664a013e437c67ff145378371466b102586c37417accdbedf3d3cf68973be158a9d3234ee247b4a590f8444992403a80 SHA512 c6f80351e49d5bb99b8681301bdf6f28ac17d2bbe624412602ae8bd2d11d435e9aa3f31ce5a4a5621bc803fa3f53a15e27d98886070150d9d34028443b375d4b
DIST mastodon-1.0.18.tar.gz 160205 BLAKE2B 329d6192e129c6255bb212fe06061ff5623d16030b3f8b9b2aea33e1d0113fa09af934ead8b4695031a4dc0ddc734aa8674ca64bdad6216ee6e8006639f8131f SHA512 5e1162f30e2735a9a6d73b418369ba70476b2f45967c121e0ca9d741d029a8fc2e314fc8ea33cb09036b7b4e0f9d56b8002c4694fefbe0d6923ab8038ec7a192
DIST mastodon-1.0.19.tar.gz 160533 BLAKE2B 4acf21f6b50296463c8083d237f2ab8f510f3372e0cd63437bc037dba8e3cdac9806ddf4a2e8727d2a39c0b0bef18688c0cce679019ac99cdf88b508830e25ef SHA512 27c56aa073c003b7063acd816230d1e5bf0f353b2d3c0a6cfa861130d4fbfd80bb5189d8bb1e036442f824d85bf96c0db21a927e4840057eaf17fff3114d3526

@ -9,19 +9,30 @@ inherit elisp
DESCRIPTION="Emacs client for Mastodon, federated microblogging social network"
HOMEPAGE="https://codeberg.org/martianh/mastodon.el/"
SRC_URI="https://codeberg.org/martianh/${PN}.el/archive/${PV}.tar.gz
-> ${P}.tar.gz"
S="${WORKDIR}/${PN}.el/lisp"
if [[ "${PV}" == *9999* ]] ; then
inherit git-r3
EGIT_REPO_URI="https://codeberg.org/martianh/mastodon.el.git"
S="${WORKDIR}/${P}/lisp"
else
SRC_URI="https://codeberg.org/martianh/${PN}.el/archive/${PV}.tar.gz
-> ${P}.tar.gz"
S="${WORKDIR}/${PN}.el/lisp"
KEYWORDS="~amd64 ~x86"
fi
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RDEPEND="
app-emacs/persist
app-emacs/request
"
BDEPEND="${RDEPEND}"
BDEPEND="
${RDEPEND}
"
DOCS=( ../README.org )
ELISP_TEXINFO="../${PN}.texi"

@ -9,19 +9,30 @@ inherit elisp
DESCRIPTION="Emacs client for Mastodon, federated microblogging social network"
HOMEPAGE="https://codeberg.org/martianh/mastodon.el/"
SRC_URI="https://codeberg.org/martianh/${PN}.el/archive/${PV}.tar.gz
-> ${P}.tar.gz"
S="${WORKDIR}/${PN}.el/lisp"
if [[ "${PV}" == *9999* ]] ; then
inherit git-r3
EGIT_REPO_URI="https://codeberg.org/martianh/mastodon.el.git"
S="${WORKDIR}/${P}/lisp"
else
SRC_URI="https://codeberg.org/martianh/${PN}.el/archive/${PV}.tar.gz
-> ${P}.tar.gz"
S="${WORKDIR}/${PN}.el/lisp"
KEYWORDS="~amd64 ~x86"
fi
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RDEPEND="
app-emacs/persist
app-emacs/request
"
BDEPEND="${RDEPEND}"
BDEPEND="
${RDEPEND}
"
DOCS=( ../README.org )
ELISP_TEXINFO="../${PN}.texi"

@ -0,0 +1,39 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
NEED_EMACS=27.1
inherit elisp
DESCRIPTION="Emacs client for Mastodon, federated microblogging social network"
HOMEPAGE="https://codeberg.org/martianh/mastodon.el/"
if [[ "${PV}" == *9999* ]] ; then
inherit git-r3
EGIT_REPO_URI="https://codeberg.org/martianh/mastodon.el.git"
S="${WORKDIR}/${P}/lisp"
else
SRC_URI="https://codeberg.org/martianh/${PN}.el/archive/${PV}.tar.gz
-> ${P}.tar.gz"
S="${WORKDIR}/${PN}.el/lisp"
KEYWORDS="~amd64 ~x86"
fi
LICENSE="GPL-3+"
SLOT="0"
RDEPEND="
app-emacs/persist
app-emacs/request
"
BDEPEND="
${RDEPEND}
"
DOCS=( ../README.org )
ELISP_TEXINFO="../${PN}.texi"
SITEFILE="50${PN}-gentoo.el"

@ -1,2 +1,2 @@
DIST package-lint-0.21.tar.gz 320199 BLAKE2B 58e27e2c775e5b78a900b6ce887996e472579b154fba4efebb292c17878b80327aa9aed12e0ed7795f2a876a88c94788e55686ff6705f4ccc730cc690d5d4e0c SHA512 809214078cf6bf1c8648f438a6e8f33a4c2f453f316d818f856af785e94ab85b041ca3fa6dea4485aa116bfe436d56f326ea911c1e04dec3e4fc82b5de0055ae
DIST package-lint-0.22.tar.gz 322207 BLAKE2B 4605bd733ac46c5d1535c5c27c3921006e9641342f2fc42500b225146384e193c719e73c246ec9fc8a9db811d6c9b70b979647b9581a135e78b4cb7f4f4dfd8a SHA512 3924d8a0daaf2bf08c3128aff9776b3b5629d1bc6beeeef6355b07cb14f04769a24458eb81f38a27a7fa3db235fe5eca7a1cdf1a1ae222dd67e8d53e7955647b
DIST package-lint-0.23.tar.gz 322339 BLAKE2B c3c0a866d46863248fdcf914049859e9dccf0f921a71cc44f4c386e50f5bafac58ba3d1e04b6dcbd58c650fa1386574b2bb3e014cde972416ca3af7f1158b1a1 SHA512 b6d52dd8edb730c77afdadcde48e3235ce90c0e435faf28f220108d9f5994c4a07e8e9b08f765628a7591c11f8e96cfe1ea25606a1d081bede0923528fbf47e3

@ -1,4 +1,4 @@
# Copyright 1999-2023 Gentoo Authors
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -31,7 +31,10 @@ BDEPEND="
${RDEPEND}
"
PATCHES=( "${FILESDIR}/${PN}-symbol-info-data-directory.patch" )
PATCHES=(
"${FILESDIR}/${PN}-0.22-load-data-directory.patch"
)
SITEFILE="50${PN}-gentoo.el"
src_prepare() {

@ -1 +1,2 @@
DIST uxntal-mode-0.2.tar.gz 9450 BLAKE2B b8c3517f452c087aafce7fb1f0dd3dceca5160db27c59b24e1eb46eb0496768b330ab5a741fa809284817a3adcf1e4a46a16c6ec44e8d687f299b63e680eca46 SHA512 4f84a67831c9a43361849185c2ab097174a66c70bd2fd57ca175cb46977be5fef2797d52bd70ea6854a69c99cf94faaa8aa5a6f38ef306e895a42ae62de590a9
DIST uxntal-mode-0.3.tar.gz 9906 BLAKE2B fc0126c99ebaae2f8f95b7364dc56341de012d7b010a13ac362dda2bc81b110f60bdb8c5e7d1f764b0368538e4657aa989e75797566499cd58e4b3f85ae12d66 SHA512 d161b96d8c80cd7e3761cf05ffb7f4711755c5ec2282fdb9ee0a2e77dc78f7ed059482641908c645371794c7d258e5f6fae0971d281e56e2e80397026b4fa441

@ -0,0 +1,19 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
NEED_EMACS=27.1
inherit elisp
DESCRIPTION="GNU Emacs major mode for the uxntal assembly language"
HOMEPAGE="https://github.com/non/uxntal-mode/"
SRC_URI="https://github.com/non/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
DOCS=( README.md )
SITEFILE="50${PN}-gentoo.el"

Binary file not shown.

@ -329,7 +329,7 @@ SRC_URI="https://github.com/Canop/broot/archive/v${PV}.tar.gz -> ${P}.tar.gz
LICENSE="Apache-2.0 BSD-2 BSD LGPL-3+ MIT ZLIB"
SLOT="0"
KEYWORDS="~amd64"
KEYWORDS="amd64"
IUSE="X"
RDEPEND="

@ -19,7 +19,7 @@ index c12f15c..27d2124 100644
dnl AC_MSG_NOTICE([DBG = |$DBG|])
-AM_CONDITIONAL(WARNINGS_ARE_ERRORS_COND, [test "x$ddcutil_version_suffix" != "x"] )
+AM_CONDITIONAL(WARNINGS_ARE_ERRORS_COND, 0)
+AM_CONDITIONAL(WARNINGS_ARE_ERRORS_COND, [test 0])
AS_IF( [test 0$DBG -ne 0],
AC_MSG_NOTICE([debug messages enabled]),

@ -1,4 +1,4 @@
# Copyright 1999-2023 Gentoo Authors
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -11,7 +11,7 @@ SRC_URI="https://github.com/jarun/nnn/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc64 ~x86"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
IUSE="8contexts colemak emoji gitstatus icons namefirst nerdfonts pcre qsort +readline restorepreview"
DEPEND="sys-libs/ncurses:=

Binary file not shown.

@ -2,3 +2,4 @@ DIST Joplin-2.14.11.AppImage 247754522 BLAKE2B c39b87ca790b41d30c505b1001b75b442
DIST Joplin-2.14.17.AppImage 248140038 BLAKE2B 62fb124745ced06fce45cea01efb8eae39556cb58bec768935e826e070f6eaba0050daf8c42bb6308e74539735a9e955c188a0c00c5b6209a4550733776c6d38 SHA512 ff6db5b353092d87c35c9c39038f93b0b8f7da8f021fa3057dcdf15cbbffd72b81c5a180ec439802b58060b3862d46ed902ab66a315f574713b9d871b4788502
DIST Joplin-2.14.19.AppImage 248153086 BLAKE2B dfd05909610ff85af78bb7073d3a19b83ac4db4edf4f6cf181f681a347a0badade48214da52b0ad3b2239b87f2fcffb70ff84234f9bffae9bd04d41735c7573a SHA512 7be9cdce0b1a25fdc7c0e5757faa542f11906e572af477fdd17d57fc9f3683bfb99801c91e7f03ac6ee819b72206339a61bb0aac61c66a35013af097ee8bb3a8
DIST Joplin-2.14.20.AppImage 248141263 BLAKE2B 2a4afa5a5d0aabb84d75ac572339098da684c742614c1b97a7dca18d0d8ee018f7a81f9a3361b1aba4658cf5bbed055f96e76316b8fe19dab6aa111b7fbeffab SHA512 50ebaa06ad225387e2117a6453e92d5665f90bc5d7dec492aac0993781e6e7cdca8aaa2dff06d740146888e2dd04f623d72af060c41765825b52e3c2a9d03890
DIST Joplin-3.0.2.AppImage 253581812 BLAKE2B aa125e8bae0af2ff2e156378d221fd09dda43452b003da36486a59abb7323f81999242475450ab7e164712a060be4f59de68cfcf0736b5237db0e6f0b2914164 SHA512 da53055e23c8bf87e630bf2546c959b2b7a97d65193893c421793259055318ef5ba72f1ca897bcd60e76cc1f060db4f2bc4a39303640872301a7984dd4d7620a

@ -0,0 +1,103 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# NOTICE: This is a Electron app (oh my) and the upstream only provides AppImages.
EAPI=8
APPIMAGE="Joplin-${PV}.AppImage"
inherit desktop xdg
DESCRIPTION="Secure note taking and to-do app with synchronization capabilities"
HOMEPAGE="https://joplinapp.org/
https://github.com/laurent22/joplin/"
SRC_URI="https://github.com/laurent22/joplin/releases/download/v${PV}/${APPIMAGE}"
LICENSE="AGPL-3+"
SLOT="0"
KEYWORDS="-* ~amd64"
RESTRICT="bindist"
RDEPEND="
>=app-accessibility/at-spi2-core-2.46.0:2
app-crypt/libsecret[crypt]
app-misc/ca-certificates
dev-libs/expat
dev-libs/glib:2
dev-libs/nspr
dev-libs/nss
media-libs/alsa-lib
media-libs/libcanberra[gtk3]
media-libs/libglvnd
media-libs/mesa
net-misc/curl
net-print/cups
sys-apps/dbus
sys-libs/zlib
sys-process/lsof
x11-libs/cairo
x11-libs/gtk+:3
x11-libs/libdrm
x11-libs/libnotify
x11-libs/libX11
x11-libs/libxcb
x11-libs/libXcomposite
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libxkbcommon
x11-libs/libxkbfile
x11-libs/libXrandr
x11-libs/libXScrnSaver
x11-libs/pango
x11-misc/xdg-utils
"
QA_PREBUILT="*"
src_unpack() {
mkdir -p "${S}" || die
cp "${DISTDIR}/${APPIMAGE}" "${S}" || die
cd "${S}" || die # "appimage-extract" unpacks to current directory.
chmod +x "${S}/${APPIMAGE}" || die
"${S}/${APPIMAGE}" --appimage-extract || die
}
src_prepare() {
# Fix permissions.
find "${S}" -type d -exec chmod a+rx {} + || die
find "${S}" -type f -exec chmod a+r {} + || die
default
}
src_install() {
cd "${S}/squashfs-root" || die
insinto /usr/share
doins -r ./usr/share/icons
local apphome="/opt/${PN}"
local toremove=(
.DirIcon
@joplinapp-desktop.desktop
@joplinapp-desktop.png
AppRun
LICENSE.electron.txt
LICENSES.chromium.html
resources/app.asar.unpacked/node_modules/7zip-bin-linux/arm
resources/app.asar.unpacked/node_modules/7zip-bin-linux/arm64
resources/app.asar.unpacked/node_modules/node-notifier
usr
)
rm -f -r "${toremove[@]}" || die
mkdir -p "${ED}/${apphome}" || die
cp -r . "${ED}/${apphome}" || die
dosym -r "${apphome}/@joplinapp-desktop" "/usr/bin/${PN}"
make_desktop_entry "${PN}" Joplin @joplinapp-desktop "Office;" \
"StartupWMClass=Joplin\nMimeType=x-scheme-handler/joplin;"
}

Binary file not shown.

@ -1 +1,2 @@
DIST metagen-0.7.3.tar.gz 9607 BLAKE2B 3c5b9debf10b0a6dda9bdf0e45e157c80019d0496d93f5af18e7be1b502c320fdbf7bd28f382e9021580d3aaa373566d7b342f3fa57f736fcb3676bafdd4d6e2 SHA512 d7293125685ad3be35dd9213b5d52c9219b6a5bcee4ab15fb2426bdccdb95b4df5567c2178bdefc0e75987080cd51026b5b089a4d4cf6402f455429d55d3a9e8
DIST metagen-0.7.4.tar.gz 9291 BLAKE2B a1ad7267202f8bc477002a4c9deeb0cd26c8f2163f4fb3a0bf74e39b46448f3ba29dcec1201f41a0e98af8780b219102f3733b957a4e87293cc5e04486e39755 SHA512 e3d37cbe32fabbc980185d9948f6a38dfca756f727d86c26f7f5bd92e768bc034bffa14995844347bb3e19fe2d8757dcb45a3cab5b9e58d97c9c562b75a90d26

@ -0,0 +1,32 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9..12} )
inherit distutils-r1 pypi
DESCRIPTION="metadata.xml generator for ebuilds"
HOMEPAGE="https://cgit.gentoo.org/proj/metagen.git"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~hppa ~ppc ~riscv ~x86 ~amd64-linux ~x86-linux"
DEPEND="dev-python/lxml[${PYTHON_USEDEP}]
sys-apps/portage[${PYTHON_USEDEP}]"
RDEPEND="${DEPEND}"
distutils_enable_tests pytest
python_install_all() {
distutils-r1_python_install_all
doman docs/metagen.1
# Bug 814545 and 832069
if [[ ${PF} != ${P} ]]; then # to be robust across bumps
mv "${ED}"/usr/share/doc/${P}/* "${ED}"/usr/share/doc/${PF}/ || die
rmdir "${ED}"/usr/share/doc/${P}/ || die
fi
}

@ -1,2 +1,3 @@
DIST pfl-3.4.tar.gz 18651 BLAKE2B 09793883a1ed6f70da2f01fb81cfafa407ed43584a826f2cd8fde6d75b544ed803a220fc517e649774100da32e64d01fad8ff0dcbaff9068f57cdf7bd4414169 SHA512 c21b43f234a778d74e05cd45b7ccb48b131d6998e632d044a4bccc2f772099d02d1c5e7ab75fc6f9deb14e2f1ed1f31bac51e917e628065b4a36d73b8d77336f
DIST pfl-3.5.1.tar.gz 20911 BLAKE2B 83057374eeadacecc96c8b46ae61847ab4f472d1c66b8070d9810aec977e72eb9379b6627def20e0cb21b739a7259b08aff589dd8e853c484a248725c3df328c SHA512 4260bd4822700a20cc38d2c325ee8af815af7d225335817ae10882fb1ebef5e7be9a412d0f26de5fc37ecc71a1853980f3627fdf8859711dfe418fe9c00a1ac3
DIST pfl-3.5.2.tar.gz 21248 BLAKE2B 28f4f05bc533f4b27cdbef7f2706ed99f885983e4f9e4f2580e07b772bef471eeca197a41d03059e28c2053869de4cb5295a9923dcba6f598bbf6e6be5e57185 SHA512 5f38b627cd5928396fe8202dd822756ed63b6dd80d98d1ee3da9998eb750070e9a921d652bbc7ed852e4944005f9d6c61c14c67be01c591f5c82ca50f869465e

@ -0,0 +1,49 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..12} )
PYTHON_REQ_USE="xml(+)"
inherit distutils-r1 systemd
DESCRIPTION="Searchable online file/package database for Gentoo"
HOMEPAGE="https://www.portagefilelist.de https://github.com/portagefilelist/client"
SRC_URI="https://github.com/portagefilelist/client/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
IUSE="+network-cron"
RDEPEND="
dev-python/requests[${PYTHON_USEDEP}]
dev-python/termcolor[${PYTHON_USEDEP}]
sys-apps/portage[${PYTHON_USEDEP}]
network-cron? ( sys-apps/util-linux[caps] )
"
S="${WORKDIR}/client-${PV}"
python_install_all() {
if use network-cron ; then
exeinto /etc/cron.weekly
doexe cron/pfl
fi
systemd_dounit systemd/pfl.{service,timer}
keepdir /var/lib/${PN}
distutils-r1_python_install_all
}
pkg_postinst() {
if [[ ! -e "${EROOT}/var/lib/${PN}/pfl.info" ]]; then
touch "${EROOT}/var/lib/${PN}/pfl.info" || die
fi
chown -R portage:portage "${EROOT}/var/lib/${PN}" || die
chmod 775 "${EROOT}/var/lib/${PN}" || die
}

Binary file not shown.

@ -448,7 +448,7 @@ LICENSE="MIT"
# - openssl for ring crate
LICENSE+=" Apache-2.0 BSD Boost-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 openssl"
SLOT="0"
KEYWORDS="~amd64"
KEYWORDS="amd64"
IUSE="+client server test +sync"
RESTRICT="!test? ( test )"
REQUIRED_USE="

@ -459,7 +459,7 @@ LICENSE="MIT"
# - openssl for ring crate
LICENSE+=" Apache-2.0 BSD Boost-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 openssl"
SLOT="0"
KEYWORDS="~amd64"
KEYWORDS="~amd64 ~arm64"
IUSE="+client server test +sync"
RESTRICT="!test? ( test )"
REQUIRED_USE="

Binary file not shown.

@ -1 +1,3 @@
DIST commons-beanutils-1.9.4-src.tar.gz 412606 BLAKE2B 213a2ad4d976ed4c55c9a73c0970a656e2f03efcba886369c8be164e04618937ad636ce7ffa6aa7b981e9595b24e4cbacc2bc632268bbfede8172091ef6eb4ff SHA512 6f3d30d02b9a66cf20509bd868c6e2dadb44bb27da1e6b9af7275675e0f3826845a5d4005509dd1eb77a5b2937820c4770a3753daaab072785dcdab0caa69e73
DIST commons-beanutils-1.9.4-src.tar.gz.asc 833 BLAKE2B c971231cfb034bd9bbbd6e7801a4fcb54853c0d18872cfae81ce761fc8f71ebb70955456827ad33b4abd4df8c9820031fd49f28c50eddef5251b2a0d1b01cff9 SHA512 2a966959b2c94bf013df71885c2906a092b43a0ac6d63963f1462e7c09376964bb948c0681278a58fffae6716d042dc846b1649e1f4b0816e2adb3733bf14451
DIST commons-collections-3.2.2-src.tar.gz 630693 BLAKE2B a70cebe9526291d5207db7edd7c9b50060413880d41dcb28c01cf05f7e00a9f5e1560012c3c3c763162412282db9512bc2b64a5788f210c5c8866943d912dafb SHA512 2e8ef638f07515b028a3e7e97851fcf1d9023a2c188e211bd1e936f35d3d91c2885adf3b1103ad17dfb7aeea6e7a67ce7826ee346a8a29c1aa7c6b0cf14e9230

@ -1,101 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Skeleton command:
# java-ebuilder --generate-ebuild --workdir . --pom pom.xml --download-uri mirror://apache/commons/beanutils/source/1.9.4-src.tar.gz --slot 1.7 --keywords "~amd64 ~x86 ~ppc64 ~amd64-linux ~x86-linux ~x64-macos" --ebuild commons-beanutils-1.9.4.ebuild
EAPI=8
JAVA_PKG_IUSE="doc source test"
MAVEN_ID="commons-beanutils:commons-beanutils:1.9.4"
JAVA_TESTING_FRAMEWORKS="junit-4"
inherit java-pkg-2 java-pkg-simple
DESCRIPTION="Provides easy-to-use wrappers around Reflection and Introspection APIs"
HOMEPAGE="https://commons.apache.org/proper/commons-beanutils/"
SRC_URI="mirror://apache/commons/beanutils/source/${P}-src.tar.gz"
LICENSE="Apache-2.0"
SLOT="1.7"
KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~x64-macos"
# Common dependencies
# POM: pom.xml
# commons-collections:commons-collections:3.2.2 -> >=dev-java/commons-collections-3.2.2:0
# commons-logging:commons-logging:1.2 -> >=dev-java/commons-logging-1.2:0
CP_DEPEND="
dev-java/commons-collections:0
dev-java/commons-logging:0
"
# Compile dependencies
# POM: pom.xml
# test? commons-collections:commons-collections-testframework:3.2.1 -> !!!artifactId-not-found!!!
# test? junit:junit:4.12 -> >=dev-java/junit-4.12:4
DEPEND="${CP_DEPEND}
>=virtual/jdk-1.8:*
test? (
dev-java/commons-collections:0[test]
)"
RDEPEND="${CP_DEPEND}
>=virtual/jre-1.8:*"
DOCS=( {CONTRIBUTING,README}.md {LICENSE,NOTICE,RELEASE-NOTES}.txt )
S="${WORKDIR}/${P}-src"
JAVA_ENCODING="iso-8859-1"
JAVA_SRC_DIR="src/main/java"
JAVA_TEST_GENTOO_CLASSPATH="commons-collections,junit-4"
JAVA_TEST_SRC_DIR="src/test/java"
JAVA_TEST_EXCLUDES=(
# Upstream: Tests run: 1293, Failures: 0, Errors: 0, Skipped: 3
"org.apache.commons.beanutils.TestBeanPublicSubclass" # Invalid test class
"org.apache.commons.beanutils.TestBeanPackageSubclass" # Invalid test class
"org.apache.commons.beanutils.TestResultSetMetaData" # Invalid test class
"org.apache.commons.beanutils.TestResultSet" # Test class can only have one constructor
"org.apache.commons.beanutils.TestBean" # Test class can only have one constructor
# https://github.com/apache/commons-beanutils/blob/32ceb2c92512d44f97638805e2f3fd9d70dfcfc6/pom.xml#L378-L383
# <!-- This test case is known to fail, and there isn't any proposed fix
# - so we will just exclude it until someone comes up with a solution.
# -->
"org.apache.commons.beanutils.converters.MemoryTestCase"
)
src_test() {
# There were 8 failures:
# 1) testPropertyUtilsBean_descriptorsCache_memoryLeak(org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase)
# java.lang.OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects
# 2) testPropertyUtilsBean_mappedDescriptorsCache_memoryLeak(org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase)
# java.lang.OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects
# 3) testMappedPropertyDescriptor_MappedMethodReference1(org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase)
# java.lang.OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects
# 4) testMappedPropertyDescriptor_MappedMethodReference2(org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase)
# java.lang.OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects
# 5) testLocaleConvertUtilsBean_converters_memoryLeak(org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase)
# java.lang.OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects
# 6) testWrapDynaClass_dynaClasses_memoryLeak(org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase)
# java.lang.OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects
# 7) testMethodUtils_cache_memoryLeak(org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase)
# java.lang.OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects
# 8) testConvertUtilsBean_converters_memoryLeak(org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase)
# java.lang.OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects
local vm_version="$(java-config -g PROVIDES_VERSION)"
if [[ "${vm_version}" == "11" ]] ; then
JAVA_TEST_EXCLUDES+=( "org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase" )
fi
java-pkg-simple_src_test
}
src_install() {
default # https://bugs.gentoo.org/789582
java-pkg-simple_src_install
}

@ -0,0 +1,84 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
JAVA_PKG_IUSE="doc source test"
MAVEN_ID="commons-beanutils:commons-beanutils:1.9.4"
JAVA_TESTING_FRAMEWORKS="junit-4"
inherit java-pkg-2 java-pkg-simple verify-sig
DESCRIPTION="Provides easy-to-use wrappers around Reflection and Introspection APIs"
HOMEPAGE="https://commons.apache.org/proper/commons-beanutils/"
# We need some test classes of commons-collections which are not part of the jar file.
ACC="commons-collections-3.2.2"
SRC_URI="mirror://apache/commons/beanutils/source/${P}-src.tar.gz
test? ( https://archive.apache.org/dist/commons/collections/source/${ACC}-src.tar.gz )
verify-sig? ( https://downloads.apache.org/commons/beanutils/source/${P}-src.tar.gz.asc )"
S="${WORKDIR}/${P}-src"
LICENSE="Apache-2.0"
SLOT="1.7"
KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~x64-macos"
VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/commons.apache.org.asc"
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-commons )"
CP_DEPEND="
dev-java/commons-collections:0
dev-java/commons-logging:0
"
DEPEND="${CP_DEPEND}
>=virtual/jdk-1.8:*"
RDEPEND="${CP_DEPEND}
>=virtual/jre-1.8:*"
DOCS=( {CONTRIBUTING,README}.md {NOTICE,RELEASE-NOTES}.txt )
JAVA_ENCODING="iso-8859-1"
JAVA_SRC_DIR="src/main/java"
JAVA_TEST_GENTOO_CLASSPATH="junit-4 "
JAVA_TEST_SRC_DIR=(
src/test/java
../"${ACC}"-src/src/test
)
src_unpack() {
if use verify-sig; then
verify-sig_verify_detached "${DISTDIR}"/${P}-src.tar.gz{,.asc}
fi
default
}
src_test() {
export LC_ALL="en_US.UTF-8"
# Apply patch to unpacked commons-collections
pushd "../${ACC}-src" >> /dev/null || die
eapply "${FILESDIR}/${ACC}-fixes.patch"
popd
pushd src/test/java || die
# Selection according to lines 375-383 pom.xml
local JAVA_TEST_RUN_ONLY=$(find * \
-path "**/*TestCase.java" \
! -path "**/*MemoryTestCase.java" \
! -path "**/*MemoryLeakTestCase.java" \
! -path "**/*LocaleBeanificationTestCase.java" \
! -path "**/Jira347TestCase.java" \
)
popd
JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
# We skip 2 more test classes conditionally which have failures with Java 21
# Error converting 'String' to 'java.sql.Time' using pattern 'h:mm a'
# Error converting 'String' to 'java.sql.Timestamp' using pattern 'M/d/yy, h:mm a'
local vm_version="$(java-config -g PROVIDES_VERSION)"
if ver_test "${vm_version}" -ge "21"; then
JAVA_TEST_RUN_ONLY=${JAVA_TEST_RUN_ONLY//org.apache.commons.beanutils.converters.SqlTimeConverterTestCase}
JAVA_TEST_RUN_ONLY=${JAVA_TEST_RUN_ONLY//org.apache.commons.beanutils.converters.SqlTimestampConverterTestCase}
fi
java-pkg-simple_src_test
}

@ -0,0 +1,187 @@
Patch stolen from:
From e90a6173247f06514731825677f3fc67c62bdc52 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miroslav=20=C5=A0ulc?= <fordfrog@gentoo.org>
Date: Wed, 21 Apr 2021 11:31:11 +0200
--- a/build.xml
+++ b/build.xml
@@ -154,8 +154,7 @@
<!-- NOTE: A jar built using JDK1.4 is incompatible with JDK1.2 -->
<jar jarfile="${build.jar.name}"
- basedir="${build.classes}"
- manifest="${build.conf}/MANIFEST.MF"/>
+ basedir="${build.classes}"/>
</target>
<!-- ====================================================================== -->
--- a/src/java/org/apache/commons/collections/MultiHashMap.java
+++ b/src/java/org/apache/commons/collections/MultiHashMap.java
@@ -331,7 +331,7 @@ public class MultiHashMap extends HashMap implements MultiMap {
* @param item the value to remove
* @return the value removed (which was passed in), null if nothing removed
*/
- public Object remove(Object key, Object item) {
+ public Object removeMapping(Object key, Object item) {
Collection valuesForKey = getCollection(key);
if (valuesForKey == null) {
return null;
--- a/src/java/org/apache/commons/collections/MultiMap.java
+++ b/src/java/org/apache/commons/collections/MultiMap.java
@@ -66,7 +66,7 @@ public interface MultiMap extends Map {
* @throws ClassCastException if the key or value is of an invalid type
* @throws NullPointerException if the key or value is null and null is invalid
*/
- public Object remove(Object key, Object item);
+ public Object removeMapping(Object key, Object item);
//-----------------------------------------------------------------------
/**
--- a/src/java/org/apache/commons/collections/map/MultiKeyMap.java
+++ b/src/java/org/apache/commons/collections/map/MultiKeyMap.java
@@ -197,7 +197,7 @@ public class MultiKeyMap
* @param key2 the second key
* @return the value mapped to the removed key, null if key not in map
*/
- public Object remove(Object key1, Object key2) {
+ public Object removeMultiKey(Object key1, Object key2) {
int hashCode = hash(key1, key2);
int index = map.hashIndex(hashCode, map.data.length);
AbstractHashedMap.HashEntry entry = map.data[index];
--- a/src/java/org/apache/commons/collections/map/MultiValueMap.java
+++ b/src/java/org/apache/commons/collections/map/MultiValueMap.java
@@ -153,7 +153,7 @@ public class MultiValueMap extends AbstractMapDecorator implements MultiMap {
* @param value the value to remove
* @return the value removed (which was passed in), null if nothing removed
*/
- public Object remove(Object key, Object value) {
+ public Object removeMapping(Object key, Object value) {
Collection valuesForKey = getCollection(key);
if (valuesForKey == null) {
return null;
--- a/src/test/org/apache/commons/collections/TestMultiHashMap.java
+++ b/src/test/org/apache/commons/collections/TestMultiHashMap.java
@@ -217,7 +217,7 @@ public class TestMultiHashMap extends AbstractTestMap {
MultiHashMap one = new MultiHashMap();
Integer value = new Integer(1);
one.put("One", value);
- one.remove("One", value);
+ one.removeMapping("One", value);
MultiHashMap two = new MultiHashMap();
assertEquals(two, one);
@@ -269,7 +269,7 @@ public class TestMultiHashMap extends AbstractTestMap {
assertEquals(4, map.totalSize());
map.remove("A");
assertEquals(3, map.totalSize());
- map.remove("B", "BC");
+ map.removeMapping("B", "BC");
assertEquals(2, map.totalSize());
}
@@ -292,7 +292,7 @@ public class TestMultiHashMap extends AbstractTestMap {
map.remove("A");
assertEquals(0, map.size("A"));
assertEquals(3, map.size("B"));
- map.remove("B", "BC");
+ map.removeMapping("B", "BC");
assertEquals(0, map.size("A"));
assertEquals(2, map.size("B"));
}
@@ -464,11 +464,11 @@ public class TestMultiHashMap extends AbstractTestMap {
map.put("A", "AA");
map.put("A", "AB");
map.put("A", "AC");
- assertEquals(null, map.remove("C", "CA"));
- assertEquals(null, map.remove("A", "AD"));
- assertEquals("AC", map.remove("A", "AC"));
- assertEquals("AB", map.remove("A", "AB"));
- assertEquals("AA", map.remove("A", "AA"));
+ assertEquals(null, map.removeMapping("C", "CA"));
+ assertEquals(null, map.removeMapping("A", "AD"));
+ assertEquals("AC", map.removeMapping("A", "AC"));
+ assertEquals("AB", map.removeMapping("A", "AB"));
+ assertEquals("AA", map.removeMapping("A", "AA"));
assertEquals(new MultiHashMap(), map);
}
--- a/src/test/org/apache/commons/collections/collection/AbstractTestCollection.java
+++ b/src/test/org/apache/commons/collections/collection/AbstractTestCollection.java
@@ -1116,7 +1116,7 @@ public abstract class AbstractTestCollection extends AbstractTestObject {
verify();
try {
- array = collection.toArray(null);
+ array = collection.toArray((Object[]) null);
fail("toArray(null) should raise NPE");
} catch (NullPointerException e) {
// expected
--- a/src/test/org/apache/commons/collections/map/TestMultiKeyMap.java
+++ b/src/test/org/apache/commons/collections/map/TestMultiKeyMap.java
@@ -315,10 +315,10 @@ public class TestMultiKeyMap extends AbstractTestIterableMap {
switch (key.size()) {
case 2:
assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1)));
- assertEquals(value, multimap.remove(key.getKey(0), key.getKey(1)));
+ assertEquals(value, multimap.removeMultiKey(key.getKey(0), key.getKey(1)));
assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1)));
assertEquals(size - 1, multimap.size());
- assertEquals(null, multimap.remove(key.getKey(0), key.getKey(1)));
+ assertEquals(null, multimap.removeMultiKey(key.getKey(0), key.getKey(1)));
assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1)));
break;
case 3:
--- a/src/test/org/apache/commons/collections/map/TestMultiValueMap.java
+++ b/src/test/org/apache/commons/collections/map/TestMultiValueMap.java
@@ -161,7 +161,7 @@ public class TestMultiValueMap extends TestCase {
MultiValueMap one = new MultiValueMap();
Integer value = new Integer(1);
one.put("One", value);
- one.remove("One", value);
+ one.removeMapping("One", value);
MultiValueMap two = new MultiValueMap();
assertEquals(two, one);
@@ -187,7 +187,7 @@ public class TestMultiValueMap extends TestCase {
assertEquals(4, map.totalSize());
map.remove("A");
assertEquals(3, map.totalSize());
- map.remove("B", "BC");
+ map.removeMapping("B", "BC");
assertEquals(2, map.totalSize());
}
@@ -204,7 +204,7 @@ public class TestMultiValueMap extends TestCase {
assertEquals(2, map.size());
map.remove("A");
assertEquals(2, map.size());
- map.remove("B", "BC");
+ map.removeMapping("B", "BC");
assertEquals(2, map.size());
}
@@ -227,7 +227,7 @@ public class TestMultiValueMap extends TestCase {
map.remove("A");
assertEquals(0, map.size("A"));
assertEquals(3, map.size("B"));
- map.remove("B", "BC");
+ map.removeMapping("B", "BC");
assertEquals(0, map.size("A"));
assertEquals(2, map.size("B"));
}
@@ -338,11 +338,11 @@ public class TestMultiValueMap extends TestCase {
map.put("A", "AA");
map.put("A", "AB");
map.put("A", "AC");
- assertEquals(null, map.remove("C", "CA"));
- assertEquals(null, map.remove("A", "AD"));
- assertEquals("AC", map.remove("A", "AC"));
- assertEquals("AB", map.remove("A", "AB"));
- assertEquals("AA", map.remove("A", "AA"));
+ assertEquals(null, map.removeMapping("C", "CA"));
+ assertEquals(null, map.removeMapping("A", "AD"));
+ assertEquals("AC", map.removeMapping("A", "AC"));
+ assertEquals("AB", map.removeMapping("A", "AB"));
+ assertEquals("AA", map.removeMapping("A", "AA"));
assertEquals(new MultiValueMap(), map);
}

@ -1,3 +1,3 @@
DIST coursier-bin-2.1.5.gz 20679081 BLAKE2B 8ab0d971949b7a5527c82686fab9d62f6dc360ce7ff72bfc4d5a123401e577f17b2392e9a919aebe1c988a477a273d77cd3eb86dcb7b73c0c1a609cccac77eea SHA512 6397f13f82c91079575f58ccbd35e788a2760179cf5c11a986962e3bbe9c669b6e06730a6ff12e0aeb26198df4448e822e927a5d6bd031f67dab8072835979f6
DIST coursier-bin-2.1.7.gz 20790038 BLAKE2B 6e362ae784fcb7007f0adc58604d72dba33cb37f0726883b69f9f298e38759e3acea0232edac30c7cb34c5b837598e6b2c0947345938bce196f7a326a4aa3f0e SHA512 b6df4d7ad89f735989dfb4bb8cacbdf1559dd5ea4f494b7e72df544bd24a3a208738cf37d1cfd7944bb6aebc0e1b6d32b1bfd48c9f333cf54919a055afd5348e
DIST coursier-bin-2.1.8.gz 20863902 BLAKE2B 13ce0a1aa6dd2c1272567a76f3a762e31d9d6794e034e033d5d5accd0b6c534702fc62b5cab83070bb1081c7072ad7a04be86c38b4929d75f2d1f050f320820d SHA512 9cc8f13ecd0c166d46aaeeedb9279eb2885a7edac24c5b106ca30968c4c6fc5f47efe3a38e7aa6864dee517a7bc2cfba71fdd32741d295887bdb62594832bb9e
DIST coursier-bin-2.1.9.gz 20870390 BLAKE2B 720698e6c55a8c070d02f01ec528bab06f397b3c580fa3e533a45cf0073d8b9caf506cfff10d1b68eb9348c8b0da9abab9e7fb183f0561b62a82a96d21d35f5e SHA512 102c351aa0647fe5cd9d00ee164c1cebbcd6bd133a11bdfd653f70a5347da02e32ba74d5b51ea425e9189bb7113ef16c3902219bfa1ef0172bac7955712031c6

@ -14,7 +14,7 @@ DESCRIPTION="Java/Scala artifact fetching, bundling and deploying"
HOMEPAGE="https://get-coursier.io/"
SRC_URI="https://github.com/coursier/coursier/releases/download/v$(get_orig_coursier_pv)/cs-x86_64-pc-linux.gz -> ${P}.gz"
KEYWORDS="~amd64"
KEYWORDS="amd64"
LICENSE="Apache-2.0"
SLOT="0"

@ -1,4 +1,4 @@
# Copyright 1999-2023 Gentoo Authors
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -14,7 +14,7 @@ DESCRIPTION="Java/Scala artifact fetching, bundling and deploying"
HOMEPAGE="https://get-coursier.io/"
SRC_URI="https://github.com/coursier/coursier/releases/download/v$(get_orig_coursier_pv)/cs-x86_64-pc-linux.gz -> ${P}.gz"
KEYWORDS="amd64"
KEYWORDS="~amd64"
LICENSE="Apache-2.0"
SLOT="0"

@ -1,9 +1,12 @@
DIST scala-cli-amd64-1.0.4.gz 33291617 BLAKE2B bd97626e7e95fb6b2a82fd424673078b89f5f4270087c667193e4de1ceff614076e73b728ba1f0334d5f9d7aa6f52c660487d52bf8fb49a786f7fe4ce18a0428 SHA512 447acafd47041cd173a06b5d113cd30adee76a2c161b2efc98b8ece60082d5b98189fd9b3da1f048061d306343cacb9b67566daa78ce8fe54dc82dd90a1e34bc
DIST scala-cli-amd64-1.1.0.gz 33673708 BLAKE2B 332f5a974949af49914de8fdb3129b0937fbce842616d6fefe16f7aff89baf6be1ba536d0ee6ff9bc1dd2b5ebfa51943bd0c6279ef83b95bd25a337530fa1295 SHA512 ba7ebb321a27e95f786027257c3f50dac1d12e0cc33abde24dc7c5dffb2f57a11c3ea67d92ed487968c49ff9ec3eaf5d1d62065beda5b6fa373d09b9126f4529
DIST scala-cli-amd64-1.1.1.gz 33754319 BLAKE2B 91fb5e9b828a2c6c6dd984b421bb101ea1ae03c85d94eda14ba79433d29a88cb2850cb376c212f677c1b8167a0a21b320aeb0e4e63a29e6c8502d76babc1543d SHA512 1e0cd5eee280e208090961e4b6d216d472fef360f13e0f4e28412b9a52883d65c97e3fe70c8ce5cf96e6cd866f14b175454175be9df3bdc5c229fb2f121c925a
DIST scala-cli-amd64-1.2.1.gz 33851353 BLAKE2B 31c92901f970ec2c0a74cb45d94b98e6d8f282c175cf8deb1a806db4b6d2e9a8b2150bca9fc9e373948e5092bf4bb7d5d1145a133d3b1c234d3cbe383ff9a270 SHA512 169c81bee582c6144501e8bd5436bae0bd3447ed89856a4d4763d13d3083ad26d948729b71bea864986f2c676e50855b8fb036d3a69ed0a316e2c6af0f98ef5f
DIST scala-cli-arm64-1.0.4.gz 33185346 BLAKE2B 2b0131a56ed3f67fb5d5f25db6c511dc7d9e9128089e6826fa7d859b1457f03a99e290cc63f185820ea849a857f40d667d5db7a378dabcf545cdcdefded6a577 SHA512 3ff1c025a1035aa6a8550de17e85bc5c483007d5f07f03e0d792d6dc9ed1b18eb26909b3c7195fde12056a3b84ffa69dc53c01ec21b34187c1d7188a0a023aaa
DIST scala-cli-arm64-1.1.0.gz 33575885 BLAKE2B ebccbe86044b4708a356060a16f06bb94df01d261ab7dabe8eba8e644c121864cdee99debf95468d936cbff670413ec47e1ef903a9071b267a61c5fe46738c1a SHA512 6a85529be06a8d43d729c5a795bb0dcdb2680bd7ef3de471fee908e91249401262e8322019c640d4eb45d0a15ed0073ff51b24d61846228f46c36bfb48731408
DIST scala-cli-arm64-1.1.1.gz 33656505 BLAKE2B b943f370c9375fec5cec3c63628ecd9e416b569ec2d692422f217b2506c104a1c3bb415569581d68c9476bf892b4a087e7b95b2310955dd0f9af52edc90af2e9 SHA512 79836261613bafe4710c1d904ec39e88c1862b3021f7b37ac5004c6079c762e68550522fbb7240e48e7408f844f648ab92c12cb568ebc63bb3e01f1992a7eaf3
DIST scala-cli-arm64-1.2.1.gz 33769006 BLAKE2B 4bc2c830d17e235a3eba7029bfd018ee4cd12f8ee27a3574b1c2195ab8ad22b79c452a0660fb55f1be99a610be1f4ea38f8e2de622f10277be7f5403b540778a SHA512 90a8f6b4ae2fa90dcdd3c88fdbbd1079db1cbbde80f496da8663223ad79dc4b499b6ae43835067d8fde945d4fb5ed079dec850f688b9d1b62602d186d426f7cb
DIST scala-cli-non-native-1.0.4 7553232 BLAKE2B 9299b20dddec80d12e738af4b283e816de5bae23262510146cd33a9b175f2a343f52932fbd3254974bd4219d2903f32772409f234423d3a027b6b0f02268e584 SHA512 4e5281ef7f8a886ad79746477d852f485ccad317568a64ee513e691dcd9a9121c2aed51f6170b959f0226fb81efe9aa1f8ecf1d94a84a0b387c349adfb756762
DIST scala-cli-non-native-1.1.0 7728727 BLAKE2B 05deb93b91029721a21bac729aa9b370e05909e67bbade921e00d09c3a37e851e519188bff73dc614c3f5768834ae56f94623347735e756a6bcb0c4c81c8713c SHA512 13e426915794df757b6eb029d2545316bd9f4b9ba6f58cf59a546227d6997741cf681ce0c5e721e8e95cb9e420702f2d28f004df1780637dc9b39fd3bc4c884a
DIST scala-cli-non-native-1.1.1 7779964 BLAKE2B 08849ce4a6fbf1e6eb2e4fafd2e29522e535c0795d6f1acbcd25ec4523d14dcae4a746f3729786db8f62a3770e6fdbd78a76477b182b32945454ac19a2f8217c SHA512 61c2a1a325f83e19102cd2f5d6b89d37b9914d64f86da6218258f064a6a8e5ab927d28b278363316446611e2cbdc8e4687616ea2b001da00ecbafb4207eabeb2
DIST scala-cli-non-native-1.2.1 7836408 BLAKE2B a7c191020a65a4420ef7cc9d8fe5f9c6d1548c1cfb14dea94c0d9a798f608c038083bb678bd1a4fbdc9bd3de58f02a11e970cfebec4ac755f7f12af21eeb4dbc SHA512 d889ad3fa96953423fc1d948b6e260f55ffc4234d6e9da05299afe0a6cbc2b66c42a7a65113f887d1bf41a699679d09e02aed6686150551d1e1171d7c1c7331b

@ -0,0 +1,78 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit bash-completion-r1
UPSTREAM_PV=${PV/_/-}
UPSTREAM_PV=${UPSTREAM_PV/rc/RC}
DESCRIPTION="CLI to interact with Scala and Java"
HOMEPAGE="https://scala-cli.virtuslab.org/"
SRC_URI="
!amd64? ( !arm64? (
https://github.com/VirtusLab/scala-cli/releases/download/v${UPSTREAM_PV}/scala-cli
-> scala-cli-non-native-${UPSTREAM_PV}
) )
amd64? (
https://github.com/VirtusLab/scala-cli/releases/download/v${UPSTREAM_PV}/scala-cli-x86_64-pc-linux.gz
-> scala-cli-amd64-${UPSTREAM_PV}.gz
)
arm64? (
https://github.com/VirtusLab/scala-cli/releases/download/v${UPSTREAM_PV}/scala-cli-aarch64-pc-linux.gz
-> scala-cli-arm64-${UPSTREAM_PV}.gz
)
"
KEYWORDS="~amd64 ~arm64"
LICENSE="Apache-2.0"
SLOT="0"
S="${WORKDIR}"
# A JRE is not strictly required if native images of scala-cli are used
# (amd64, arm64). However we may want a system JRE anyway, and having JRE
# in RDEPEND reduces the chances that scala-cli needs to install one
# for the user.
RDEPEND="
>=virtual/jre-11
sys-libs/zlib
"
BDEPEND="!amd64? ( !arm64? ( >=virtual/jre-11 ) )"
QA_TEXTRELS="*"
QA_FLAGS_IGNORED="/usr/bin/scala-cli"
src_prepare() {
default
if use amd64; then
mv scala-cli-amd64-${UPSTREAM_PV} scala-cli || die
elif use arm64; then
mv scala-cli-arm64-${UPSTREAM_PV} scala-cli || die
else
mv scala-cli-non-native-${UPSTREAM_PV} scala-cli || die
fi
chmod +x scala-cli || die
}
src_compile() {
for shell in bash zsh; do
./scala-cli install-completions \
--shell ${shell} \
--env \
--output "${S}" \
> ${shell}-completion || die
done
}
src_install() {
dobin scala-cli
newbashcomp bash-completion scala-cli
insinto /usr/share/zsh/site-functions
doins zsh/_scala-cli
}

@ -0,0 +1,11 @@
bug #923612
--- a/src/test/java/org/apache/velocity/test/issues/VelTools66TestCase.java
+++ b/src/test/java/org/apache/velocity/test/issues/VelTools66TestCase.java
@@ -58,7 +58,6 @@ public class VelTools66TestCase
Velocity.RUNTIME_LOG_INSTANCE, new TestLogger());
Velocity.init();
- System.setSecurityManager(new TestSecurityManager());
}

@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>java@gentoo.org</email>
<name>Java</name>
</maintainer>
<maintainer type="project">
<email>java@gentoo.org</email>
<name>Java</name>
</maintainer>
<upstream>
<remote-id type="github">apache/velocity-engine</remote-id>
</upstream>
</pkgmetadata>

@ -1,4 +1,4 @@
# Copyright 1999-2021 Gentoo Authors
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Skeleton command:
@ -57,6 +57,7 @@ BDEPEND="
"
S="${WORKDIR}/${PN}-engine-${PV}/${PN}-engine-core"
PATCHES=( "${FILESDIR}/velocity-2.3-skipSecurityManager.patch" )
JAVA_GENTOO_CLASSPATH="commons-io-1,commons-lang-3.6,slf4j-api"
JAVA_SRC_DIR="src/main/java"
@ -89,7 +90,8 @@ JAVA_TEST_EXCLUDES=(
)
src_prepare() {
default
default #780585
java-pkg-2_src_prepare
cp -v "${JAVA_SRC_DIR}-templates/org/apache/velocity/runtime/VelocityEngineVersion.java" \
"${JAVA_SRC_DIR}/org/apache/velocity/runtime/VelocityEngineVersion.java" || die

Binary file not shown.

@ -9,7 +9,7 @@ SRC_URI="https://jmvdveer.home.xs4all.nl/${P}.tar.gz"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="amd64 ~x86"
IUSE="+curl +gsl +mpfr +ncurses plotutils postgres +readline"
RDEPEND="

@ -1,3 +1,2 @@
DIST luau-0.609.tar.gz 1602889 BLAKE2B 92c1f07fc97df494d7a7718d6c348060322637d4fefd7b64405f9af2e48f1f964e85d39a9eed22231fe875ccdcd5bfc46f280de62dfa29f019c5ebb87d5dc4f0 SHA512 7b6193dfd8af95b4dfab16c6ae6541150488a2655847bf88bf0befeb8df796b11d575e569d16aa33012241e5d5f32ba28b6c1160de0a3cbaad7e7d7b80a44ff1
DIST luau-0.611.tar.gz 1615229 BLAKE2B 925f3967bfe9f8ce764e3ce22763fd1363f0b47f5860f23ceea426a729bbce2cfc16479419889c573cd19cc891314bf72e06262967d8ec3e1d1faca7e2e5e573 SHA512 c3a0f84f73daa75d96ff33fb79456f0ec08dd4c4980afdcc64bbe4dea9d3189a17537cb60fcfe2e314b0a4dae635c52299514fb68bc77ed559c411c702f74bd3
DIST luau-0.613.tar.gz 1617826 BLAKE2B d7e9b898fe74d376f963ead6a1d410d1eb6832ca70ebfc7d840e4322b9bf9b8d585f0e2c8f1743f55d4d745a6be49df259489d7c85e96c9a4fdfa602dfadca30 SHA512 c118f35345dd030074a86283ae931f48e8ef18bf2a89efed8e516ce321a720c9b49a2211ff439832e6da994f65b87c7613e061845c0daeb9c93490f2fafc9f8b
DIST luau-0.618.tar.gz 1672989 BLAKE2B ecd166a9562aa103d27e29154687548bce04e45c9810b4aa264fe6eb38e3c2077a9cd4c61f138af62c605580c477b382fd2612616a3638a5a708c3d315011a12 SHA512 9fb6aa39ff2ad92a90afefb77ede472a2fb8a99417a669a1e19774a5550ca79709c034f353b459780f07f406dcac1b83639fb4fcd31215d811df491851fc1a6c

@ -1,38 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake
DESCRIPTION="Gradually typed embeddable scripting language derived from Lua"
HOMEPAGE="https://luau-lang.org/
https://github.com/Roblox/luau/"
if [[ "${PV}" == *9999* ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/Roblox/${PN}.git"
else
SRC_URI="https://github.com/Roblox/${PN}/archive/${PV}.tar.gz
-> ${P}.tar.gz"
KEYWORDS="amd64 ~x86"
fi
LICENSE="MIT"
SLOT="0"
DOCS=( CONTRIBUTING.md README.md SECURITY.md )
src_test() {
"${BUILD_DIR}/Luau.UnitTest" || die
"${BUILD_DIR}/Luau.Conformance" || die
}
src_install() {
exeinto /usr/bin
doexe "${BUILD_DIR}"/luau{,-analyze,-ast,-compile,-reduce}
einstalldocs
}

@ -7,17 +7,17 @@ inherit cmake
DESCRIPTION="Gradually typed embeddable scripting language derived from Lua"
HOMEPAGE="https://luau-lang.org/
https://github.com/Roblox/luau/"
https://github.com/luau-lang/luau/"
if [[ "${PV}" == *9999* ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/Roblox/${PN}.git"
EGIT_REPO_URI="https://github.com/luau-lang/${PN}.git"
else
SRC_URI="https://github.com/Roblox/${PN}/archive/${PV}.tar.gz
SRC_URI="https://github.com/luau-lang/${PN}/archive/${PV}.tar.gz
-> ${P}.tar.gz"
KEYWORDS="amd64 ~x86"
KEYWORDS="~amd64 ~x86"
fi
LICENSE="MIT"

@ -1,5 +1,5 @@
DIST php-8.1.26.tar.xz 11809448 BLAKE2B e1d50f1de572580a207586b3c3b57081f7b9f1b680ffe8f9e82c88c9285af117dd7e9e2576fcb13119176cb9cd02b39481b6f40e9a1df81aa90b8c4d3e59e4b1 SHA512 5bc40077e57c0fccdf17810d688baea416f22ac248bb01b73d2e2590fc4cfabc7001c1c3833281a60870c74178f7b06cbc85474eba695aabf969ad0081a98417
DIST php-8.1.27.tar.xz 11915228 BLAKE2B 83f4f3c25435b26dc526dc1fd7aff44cd03157349f9bb6454e216525a16c2bbc3bfac47cce6b5ea8bfdfcf3c7f27e342fc602ca7d2491fe89db06ea93f686f0e SHA512 07fb2b8e10e2487635e26bfd8a27949a26b85f76bc3984ad8599224bb7a7f9498d84299335ae5a0bba16599275e9747ab141f73f4f2076ddf49ebec8e76fd0ed
DIST php-8.2.15.tar.xz 12075384 BLAKE2B cef15868968538e232093bd66d862a88f0960325f2274eaf53a3d114d01787c58844aa3bce8bc09a723acd95801e1935a60e79fc189317e7f1ba19196dbfcdc4 SHA512 56c94bcafe07cf4bf5eb5fc6c67fcf16654c44a262ffb18188fc3ffac5e9bb11d39093bfb26c26bc8d2dec7e530d1a175180909262c9b5c30130cf5a4a293166
DIST php-8.2.16.tar.xz 12085228 BLAKE2B 6fcf3f5be8443c70e88746fdd609016c322b86ebc0257ee8db0f8551c73804bae2ecb156ee835b09aedb23bb2026658c3f24a8f722dce80e427bdab844bc27ce SHA512 99e5c9eee4c5a35b3e1939c748ded87c8bff4a340d677516ed24dcf4207c51403d38524c46d6e79de5efe90d7368ba82052ec8a29dd5955f549e8198c1e917f6
DIST php-8.3.3.tar.xz 12463880 BLAKE2B ac0baabe875be8ce42c26713f78733140d47f33636aa0e16e2685c83f558afea905707ca133b06ea28ad8de043d7db7d0931259c7c07a2de2c04a935d76db365 SHA512 42141cc46b6abb11fa51cc96c34424cbf9990150b973d84488fa39a07935b22552a1316978f5a4e48762bf3c94eee3d7dfe741c4ee1a12bf752ce1c2660cc8b0
DIST php-8.2.17.tar.xz 12092404 BLAKE2B 352ad673c6eb4e827982b822c0d2f50f62b047e759bb056224f83f939b26a2348a36c3fea3950f3c55df2845a5eb56c103ffef5a81f192c07f02fb2cbaefa7a4 SHA512 113cd8c6a481770aba7e21f1bc22500c93dfa41ff85a7b54e1abbfd5b5a32f51501c91eb45c29a5e2d8ec5f61861060c193a96e27224c97f8cad7979f378bde8
DIST php-8.3.4.tar.xz 12443980 BLAKE2B b3e7c491583081cc24cef24a1adaee91da4454518e6feb1320e3c2fe474c1e84b8cc861d3706976cee0df011da734321ae4ea5336fc17f9c799a6728eb74de44 SHA512 7254421c57de6c8f9f84079212ead38b397e053ad2dc202bd4e0c9d63aa5d9884a6a856fb93fcdbc9e671051436814188439bc5de480979e53fdcb5488cdc321

@ -36,14 +36,13 @@ IUSE="${IUSE} acl apparmor argon2 avif bcmath berkdb bzip2 calendar
+flatfile ftp gd gdbm gmp +iconv imap inifile
intl iodbc ipv6 +jit kerberos ldap ldap-sasl libedit lmdb
mhash mssql mysql mysqli nls
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
odbc +opcache pcntl pdo +phar +posix postgres qdbm
readline selinux +session session-mm sharedmem
+simplexml snmp soap sockets sodium spell sqlite ssl
sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode
valgrind webp +xml xmlreader xmlwriter xpm xslt zip zlib"
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
# The Oracle instant client provides its own incompatible ldap library.
REQUIRED_USE="
|| ( cli cgi fpm apache2 embed phpdbg )
avif? ( gd zlib )
@ -61,7 +60,6 @@ REQUIRED_USE="
xmlwriter? ( xml )
xslt? ( xml )
ldap-sasl? ( ldap )
oci8-instant-client? ( !ldap )
qdbm? ( !gdbm )
session-mm? ( session !threads )
mysql? ( || ( mysqli pdo ) )
@ -104,7 +102,6 @@ COMMON_DEPEND="
lmdb? ( dev-db/lmdb:= )
mssql? ( dev-db/freetds[mssql] )
nls? ( sys-devel/gettext )
oci8-instant-client? ( dev-db/oracle-instantclient[sdk] )
odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( dev-db/unixODBC ) )
postgres? ( dev-db/postgresql:* )
qdbm? ( dev-db/qdbm )
@ -261,14 +258,6 @@ src_prepare() {
sapi/cli/tests/bug78323.phpt \
|| die
# Most Oracle tests are borked,
#
# * https://github.com/php/php-src/issues/11804
# * https://github.com/php/php-src/pull/11820
# * https://github.com/php/php-src/issues/11819
#
rm ext/oci8/tests/*.phpt || die
# https://github.com/php/php-src/issues/12801
rm ext/pcre/tests/gh11374.phpt || die
@ -445,9 +434,6 @@ src_configure() {
)
fi
# Oracle support
our_conf+=( $(use_with oci8-instant-client oci8) )
# PDO support
if use pdo ; then
our_conf+=(
@ -456,7 +442,6 @@ src_configure() {
$(use_with postgres pdo-pgsql)
$(use_with sqlite pdo-sqlite)
$(use_with firebird pdo-firebird "${EPREFIX}/usr")
$(use_with oci8-instant-client pdo-oci)
)
fi
@ -569,17 +554,6 @@ src_compile() {
addpredict /usr/share/snmp/mibs/.index #nowarn
addpredict /var/lib/net-snmp/mib_indexes #nowarn
if use oci8-instant-client && use kerberos && use imap && use phar; then
# A conspiracy takes place when the first three of these flags
# are set together, causing the newly-built "php" to open
# /dev/urandom with mode rw when it starts. That's not actually
# a problem... unless you also have USE=phar, which runs that
# "php" to build some phar thingy in src_compile(). Later in
# src_test(), portage (at least) sets "addpredict /" so the
# problem does not repeat.
addpredict /dev/urandom #nowarn
fi
local sapi
for sapi in ${SAPIS} ; do
use "${sapi}" && emake -C "${WORKDIR}/sapis-build/${sapi}"

@ -1,12 +1,8 @@
DIST firefox-102.15.0esr.source.tar.xz 486592324 BLAKE2B b70727fa91d0d270673374bebb4745b87f6194191c1c9415547d772811a4a85f79a97e8985877eb5c9beef43fe15bef574172da35935e7024a947919ec11d883 SHA512 87db6e32fda215253f9b3bd233ef7fa91a64349310064b8482e5c634f34cbe99a2a111d74d2b9f2a99a0b3b510dbf9039ebe4ccfc176c2554d65bc9cfb508bf9
DIST firefox-102esr-patches-13.tar.xz 22212 BLAKE2B 02e9edd071a99abbac02faa11ffce061d5d12d8baa9ce54b51d6bfdbf8160022a1565902d65ca30fe51b5670e509fa921b11a460989933cbb797fcd59d635125 SHA512 8b8b0f3789978447a1293fd9acb5c2db3d7e9f724357a0d762b54f7e34d28f11655997ffeafccfe8001a01dd595848d257f90cb983462c405d434cc794216520
DIST firefox-115.3.1esr.source.tar.xz 515785920 BLAKE2B ad5ec24361e94d9185eed210f681c50159f5be3e6046d79200b5e2586107f1ed98ebe7935f1e266afadd570fc1aa6a1aec81fe3b7fb86efb48afe82514f26c68 SHA512 65cb6fc46bba03eed742bd67f8e36b63b19f2ad7b85d2f503595704a4e88f554758a1e66ba548c8efe97a76322fb2514db72e6ff4bb2992d1aaa86edc3af85f1
DIST firefox-115.7.0esr.source.tar.xz 515513828 BLAKE2B 9cacd9cd7e9b9040f37843645bc6823d72b3b736a3c4dcef7706304ebeda718e36e98962d9d9c000b7507fdfda40bd19ca4c8267573dc623a9507a7f77b17b52 SHA512 d468d8ef117d76e0660c5359c3becf0502354c61bdaaeb4137d86f52b50143abec2ac4578af69afa5670700b57efff1c7323ca23e3339a9eaaa888dee7e8e922
DIST firefox-115.8.0esr.source.tar.xz 507569724 BLAKE2B 37bb3d0ef990922baa81f0083ba91f079755c6cf45df238d7ccfa4f9bc0cb597f59c7d08bc0b976dae422df0b3897d1cd153ae12970ac4e3e9fad892781c3b45 SHA512 4b8c06b5eb3617700a72aaad8831d703a537fe600740f1acb8377bd0ce198a199938603fd7e6b2007671a578dfb24aa8f5c031c6c1ccf15d4a34562679eaa883
DIST firefox-115.9.0esr.source.tar.xz 507156076 BLAKE2B 2b70c0396763ef6662450c1001b847adfc7c8cbf6e4e2ffd3120473aebcc4ff9e25091e2d8e3f9462c2094de9211d658776746a0d8ce9ed73efa824b4e25b508 SHA512 2828931e79f6f2476a699afdac02133f2f04d478c5a8ed288339701387d57354f73df50d1d2a08e6afdddc9a2b95b1820c9ca1bfdce3e0772cb0ba71e12aab88
DIST firefox-115.9.1esr.source.tar.xz 508070816 BLAKE2B 5182972f45edfb9ec6b23cc2e869fe86237bd51bd23fd31058d03d9dc98f0ea2dcf57215d61d724e08f98d0e0771b86b5e5ce78ed03c3ac08fac60ed4377f890 SHA512 9ccaede2fcda13a07f98a2110bb8f99c7324601d66bff311f3070a669576a1598fe1d7de2d005d725d1f44dbe3934a9c0fd0b7950f60686047d4ce8d9d812310
DIST firefox-115esr-patches-06.tar.xz 14944 BLAKE2B e60a8a32f8c5e6d897e8c3e13d291ffab651937505ce258f031e7e75560c9eb89fce4a22c61872d639e6e1d40244e94761baa1660c2d3d02584ad4cc4778946f SHA512 d9ea1a063df287fa651042c90529b1a1b5ebd5a28735c44b5527cc7dd29678c2f8a9204f007db328371ed6af9613ca7215464c00df5e685c3af4296a22139257
DIST firefox-115esr-patches-08.tar.xz 15912 BLAKE2B 3f94deb17920672ad2184e813bd38e390ecaa50bfc6e00973db717bc56a5adb4f096224cc366da525db25aaa3d198d57716bcb765ddc906783532864e23dd8d4 SHA512 4474fbed14b2c4fac03d82f4b37849a69dbdd61fc15f01cefa373eb8a64a692f5a584247acdf7c349ab6965225c3cd47be3fc4523f93db5299680e2a22e94d94
DIST firefox-115esr-patches-09.tar.xz 16660 BLAKE2B 1dcdf62f35013b82dd70bf00c0505394b9277affcd1b1cbde92421778f4fcc146f536a546c2db8d6a70f92d40e4b1c96927fedec54383e6bb80bd9806d9b4461 SHA512 e003d0a2a5304dcdd0851b57ceb11993333326c8221d5d99555cd0c64090d5eda1bdb2a2a52e605f6094a3214ffa2238e43d57ff64eb7d424ff54b8125c16f5c
DIST spidermonkey-102-patches-05j.tar.xz 4596 BLAKE2B 215b770bbdf17973d7b3fd1df6cee9647459d2b02b0be5bdb289d457e5dbdb06ceac7a3082fc2f5836e991a4ac4486d73330b0276a466b5c528dab226a27829c SHA512 d2b8e32dac87d60a00fd93479dc34d8adab4feec24a38591cebeb4cf271aa2fd964f4dc26e67ebfb127a47bc8f684d50b32b2cff18ed5286701a04a289058185
DIST spidermonkey-115-patches-01.tar.xz 3992 BLAKE2B e97d0cb3edfb885119226f54f22485ed4e8220cd904d3356b87ccc013403f976a042171cf9ca7250bcf3fe3d90996dd80b4104e7d614f95d7bcfcb0e710a8a78 SHA512 cece96f172a09dd0e29f7c2fdbf650cde405b276bc4083956365289f1da4b1d078ccbde760da6553888ddb3c53cf9aded52051db556a2c4ec492fed01dcb03a1

@ -1,474 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
# Patch version
FIREFOX_PATCHSET="firefox-115esr-patches-08.tar.xz"
SPIDERMONKEY_PATCHSET="spidermonkey-115-patches-01.tar.xz"
LLVM_MAX_SLOT=17
PYTHON_COMPAT=( python3_{10..11} )
PYTHON_REQ_USE="ncurses,ssl,xml(+)"
WANT_AUTOCONF="2.1"
inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs
MY_PN="mozjs"
MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
MY_MAJOR=$(ver_cut 1)
MOZ_ESR=yes
MOZ_PV=${PV}
MOZ_PV_SUFFIX=
if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
# Convert the ebuild version to the upstream Mozilla version
MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
fi
if [[ -n ${MOZ_ESR} ]] ; then
# ESR releases have slightly different version numbers
MOZ_PV="${MOZ_PV}esr"
fi
MOZ_PN="firefox"
MOZ_P="${MOZ_PN}-${MOZ_PV}"
MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
if [[ ${PV} == *_rc* ]] ; then
MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
fi
PATCH_URIS=(
https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
https://dev.gentoo.org/~juippis/mozilla/patchsets/${SPIDERMONKEY_PATCHSET}
)
SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
${PATCH_URIS[@]}"
DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html "
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
SLOT="$(ver_cut 1)"
LICENSE="MPL-2.0"
IUSE="clang cpu_flags_arm_neon debug +jit lto test"
#RESTRICT="test"
RESTRICT="!test? ( test )"
BDEPEND="${PYTHON_DEPS}
|| (
(
sys-devel/llvm:17
clang? (
sys-devel/lld:17
sys-devel/clang:17
virtual/rust:0/llvm-17
)
)
(
sys-devel/llvm:16
clang? (
sys-devel/lld:16
sys-devel/clang:16
virtual/rust:0/llvm-16
)
)
(
sys-devel/llvm:15
clang? (
sys-devel/lld:15
sys-devel/clang:15
virtual/rust:0/llvm-15
)
)
)
!clang? ( virtual/rust )
virtual/pkgconfig
test? (
$(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]')
)"
DEPEND=">=dev-libs/icu-73.1:=
dev-libs/nspr
sys-libs/readline:0=
sys-libs/zlib"
RDEPEND="${DEPEND}"
S="${WORKDIR}/firefox-${MY_PV}/js/src"
llvm_check_deps() {
if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then
einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
return 1
fi
if use clang ; then
if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
return 1
fi
if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
return 1
fi
if ! tc-ld-is-mold ; then
if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
return 1
fi
fi
fi
einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
}
python_check_deps() {
if use test ; then
python_has_version "dev-python/six[${PYTHON_USEDEP}]"
fi
}
# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', and is temporarily
# placed here until toolchain-funcs.eclass gets an official support for mold linker.
# Please see:
# https://github.com/gentoo/gentoo/pull/28366 ||
# https://github.com/gentoo/gentoo/pull/28355
tc-ld-is-mold() {
local out
# Ensure ld output is in English.
local -x LC_ALL=C
# First check the linker directly.
out=$($(tc-getLD "$@") --version 2>&1)
if [[ ${out} == *"mold"* ]] ; then
return 0
fi
# Then see if they're selecting mold via compiler flags.
# Note: We're assuming they're using LDFLAGS to hold the
# options and not CFLAGS/CXXFLAGS.
local base="${T}/test-tc-linker"
cat <<-EOF > "${base}.c"
int main() { return 0; }
EOF
out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1)
rm -f "${base}"*
if [[ ${out} == *"mold"* ]] ; then
return 0
fi
# No mold here!
return 1
}
pkg_pretend() {
if use test ; then
CHECKREQS_DISK_BUILD="4000M"
else
CHECKREQS_DISK_BUILD="3600M"
fi
check-reqs_pkg_pretend
}
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]] ; then
if use test ; then
CHECKREQS_DISK_BUILD="4000M"
else
CHECKREQS_DISK_BUILD="3600M"
fi
check-reqs_pkg_setup
llvm_pkg_setup
if use clang && use lto && tc-ld-is-lld ; then
local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
[[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
[[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
[[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
[[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
eerror " - Build ${CATEGORY}/${PN} without USE=lto"
eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
eerror " llvm/clang/lld/rust chain depending on your @world updates)"
die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
fi
fi
python-any-r1_pkg_setup
# Build system is using /proc/self/oom_score_adj, bug #604394
addpredict /proc/self/oom_score_adj
if ! mountpoint -q /dev/shm ; then
# If /dev/shm is not available, configure is known to fail with
# a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
ewarn "/dev/shm is not mounted -- expect build failures!"
fi
# Ensure we use C locale when building, bug #746215
export LC_ALL=C
fi
}
src_prepare() {
pushd ../.. &>/dev/null || die
use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
if ! use ppc64; then
rm -v "${WORKDIR}"/firefox-patches/*ppc64*.patch || die
fi
eapply "${WORKDIR}"/firefox-patches
eapply "${WORKDIR}"/spidermonkey-patches
default
# Make cargo respect MAKEOPTS
export CARGO_BUILD_JOBS="$(makeopts_jobs)"
# sed-in toolchain prefix
sed -i \
-e "s/objdump/${CHOST}-objdump/" \
python/mozbuild/mozbuild/configure/check_debug_ranges.py \
|| die "sed failed to set toolchain prefix"
# use prefix shell in wrapper linker scripts, bug #789660
hprefixify "${S}"/../../build/cargo-{,host-}linker
einfo "Removing pre-built binaries ..."
find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
MOZJS_BUILDDIR="${WORKDIR}/build"
mkdir "${MOZJS_BUILDDIR}" || die
popd &>/dev/null || die
}
src_configure() {
# Show flags set at the beginning
einfo "Current CFLAGS: ${CFLAGS}"
einfo "Current CXXFLAGS: ${CXXFLAGS}"
einfo "Current LDFLAGS: ${LDFLAGS}"
einfo "Current RUSTFLAGS: ${RUSTFLAGS}"
local have_switched_compiler=
if use clang; then
# Force clang
einfo "Enforcing the use of clang due to USE=clang ..."
local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }')
[[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}")
[[ -z ${version_clang} ]] && die "Failed to read clang version!"
if tc-is-gcc; then
have_switched_compiler=yes
fi
AR=llvm-ar
CC=${CHOST}-clang-${version_clang}
CXX=${CHOST}-clang++-${version_clang}
NM=llvm-nm
RANLIB=llvm-ranlib
elif ! use clang && ! tc-is-gcc ; then
# Force gcc
have_switched_compiler=yes
einfo "Enforcing the use of gcc due to USE=-clang ..."
AR=gcc-ar
CC=${CHOST}-gcc
CXX=${CHOST}-g++
NM=gcc-nm
RANLIB=gcc-ranlib
fi
if [[ -n "${have_switched_compiler}" ]] ; then
# Because we switched active compiler we have to ensure
# that no unsupported flags are set
strip-unsupported-flags
fi
# Ensure we use correct toolchain,
# AS is used in a non-standard way by upstream, #bmo1654031
export HOST_CC="$(tc-getBUILD_CC)"
export HOST_CXX="$(tc-getBUILD_CXX)"
export AS="$(tc-getCC) -c"
tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG
cd "${MOZJS_BUILDDIR}" || die
# ../python/mach/mach/mixin/process.py fails to detect SHELL
export SHELL="${EPREFIX}/bin/bash"
local -a myeconfargs=(
--host="${CBUILD:-${CHOST}}"
--target="${CHOST}"
--disable-ctype
--disable-jemalloc
--disable-smoosh
--disable-strip
--enable-project=js
--enable-readline
--enable-release
--enable-shared-js
--with-intl-api
--with-system-icu
--with-system-nspr
--with-system-zlib
--with-toolchain-prefix="${CHOST}-"
$(use_enable debug)
$(use_enable jit)
$(use_enable test tests)
)
if use debug; then
myeconfargs+=( --disable-optimize )
myeconfargs+=( --enable-debug-symbols )
myeconfargs+=( --enable-real-time-tracing )
else
myeconfargs+=( --enable-optimize )
myeconfargs+=( --disable-debug-symbols )
myeconfargs+=( --disable-real-time-tracing )
fi
if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
myeconfargs+=( --enable-rust-simd )
fi
# Modifications to better support ARM, bug 717344
if use cpu_flags_arm_neon ; then
myeconfargs+=( --with-fpu=neon )
if ! tc-is-clang ; then
# thumb options aren't supported when using clang, bug 666966
myeconfargs+=( --with-thumb=yes )
myeconfargs+=( --with-thumb-interwork=no )
fi
fi
# Tell build system that we want to use LTO
if use lto ; then
if use clang ; then
if tc-ld-is-mold ; then
myeconfargs+=( --enable-linker=mold )
else
myeconfargs+=( --enable-linker=lld )
fi
myeconfargs+=( --enable-lto=cross )
else
myeconfargs+=( --enable-linker=bfd )
myeconfargs+=( --enable-lto=full )
fi
fi
# LTO flag was handled via configure
filter-lto
# Use system's Python environment
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
# Show flags we will use
einfo "Build CFLAGS: ${CFLAGS}"
einfo "Build CXXFLAGS: ${CXXFLAGS}"
einfo "Build LDFLAGS: ${LDFLAGS}"
einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
# Forcing system-icu allows us to skip patching bundled ICU for PPC
# and other minor arches
ECONF_SOURCE="${S}" \
econf \
${myeconfargs[@]} \
XARGS="${EPREFIX}/usr/bin/xargs"
}
src_compile() {
cd "${MOZJS_BUILDDIR}" || die
default
}
src_test() {
if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then
einfo "Smoke-test successful, continuing with full test suite"
else
die "Smoke-test failed: did interpreter initialization fail?"
fi
cp "${FILESDIR}"/spidermonkey-${SLOT}-known-test-failures.txt "${T}"/known_failures.list || die
if use x86 ; then
echo "non262/Date/timeclip.js" >> "${T}"/known_failures.list
echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list
echo "test262/language/types/number/S8.5_A2.1.js" >> "${T}"/known_failures.list
echo "test262/language/types/number/S8.5_A2.2.js" >> "${T}"/known_failures.list
fi
${EPYTHON} \
"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
--exclude-file="${T}"/known_failures.list \
"${MOZJS_BUILDDIR}"/js/src/js \
|| die
if use jit ; then
${EPYTHON} \
"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
--exclude-file="${T}"/known_failures.list \
"${MOZJS_BUILDDIR}"/js/src/js basic \
|| die
fi
}
src_install() {
cd "${MOZJS_BUILDDIR}" || die
default
# fix soname links
pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die
mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die
ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die
ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die
popd &>/dev/null || die
# remove unneeded files
rm \
"${ED}"/usr/bin/js${MY_MAJOR}-config \
"${ED}"/usr/$(get_libdir)/libjs_static.ajs \
|| die
# fix permissions
chmod -x \
"${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \
"${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \
|| die
}

@ -1,474 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
# Patch version
FIREFOX_PATCHSET="firefox-115esr-patches-09.tar.xz"
SPIDERMONKEY_PATCHSET="spidermonkey-115-patches-01.tar.xz"
LLVM_MAX_SLOT=17
PYTHON_COMPAT=( python3_{10..11} )
PYTHON_REQ_USE="ncurses,ssl,xml(+)"
WANT_AUTOCONF="2.1"
inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs
MY_PN="mozjs"
MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
MY_MAJOR=$(ver_cut 1)
MOZ_ESR=yes
MOZ_PV=${PV}
MOZ_PV_SUFFIX=
if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
# Convert the ebuild version to the upstream Mozilla version
MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
fi
if [[ -n ${MOZ_ESR} ]] ; then
# ESR releases have slightly different version numbers
MOZ_PV="${MOZ_PV}esr"
fi
MOZ_PN="firefox"
MOZ_P="${MOZ_PN}-${MOZ_PV}"
MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
if [[ ${PV} == *_rc* ]] ; then
MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
fi
PATCH_URIS=(
https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
https://dev.gentoo.org/~juippis/mozilla/patchsets/${SPIDERMONKEY_PATCHSET}
)
SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
${PATCH_URIS[@]}"
DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html "
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
SLOT="$(ver_cut 1)"
LICENSE="MPL-2.0"
IUSE="clang cpu_flags_arm_neon debug +jit lto test"
#RESTRICT="test"
RESTRICT="!test? ( test )"
BDEPEND="${PYTHON_DEPS}
|| (
(
sys-devel/llvm:17
clang? (
sys-devel/lld:17
sys-devel/clang:17
virtual/rust:0/llvm-17
)
)
(
sys-devel/llvm:16
clang? (
sys-devel/lld:16
sys-devel/clang:16
virtual/rust:0/llvm-16
)
)
(
sys-devel/llvm:15
clang? (
sys-devel/lld:15
sys-devel/clang:15
virtual/rust:0/llvm-15
)
)
)
!clang? ( virtual/rust )
virtual/pkgconfig
test? (
$(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]')
)"
DEPEND=">=dev-libs/icu-73.1:=
dev-libs/nspr
sys-libs/readline:0=
sys-libs/zlib"
RDEPEND="${DEPEND}"
S="${WORKDIR}/firefox-${MY_PV}/js/src"
llvm_check_deps() {
if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then
einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
return 1
fi
if use clang ; then
if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
return 1
fi
if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
return 1
fi
if ! tc-ld-is-mold ; then
if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
return 1
fi
fi
fi
einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
}
python_check_deps() {
if use test ; then
python_has_version "dev-python/six[${PYTHON_USEDEP}]"
fi
}
# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', and is temporarily
# placed here until toolchain-funcs.eclass gets an official support for mold linker.
# Please see:
# https://github.com/gentoo/gentoo/pull/28366 ||
# https://github.com/gentoo/gentoo/pull/28355
tc-ld-is-mold() {
local out
# Ensure ld output is in English.
local -x LC_ALL=C
# First check the linker directly.
out=$($(tc-getLD "$@") --version 2>&1)
if [[ ${out} == *"mold"* ]] ; then
return 0
fi
# Then see if they're selecting mold via compiler flags.
# Note: We're assuming they're using LDFLAGS to hold the
# options and not CFLAGS/CXXFLAGS.
local base="${T}/test-tc-linker"
cat <<-EOF > "${base}.c"
int main() { return 0; }
EOF
out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1)
rm -f "${base}"*
if [[ ${out} == *"mold"* ]] ; then
return 0
fi
# No mold here!
return 1
}
pkg_pretend() {
if use test ; then
CHECKREQS_DISK_BUILD="4000M"
else
CHECKREQS_DISK_BUILD="3600M"
fi
check-reqs_pkg_pretend
}
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]] ; then
if use test ; then
CHECKREQS_DISK_BUILD="4000M"
else
CHECKREQS_DISK_BUILD="3600M"
fi
check-reqs_pkg_setup
llvm_pkg_setup
if use clang && use lto && tc-ld-is-lld ; then
local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
[[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
[[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
[[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
[[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
eerror " - Build ${CATEGORY}/${PN} without USE=lto"
eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
eerror " llvm/clang/lld/rust chain depending on your @world updates)"
die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
fi
fi
python-any-r1_pkg_setup
# Build system is using /proc/self/oom_score_adj, bug #604394
addpredict /proc/self/oom_score_adj
if ! mountpoint -q /dev/shm ; then
# If /dev/shm is not available, configure is known to fail with
# a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
ewarn "/dev/shm is not mounted -- expect build failures!"
fi
# Ensure we use C locale when building, bug #746215
export LC_ALL=C
fi
}
src_prepare() {
pushd ../.. &>/dev/null || die
use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
if ! use ppc64; then
rm -v "${WORKDIR}"/firefox-patches/*ppc64*.patch || die
fi
eapply "${WORKDIR}"/firefox-patches
eapply "${WORKDIR}"/spidermonkey-patches
default
# Make cargo respect MAKEOPTS
export CARGO_BUILD_JOBS="$(makeopts_jobs)"
# sed-in toolchain prefix
sed -i \
-e "s/objdump/${CHOST}-objdump/" \
python/mozbuild/mozbuild/configure/check_debug_ranges.py \
|| die "sed failed to set toolchain prefix"
# use prefix shell in wrapper linker scripts, bug #789660
hprefixify "${S}"/../../build/cargo-{,host-}linker
einfo "Removing pre-built binaries ..."
find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
MOZJS_BUILDDIR="${WORKDIR}/build"
mkdir "${MOZJS_BUILDDIR}" || die
popd &>/dev/null || die
}
src_configure() {
# Show flags set at the beginning
einfo "Current CFLAGS: ${CFLAGS}"
einfo "Current CXXFLAGS: ${CXXFLAGS}"
einfo "Current LDFLAGS: ${LDFLAGS}"
einfo "Current RUSTFLAGS: ${RUSTFLAGS}"
local have_switched_compiler=
if use clang; then
# Force clang
einfo "Enforcing the use of clang due to USE=clang ..."
local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }')
[[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}")
[[ -z ${version_clang} ]] && die "Failed to read clang version!"
if tc-is-gcc; then
have_switched_compiler=yes
fi
AR=llvm-ar
CC=${CHOST}-clang-${version_clang}
CXX=${CHOST}-clang++-${version_clang}
NM=llvm-nm
RANLIB=llvm-ranlib
elif ! use clang && ! tc-is-gcc ; then
# Force gcc
have_switched_compiler=yes
einfo "Enforcing the use of gcc due to USE=-clang ..."
AR=gcc-ar
CC=${CHOST}-gcc
CXX=${CHOST}-g++
NM=gcc-nm
RANLIB=gcc-ranlib
fi
if [[ -n "${have_switched_compiler}" ]] ; then
# Because we switched active compiler we have to ensure
# that no unsupported flags are set
strip-unsupported-flags
fi
# Ensure we use correct toolchain,
# AS is used in a non-standard way by upstream, #bmo1654031
export HOST_CC="$(tc-getBUILD_CC)"
export HOST_CXX="$(tc-getBUILD_CXX)"
export AS="$(tc-getCC) -c"
tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG
cd "${MOZJS_BUILDDIR}" || die
# ../python/mach/mach/mixin/process.py fails to detect SHELL
export SHELL="${EPREFIX}/bin/bash"
local -a myeconfargs=(
--host="${CBUILD:-${CHOST}}"
--target="${CHOST}"
--disable-ctype
--disable-jemalloc
--disable-smoosh
--disable-strip
--enable-project=js
--enable-readline
--enable-release
--enable-shared-js
--with-intl-api
--with-system-icu
--with-system-nspr
--with-system-zlib
--with-toolchain-prefix="${CHOST}-"
$(use_enable debug)
$(use_enable jit)
$(use_enable test tests)
)
if use debug; then
myeconfargs+=( --disable-optimize )
myeconfargs+=( --enable-debug-symbols )
myeconfargs+=( --enable-real-time-tracing )
else
myeconfargs+=( --enable-optimize )
myeconfargs+=( --disable-debug-symbols )
myeconfargs+=( --disable-real-time-tracing )
fi
if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
myeconfargs+=( --enable-rust-simd )
fi
# Modifications to better support ARM, bug 717344
if use cpu_flags_arm_neon ; then
myeconfargs+=( --with-fpu=neon )
if ! tc-is-clang ; then
# thumb options aren't supported when using clang, bug 666966
myeconfargs+=( --with-thumb=yes )
myeconfargs+=( --with-thumb-interwork=no )
fi
fi
# Tell build system that we want to use LTO
if use lto ; then
if use clang ; then
if tc-ld-is-mold ; then
myeconfargs+=( --enable-linker=mold )
else
myeconfargs+=( --enable-linker=lld )
fi
myeconfargs+=( --enable-lto=cross )
else
myeconfargs+=( --enable-linker=bfd )
myeconfargs+=( --enable-lto=full )
fi
fi
# LTO flag was handled via configure
filter-lto
# Use system's Python environment
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
# Show flags we will use
einfo "Build CFLAGS: ${CFLAGS}"
einfo "Build CXXFLAGS: ${CXXFLAGS}"
einfo "Build LDFLAGS: ${LDFLAGS}"
einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
# Forcing system-icu allows us to skip patching bundled ICU for PPC
# and other minor arches
ECONF_SOURCE="${S}" \
econf \
${myeconfargs[@]} \
XARGS="${EPREFIX}/usr/bin/xargs"
}
src_compile() {
cd "${MOZJS_BUILDDIR}" || die
default
}
src_test() {
if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then
einfo "Smoke-test successful, continuing with full test suite"
else
die "Smoke-test failed: did interpreter initialization fail?"
fi
cp "${FILESDIR}"/spidermonkey-${SLOT}-known-test-failures.txt "${T}"/known_failures.list || die
if use x86 ; then
echo "non262/Date/timeclip.js" >> "${T}"/known_failures.list
echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list
echo "test262/language/types/number/S8.5_A2.1.js" >> "${T}"/known_failures.list
echo "test262/language/types/number/S8.5_A2.2.js" >> "${T}"/known_failures.list
fi
${EPYTHON} \
"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
--exclude-file="${T}"/known_failures.list \
"${MOZJS_BUILDDIR}"/js/src/js \
|| die
if use jit ; then
${EPYTHON} \
"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
--exclude-file="${T}"/known_failures.list \
"${MOZJS_BUILDDIR}"/js/src/js basic \
|| die
fi
}
src_install() {
cd "${MOZJS_BUILDDIR}" || die
default
# fix soname links
pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die
mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die
ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die
ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die
popd &>/dev/null || die
# remove unneeded files
rm \
"${ED}"/usr/bin/js${MY_MAJOR}-config \
"${ED}"/usr/$(get_libdir)/libjs_static.ajs \
|| die
# fix permissions
chmod -x \
"${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \
"${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \
|| die
}

@ -1,474 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
# Patch version
FIREFOX_PATCHSET="firefox-115esr-patches-09.tar.xz"
SPIDERMONKEY_PATCHSET="spidermonkey-115-patches-01.tar.xz"
LLVM_MAX_SLOT=17
PYTHON_COMPAT=( python3_{10..11} )
PYTHON_REQ_USE="ncurses,ssl,xml(+)"
WANT_AUTOCONF="2.1"
inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs
MY_PN="mozjs"
MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
MY_MAJOR=$(ver_cut 1)
MOZ_ESR=yes
MOZ_PV=${PV}
MOZ_PV_SUFFIX=
if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
# Convert the ebuild version to the upstream Mozilla version
MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
fi
if [[ -n ${MOZ_ESR} ]] ; then
# ESR releases have slightly different version numbers
MOZ_PV="${MOZ_PV}esr"
fi
MOZ_PN="firefox"
MOZ_P="${MOZ_PN}-${MOZ_PV}"
MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
if [[ ${PV} == *_rc* ]] ; then
MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
fi
PATCH_URIS=(
https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
https://dev.gentoo.org/~juippis/mozilla/patchsets/${SPIDERMONKEY_PATCHSET}
)
SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
${PATCH_URIS[@]}"
DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html "
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
SLOT="$(ver_cut 1)"
LICENSE="MPL-2.0"
IUSE="clang cpu_flags_arm_neon debug +jit lto test"
#RESTRICT="test"
RESTRICT="!test? ( test )"
BDEPEND="${PYTHON_DEPS}
|| (
(
sys-devel/llvm:17
clang? (
sys-devel/lld:17
sys-devel/clang:17
virtual/rust:0/llvm-17
)
)
(
sys-devel/llvm:16
clang? (
sys-devel/lld:16
sys-devel/clang:16
virtual/rust:0/llvm-16
)
)
(
sys-devel/llvm:15
clang? (
sys-devel/lld:15
sys-devel/clang:15
virtual/rust:0/llvm-15
)
)
)
!clang? ( virtual/rust )
virtual/pkgconfig
test? (
$(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]')
)"
DEPEND=">=dev-libs/icu-73.1:=
dev-libs/nspr
sys-libs/readline:0=
sys-libs/zlib"
RDEPEND="${DEPEND}"
S="${WORKDIR}/firefox-${MY_PV}/js/src"
llvm_check_deps() {
if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then
einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
return 1
fi
if use clang ; then
if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
return 1
fi
if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
return 1
fi
if ! tc-ld-is-mold ; then
if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
return 1
fi
fi
fi
einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
}
python_check_deps() {
if use test ; then
python_has_version "dev-python/six[${PYTHON_USEDEP}]"
fi
}
# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', and is temporarily
# placed here until toolchain-funcs.eclass gets an official support for mold linker.
# Please see:
# https://github.com/gentoo/gentoo/pull/28366 ||
# https://github.com/gentoo/gentoo/pull/28355
tc-ld-is-mold() {
local out
# Ensure ld output is in English.
local -x LC_ALL=C
# First check the linker directly.
out=$($(tc-getLD "$@") --version 2>&1)
if [[ ${out} == *"mold"* ]] ; then
return 0
fi
# Then see if they're selecting mold via compiler flags.
# Note: We're assuming they're using LDFLAGS to hold the
# options and not CFLAGS/CXXFLAGS.
local base="${T}/test-tc-linker"
cat <<-EOF > "${base}.c"
int main() { return 0; }
EOF
out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1)
rm -f "${base}"*
if [[ ${out} == *"mold"* ]] ; then
return 0
fi
# No mold here!
return 1
}
pkg_pretend() {
if use test ; then
CHECKREQS_DISK_BUILD="4000M"
else
CHECKREQS_DISK_BUILD="3600M"
fi
check-reqs_pkg_pretend
}
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]] ; then
if use test ; then
CHECKREQS_DISK_BUILD="4000M"
else
CHECKREQS_DISK_BUILD="3600M"
fi
check-reqs_pkg_setup
llvm_pkg_setup
if use clang && use lto && tc-ld-is-lld ; then
local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
[[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
[[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
[[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
[[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
eerror " - Build ${CATEGORY}/${PN} without USE=lto"
eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
eerror " llvm/clang/lld/rust chain depending on your @world updates)"
die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
fi
fi
python-any-r1_pkg_setup
# Build system is using /proc/self/oom_score_adj, bug #604394
addpredict /proc/self/oom_score_adj
if ! mountpoint -q /dev/shm ; then
# If /dev/shm is not available, configure is known to fail with
# a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
ewarn "/dev/shm is not mounted -- expect build failures!"
fi
# Ensure we use C locale when building, bug #746215
export LC_ALL=C
fi
}
src_prepare() {
pushd ../.. &>/dev/null || die
use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
if ! use ppc64; then
rm -v "${WORKDIR}"/firefox-patches/*ppc64*.patch || die
fi
eapply "${WORKDIR}"/firefox-patches
eapply "${WORKDIR}"/spidermonkey-patches
default
# Make cargo respect MAKEOPTS
export CARGO_BUILD_JOBS="$(makeopts_jobs)"
# sed-in toolchain prefix
sed -i \
-e "s/objdump/${CHOST}-objdump/" \
python/mozbuild/mozbuild/configure/check_debug_ranges.py \
|| die "sed failed to set toolchain prefix"
# use prefix shell in wrapper linker scripts, bug #789660
hprefixify "${S}"/../../build/cargo-{,host-}linker
einfo "Removing pre-built binaries ..."
find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
MOZJS_BUILDDIR="${WORKDIR}/build"
mkdir "${MOZJS_BUILDDIR}" || die
popd &>/dev/null || die
}
src_configure() {
# Show flags set at the beginning
einfo "Current CFLAGS: ${CFLAGS}"
einfo "Current CXXFLAGS: ${CXXFLAGS}"
einfo "Current LDFLAGS: ${LDFLAGS}"
einfo "Current RUSTFLAGS: ${RUSTFLAGS}"
local have_switched_compiler=
if use clang; then
# Force clang
einfo "Enforcing the use of clang due to USE=clang ..."
local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }')
[[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}")
[[ -z ${version_clang} ]] && die "Failed to read clang version!"
if tc-is-gcc; then
have_switched_compiler=yes
fi
AR=llvm-ar
CC=${CHOST}-clang-${version_clang}
CXX=${CHOST}-clang++-${version_clang}
NM=llvm-nm
RANLIB=llvm-ranlib
elif ! use clang && ! tc-is-gcc ; then
# Force gcc
have_switched_compiler=yes
einfo "Enforcing the use of gcc due to USE=-clang ..."
AR=gcc-ar
CC=${CHOST}-gcc
CXX=${CHOST}-g++
NM=gcc-nm
RANLIB=gcc-ranlib
fi
if [[ -n "${have_switched_compiler}" ]] ; then
# Because we switched active compiler we have to ensure
# that no unsupported flags are set
strip-unsupported-flags
fi
# Ensure we use correct toolchain,
# AS is used in a non-standard way by upstream, #bmo1654031
export HOST_CC="$(tc-getBUILD_CC)"
export HOST_CXX="$(tc-getBUILD_CXX)"
export AS="$(tc-getCC) -c"
tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG
cd "${MOZJS_BUILDDIR}" || die
# ../python/mach/mach/mixin/process.py fails to detect SHELL
export SHELL="${EPREFIX}/bin/bash"
local -a myeconfargs=(
--host="${CBUILD:-${CHOST}}"
--target="${CHOST}"
--disable-ctype
--disable-jemalloc
--disable-smoosh
--disable-strip
--enable-project=js
--enable-readline
--enable-release
--enable-shared-js
--with-intl-api
--with-system-icu
--with-system-nspr
--with-system-zlib
--with-toolchain-prefix="${CHOST}-"
$(use_enable debug)
$(use_enable jit)
$(use_enable test tests)
)
if use debug; then
myeconfargs+=( --disable-optimize )
myeconfargs+=( --enable-debug-symbols )
myeconfargs+=( --enable-real-time-tracing )
else
myeconfargs+=( --enable-optimize )
myeconfargs+=( --disable-debug-symbols )
myeconfargs+=( --disable-real-time-tracing )
fi
if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
myeconfargs+=( --enable-rust-simd )
fi
# Modifications to better support ARM, bug 717344
if use cpu_flags_arm_neon ; then
myeconfargs+=( --with-fpu=neon )
if ! tc-is-clang ; then
# thumb options aren't supported when using clang, bug 666966
myeconfargs+=( --with-thumb=yes )
myeconfargs+=( --with-thumb-interwork=no )
fi
fi
# Tell build system that we want to use LTO
if use lto ; then
if use clang ; then
if tc-ld-is-mold ; then
myeconfargs+=( --enable-linker=mold )
else
myeconfargs+=( --enable-linker=lld )
fi
myeconfargs+=( --enable-lto=cross )
else
myeconfargs+=( --enable-linker=bfd )
myeconfargs+=( --enable-lto=full )
fi
fi
# LTO flag was handled via configure
filter-lto
# Use system's Python environment
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
# Show flags we will use
einfo "Build CFLAGS: ${CFLAGS}"
einfo "Build CXXFLAGS: ${CXXFLAGS}"
einfo "Build LDFLAGS: ${LDFLAGS}"
einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
# Forcing system-icu allows us to skip patching bundled ICU for PPC
# and other minor arches
ECONF_SOURCE="${S}" \
econf \
${myeconfargs[@]} \
XARGS="${EPREFIX}/usr/bin/xargs"
}
src_compile() {
cd "${MOZJS_BUILDDIR}" || die
default
}
src_test() {
if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then
einfo "Smoke-test successful, continuing with full test suite"
else
die "Smoke-test failed: did interpreter initialization fail?"
fi
cp "${FILESDIR}"/spidermonkey-${SLOT}-known-test-failures.txt "${T}"/known_failures.list || die
if use x86 ; then
echo "non262/Date/timeclip.js" >> "${T}"/known_failures.list
echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list
echo "test262/language/types/number/S8.5_A2.1.js" >> "${T}"/known_failures.list
echo "test262/language/types/number/S8.5_A2.2.js" >> "${T}"/known_failures.list
fi
${EPYTHON} \
"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
--exclude-file="${T}"/known_failures.list \
"${MOZJS_BUILDDIR}"/js/src/js \
|| die
if use jit ; then
${EPYTHON} \
"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
--exclude-file="${T}"/known_failures.list \
"${MOZJS_BUILDDIR}"/js/src/js basic \
|| die
fi
}
src_install() {
cd "${MOZJS_BUILDDIR}" || die
default
# fix soname links
pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die
mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die
ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die
ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die
popd &>/dev/null || die
# remove unneeded files
rm \
"${ED}"/usr/bin/js${MY_MAJOR}-config \
"${ED}"/usr/$(get_libdir)/libjs_static.ajs \
|| die
# fix permissions
chmod -x \
"${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \
"${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \
|| die
}

@ -61,7 +61,7 @@ SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}
DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html "
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
KEYWORDS="amd64 arm ~arm64 ~loong ~mips ~ppc ppc64 ~riscv ~sparc x86"
SLOT="$(ver_cut 1)"
LICENSE="MPL-2.0"

Binary file not shown.

@ -28,7 +28,7 @@ S="${WORKDIR}/${P}/cpp"
LICENSE="Apache-2.0"
SLOT="0/$(ver_cut 1)"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~riscv ~s390 ~x86"
KEYWORDS="amd64 ~arm ~arm64 ~hppa ~riscv ~s390 ~x86"
IUSE="
+brotli bzip2 compute dataset +json lz4 +parquet re2 +snappy ssl
test zlib zstd

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save