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"
|
||||
}
|
@ -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
|
@ -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;
|
@ -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)
|
||||
}
|
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[@]}"
|
||||
}
|
@ -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[@]}"
|
||||
}
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -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.
@ -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}"
|
||||
}
|
@ -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
|
||||
|
@ -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 +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.
Binary file not shown.
@ -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.
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
|
||||
|
@ -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>
|
||||
|
Binary file not shown.
@ -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
|
||||
}
|
@ -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
|
||||
|
@ -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
|
||||
}
|
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue