diff options
| author | Crucible <crucible@localhost> | 2026-10-14 03:05:04 -0500 |
|---|---|---|
| committer | Crucible <crucible@localhost> | 2026-10-14 03:05:04 -0500 |
| commit | f2908082da3eb11b2ab459032e0b91aaf4433ff2 (patch) | |
| tree | 828f763b839660180630c3dd8b7ce3d36403fe88 | |
| parent | 08c02fb1d2b7ed86dd6ab8a3cd5d189ddceaae30 (diff) | |
| download | srcux-f2908082da3eb11b2ab459032e0b91aaf4433ff2.tar.gz srcux-f2908082da3eb11b2ab459032e0b91aaf4433ff2.tar.xz srcux-f2908082da3eb11b2ab459032e0b91aaf4433ff2.zip | |
265 files changed, 9560 insertions, 18555 deletions
diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest index 6fb0cd763a30..328ba249578e 100644 --- a/app-admin/awscli/Manifest +++ b/app-admin/awscli/Manifest @@ -3,3 +3,4 @@ DIST aws-cli-2.37.12.gh.tar.gz 19630292 BLAKE2B ef64f5f8ec755d16355cfe4a1eafb39a DIST aws-cli-2.37.13.gh.tar.gz 19748121 BLAKE2B 1101457801c8fde3674428a7063b0672faa1a300c1ad8150f86ffa8e94837e3bf462f2a50216e62958253e826d14d711b784f7cda4c1c01ce7e93fc12f616231 SHA512 8ae0a38c189cd81f6042ea2fa10e92f19e95af9190f9995c45488d0a7c073efe6508949c46b80eef7cd6cb6d2e090d3d7bbacf9e6b4b551d2ba6f9eeac35a0bd DIST aws-cli-2.37.4.gh.tar.gz 19473894 BLAKE2B ad6cc6bccb8521e6951feece0418dc4976fe088b35f6bb2be41cb82cb8ec85b3dafdedb5545187fa3a045cb29ff9c114d3f39ba7fdfbf22085c8cb8e00f4fc98 SHA512 e9af6b7f12da9f31182487d9e89bd234f817bcdc379cb5ef37467d5e23a07e84b0021fedfcc717c6c031508dad915553e074e2fa1dfd00198d1459d84de75bac DIST aws-cli-2.37.9.gh.tar.gz 19700332 BLAKE2B f24deee1bcfc03146536e3f87ec2a687be7a1888df5e0eb8fca91f0f13ab40875add8ba98c2b44b90bb8000efc05c063bb32e6e824caacde216c01e94d71245c SHA512 892591dfda26b89c5e75f9e313c2b0e2979b61c8ecc248e2d88d021ff1d08b8bcf417ff9bbda5a09e47a4fe20dd682a8656ad21524f2a1f5f062044f6e5c8c76 +DIST aws-cli-2.38.0.gh.tar.gz 19762428 BLAKE2B ce13807a930b8dc76ee0b1f02fc4e9117d7960380476589886f9c4bbe4a56fd8cda9055065d09f7ddbc2563ba660472b94bee2d8af0c6ceadbc649b583683f97 SHA512 df85b8a46a579dfec0f7c0add69c23fe3507bd9550365b92547ec8d4b910ea1ea579a40c5ebcff3545b9f89234d262188ea436413258bdaf2aad10d77ce2a648 diff --git a/app-admin/awscli/awscli-2.38.0.ebuild b/app-admin/awscli/awscli-2.38.0.ebuild new file mode 100644 index 000000000000..0271e6e9ae34 --- /dev/null +++ b/app-admin/awscli/awscli-2.38.0.ebuild @@ -0,0 +1,113 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=standalone +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 shell-completion + +MY_P=aws-cli-${PV} +DESCRIPTION="Universal Command Line Environment for AWS" +HOMEPAGE=" + https://github.com/aws/aws-cli/ + https://pypi.org/project/awscli/ +" +SRC_URI=" + https://github.com/aws/aws-cli/archive/${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" + +RDEPEND=" + >=dev-python/colorama-0.2.5[${PYTHON_USEDEP}] + >=dev-python/docutils-0.10[${PYTHON_USEDEP}] + >=dev-python/ruamel-yaml-0.15.0[${PYTHON_USEDEP}] + >=dev-python/prompt-toolkit-3.0.24[${PYTHON_USEDEP}] + >=dev-python/distro-1.5.0[${PYTHON_USEDEP}] + >=dev-python/awscrt-0.36.2[${PYTHON_USEDEP}] + >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}] + >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}] + >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}] +" +# bundled dependencies +RDEPEND+=" + >=dev-python/s3transfer-0.18.0[${PYTHON_USEDEP}] +" +TODO=" + dev-python/rsa[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + !app-admin/awscli-bin +" +BDEPEND=" + dev-python/flit-core[${PYTHON_USEDEP}] + test? ( + dev-python/jsonschema[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +EPYTEST_RERUNS=5 +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + # this package bundles botocore & s3transfer, but they are custom + # v2 branches that were never released and are incompatible with + # our release versions + + # strip overzealous upper bounds on requirements + sed -i -e 's:,<[=0-9.]*::' -e 's:==:>=:' pyproject.toml || die + # wcwidth isn't used + sed -i -e '/wcwidth/d' pyproject.toml || die +} + +python_test() { + local -x TZ=UTC + + local EPYTEST_DESELECT=( + # TODO + tests/functional/autocomplete/test_main.py::test_smoke_test_completer + tests/unit/customizations/ec2instanceconnect/test_websocket.py::TestWebsocket::test_connect_with_proxy + tests/unit/customizations/ec2instanceconnect/test_websocket.py::TestWebsocket::test_connect_with_proxy_but_no_proxy_env_empty + tests/unit/customizations/emr/test_emr_utils.py::TestEMRutils::test_which_with_existing_command + tests/unit/customizations/emr/test_emr_utils.py::TestEMRutils::test_which_with_non_existing_command + tests/unit/customizations/wizard/test_app.py + tests/unit/test_compat.py::TestGetPreferredEncoding::test_getpreferredencoding_with_env_var + ) + + # Some tests take a lot of memory, so run parallel-safe tests first. + local awscli_parallel_tests=( + tests/functional/[ac-z]*/ + tests/unit/ + ) + local botocore_parallel_tests=( + tests/functional/botocore/*/ + tests/functional/botocore/test_[cds-z]*.py + ) + #epytest "${botocore_parallel_tests[@]}" + epytest "${awscli_parallel_tests[@]}" + + local EPYTEST_IGNORE=( + "${botocore_parallel_tests[@]}" + "${awscli_parallel_tests[@]}" + ) + EPYTEST_XDIST= epytest tests/functional +} + +python_install_all() { + newbashcomp bin/aws_bash_completer aws + newzshcomp bin/aws_zsh_completer.sh _aws + + distutils-r1_python_install_all + + rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die +} diff --git a/app-containers/incus/Manifest b/app-containers/incus/Manifest index a5117e5b9aaa..ae93771f8de8 100644 --- a/app-containers/incus/Manifest +++ b/app-containers/incus/Manifest @@ -7,4 +7,6 @@ DIST incus-7.4-cve-commits-bgo981691.tar.xz 2628 BLAKE2B 4d84bd4c554d9f575c9b998 DIST incus-7.4.tar.xz 14314748 BLAKE2B 659fa53f3b86324ea9b49196c3a841b52f2e0ec514fb0a2e638911dff9e534bb253c29e0a028bb381fdbe86d63852e388cfb7334b3fd4af0117850eff6d8324c SHA512 2682f4f18f3835a21ee39aae00869d20046b4d0ae8c32886c140109741431916013e7c2d7036191876276c0847f06157adb04e1ee0091f372f6ec8566780c295 DIST incus-7.4.tar.xz.asc 833 BLAKE2B 2ee5632e9da2f0a5a812c0b1c5a584dd7f5113367f2c2e7d3f8e6da6136a1c51ee66ab2e8b949b695a55a1ebde1edb61de3b4141d44ed1db7c8ac626a1004e20 SHA512 fb02fd99042961f3be99bc71c837b7983a0e0ffaa17e53a7a65f333ddefaebddec8755b98af161572a0dc6ae565557ea751f1c9c2549bcf653f966a48463d7ec DIST incus-7.5-cve-commits.tar.xz 11428 BLAKE2B 1f03690f1c45d3c36bbd725f89f052b5924450eeedd5d149e301c44671de07804c3f844387b0e8633953b74424eaf3129070cf3c08d136d7d82593d4da83ca28 SHA512 3a8c9dac1a58ce37f6d4e5e6379be7bf2e0c28f68292bc49fb0ff3b13d2232f5b0164039384b8a9c615bce2769f7c370574d12217dc0e9413a1834c665c901dc +DIST incus-7.5.1.tar.xz 14469400 BLAKE2B fb325920377fe4e3c6e13a9f41459c2398e6a735b82ffddc2ac4295e85ed73eb258fec2ab04e93aa618bf982090362ddb6169c71943ec95c74d4731c855c3e29 SHA512 2c1baae439db9df24459ffea4280a072f010f468c9841d804e32b0c5b9570b40e2b6d2c3262fa3ac17daea850d1c0e03f525eb8684f359fa84d639f31dc618bb +DIST incus-7.5.1.tar.xz.asc 833 BLAKE2B b71a24f263da6e9fc78c2696bcb631ad8d335dc58800d08798cd8196fd7bf9fb15e652d6747247ed6028fc36c51e5ebe2269ea8aab5b4c370e0beaceee13ac43 SHA512 5bdd94f8caa73d406da731192a599aa91d468118f6f92fc7b8ac3e36ded91ef87910177e857a1869175f8e6e38424d1ba5e6f1b73ba4bc8f5bf06aff910cc276 DIST incus-lts-misc-fixes-20261009.tar.xz 3112 BLAKE2B 65304569bfa72477bca6fb648d4e1c7807853c78ff34c3444340d6b7fdeacd6a3c98636320a9c66f5e493a9f1b96999428a324dc9f9996c1529c435911f39342 SHA512 9a8618a0b099825721d276d17427502a19133e9b548069f98a55d78915c9f5fadb94dad8047ae6c8ab627002433a4129d7e8cf918c8725acb25b68fd4cc704b2 diff --git a/app-containers/incus/incus-7.5.1.ebuild b/app-containers/incus/incus-7.5.1.ebuild new file mode 100644 index 000000000000..7e113b04c86b --- /dev/null +++ b/app-containers/incus/incus-7.5.1.ebuild @@ -0,0 +1,279 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-env go-module linux-info optfeature systemd toolchain-funcs verify-sig + +DESCRIPTION="Modern, secure and powerful system container and virtual machine manager" +HOMEPAGE="https://linuxcontainers.org/incus/introduction/ https://github.com/lxc/incus" + +if [[ "${PV}" == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/lxc/incus.git" +else + SRC_URI="https://linuxcontainers.org/downloads/incus/${P}.tar.xz + verify-sig? ( https://linuxcontainers.org/downloads/incus/${P}.tar.xz.asc )" + KEYWORDS="~amd64 ~arm64" +fi + +LICENSE="Apache-2.0 BSD LGPL-3 MIT" +SLOT="0/stable" +IUSE="apparmor fuidshift nls qemu selinux" + +DEPEND="acct-group/incus + acct-group/incus-admin + app-arch/xz-utils + >=app-containers/lxc-5.0.0:=[apparmor?,seccomp(+)] + dev-db/sqlite:3 + >=dev-libs/cowsql-1.15.7 + dev-libs/lzo + >=dev-libs/raft-0.22.1:=[lz4] + >=dev-util/xdelta-3.0[lzma(+)] + net-dns/dnsmasq[dhcp] + sys-libs/libcap + virtual/udev" +RDEPEND="${DEPEND} + fuidshift? ( !app-containers/lxd ) + net-firewall/ebtables + net-firewall/nftables[json] + sys-apps/iproute2 + sys-fs/fuse:* + >=sys-fs/lxcfs-5.0.0 + sys-fs/squashfs-tools[lzma,zstd] + virtual/acl + apparmor? ( sec-policy/apparmor-profiles ) + qemu? ( + app-cdr/cdrtools + app-emulation/qemu[spice,usbredir,virtfs] + sys-apps/gptfdisk + ) + selinux? ( sec-policy/selinux-incus )" +BDEPEND=">=dev-lang/go-1.26.7 + nls? ( sys-devel/gettext ) + verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )" + +CONFIG_CHECK=" + ~AIO + ~CGROUPS + ~IPC_NS + ~NET_NS + ~PID_NS + + ~SECCOMP + ~USER_NS + ~UTS_NS + + ~KVM + ~MACVTAP + ~VHOST_VSOCK +" + +ERROR_AIO="CONFIG_AIO is required." +ERROR_IPC_NS="CONFIG_IPC_NS is required." +ERROR_NET_NS="CONFIG_NET_NS is required." +ERROR_PID_NS="CONFIG_PID_NS is required." +ERROR_SECCOMP="CONFIG_SECCOMP is required." +ERROR_UTS_NS="CONFIG_UTS_NS is required." + +WARNING_KVM="CONFIG_KVM and CONFIG_KVM_AMD/-INTEL is required for virtual machines." +WARNING_MACVTAP="CONFIG_MACVTAP is required for virtual machines." +WARNING_VHOST_VSOCK="CONFIG_VHOST_VSOCK is required for virtual machines." + +# Go magic. +QA_PREBUILT="/usr/bin/incus + /usr/bin/incus-agent + /usr/bin/incus-benchmark + /usr/bin/incus-migrate + /usr/bin/lxc-to-incus + /usr/sbin/fuidshift + /usr/sbin/incusd" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/linuxcontainers.asc + +# The testsuite must be run as root. +# make: *** [Makefile:156: check] Error 1 +RESTRICT="test" + +GOPATH="${S}/_dist" + +src_unpack() { + if [[ "${PV}" == 9999* ]]; then + git-r3_src_unpack + go-module_live_vendor + go-env_set_compile_environment + else + verify-sig_src_unpack + go-module_src_unpack + fi +} + +src_prepare() { + export GOPATH="${S}/_dist" + + default + + sed -i \ + -e "s:\./configure:./configure --prefix=/usr --libdir=${EPREFIX}/usr/lib/incus:g" \ + -e "s:make:make ${MAKEOPTS}:g" \ + Makefile || die + + sed -i \ + -e "s:/usr/share/OVMF:/usr/share/edk2/OvmfX64:g" \ + -e "s:OVMF_VARS.ms.fd:OVMF_VARS.fd:g" \ + internal/server/instance/drivers/edk2/driver_edk2.go || die "Failed to fix hardcoded ovmf paths." + + cp "${FILESDIR}"/incus-6.14-r1.service "${T}"/incus.service || die + if use apparmor; then + sed -i \ + '/^EnvironmentFile=.*/a ExecStartPre=\/usr\/libexec\/lxc\/lxc-apparmor-load' \ + "${T}"/incus.service || die + fi + + # Disable -Werror's from go modules. + find "${S}" -name "cgo.go" -exec sed -i "s/ -Werror / /g" {} + || die +} + +src_configure() { :; } + +incus_get_bindir() { + local host_arch=${1} + if [[ "${GOARCH}" != "${host_arch}" ]]; then + echo "_dist/bin/linux_${GOARCH}" + else + echo "_dist/bin" + fi +} + +src_compile() { + export GOPATH="${S}/_dist" + export CGO_LDFLAGS_ALLOW="-Wl,-z,now" + + for k in incus-benchmark incus-simplestreams incus-user incus lxc-to-incus; do + ego install -v -x "${S}/cmd/${k}" + done + + if use fuidshift ; then + ego install -v -x "${S}/cmd/fuidshift" + fi + + ego install -v -x -tags libsqlite3 "${S}"/cmd/incusd + + # Needs to be built statically + CGO_ENABLED=0 go install -v -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-migrate + + local bindir=$(incus_get_bindir "$(go-env_goarch "${CBUILD}")") + + # Build the VM agents, statically too + if use amd64 ; then + GOARCH=amd64 CGO_ENABLED=0 ego build -o "${bindir}"/incus-agent.linux.x86_64 -v \ + -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent + GOARCH=386 CGO_ENABLED=0 ego build -o "${bindir}"/incus-agent.linux.i686 -v \ + -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent + GOARCH=amd64 GOOS=windows CGO_ENABLED=0 ego build -o "${bindir}"/incus-agent.windows.x86_64 -v \ + -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent + GOARCH=386 GOOS=windows CGO_ENABLED=0 ego build -o "${bindir}"/incus-agent.windows.i686 -v \ + -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent + elif use arm64 ; then + GOARCH=arm64 CGO_ENABLED=0 ego build -o "${bindir}"/incus-agent.linux.aarch64 -v \ + -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent + GOARCH=arm64 GOOS=windows CGO_ENABLED=0 ego build -o "${bindir}"/incus-agent.windows.aarch64 -v \ + -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent + else + echo "No VM support for this arch." + return + fi + + use nls && emake build-mo +} + +src_test() { + emake check +} + +src_install() { + export GOPATH="${S}/_dist" + + export GOHOSTARCH=$(go-env_goarch "${CBUILD}") + local bindir=$(incus_get_bindir "${GOHOSTARCH}") + + newsbin "${FILESDIR}"/incus-startup-0.4.sh incus-startup + + # Admin tools + for l in incusd incus-user; do + dosbin "${bindir}/${l}" + done + + # User tools + for m in incus-benchmark incus-migrate incus-simplestreams incus lxc-to-incus ; do + dobin "${bindir}/${m}" + done + + # VM Agents + if use amd64 ; then + exeinto /usr/libexec/incus/agents + doexe ${bindir}/incus-agent.linux.x86_64 + doexe ${bindir}/incus-agent.linux.i686 + doexe ${bindir}/incus-agent.windows.x86_64 + doexe ${bindir}/incus-agent.windows.i686 + elif use arm64 ; then + exeinto /usr/libexec/incus/agents + doexe ${bindir}/incus-agent.linux.aarch64 + doexe ${bindir}/incus-agent.windows.aarch64 + fi + + # fuidshift, should be moved under admin tools at some point + if use fuidshift ; then + dosbin ${bindir}/fuidshift + fi + + newconfd "${FILESDIR}"/incus-6.0.confd incus + newinitd "${FILESDIR}"/incus-6.0.initd incus + newinitd "${FILESDIR}"/incus-user-0.4.initd incus-user + + systemd_dounit "${T}"/incus.service + systemd_newunit "${FILESDIR}"/incus-0.4.socket incus.socket + systemd_newunit "${FILESDIR}"/incus-startup-0.4.service incus-startup.service + systemd_newunit "${FILESDIR}"/incus-user-0.4.service incus-user.service + systemd_newunit "${FILESDIR}"/incus-user-0.4.socket incus-user.socket + + if ! tc-is-cross-compiler; then + # Generate and install shell completion files. + mkdir -p "${D}"/usr/share/{bash-completion/completions/,fish/vendor_completions.d/,zsh/site-functions/} || die + "${bindir}"/incus completion bash > "${D}"/usr/share/bash-completion/completions/incus || die + "${bindir}"/incus completion fish > "${D}"/usr/share/fish/vendor_completions.d/incus.fish || die + "${bindir}"/incus completion zsh > "${D}"/usr/share/zsh/site-functions/_incus || die + else + ewarn "Shell completion files not installed! Install them manually with incus completion --help" + fi + + dodoc AUTHORS + dodoc -r doc/* + use nls && domo po/*.mo + + # Incus needs INCUS_EDK2_PATH in env to find OVMF files for virtual machines, #946184, + # and INCUS_AGENT_PATH to find multi-setup agents for VMs, #959878, + # and INCUS_SECURITY_SELINUX=true to enable selinux support (until its enabled by default) + newenvd "${FILESDIR}"/90incus.envd 90incus + if use selinux; then + echo "INCUS_SECURITY_SELINUX=true" >> "${D}"/etc/env.d/90incus + fi +} + +pkg_postinst() { + elog + elog "Please see" + elog " https://wiki.gentoo.org/wiki/Incus" + elog " https://wiki.gentoo.org/wiki/Incus#Migrating_from_LXD" + elog + optfeature "OCI container images support" app-containers/skopeo app-containers/umoci + optfeature "support for ACME certificate issuance" app-crypt/lego + optfeature "btrfs storage backend" sys-fs/btrfs-progs + optfeature "ipv6 support" net-dns/dnsmasq[ipv6] + optfeature "full incus-migrate support" net-misc/rsync + optfeature "lvm2 storage backend" sys-fs/lvm2 + optfeature "zfs storage backend" sys-fs/zfs + elog + elog "Be sure to add your local user to the incus group." + elog +} diff --git a/app-crypt/gpgme/gpgme-2.2.0.ebuild b/app-crypt/gpgme/gpgme-2.2.0.ebuild index cfb998de2ab5..47e156d4efde 100644 --- a/app-crypt/gpgme/gpgme-2.2.0.ebuild +++ b/app-crypt/gpgme/gpgme-2.2.0.ebuild @@ -27,7 +27,7 @@ LICENSE="GPL-2 LGPL-2.1" # Please check ABI on each bump, even if SONAMEs didn't change: bug #833355 # Subslot: SONAME of each: <libgpgme.FUDGE> SLOT="1/45.0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="common-lisp static-libs test" RESTRICT="!test? ( test )" diff --git a/app-doc/python-docs/Manifest b/app-doc/python-docs/Manifest index eaef35da7733..58b5b31b1738 100644 --- a/app-doc/python-docs/Manifest +++ b/app-doc/python-docs/Manifest @@ -1,17 +1,12 @@ DIST python-2.7.18-docs-html.tar.bz2 4634932 BLAKE2B c48e2dede15d8186231acf65709641e0844c42e924262d6ee21a55e515aaf4d023bf394681bab780ab83998de9f409685e2d5870506810432145acc6422eff9d SHA512 db39390577ec86f13c9b6b57c01cba36fe9fd89092a773dc94f1a6a19d912759d097c4d80e765d3657b572abc731c1da9e7b4cd4c38065cd444606b906744abe -DIST python-3.10.20-docs-html.tar.bz2 7329760 BLAKE2B 70f01e26cedca2c14274b2c68584fb5e08672e0104a13dca7db191ff102a066f5579b65c16e2bd3d2c689c8274049bb34345b707cdbfb3f427549878ad019d79 SHA512 c504000dbc3b22cfa32dccfec35137bb7f82c0d8b61e9d68f5f8ff559aed6721c7da210ec7b959d9c238438840514962912a2066d5a436719d9cf2a16104b37f DIST python-3.10.21-docs-html.tar.bz2 7469828 BLAKE2B 03bd679b60e56d88821f0003c24d573ae3f443da53e3cd4440630be10336bc0ded8ddee3d62fe6ebf802dff7ac94f8376d347d4892d6e9fd77d13582a6f90d8c SHA512 595e8590e80ba695114d59abfa9f057809decf32f177b2e66f182d38f1e929c606b2bcbfad4b776f2bfc8b28e75e60eca8e7e2147dd6c8f5e7e3a2ce3c2faacd DIST python-3.10.22-docs-html.tar.bz2 7448157 BLAKE2B 29202447cd9b30a642ebdb8f867a69964ea8761da693823dd121f19ba23378c7f441a6b7f0718c4aad9b25c40e478bd3cd94b33fb23fa99bb657a045bf24dcaa SHA512 8aac4eedebd71b528f7f6345b446b7984983682c6e4ba02c739ed8eb23dc21a3aaef84e7b4b00135adec122effebe54b0e7f92fbc74c8f1635ae1bb2295f4392 -DIST python-3.11.15-docs-html.tar.bz2 7879534 BLAKE2B c208395058d6361b5bf572ed952cf51f37975492df47675e31558a5a36547a0da71a4cfe93c8188977fbea4e39b3a740f30b7ed875deca5d862329efb627caf2 SHA512 6a8815e32e5535214782c7378eb0678571cba46c9d5eb817323a3485c732127490142bc78deb00d2f37c8d3a62ceee736c746a120ea1a0dba6b08423123bc97e DIST python-3.11.16-docs-html.tar.bz2 8006278 BLAKE2B 28fd3f730c870d3c3493e8312d0d28586b94fa05c84a4a3e0771254002eeacc4331653fb54886c4ce4f58e7c944e89ca0c45fc391a9da3953ab15c4e280299c1 SHA512 051061ea5dae0c15840e3a6751a347a3ea069ce7d34275d56531155c016ad1a06a40d9f56b311670f70690b3765e738f0a982dee1e839294305c0aee91b3272c DIST python-3.11.17-docs-html.tar.bz2 8022556 BLAKE2B 1c17a64f09a5c256b43c33e66ce951230c0e24a5bf97811c533f44c0f83941c0318ff63eb5b742eee24e17074c0f12fa35043caeba34a797f2391f09d09a616a SHA512 fe809039a00bd353bf176e7f239c11d6ae14228cd734fabdbac6bb5d894e083fc87e65e47d40a58e0b5b2c27654a6e31379b36f42dd3631575e19d518b395117 -DIST python-3.12.13-docs-html.tar.bz2 8433277 BLAKE2B 3ef4f8daf45f7b691de41de5871240fcc53357689ca0d1e4be520f12cd763f59ff2ce2e8d6cf0df1274c08f01577ee0901ccf38b5dbd04bfbffc1fe13c9625c5 SHA512 16786246a0c3c6e10335881457480ffd92865430d09b0e36b3246117e830376981fd45717113099b4e14c7137366c8a5f2cce6f19142cf827e801b1a66397447 DIST python-3.12.14-docs-html.tar.bz2 8459739 BLAKE2B 21360dcb5ee9ddc4ea2d92375de1b29015a0ee6061414ee597bd870440ec3f2f68c29444b8db0f5d8a9075c947f60696bfe6761412a163a63fb64598210111f3 SHA512 b2c3418efd1b0548a228773c3fe56ddba8e97ae6eb03ff6d0caf89e4babe4540248e95dea96df0906fc50a8ee20fca70b220afc440d4ec74290bcdc33950a5f1 DIST python-3.12.15-docs-html.tar.bz2 8523045 BLAKE2B ffd9a25064dd4aa1909a8c1d78e7d3e6e566dfdcb2d4f4f9ae320123617a5c31914246d8aca250a6ff938c668f5029fc367083b5011a2014cea8ff3f10239d55 SHA512 b477230f708aea9285d53a3cee785a7a2bc2a07bd8fd6aaa3682a43d7a03193a103ce7702a92af46dd5c21f65fdca4d111c2c9fa579f7ed6ec8ac3b135cbee6e -DIST python-3.13.14-docs-html.tar.bz2 10489722 BLAKE2B a826b229b2f77ca2868f6f22ea597daa16ee620ecb35665bfb7d7a8435ecd731db80bbafc4b970159a2ffe2f1b3a836a1958890697b116f959e05aabc684986b SHA512 adadb39d3b92b4572c5844cfb3f46d517d9d3ff55b3a3a0e4b21c00377e2d04139db980cf23fc995b9c52d793dc272e29d9c0f19ee3fad41d40748844a3a15e7 DIST python-3.13.15-docs-html.tar.bz2 10655948 BLAKE2B c8f6cf4d9bcf13c42664e9c3bb6021be74ff4c6162246a77aede667c386e46d32504360a4d661a718f2c2d05f5d93937797ec01456cfec6fd0464d1a0af2f441 SHA512 d2c6fdbdec71983171380eba21fae0cb9f8be06847ac4dd356af36706c07fbbf564f434d7bce6a2b702db04e1fb22e5a52ce61eab9ecde92acb5360320721d02 DIST python-3.13.16-docs-html.tar.bz2 8036754 BLAKE2B d5be43d01c491bd3c648a273ccf392ef1a5fa67eb6905d0fea5fa758f935901bf81c639a6a0caf8fc22279f25a1f93886fe4a9a88e0e42ba1ef8158f8d485e05 SHA512 494a263d408f2955dcb4605f40a828424ddce9ce1814df3ec41a95ce375914523e30db489263c148baca049682ce432b63a7f2621240650e91325563e61192a7 -DIST python-3.14.6-docs-html.tar.bz2 11003726 BLAKE2B 335ffb0f95cfb6575ab95774f2f240c9a17411d8ddc56b7746812931b0a4b0cab72a4692427410fde0b6cf1e7adb8e60dbe38336c44865b8b765893d1a9f2e7a SHA512 6056edd3aa02f013163b6a12a1981de32a7ce784c215b4315b27bb2e9abe1a3276e76d21763020ffacc7c19dd99ee7863af637294da49afd0b7acdc9f5f438b7 DIST python-3.14.7-docs-html.tar.bz2 11177897 BLAKE2B 9dc8f34beecbe5a48df3943a329473a6748a6471c22b490a061e63506d4c52eb3d8e67441b253b49001274168a8e1789b0057fdcfd734c854cb7b4a791fc0863 SHA512 2bd30188aa291bef884f7a6a43e0b4e21cc774925b21d7fc6bfaeffd104db7c745aba11612de7858fbb279640678674627763a9727be6936d1f844874ea6efdd DIST python-3.14.8-docs-html.tar.bz2 8442599 BLAKE2B 6769f2300bdcae41371175e5e8777fcd06b8267c8ee4eb0c72b47a9144fed3fc390ea26a97c44c1628f82bc508e1c8bf90ad9cbbc440e331d616748bee4ec508 SHA512 409c206c4f1a85386118df5354a57b0dc1ad7d937900f71fad43f1299051169eeffe8422a2b19263df41d9256257f1cdd2ace4e8d2de3959743d0c1ec1901c93 DIST python-3.15.0-docs-html.tar.bz2 19583541 BLAKE2B 273e14cf12e8efc00fbc99720ea052d7419b30adc46f8a7dd868b965c1feeb21d5de5a699b8fc339740f50b19b91962af6e6c8ba5dda05e179c7627c2945ed80 SHA512 f8a0976e5e308cbfc9ff787a75119fbe05dde39362138ab82c6b5eb979c220cf2b3e0e2ca24c7582c3e3d0bb268a6fbc22b2f433bbc90ab8605497f24d0043d3 diff --git a/app-doc/python-docs/python-docs-3.10.20.ebuild b/app-doc/python-docs/python-docs-3.10.20.ebuild deleted file mode 100644 index 1f8c77912356..000000000000 --- a/app-doc/python-docs/python-docs-3.10.20.ebuild +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -DESCRIPTION="HTML documentation for Python" -HOMEPAGE="https://www.python.org/doc/" -SRC_URI="https://www.python.org/ftp/python/doc/${PV}/python-${PV}-docs-html.tar.bz2" -S="${WORKDIR}/python-${PV}-docs-html" - -LICENSE="PSF-2" -SLOT="$(ver_cut 1-2)" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~s390 ~sparc x86" - -src_install() { - rm -r _sources || die - docinto html - dodoc -r . - - newenvd - 60python-docs-${SLOT} <<-EOF - PYTHONDOCS_${SLOT//./_}="${EPREFIX}/usr/share/doc/${PF}/html/library" - EOF -} diff --git a/app-doc/python-docs/python-docs-3.11.15.ebuild b/app-doc/python-docs/python-docs-3.11.15.ebuild deleted file mode 100644 index 1f8c77912356..000000000000 --- a/app-doc/python-docs/python-docs-3.11.15.ebuild +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -DESCRIPTION="HTML documentation for Python" -HOMEPAGE="https://www.python.org/doc/" -SRC_URI="https://www.python.org/ftp/python/doc/${PV}/python-${PV}-docs-html.tar.bz2" -S="${WORKDIR}/python-${PV}-docs-html" - -LICENSE="PSF-2" -SLOT="$(ver_cut 1-2)" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~s390 ~sparc x86" - -src_install() { - rm -r _sources || die - docinto html - dodoc -r . - - newenvd - 60python-docs-${SLOT} <<-EOF - PYTHONDOCS_${SLOT//./_}="${EPREFIX}/usr/share/doc/${PF}/html/library" - EOF -} diff --git a/app-doc/python-docs/python-docs-3.12.13.ebuild b/app-doc/python-docs/python-docs-3.12.13.ebuild deleted file mode 100644 index b4430d56da8f..000000000000 --- a/app-doc/python-docs/python-docs-3.12.13.ebuild +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DESCRIPTION="HTML documentation for Python" -HOMEPAGE="https://www.python.org/doc/" -SRC_URI="https://www.python.org/ftp/python/doc/${PV}/python-${PV}-docs-html.tar.bz2" -S="${WORKDIR}/python-${PV}-docs-html" - -LICENSE="PSF-2" -SLOT="$(ver_cut 1-2)" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~s390 ~sparc x86" - -src_install() { - rm -r _sources || die - docinto html - dodoc -r . - - newenvd - 60python-docs-${SLOT} <<-EOF - PYTHONDOCS_${SLOT//./_}="${EPREFIX}/usr/share/doc/${PF}/html/library" - EOF -} diff --git a/app-doc/python-docs/python-docs-3.13.14.ebuild b/app-doc/python-docs/python-docs-3.13.14.ebuild deleted file mode 100644 index dcbeb9c2b0bb..000000000000 --- a/app-doc/python-docs/python-docs-3.13.14.ebuild +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -MY_P=python-${PV}-docs-html -DESCRIPTION="HTML documentation for Python" -HOMEPAGE="https://www.python.org/doc/" -SRC_URI="https://www.python.org/ftp/python/doc/${PV}/${MY_P}.tar.bz2" -S=${WORKDIR}/${MY_P} - -LICENSE="PSF-2" -SLOT="$(ver_cut 1-2)" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~s390 ~sparc x86" - -src_install() { - rm -r _sources || die - docinto html - dodoc -r . - - newenvd - 60python-docs-${SLOT} <<-EOF - PYTHONDOCS_${SLOT//./_}="${EPREFIX}/usr/share/doc/${PF}/html/library" - EOF -} diff --git a/app-doc/python-docs/python-docs-3.14.6.ebuild b/app-doc/python-docs/python-docs-3.14.6.ebuild deleted file mode 100644 index dcbeb9c2b0bb..000000000000 --- a/app-doc/python-docs/python-docs-3.14.6.ebuild +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -MY_P=python-${PV}-docs-html -DESCRIPTION="HTML documentation for Python" -HOMEPAGE="https://www.python.org/doc/" -SRC_URI="https://www.python.org/ftp/python/doc/${PV}/${MY_P}.tar.bz2" -S=${WORKDIR}/${MY_P} - -LICENSE="PSF-2" -SLOT="$(ver_cut 1-2)" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~s390 ~sparc x86" - -src_install() { - rm -r _sources || die - docinto html - dodoc -r . - - newenvd - 60python-docs-${SLOT} <<-EOF - PYTHONDOCS_${SLOT//./_}="${EPREFIX}/usr/share/doc/${PF}/html/library" - EOF -} diff --git a/app-editors/neovim/neovim-9999.ebuild b/app-editors/neovim/neovim-9999.ebuild index 00f627aab391..5943cfbb90e2 100644 --- a/app-editors/neovim/neovim-9999.ebuild +++ b/app-editors/neovim/neovim-9999.ebuild @@ -57,7 +57,6 @@ DEPEND="${LUA_DEPS} =dev-libs/tree-sitter-c-0.24* =dev-libs/tree-sitter-lua-0.5* =dev-libs/tree-sitter-markdown-0.5* - =dev-libs/tree-sitter-markdown-inline-0.5* =dev-libs/tree-sitter-query-0.8.0* =dev-libs/tree-sitter-vim-0.8* =dev-libs/tree-sitter-vimdoc-4* @@ -109,8 +108,8 @@ src_install() { # symlink tree-sitter parsers dodir /usr/share/nvim/runtime - for parser in c lua markdown query vim vimdoc; do - dosym ../../../../$(get_libdir)/libtree-sitter-${parser}.so /usr/share/nvim/runtime/parser/${parser}.so + for parser in c lua markdown markdown_inline query vim vimdoc; do + dosym ../../../../$(get_libdir)/libtree-sitter-${parser/_/-}.so /usr/share/nvim/runtime/parser/${parser}.so done # conditionally install a symlink for nvimpager diff --git a/app-emacs/ebuild-mode/Manifest b/app-emacs/ebuild-mode/Manifest index d3e97fcd9397..06a156808585 100644 --- a/app-emacs/ebuild-mode/Manifest +++ b/app-emacs/ebuild-mode/Manifest @@ -1,4 +1,3 @@ DIST ebuild-mode-1.79.tar.xz 51536 BLAKE2B fd53b083ca72854e33ecc81c86a5d972cd3efa3768fa5250b4c9771ad7989f751a12563a37048af5161f0634b6b92512566159b338cd7303fdd586a50334f193 SHA512 c659851eea7e5c6c5796cb9d6c5a6daf062cdc6aa64406125aa8f48d59433191e7b34894545e8c70e4b9deaa40b4df5a1de7560974c78e45e8ab8d9da99c78f8 -DIST ebuild-mode-1.84.tar.xz 52864 BLAKE2B 915374ea20e9ba9d8a15a009a55ac081f33e0ac56395362a5b326464c25478a4cf3d16ff1144963aa13ca091cb2603d144fbe1c4f61c653a4456cf20c03c61f4 SHA512 d3218b4811e0b1f68f3f8e409e9fee825783923e6a4ad8cdcaa7f39d96580b2e7a5678814fc219992f0fe4c1dd1505c0abc725c2cec8ff251d6fbc2d9af9ef55 DIST ebuild-mode-1.85.tar.xz 53428 BLAKE2B afc036a88cd82d8c1a6a5cb307b72938a906c62a4cb8ac4dd15d3cbd812751d8bc21a527574a862e7a0211bf349546cb26623894f6e1fb26171f6167582275f7 SHA512 eb09e11e7ad24a51e0fe478079e479ef1fd6760e992e09743b99942fe698a757be854dc10f6f6bd3ffe81040ff67ce19bca271e1aca37989ba4f7368f4d79f35 DIST ebuild-mode-1.88.tar.xz 55788 BLAKE2B cae7b3b71d113c58a53dc5ddf6986c384dcdc14ac2abedcdddb3d337ad5570e6cff9fe3b4143d696ab088237ab6a6869fb56ae46c0bda13661698dc424b30b37 SHA512 66da1e0093325e9f2f95321d6aec90b349b27be5d9848ad05a30e07bcddbca829f76169316dfa42fb954d662be2a3e437f539eeac2b30e10a025628080948409 diff --git a/app-emacs/ebuild-mode/ebuild-mode-1.84.ebuild b/app-emacs/ebuild-mode/ebuild-mode-1.84.ebuild deleted file mode 100644 index 1008d2316a11..000000000000 --- a/app-emacs/ebuild-mode/ebuild-mode-1.84.ebuild +++ /dev/null @@ -1,40 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit elisp optfeature - -if [[ ${PV} = 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/ebuild-mode.git" - EGIT_BRANCH="master" - EGIT_CHECKOUT_DIR="${WORKDIR}/${PN}" - S="${WORKDIR}/${PN}" -else - SRC_URI="https://distfiles.gentoo.org/pub/proj/emacs/${P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~sparc x86 ~x64-macos" -fi - -DESCRIPTION="Emacs modes for editing ebuilds and other Gentoo specific files" -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Emacs" - -LICENSE="GPL-2+" -SLOT="0" - -RDEPEND="app-emacs/tty-format" -BDEPEND="${RDEPEND} - sys-apps/texinfo" - -DOCS="ChangeLog" -ELISP_TEXINFO="${PN}.texi" -SITEFILE="50${PN}-gentoo-1.81.el" - -pkg_postinst() { - elisp_pkg_postinst - optfeature "ebuild commands support" sys-apps/portage - optfeature "additional development tools" dev-util/pkgdev - optfeature "ebuild QA utilities" dev-util/pkgcheck - optfeature "XML syntax validation" app-emacs/nxml-gentoo-schemas - optfeature "generating HTML from GLEPs" dev-python/docutils-glep -} diff --git a/app-emacs/ebuild-mode/ebuild-mode-1.85.ebuild b/app-emacs/ebuild-mode/ebuild-mode-1.85.ebuild index b89850a25b60..cdc5c2edb116 100644 --- a/app-emacs/ebuild-mode/ebuild-mode-1.85.ebuild +++ b/app-emacs/ebuild-mode/ebuild-mode-1.85.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} = 9999 ]]; then S="${WORKDIR}/${PN}" else SRC_URI="https://distfiles.gentoo.org/pub/proj/emacs/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~sparc x86 ~x64-macos" fi DESCRIPTION="Emacs modes for editing ebuilds and other Gentoo specific files" diff --git a/app-misc/tmux/Manifest b/app-misc/tmux/Manifest index 2434e738a88e..e3dc48477211 100644 --- a/app-misc/tmux/Manifest +++ b/app-misc/tmux/Manifest @@ -1,5 +1,3 @@ -DIST tmux-3.4.tar.gz 707213 BLAKE2B 2b1990b95d7439702e9287402d9828d4ecab573202c099aa482969c047b540d4b899f79d87587fc712e727d9cebf5fa7393512087e469fc355b4a30b1894e229 SHA512 bd3880211d99d8ee15947000abf8a1832fdfa48b29b2df81b66d5969cf3f4e64e746f984f6139bfc57e3ebee7fe8dc7cbb6bccb779307607de6c376969fecbff -DIST tmux-3.5a.tar.gz 715619 BLAKE2B 2314bc127f805071c9f2fe28be549b0948042a153aa68d997efc1dc0d6eba198b04aa16932d0a84b03250567100fb81c464919fcc8ba98660d3d0750ff5fe879 SHA512 2383e99aec2dcdb1d899793d5ecab40a68b921194f84770d3f4d19712bfc85590657a99d2a9a7bec36d4ba5ab39fa713f13937b0acad3b61cd9b2302dba61d43 DIST tmux-3.6a.tar.gz 750698 BLAKE2B 4b5f6b4dbdbb90af64204f300604f2d4df2c1746770d722057577b6b2d1c95014de1c8ada3f984295380ca6d6afa05292a8fb590b12b37c1699203fe4d7c469c SHA512 bdc1a1dc7505b98966c5ed1303decc0cad883aae73ed9bc6d628ae060a7e9c4828a6ad64335de2a2f9b610118ce161ba456185676bb289c6f063091afa0a5b8b DIST tmux-3.7c.tar.gz 789431 BLAKE2B 854a27ad7fd2326057c516e60a88219548bbbf7001c01d1b64b83289b22c923a8b4c94f48971381d88cd8a6c9a15084c253742dfb155dd6e32aee97b78f9f68c SHA512 86c4c136a844fe0ac167e6f360c555a138253867fd234ba7447342fe8f2cb660df44e51e99ca9eb9ec773851f2c04e4a64de81a43a3d1bcd42ba99c704843d79 DIST tmux-3.8.tar.gz 895926 BLAKE2B 5a6ff93e78dd4380fa0769ac76de25365b326dce3403a71eb74f218c124f17b8d27504a7d89985db6fb4d1d0321815657ffc40212a58257363b315515581a82f SHA512 8836978b4676d3d03d1eeedd7b6a55241eec400d44ab6b5a743fe053c52749a9f1d2cf32ef9b444e8ed8216c5577e2aecaa9663d2e693c4b95f6af638f21a872 diff --git a/app-misc/tmux/files/tmux-3.5-fix-xterm-sym.patch b/app-misc/tmux/files/tmux-3.5-fix-xterm-sym.patch deleted file mode 100644 index 17d56664bcad..000000000000 --- a/app-misc/tmux/files/tmux-3.5-fix-xterm-sym.patch +++ /dev/null @@ -1,38 +0,0 @@ -https://github.com/tmux/tmux/commit/934035db7197d4510b330df8d8963f78e9c8756d - -From: nicm <nicm> -Date: Mon, 14 Oct 2024 20:26:45 +0000 -Subject: [PATCH] Set ACS flag for REP. Reported by Romain Francoise, GitHub - issue 4182. - ---- a/input.c -+++ b/input.c -@@ -1145,7 +1145,6 @@ input_print(struct input_ctx *ictx) - ictx->cell.cell.attr |= GRID_ATTR_CHARSET; - else - ictx->cell.cell.attr &= ~GRID_ATTR_CHARSET; -- - utf8_set(&ictx->cell.cell.data, ictx->ch); - screen_write_collect_add(sctx, &ictx->cell.cell); - -@@ -1349,7 +1348,7 @@ input_csi_dispatch(struct input_ctx *ictx) - struct screen_write_ctx *sctx = &ictx->ctx; - struct screen *s = sctx->s; - struct input_table_entry *entry; -- int i, n, m, ek; -+ int i, n, m, ek, set; - u_int cx, bg = ictx->cell.cell.bg; - - if (ictx->flags & INPUT_DISCARD) -@@ -1592,6 +1591,11 @@ input_csi_dispatch(struct input_ctx *ictx) - if (~ictx->flags & INPUT_LAST) - break; - -+ set = ictx->cell.set == 0 ? ictx->cell.g0set : ictx->cell.g1set; -+ if (set == 1) -+ ictx->cell.cell.attr |= GRID_ATTR_CHARSET; -+ else -+ ictx->cell.cell.attr &= ~GRID_ATTR_CHARSET; - utf8_copy(&ictx->cell.cell.data, &ictx->last); - for (i = 0; i < n; i++) - screen_write_collect_add(sctx, &ictx->cell.cell); diff --git a/app-misc/tmux/tmux-3.4-r1.ebuild b/app-misc/tmux/tmux-3.4-r1.ebuild deleted file mode 100644 index f1ec79fef845..000000000000 --- a/app-misc/tmux/tmux-3.4-r1.ebuild +++ /dev/null @@ -1,95 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools flag-o-matic systemd - -DESCRIPTION="Terminal multiplexer" -HOMEPAGE="https://tmux.github.io/" -if [[ ${PV} == 9999 ]] ; then - inherit git-r3 - SRC_URI="https://raw.githubusercontent.com/przepompownia/tmux-bash-completion/678a27616b70c649c6701cae9cd8c92b58cc051b/completions/tmux -> tmux-bash-completion-678a27616b70c649c6701cae9cd8c92b58cc051b" - EGIT_REPO_URI="https://github.com/tmux/tmux.git" -else - SRC_URI="https://github.com/tmux/tmux/releases/download/${PV}/${P/_/-}.tar.gz" - if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" - fi - S="${WORKDIR}/${P/_/-}" -fi - -LICENSE="ISC" -SLOT="0" -IUSE="debug selinux systemd utempter vim-syntax" - -DEPEND=" - dev-libs/libevent:= - sys-libs/ncurses:= - systemd? ( sys-apps/systemd:= ) - utempter? ( sys-libs/libutempter ) - kernel_Darwin? ( dev-libs/libutf8proc:= ) -" - -BDEPEND=" - virtual/pkgconfig - app-alternatives/yacc -" - -RDEPEND=" - ${DEPEND} - selinux? ( sec-policy/selinux-screen ) - vim-syntax? ( app-vim/vim-tmux ) -" - -QA_CONFIG_IMPL_DECL_SKIP=( - # BSD only functions - strtonum recallocarray - # missing on musl, tmux has fallback impl which it uses - b64_ntop -) - -DOCS=( CHANGES README ) - -PATCHES=( - "${FILESDIR}"/${PN}-2.4-flags.patch -) - -src_prepare() { - default - eautoreconf -} - -src_configure() { - # bug 438558 - # 1.7 segfaults when entering copy mode if compiled with -Os - replace-flags -Os -O2 - - local myeconfargs=( - --sysconfdir="${EPREFIX}"/etc - $(use_enable debug) - $(use_enable systemd) - $(use_enable utempter) - - # For now, we only expose this for macOS, because - # upstream strongly encourage it. I'm not sure it's - # needed on Linux right now. - $(use_enable kernel_Darwin utf8proc) - ) - - econf "${myeconfargs[@]}" -} - -src_install() { - default - - einstalldocs - - dodoc example_tmux.conf - docompress -x /usr/share/doc/${PF}/example_tmux.conf - - if use systemd; then - systemd_newuserunit "${FILESDIR}"/tmux.service tmux@.service - systemd_newuserunit "${FILESDIR}"/tmux.socket tmux@.socket - fi -} diff --git a/app-misc/tmux/tmux-3.5a.ebuild b/app-misc/tmux/tmux-3.5a.ebuild deleted file mode 100644 index ca5b0d232e47..000000000000 --- a/app-misc/tmux/tmux-3.5a.ebuild +++ /dev/null @@ -1,98 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools flag-o-matic systemd - -DESCRIPTION="Terminal multiplexer" -HOMEPAGE="https://tmux.github.io/" -if [[ ${PV} == 9999 ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/tmux/tmux.git" -else - SRC_URI="https://github.com/tmux/tmux/releases/download/${PV}/${P/_/-}.tar.gz" - if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" - fi - S="${WORKDIR}/${P/_/-}" -fi - -LICENSE="ISC" -SLOT="0" -IUSE="debug jemalloc selinux sixel systemd utempter vim-syntax" - -DEPEND=" - dev-libs/libevent:= - sys-libs/ncurses:= - jemalloc? ( dev-libs/jemalloc:= ) - systemd? ( sys-apps/systemd:= ) - utempter? ( sys-libs/libutempter ) - kernel_Darwin? ( dev-libs/libutf8proc:= ) -" - -BDEPEND=" - virtual/pkgconfig - app-alternatives/yacc -" - -RDEPEND=" - ${DEPEND} - selinux? ( sec-policy/selinux-screen ) - vim-syntax? ( app-vim/vim-tmux ) -" - -QA_CONFIG_IMPL_DECL_SKIP=( - # BSD only functions - strtonum recallocarray - # missing on musl, tmux has fallback impl which it uses - b64_ntop -) - -DOCS=( CHANGES README ) - -PATCHES=( - "${FILESDIR}"/${PN}-2.4-flags.patch - "${FILESDIR}"/${PN}-3.5-fix-xterm-sym.patch # merged upstream -) - -src_prepare() { - default - eautoreconf -} - -src_configure() { - # bug 438558 - # 1.7 segfaults when entering copy mode if compiled with -Os - replace-flags -Os -O2 - - local myeconfargs=( - --sysconfdir="${EPREFIX}"/etc - $(use_enable debug) - $(use_enable jemalloc) - $(use_enable sixel) - $(use_enable systemd) - $(use_enable utempter) - - # For now, we only expose this for macOS, because - # upstream strongly encourage it. I'm not sure it's - # needed on Linux right now. - $(use_enable kernel_Darwin utf8proc) - ) - - econf "${myeconfargs[@]}" -} - -src_install() { - default - - einstalldocs - - dodoc example_tmux.conf - docompress -x /usr/share/doc/${PF}/example_tmux.conf - - if use systemd; then - systemd_newuserunit "${FILESDIR}"/tmux.service tmux@.service - systemd_newuserunit "${FILESDIR}"/tmux.socket tmux@.socket - fi -} diff --git a/app-misc/yq/Manifest b/app-misc/yq/Manifest index 29e2a855f586..21ad26a47eb9 100644 --- a/app-misc/yq/Manifest +++ b/app-misc/yq/Manifest @@ -1,3 +1,4 @@ DIST yq-3.4.3.tar.gz 33214 BLAKE2B a1b3d813d9761ac8a8429db3fe8efac64ade69e0d2fa9b137a1ca8c9e367a0f16b636482b6d9381e2de43392007f37388b6ab37def04739723488f271fd56d16 SHA512 db4ec57aafa1d08786ba11897040506c9f13d800cf06f76cea052d2bba88553db53627cdfcfdbbfbdec81324800114d397890759383fb4db31609727a10474eb DIST yq-4.1.2.tar.gz 33949 BLAKE2B 1aa1c54d11cc9e33109ab2bb382493872e27c2af025ff3ebe551ea07325f91c331ab9d6221089a521a5a15297780e84a67331a899bae8ad5de3ccdd216f2e69e SHA512 f5ad97fca018b40c356273cf499e1c8c72940b9c34eecb635fa7a0fe615023d51768e29faea40093f31164c04278fd8e3c902925e73e8b8cf700c1117c1e8081 DIST yq-4.4.0.tar.gz 52156 BLAKE2B f7516ffab83f1d5f6cf92b7eeada77f51b6f3b3ac2e182fccfca92a25f3cb72be6b6d27169bdf48e0abdb0f2f5009ced0882f89089567e87d0aa3766949e11e1 SHA512 ef8102493e746672d7e069d012e9fd4e157e422d99d5248003f997325b7cb35933d9eda26236f2f2f2ee65cdb240916509f2f696d354f3ed7f5000f0c7ddc9b1 +DIST yq-4.4.5.tar.gz 54535 BLAKE2B 34387b4be2d02e81e97afb761760aaca24ab05d26b31079359ee7e127cf053b676a5ccb2022c211b46a824c25d59a559906951a6683654078829a358949b74f1 SHA512 f48b1aaf527049d2ccd16933d74d93fff25972999aa89db015253f85132a95083d53ed5270424b02b2de679b63e675abbc8199fc2b978560d7e7ca6be4d46121 diff --git a/app-misc/yq/yq-4.4.5.ebuild b/app-misc/yq/yq-4.4.5.ebuild new file mode 100644 index 000000000000..d113218682a5 --- /dev/null +++ b/app-misc/yq/yq-4.4.5.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +DISTUTILS_USE_PEP517=hatchling + +inherit pypi distutils-r1 + +DESCRIPTION="Command-line YAML processor - jq wrapper for YAML documents" +HOMEPAGE=" + https://yq.readthedocs.io/ + https://github.com/kislyuk/yq/ + https://pypi.org/project/yq/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~loong ~x86" +IUSE="test +yq-symlink" +RESTRICT="!test? ( test )" + +RDEPEND=" + app-misc/jq + >=dev-python/argcomplete-1.8.1[${PYTHON_USEDEP}] + >=dev-python/pyyaml-5.3.1[${PYTHON_USEDEP}] + dev-python/xmltodict[${PYTHON_USEDEP}] + >=dev-python/tomlkit-0.11.6[${PYTHON_USEDEP}] + yq-symlink? ( !app-misc/yq-go[yq-symlink] ) +" +DEPEND=" + ${RDEPEND} + test? ( + dev-python/wheel[${PYTHON_USEDEP}] + ) +" + +PATCHES=( + "${FILESDIR}/yq-3.1.2-test.patch" + "${FILESDIR}/yq-4.4.0-test.patch" +) + +python_prepare_all() { + sed -e 's:unittest.main():unittest.main(verbosity=2):' \ + -i test/test.py || die + + distutils-r1_python_prepare_all +} + +python_test() { + "${EPYTHON}" test/test.py </dev/null || die "tests failed under ${EPYTHON}" +} + +src_install() { + local yq_bin + distutils-r1_src_install + mv "${ED}/usr/bin/yq"{,-python} || die + for yq_bin in "${ED}"/usr/lib/python-exec/python*/yq "${ED}"/usr/lib/python-exec/pypy*/yq; do + if [[ -e "${yq_bin}" ]]; then + mv "${yq_bin}" "${yq_bin}-python" || die + fi + done + if use yq-symlink; then + dosym yq-python /usr/bin/yq + fi +} diff --git a/app-portage/elt-patches/Manifest b/app-portage/elt-patches/Manifest index 74efd560c2a7..dc5357963702 100644 --- a/app-portage/elt-patches/Manifest +++ b/app-portage/elt-patches/Manifest @@ -1,4 +1 @@ -DIST elt-patches-20240912.tar.xz 47436 BLAKE2B 589643e96f83a13fec4553c4ceb14af5993be43e3519678ecfcbd689d7a0016d2cd3c06f131548c90da19188a75cd2828accc5bd516373fa64401bdbad92bce2 SHA512 502347387c594df9ebb453c5258d0d8125694b6170da6136d9579d1535e6d944f9b4eda1a049cdadbb1df29665c00165c1b0f0804413ac4470a082c49272bebd -DIST elt-patches-20241121.tar.xz 47760 BLAKE2B e0ac30748586dc5885539d79f29d5283f80cea51fdbd4af44640b7475f6a46d5c4bc30e4b452a495c3bde16d103f5e320667969c30f06cf55824b2fcdab1e45f SHA512 bce7fc40f10f8db568a3a7237daa3ce9e23dd9ea3c41f26e285cdc350c0b7afbd44eed996324ea9b091b7e69990822458e09c486f12deb70b1a5ee917aa43a80 -DIST elt-patches-20250306.tar.xz 47852 BLAKE2B 40b75cbea3f4dc0a1507e82e482dcd6d647eb7de6f4f357c1073aeab1f55d974a673fb69c2cdb76d31fc7dbfa808bbfa81f1c29917dc813d7ca2e26490e9bd42 SHA512 c1d9af54cd582aef558104403ac84ff195746ac1b26ff52aa787b1d95f547da65da74385b2d8465b7b6c6a8c4cb8eb0422e97ae86919be0b3704d98971432a12 DIST elt-patches-20250718.tar.xz 47980 BLAKE2B caefe201e6ab853e0a537b2e22271befd531763f44a7608e062d31c497200a3d812d907382657df151615cf1df291e1f8f33275b5a0f835872561e7ad764bd7e SHA512 ed3d4b3496de33c4ad813d114cdfad798f728d87aa38e2ad6160b716ae59cbe9a7bee21be5c2d25d9f785654773f13bf4424c0b58527ba36a70917788513bff9 diff --git a/app-portage/elt-patches/elt-patches-20240912.ebuild b/app-portage/elt-patches/elt-patches-20240912.ebuild deleted file mode 100644 index 3a8df6541941..000000000000 --- a/app-portage/elt-patches/elt-patches-20240912.ebuild +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DESCRIPTION="Collection of patches for libtool.eclass" -HOMEPAGE="https://gitweb.gentoo.org/proj/elt-patches.git/" - -if [[ ${PV} == *9999* ]] ; then - EGIT_REPO_URI=" - https://anongit.gentoo.org/git/proj/elt-patches.git - https://github.com/gentoo/elt-patches - " - inherit git-r3 -else - SRC_URI=" - https://dev.gentoo.org/~grobian/distfiles/${P}.tar.xz - https://dev.gentoo.org/~vapier/dist/${P}.tar.xz - https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz - " - - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" -fi - -LICENSE="GPL-2" -SLOT="0" -# The 'check' target currently wants network access to fetch libtool tarballs. -RESTRICT="test" - -RDEPEND="sys-apps/gentoo-functions" -BDEPEND="app-arch/xz-utils" - -src_compile() { - emake rootprefix="${EPREFIX}" libdirname="$(get_libdir)" -} - -src_install() { - emake DESTDIR="${D}" rootprefix="${EPREFIX}" install -} diff --git a/app-portage/elt-patches/elt-patches-20241121.ebuild b/app-portage/elt-patches/elt-patches-20241121.ebuild deleted file mode 100644 index 3a8df6541941..000000000000 --- a/app-portage/elt-patches/elt-patches-20241121.ebuild +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DESCRIPTION="Collection of patches for libtool.eclass" -HOMEPAGE="https://gitweb.gentoo.org/proj/elt-patches.git/" - -if [[ ${PV} == *9999* ]] ; then - EGIT_REPO_URI=" - https://anongit.gentoo.org/git/proj/elt-patches.git - https://github.com/gentoo/elt-patches - " - inherit git-r3 -else - SRC_URI=" - https://dev.gentoo.org/~grobian/distfiles/${P}.tar.xz - https://dev.gentoo.org/~vapier/dist/${P}.tar.xz - https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz - " - - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" -fi - -LICENSE="GPL-2" -SLOT="0" -# The 'check' target currently wants network access to fetch libtool tarballs. -RESTRICT="test" - -RDEPEND="sys-apps/gentoo-functions" -BDEPEND="app-arch/xz-utils" - -src_compile() { - emake rootprefix="${EPREFIX}" libdirname="$(get_libdir)" -} - -src_install() { - emake DESTDIR="${D}" rootprefix="${EPREFIX}" install -} diff --git a/app-portage/elt-patches/elt-patches-20250306.ebuild b/app-portage/elt-patches/elt-patches-20250306.ebuild deleted file mode 100644 index 3a8df6541941..000000000000 --- a/app-portage/elt-patches/elt-patches-20250306.ebuild +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DESCRIPTION="Collection of patches for libtool.eclass" -HOMEPAGE="https://gitweb.gentoo.org/proj/elt-patches.git/" - -if [[ ${PV} == *9999* ]] ; then - EGIT_REPO_URI=" - https://anongit.gentoo.org/git/proj/elt-patches.git - https://github.com/gentoo/elt-patches - " - inherit git-r3 -else - SRC_URI=" - https://dev.gentoo.org/~grobian/distfiles/${P}.tar.xz - https://dev.gentoo.org/~vapier/dist/${P}.tar.xz - https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz - " - - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" -fi - -LICENSE="GPL-2" -SLOT="0" -# The 'check' target currently wants network access to fetch libtool tarballs. -RESTRICT="test" - -RDEPEND="sys-apps/gentoo-functions" -BDEPEND="app-arch/xz-utils" - -src_compile() { - emake rootprefix="${EPREFIX}" libdirname="$(get_libdir)" -} - -src_install() { - emake DESTDIR="${D}" rootprefix="${EPREFIX}" install -} diff --git a/app-text/crengine-ng/Manifest b/app-text/crengine-ng/Manifest index c06c34217721..0ba6e1fbb96f 100644 --- a/app-text/crengine-ng/Manifest +++ b/app-text/crengine-ng/Manifest @@ -1,3 +1,3 @@ DIST crengine-ng-0.9.13.tar.bz2 4382856 BLAKE2B fab44a0c994bb6ca667c3b1e60207e3d3fd13c288b2074fb70570e79e206f84aaebdca5879594e60dee01996a17d89f5d7cfcad421555d19a80cf136ce2be0ef SHA512 5289d045dd226b34747c70ca109eeee1d54d69309213d15bd788db554f76a1eefe7eb47f02bb91ea4a96a418e07b6c3df199ed26ff40800e6cdfdb93862f6a15 -DIST crengine-ng-0.9.14.tar.bz2 4377676 BLAKE2B f83b86e26419eba1039f7510ee714dff79396bd155a71790e3a197ab287f10c4f53b0485458b7d84b336553afcc8521d6e764982c39f7378b203cfebb8ee6935 SHA512 d7d0f355654968acb64067c52dadfc9d8c5a1b036f334fa5a058af89594dc0cbc6f8653093288e5b13d8179f4bf764de4eed833b32466a446e435651ccb4effc +DIST crengine-ng-0.9.14.1.tar.bz2 4376928 BLAKE2B e698ed94a433316fbd380d5f8fe7feecf14d90c739c7b2f16413601f16e50cef2ca0f86b940fe398f73dd102423f1a96c96cdfb9187a0467eeffd04a8fac57d6 SHA512 be016938777fc9e3247b1ec5c34112a9c9e9b2618c8190d4eeb7323b91718ef5e8db024f139b4a37974fdb39d9d24928f554e7d1f1586bc512f20883cec32ae1 DIST freefont-otf-20120503.tar.gz 4487813 BLAKE2B a280bef885bc71897a8475814602d7537b05d14a70e5857acd1007bc0a074be9db1e08fbd63fcabf3fde7874391bdd319d00b213e29b203d474fb320e91b82a2 SHA512 cee9a573b17ccc689b61f0925fb6624d58e3a3369d996e379e70c3a4cd750429d68c14c85fbcab4381101c8f4bf56730ef40e0045fdd79647019db41b4ec74fd diff --git a/app-text/crengine-ng/crengine-ng-0.9.14.ebuild b/app-text/crengine-ng/crengine-ng-0.9.14.1.ebuild index 23497d015458..23497d015458 100644 --- a/app-text/crengine-ng/crengine-ng-0.9.14.ebuild +++ b/app-text/crengine-ng/crengine-ng-0.9.14.1.ebuild diff --git a/app-xemacs/ebuild-mode/Manifest b/app-xemacs/ebuild-mode/Manifest index a312c9ae3b89..0cb895b28033 100644 --- a/app-xemacs/ebuild-mode/Manifest +++ b/app-xemacs/ebuild-mode/Manifest @@ -1,3 +1,2 @@ -DIST ebuild-mode-1.84.tar.xz 52864 BLAKE2B 915374ea20e9ba9d8a15a009a55ac081f33e0ac56395362a5b326464c25478a4cf3d16ff1144963aa13ca091cb2603d144fbe1c4f61c653a4456cf20c03c61f4 SHA512 d3218b4811e0b1f68f3f8e409e9fee825783923e6a4ad8cdcaa7f39d96580b2e7a5678814fc219992f0fe4c1dd1505c0abc725c2cec8ff251d6fbc2d9af9ef55 DIST ebuild-mode-1.85.tar.xz 53428 BLAKE2B afc036a88cd82d8c1a6a5cb307b72938a906c62a4cb8ac4dd15d3cbd812751d8bc21a527574a862e7a0211bf349546cb26623894f6e1fb26171f6167582275f7 SHA512 eb09e11e7ad24a51e0fe478079e479ef1fd6760e992e09743b99942fe698a757be854dc10f6f6bd3ffe81040ff67ce19bca271e1aca37989ba4f7368f4d79f35 DIST ebuild-mode-1.88.tar.xz 55788 BLAKE2B cae7b3b71d113c58a53dc5ddf6986c384dcdc14ac2abedcdddb3d337ad5570e6cff9fe3b4143d696ab088237ab6a6869fb56ae46c0bda13661698dc424b30b37 SHA512 66da1e0093325e9f2f95321d6aec90b349b27be5d9848ad05a30e07bcddbca829f76169316dfa42fb954d662be2a3e437f539eeac2b30e10a025628080948409 diff --git a/app-xemacs/ebuild-mode/ebuild-mode-1.84.ebuild b/app-xemacs/ebuild-mode/ebuild-mode-1.84.ebuild deleted file mode 100644 index 53609a92e434..000000000000 --- a/app-xemacs/ebuild-mode/ebuild-mode-1.84.ebuild +++ /dev/null @@ -1,62 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit optfeature - -if [[ ${PV} = 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/ebuild-mode.git" - EGIT_BRANCH="master" - EGIT_CHECKOUT_DIR="${WORKDIR}/${PN}" - S="${WORKDIR}/${PN}" -else - SRC_URI="https://distfiles.gentoo.org/pub/proj/emacs/${P}.tar.xz" - KEYWORDS="amd64 ~hppa x86" -fi - -DESCRIPTION="Emacs modes for editing ebuilds and other Gentoo specific files" -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Emacs" - -LICENSE="GPL-2+" -SLOT="0" - -RDEPEND=">=app-editors/xemacs-21.5.35 - app-xemacs/sh-script - app-xemacs/tty-format" -BDEPEND="${RDEPEND}" - -EMACS="${EPREFIX}/usr/bin/xemacs" -EMACSFLAGS="-batch -q -no-site-file" - -src_compile() { - ${EMACS} ${EMACSFLAGS} \ - -eval "(add-to-list 'load-path nil)" \ - -f batch-byte-compile \ - ebuild-mode.el gentoo-newsitem-mode.el || die - - ${EMACS} ${EMACSFLAGS} \ - -eval "(setq autoload-package-name \"${PN}\")" \ - -eval "(setq generated-autoload-file \"${S}/auto-autoloads.el\")" \ - -l autoload -f batch-update-autoloads \ - ebuild-mode.el gentoo-newsitem-mode.el || die -} - -src_test() { - emake check EMACS="${EMACS}" EMACSFLAGS="${EMACSFLAGS}" -} - -src_install() { - insinto /usr/lib/xemacs/site-packages/lisp/${PN} - doins ebuild-mode.{el,elc} ebuild-mode-keywords.el \ - gentoo-newsitem-mode.{el,elc} ebuild-mode-kw-gen.el \ - auto-autoloads.el -} - -pkg_postinst() { - optfeature "directory support" app-xemacs/dired - optfeature "ebuild commands support" sys-apps/portage - optfeature "additional development tools" dev-util/pkgdev - optfeature "ebuild QA utilities" dev-util/pkgcheck -} diff --git a/app-xemacs/ebuild-mode/ebuild-mode-1.85.ebuild b/app-xemacs/ebuild-mode/ebuild-mode-1.85.ebuild index 041c6a40283b..bcbdda09f014 100644 --- a/app-xemacs/ebuild-mode/ebuild-mode-1.85.ebuild +++ b/app-xemacs/ebuild-mode/ebuild-mode-1.85.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} = 9999 ]]; then S="${WORKDIR}/${PN}" else SRC_URI="https://distfiles.gentoo.org/pub/proj/emacs/${P}.tar.xz" - KEYWORDS="~amd64 ~hppa ~x86" + KEYWORDS="amd64 ~hppa x86" fi DESCRIPTION="Emacs modes for editing ebuilds and other Gentoo specific files" diff --git a/dev-build/autoconf/autoconf-2.73-r2.ebuild b/dev-build/autoconf/autoconf-2.73-r2.ebuild index 9170a04e78bd..92793930496d 100644 --- a/dev-build/autoconf/autoconf-2.73-r2.ebuild +++ b/dev-build/autoconf/autoconf-2.73-r2.ebuild @@ -35,7 +35,7 @@ else AUTOCONF_SLOT=$(ver_cut 1).$((($(ver_cut 2) + 1))) else AUTOCONF_SLOT=$(ver_cut 1-2) - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi BDEPEND="verify-sig? ( sec-keys/openpgp-keys-zackweinberg )" diff --git a/dev-build/meson/meson-1.12.1.ebuild b/dev-build/meson/meson-1.12.1.ebuild index 88658975076e..348bc25f67a2 100644 --- a/dev-build/meson/meson-1.12.1.ebuild +++ b/dev-build/meson/meson-1.12.1.ebuild @@ -37,7 +37,7 @@ else VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi fi diff --git a/dev-cpp/ada/ada-4.0.0.ebuild b/dev-cpp/ada/ada-4.0.0.ebuild index 0f38e5c14257..c05c2442bc78 100644 --- a/dev-cpp/ada/ada-4.0.0.ebuild +++ b/dev-cpp/ada/ada-4.0.0.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://github.com/ada-url/ada/archive/refs/tags/v${PV}.tar.gz -> ${P}. LICENSE="Apache-2.0 MIT" SLOT="0/$(ver_cut 1)" -KEYWORDS="~amd64 arm arm64 ~loong ppc64 ~riscv x86" +KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86" RESTRICT="test" src_configure() { diff --git a/dev-cpp/gpgmepp/gpgmepp-2.2.0.ebuild b/dev-cpp/gpgmepp/gpgmepp-2.2.0.ebuild index 5d81a7e9bb8d..ab4bcb170286 100644 --- a/dev-cpp/gpgmepp/gpgmepp-2.2.0.ebuild +++ b/dev-cpp/gpgmepp/gpgmepp-2.2.0.ebuild @@ -15,7 +15,7 @@ SRC_URI=" LICENSE="LGPL-2+ test? ( GPL-2 GPL-2+ LGPL-2.1+ )" SLOT="0/7" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="test" RESTRICT="!test? ( test )" diff --git a/dev-db/mongodb/mongodb-8.0.29.ebuild b/dev-db/mongodb/mongodb-8.0.29.ebuild index 7167795e5287..43059f45e65a 100644 --- a/dev-db/mongodb/mongodb-8.0.29.ebuild +++ b/dev-db/mongodb/mongodb-8.0.29.ebuild @@ -62,7 +62,7 @@ S="${WORKDIR}/mongo-${MY_PV}" LICENSE="Apache-2.0 SSPL-1" SLOT="0" -KEYWORDS="~amd64 ~arm64" +KEYWORDS="amd64 ~arm64" IUSE="debug ssl cpu_flags_x86_sse4_2 cpu_flags_x86_ssse3" # https://github.com/mongodb/mongo/wiki/Test-The-Mongodb-Server diff --git a/dev-java/javacc/javacc-8.1.0.ebuild b/dev-java/javacc/javacc-8.1.0.ebuild index 0fbeb5838605..3d5c0a5bb5a1 100644 --- a/dev-java/javacc/javacc-8.1.0.ebuild +++ b/dev-java/javacc/javacc-8.1.0.ebuild @@ -15,15 +15,19 @@ S="${WORKDIR}/javacc-8-core-core-${PV}" LICENSE="BSD-2" SLOT="8" -KEYWORDS="~amd64 ~arm64 ~ppc64" +KEYWORDS="~amd64 ~arm64" + +DEPEND=" + >=virtual/jdk-1.8:* + test? ( dev-java/javacc-java:${SLOT} ) +" -DEPEND=">=virtual/jdk-1.8:*" RDEPEND=">=virtual/jre-1.8:*" JAVA_RESOURCE_DIRS="src/main/resources" JAVA_SRC_DIR="src/main/java" JAVA_TEST_EXCLUDES=( org.javacc.JavaCCTestCase ) # This class has no tests -JAVA_TEST_GENTOO_CLASSPATH="junit-4" +JAVA_TEST_GENTOO_CLASSPATH="javacc-java-${SLOT} junit-4" JAVA_TEST_SRC_DIR="src/test/java" src_prepare() { diff --git a/dev-lang/ispc/Manifest b/dev-lang/ispc/Manifest index 100e6e718143..20ce123d999d 100644 --- a/dev-lang/ispc/Manifest +++ b/dev-lang/ispc/Manifest @@ -1 +1,2 @@ DIST ispc-1.31.0.gh.tar.gz 20164383 BLAKE2B 2b2f0c988299282a0b969b6e712c46c66e8d361c7c23d67adfa876b66fe0c9a13346189a8bf71a991dc5574c566a48f364f055ee1f9bb7ebb3118b360bed33d7 SHA512 eff612d2671a6e8c033ec6b7247c49c74704a64e56535117c815a8db9cbfa73051fb2ee4326ed15c8fbe983beeec87c1a46d6041dc56672df37f9ac756bf5b5e +DIST ispc-1.32.0.gh.tar.gz 20203662 BLAKE2B 53335b8eb1105868f2b7279b69fee362e25f3d7902a84d87f0a67345d692ee5948be592f85dc5e556576d85c9c5932b81f41497b91919c97700277617c80293a SHA512 47b88f9e16bf1dca7fa64247228922ea5faa926cd9e240e61693a7ebd2531262fc010f2e1bcd3fa328125c662748ec42347e2781bf1c7eac93a03907798630a8 diff --git a/dev-lang/ispc/ispc-1.32.0.ebuild b/dev-lang/ispc/ispc-1.32.0.ebuild new file mode 100644 index 000000000000..22e84d251dbd --- /dev/null +++ b/dev-lang/ispc/ispc-1.32.0.ebuild @@ -0,0 +1,99 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( {20..23} ) +PYTHON_COMPAT=( python3_{13..14} ) + +inherit cmake dot-a llvm-r1 multiprocessing python-any-r1 toolchain-funcs + +DESCRIPTION="Intel SPMD Program Compiler" +HOMEPAGE=" + https://ispc.github.io/ + https://github.com/ispc/ispc/ +" +SRC_URI=" + https://github.com/ispc/ispc/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="BSD BSD-2 UoI-NCSA" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +IUSE="examples gpu openmp test" +RESTRICT="!test? ( test )" + +DEPEND=" + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + ') + sys-libs/ncurses:= + gpu? ( dev-libs/level-zero:= ) + !openmp? ( dev-cpp/tbb:= ) +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + app-alternatives/yacc + app-alternatives/lex + ${PYTHON_DEPS} +" + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp + llvm-r1_pkg_setup + python-any-r1_pkg_setup +} + +src_prepare() { + # do not require bundled gtest + mkdir -p ispcrt/tests/vendor/google/googletest || die + cat > ispcrt/tests/vendor/google/googletest/CMakeLists.txt <<-EOF || die + find_package(GTest) + EOF + # remove hacks that break unbundling + sed -i -e '/gmock/d' -e '/install/,$d' ispcrt/tests/CMakeLists.txt || die + + cmake_src_prepare +} + +src_configure() { + lto-guarantee-fat + local mycmakeargs=( + -DARM_ENABLED=$(usex arm) + -DPPC64_ENABLED=$(usex ppc64) + + -DCMAKE_SKIP_RPATH=ON + -DISPC_INCLUDE_EXAMPLES=OFF + -DISPC_INCLUDE_TESTS=$(usex test) + -DISPC_INCLUDE_UTILS=OFF + -DISPCRT_BUILD_GPU=$(usex gpu) + -DISPCRT_BUILD_TASK_MODEL=$(usex openmp OpenMP TBB) + # prevent it from trying to find the git repo + -DGIT_BINARY=GIT_BINARY-NOTFOUND + ) + cmake_src_configure +} + +src_test() { + # Inject path to prevent using system ispc + local -x PATH="${BUILD_DIR}/bin:${PATH}" + "${EPYTHON}" ./scripts/run_tests.py "-j$(makeopts_jobs)" -v || + die "Testing failed under ${EPYTHON}" +} + +src_install() { + cmake_src_install + strip-lto-bytecode + + if use examples; then + docompress -x /usr/share/doc/${PF}/examples + dodoc -r examples + fi +} diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest index 5f9895cb56fa..945d80913b51 100644 --- a/dev-lang/python/Manifest +++ b/dev-lang/python/Manifest @@ -1,49 +1,27 @@ DIST Python-2.7.18.tar.xz 12854736 BLAKE2B 060a621c91dd8e3d321aec99d44c17aa67381998256a1a002d316b38288349884d5960de35c49352d03129ed0bae599e641ec2225898158ebce50a7a2fd74d2c SHA512 a7bb62b51f48ff0b6df0b18f5b0312a523e3110f49c3237936bfe56ed0e26838c0274ff5401bda6fc21bf24337477ccac49e8026c5d651e4b4cafb5eb5086f6c DIST Python-2.7.18.tar.xz.asc 833 BLAKE2B 1d98770e46171971fb99994508d238c01d2755281d2f94353314014d9e83e0ec5f0b3e3950ea1fdf5fce9ba6b8f55312355845c2a3fc4291c27ee56fe6215448 SHA512 c2a5f5a52f47dec52460ad3275758d4e5de6e7075c3def4353c988d74d563a39b42cae2d5eb24e2a23a6247cef69100f91620b11a49c2359fbf99b203c9cbda8 -DIST Python-3.10.20.tar.xz 19868028 BLAKE2B 2c87aba3688454eeba9828689f7d6b4cd31d12b23cff8849f6565ba3731030a726f00285d95c301f4cd6ea4316a0b63b10b2d551e03c7eaf7750f69a422626e1 SHA512 591d3acf7ef47307b8c58fec9516731b374bcdf6eb21883410f67402f823a183f1abffec1116583e394610730f414d5a98b4c3437ea5174a4d2adbb99b8f6e5b -DIST Python-3.10.20.tar.xz.asc 833 BLAKE2B a0c698708b74cc9510374c07cc65b69fd492aeef1e910e58289f7f197edf5d42b4a14a09971c36fd8e8d01b744197a58ce081a8830610009306136ee3dc279ff SHA512 cb90ce514c63c63adc10cbb3db778eae626b922461715954daf08b3a3a99b8b4c750fded624787b7d28fc10a203b0e0e5494b91e5305ef56a23fda46c023c203 DIST Python-3.10.21.tar.xz 19896516 BLAKE2B aeca599f2f94b333c0bf1e4cb8d8ec6a60fc981686a436406345ab108dd913228eef514e52414c07d606f72ab716c90de674c6d7516aeb58e0393909bbc8bab8 SHA512 6f6de7c5e4c0457f2d189ed5d111c83fb8775e19123afe4f9fd0ae2b93f3fa2bbb7ad849ade6bb5227d4a6a3d63abc8e167fbe5fb54fa715660c89fd6274daee DIST Python-3.10.21.tar.xz.asc 833 BLAKE2B 1933b63b13e32c8ca9d7edfbad474569da81630d17e0be49b01d9092e25773af2a1c09058382d75c9783b426418a891d3ee68a24e64b9e8efd46bf6955d43f9f SHA512 72d6aeaa0f51e527f82392cf1f969b0ad50a48fe10e8b7e5feb6117718223d00757f7b375b3ac82e257571d5a61f8162e9dd59b81fcf8f2a441c6deb42be71cb DIST Python-3.10.22.tar.xz 19907500 BLAKE2B 4a26fbe20f6bd5031c6b7e8fbe2d48d8bb78f4fbd867420fc469d85be5edcd20c1372e24a4c2f7f183cd72c55ebacb2f52fb39c16713c49a34c50e3331937bfe SHA512 ffdcd1150c22b4c19ed7889891032c6f5d352cc610049906d5c6d6744b091118538ac7f81025a15a4fba5bcc4d05225a108fa430f04d7235e52210ddfa2e9fb2 DIST Python-3.10.22.tar.xz.asc 833 BLAKE2B 6dd65ee9a9bdf84c27a3243cf1e12398af69c81a329f31c194ec46e4478edbc73ed8a5129d63127849e5da79f5ed455a76dfac4c2aa8f24e44f974a52f1bfe17 SHA512 57fc04ee4fd76f241df730c92d0b317ea2e69d9b236e2efec1a8071e46c1a5b2eb6bc2af5b738fe89b78693cb3c87bb921c8ce487f5f56570439a807530ae029 -DIST Python-3.11.15.tar.xz 20332596 BLAKE2B 8be4dd30aff7a2615fd37754dc6ed1caede1507ef7716e500a2e1d1aa421668e810a2c13dfc743bcd47576a7715588476bd8c3d42275a24215a85109d6da7062 SHA512 1667f4839acfd23d05917a12993983b7dc3ab4438a37c72496fd040ac6981f4dea9dc95461ca701a6862beedb56c423fb83398b8b18e39e1efe12f539fced1c1 -DIST Python-3.11.15.tar.xz.asc 833 BLAKE2B dd4134701ef36d22c7bca8ea16794d3e85dc2a2b6323b2babfdeb2652ade1db8b7d4256cb68a40ee1c1a2b5885666e25791c1e4d6c044cc8d49f68693ec65887 SHA512 673822ca037acb521bf7d3e7433f83cc2d60c8d102cfbf6695234e2a50ce12a7003040ad4017438510ebbb1ff0ba6727253fae250b07bc0e3d24b5578e80be52 DIST Python-3.11.16.tar.xz 20328716 BLAKE2B 1a8cb139045e28f4176b1e97ab73abbb2e206e56375f198325f25c17a452a6929a6cc0ba1b25c851f0c5ac33c7c0e70bac4ef39ef3c21a10233a22f01fd2ffa9 SHA512 f4e168d35596c2df080663d8e8b3472f03bace987d46b49b8410f2425ba193215b9880c7d03d4653ec31c83b72209d95866fc1cb6d666799145075b092f64a48 DIST Python-3.11.16.tar.xz.asc 833 BLAKE2B 9bbb865ed7a4bf2dc50a29608f92390213ae8811641ef7af85eefe5a7130bee149b07c2b43019b8dd8cbc41e03fc69ffd9826d7c32ca288f17247d034ee46c67 SHA512 b31b3205e68951478fe76f4884a124ebb4955a711b6105754d4179acb48b16a5439ec8c35383a84787cd673fa1143f2f047c6d65944909b0f1a8e3c75a0e2efe DIST Python-3.11.17.tar.xz 20352864 BLAKE2B 2c1455b19e3a773221896c87c07875513491f1c50cbf8f84e8a2fd3b95a6033c1d313c6d20ca141b88e30b70404e3bad2b260b29c152d280d96b13e682fe3ed3 SHA512 17bcb2ee4edc7431bc8a166b46288643ae37cae46a8f707a61c3b146f34e47d7e980a72e97a6376e3ca79d7dee3af6e88a1ffaf888df083573ac681afe3ac6f3 DIST Python-3.11.17.tar.xz.asc 833 BLAKE2B 7efa77b90da6fd71d942bb38868b0da90d6f1f1e2c7a2a1c81380d86b0e5890ac9ccf70afde3515d0135cd0cf3741fa7e459c9c0a5a23e7bd2e9c7e3f03f1ce7 SHA512 3a27ebb78b2edcd46c4a62cfd8c08ef43e3166a4ac31b198ba3731d7e5aec86f268b5f6f804dbd72d72f40276193d2277e9915e642c2743ff97fda5040eb43bf -DIST Python-3.12.13.tar.xz 20801708 BLAKE2B 94b99c75e3aba1d1a953b5447f8ad6b7ebec921bc8cf32a9dfd449e574e4b7e2a010f0f267c31c859acec0092669203c71c90386c80203968126d9dbfb6ae85d SHA512 e1eb66f0b34581f0155e3ce25ba72cf0b4b1107672ed0ad3e86bcfe616945c9204c41ffc492f32b1066b9154913ff88343038967ad8711dd05e6f2332fdb735b -DIST Python-3.12.13.tar.xz.asc 963 BLAKE2B e6bc572fd207fe203cf8018bca89777c7033e46d25cc598b5715658f556d26b6f3b1652f13518850ad62a37254ab4ecf5f770197cb847306ffef96b747840e88 SHA512 903fd3baa7e29891bb00fb159ec9c43804a71002c4cd38902d25bf4e5167f856b37d211a5b1098ee60e1ea41f8a10a1596dd2382edc6d7367d55dd4154807fc7 DIST Python-3.12.14.tar.xz 20820300 BLAKE2B 3ef16b62edfe1aca66180a31eaa8b05059563acf9e83669b705dc7ce58417d72e04a156d6cc6130127fb54bfdf4a390d6a2f2961f228ba3d3a5de1a2340bab7e SHA512 9007399ffdd3a493c91a98cd7a6cb93acfb8de80f3be2f5480cda36f134d49b5043a60bc6b5c62ed18cc6a2e4e3c81cb7556ac5f337e2cd58ff3449a8099ed22 DIST Python-3.12.14.tar.xz.asc 833 BLAKE2B 5531fd3eff81a3177b70659c8853330d6e613c0ce8888b24666367d6c25a22aaf59b3ae375b199b1d4ef76933842e602b74daabb001e0fc9516768d2c59c78dc SHA512 69cc4757f5d79ea46f9b632d5b34f9f16855cb1f767f77c827ad65546ba8f77b68e75a661ebc4e4f453edd7a98a73d916491597f67d4fed9c891aa599a869324 DIST Python-3.12.15.tar.xz 20829824 BLAKE2B 9bdc03059b0f0de6691a0ab250279f9dac30cfa4e6d9ad81826ceec26218fd21048ba4a26a83175beece3d5754ff972ee065570244786c129c160df6ac8c3ca3 SHA512 def68bdc3e3aba4d285ae8b305c90f2319297b5a7b1888f582b3cef979bf7f43db0d3047b23312935904576982336f9f78506183b109f388905bf4db33e6abea DIST Python-3.12.15.tar.xz.asc 833 BLAKE2B f59a0f7098cf83a35e22a96fd6f980266c29f0ee27c0408f3dc6616af6bede3941a398b0f055928edcd8a1396dc31fee865e136c93eb7a21e69ab2d740f9f595 SHA512 c985540a712f6bb1ea1bd74a68fe020735f57b74e14404dda0d30a16146c27464c828c356f9e6593d25e1dc142aa73cbb44bcd6bdc201791dcf46ba2593e2408 -DIST Python-3.13.14.tar.xz 23021880 BLAKE2B 8f60f704c06fbfc2ee8ae3b2aa5c74cb5941f609baf74b3625eb37929933d2a3c806e9257c7d7f860d775a94454ed3ad90f50402ddd110b8bb32c40879bf66ec SHA512 0790da65f8ce88a13b06d3b287ace5a1f36b0a8f630a3af00fbbdf93b6ef0944dea05173a20c9e1336d280ef9a97ae2b95a44a4b487a7bbb71fda53b6331c0eb -DIST Python-3.13.14.tar.xz.asc 963 BLAKE2B d500bc16d5a1a1fb999b6c98ed076077a7fa8ab55b437a676c5f20f4665d27ee4644653e55a82ab78f2be18bb38b2cfa95efe5f39d7d39db3fe6c4b227c5d6ad SHA512 a5cfab862ac03447838d13c4d1a9b085a8c8a947c958fd42cecb42929817b1448c1b23a124c87456abd43a1cadfcfb427f394eead9eaf0b84f3296fa263dba6c DIST Python-3.13.15.tar.xz 23160540 BLAKE2B 919260666d5e641fa174de3f9ce4dace7bc2944446d11bf2a954a77acfc8f8b18ce2517b805887d78ed970486e5c893715f4252c96bf09943044d773a05d7279 SHA512 b0ab766a3de0b4cfdbf0b93300d7330c734d3f7057577bb03e95e39da4cdade81993e769c7fa6dfdcc13b9d43a3b399d9cd89b5477b413662e9e691c1b7886b8 DIST Python-3.13.15.tar.xz.asc 833 BLAKE2B daba95f5977f80a155effdfba3e1a8a744a739f0aa0d1f4f7d2e410cd91833c1faad1186ef50d1979ec061e4a9f0c71444955612a75b4874898c9cf571019a01 SHA512 662c00be95f62e80db43cf42099fef91f764ff7a4433cadf7eb19dedb5e4775adb12878d5ed2295fcea187731de186163ad9672ab72cde62a2335ca58ec1ad86 DIST Python-3.13.16.tar.xz 23225704 BLAKE2B 1a3912f93d51e86ae7c2ab6478a7286121a0e3410e2f6b67028aafb3e5bf49289e2c79d0f7af9264ee09374fdcfec136554f15e979330904a37b57c37f60a618 SHA512 7283884583b181161aff5ce523c0cdf03904a1d7a172db2727f7d3f42ae6e4d44f1ac86f7960df4a0203740cc04ab5adba3f404aafd562afe761d9052cc4f32c DIST Python-3.13.16.tar.xz.asc 833 BLAKE2B efa3967a6164038003e30f9c6300a2a72fa0a2b65227064df8d9bd93ac84b84730f29c3a5ea10ac0385188ca22fa3b12cd2bdec19876ec75b49ca0033c397b27 SHA512 14f2ff2a5820d9e4410d4ac5a56aafa2a7e2b2ca8a9f5f6517bc839d61837a27522950999de4a422de4f6499fcec91015f27d940d88b3766bd0ad5d90d46ee92 -DIST Python-3.14.6.tar.xz 23921184 BLAKE2B d3038309c02fb260ee54a4151c67999930099455a993e8b712ec5d7cac97fcd8fc847288b0c93ca8c30d5acbf79325e6d54d16019b7daf51ade982208548386e SHA512 90a82f46c28f0fca613b67358fdc57c145ab05d20fb56bf3bc0c9e4e54947c7d30fbaa6856c41a41909237a9e601d1a7d19579d4b25c7a784ebcfe9012defc41 -DIST Python-3.14.6.tar.xz.sigstore 5539 BLAKE2B f48bd02fb1588306063d2a05b905bb640b23d73a404f39c6b1100b457d71bac296aaf753f24eb25c7bf060cf73972179d6e8b123f6931e69067480ded50e5d01 SHA512 461b8b4b8af0af507681fd1dd684c3559edfcc6cd79454ee0635f8e2d1606e87528ad24c9142bca2eb1ba4a70aeb123750cb9e6c181de6675205849d8cb58a48 DIST Python-3.14.7.tar.xz 24053924 BLAKE2B 7d6988f906a402dbfc87b690f228b5fc53de024602bb459360e0482c1e323e212c71ff389b2c37bcc35248df9d9aa3bf710d3745484048cce7d4a41e5b3ea937 SHA512 3d4e2e2f983b320dec47005c408d7178d3656a6de0c4430ce21514797174b972f461200898b25d3dfac2a455019ef87e45d0fb2bb6ec2ca887124d10037a2a07 DIST Python-3.14.7.tar.xz.sigstore 7101 BLAKE2B 9c016780aad594596b5f4782e755f211bf6c635026c2c854d6594aba2254c84eeb78f0e90eae4b0ba218168c2162999b2e9327184031c43d8b111fb72e95f888 SHA512 6e56084d4c45712d2ce21c4f16008513e4daa22f2a6174b4d715c2bcf80a2fa9a1356ea6c4ecb8470ab2f08117ef79301da666b53b264bac53ae0801e410d189 DIST Python-3.14.8.tar.xz 24130644 BLAKE2B c357ff7ad35ed9daac86cf8b9ba05c2735104aaedd3b4e942e16f4f76ea4990d678f932da11b7d3e8677df5e3e848ed28d89b172844c53675cf09c86b2289903 SHA512 f9e6809b0c45d90fcc174b8051e15058a3037981c9136c598d110a118a22cbbb8263fbd677e07b2b9d93e1aa83cd9cb835b61b6af898fd301d1080a29c2156fe DIST Python-3.14.8.tar.xz.sigstore 7489 BLAKE2B 9815b29e63c481ecb5bdd37f2f8da2d1a363adb1fc138ac00fec37732ecd5dcb34e010c2aaed4dea3aa688543768870aad17cd7999006b8b7974ed05e125e4e2 SHA512 cc030677f2b22287ed42974cd5d2654d1eadec38d66080b04b4a5bf468e9055aeff127dbd5cce508d31c977a38d84a0e87eb3c6375b2b924e03f7883e1d602a9 DIST Python-3.15.0.tar.xz 35688820 BLAKE2B fd061cceb89dc512b0e68f32189ba6d89e5707b633d5606215bdfa173ed67918127c195cbde6c0d759cb1197ebbbb030129f0520ef59eec83554d5d810257983 SHA512 293cbdbb20076c8d9f1ddfb9b72796974b00802f96691843af3924e55e2a7cbd89c1cd85ebd8e35a474eda9e7a878b6622238178ef2de4427e4e34ef70d04265 DIST Python-3.15.0.tar.xz.sigstore 7310 BLAKE2B dc13104044018b770628b085b3baabba2e06decfb0f5d31573fc847c6ca0f933a5a8bf3ff8241fe948009c6a190ea1b3aaf9d787c8b6b8a89dd15bade6a60096 SHA512 995e0bc6732c27a8c18a4f8d0db957fbe6b8e777d7e0b92669e03918aeabbade5443429ff5070bf02a5e03f8c873db1e92fa83e5bf63340b10d8653550ee4bd6 -DIST Python-3.15.0b2.tar.xz 35381676 BLAKE2B 59834dc8301dcc9d7e25fd3faf6060a6755443f3782fd3f035d82896468013d01be1b558f7d5c7099b32d49256b09055fde324660d66a52900f519f75acb5556 SHA512 fae17efc3bd2604fdff2d63e0afeac47562165a5da2e1e027f4126b4f8bbb4957f3a2f406d6db23a20c8881fad108385b4b2afb53482075dbe16a690778ccd4a -DIST Python-3.15.0b2.tar.xz.sigstore 5583 BLAKE2B a766583eb8340ac3bef93ac0bde0ffa66f4680361bb369b3baccd715eb24a8a1f2e5f1ba049e1e8d3c7c53f41a2fe4b0402104156f7c0609355a18dbb24c99e2 SHA512 78f437419f67b10d556ec2304e9f46af4ee0114434e1c51594ccf202aa98ae3b733f4022aeac8fc1afdeeb29fda9328f855dd4914d38318c9ec965b45358153c -DIST Python-3.15.0b3.tar.xz 35459584 BLAKE2B 613f3609775df8b899603363a5e6cce39d3e1e56451c626cf87adc6149d9bbe5d1cddce86e3d86eb521747f4f0ada226322d0d737f881d107adccfd7b8533098 SHA512 a8c73a8e373ca921c87778d011072c1a0602cc203c65acda69117189cf5bd6c277c54044af381f27c243b187bbbb7b3ef47b9318bc89e2c044de9723175d7dca -DIST Python-3.15.0b3.tar.xz.sigstore 5687 BLAKE2B fd74f7eae99854979980740fb5af2f75fcd4a37548667706fe3f301d213244af987afc7a5395d85df48a04f42f0f660ab6c2b717085c43077f7da5b0413aabc3 SHA512 0f9241d114a1b390f547fbd0768be1375d1500c2e9b8d851a3ba87a5d8df1c0963e69c8798dd5576298f0e535860b5faa69ead5f41549d1a4b0e6228603b5a26 -DIST Python-3.15.0b4.tar.xz 35509544 BLAKE2B d7fb1fb55cb75ab28971dc4ce575a61213b2041d12224b387ca6e2c176c818d37f4db07c4064cecdefae794befbd2247cacda43b33dd28485e9a6e547e9b6865 SHA512 ea668ea51334338aa44ee6ab20d9acb958fb7c41c1bd8ef3b91048d80a27f7aa2b2bc7b4c4928714b22c86a7a7719e7c09ae2ac82fc3f3ad01ca3a736f85e067 -DIST Python-3.15.0b4.tar.xz.sigstore 7105 BLAKE2B 78f8667ab32ae1353cb1475a9318e669922d475e0c31fd5e5bd86f944dc318d33299b9fbb6d00eb833cfa0f33dd0f043a6301f3e09f25fb1af892f3bb3a633b2 SHA512 df6545bc6899bcaafa056066b25a35de010a64587af223060f14ae35313b18c9e221f8bced7e256d2b3f9f13fa56c86a1cb8feefe0e24c7ad2efc41e4bf115b9 -DIST Python-3.15.0rc1.tar.xz 35516700 BLAKE2B 97bcfd712f442c0811591c4e23b29840de9755893f5ac03c3a10eaf68682a9620b39d147cf857c319b047b1d816b521b9e1e9b7cb21321974d50bbc1b8ce8c3b SHA512 70dfe0b18bf769206d50d1efa2d3c5d3da7b8333139d9d7f8f404bc8273cdf86348714a7c94869b4af4a38c0ee45559ad0bac6e90e434f11f1ee07ebbda0618a -DIST Python-3.15.0rc1.tar.xz.sigstore 7297 BLAKE2B bc1c314774909316c1860e3bb947740ed9beaa00821416459b9f66eb681a2467a19ca0187ab515f54829a3df8fb3214ac2bf8c68d1b6ead09b5c810c96253fd4 SHA512 1ce9eebc29918a5a74378f3af893104b957a5565cd7f3878e099b799787cc731caccd70f6e8fc450bc4f6a6690e1e1570fdc9ee6722b67fad455e3b075881f7b -DIST Python-3.15.0rc2.tar.xz 35544464 BLAKE2B bd5e1203f2c65bd6cb20f822927b77b65b1f13e2cfd08b295e966f92f3c6c7d9ad9178224fe6cc6d07900c41b5083ce25a8cd1fd896bf50a905b699da4a37fe2 SHA512 afef5f1aa89e7cd875ec99a7b6681c9f1ce18474955b7bbd1cc0def9a3cf69163bc028d06263a008b48b12361d67943289967914a1503e2ccc4e724be7e06c6f -DIST Python-3.15.0rc2.tar.xz.sigstore 7011 BLAKE2B 1a48036e37fc1cc218e9be491303239953b83259947a6ca76241f1a16af3626edefdec270666c0ba6f7835578486872b171e75fbedc24171188609e1b8caa230 SHA512 dcec0764b89abc84e3220448b17d3612c4ddf2ab8dddd282860faf8159cda1b4fae2e7583f4936ed3c62e752289f561efd9cbef9c3f42df71fddfbe17fa9e8a9 -DIST Python-3.15.0rc3.tar.xz 35587476 BLAKE2B b931ee63558909ac94f705912b114a90a4a272c75e475ad203e471d13b500dcff37b8b049b76155e6cbf0ce4d3fe12f5904b4fcd87e982faa31b4f3e5bdf5ea4 SHA512 a6f28aece66e51f8f38c44b0d479fd7b80ef75db6a49862ddcff6a08c34b68ae83aba8fb5987fca3c40929be6a5d4bc21f25a2e9e742681ff8f11ed0a5c4b5ca -DIST Python-3.15.0rc3.tar.xz.sigstore 7481 BLAKE2B 5702b773b8139f862b586c04c8d7c55fc2f2617fbf4f672d8440aedee4cbc98be5079e6bfc9cc5eb1c295dd286da958c83d886f7f8067132006651ba5374cd0f SHA512 b23f297054185ce92d643643a05a58952bf5bb503c6c7659199fa3d0771c3a8c0698f1aa94d763578ecde0063baba47dcad2a8b039b9d906a633c1fccebd1e3d DIST Python-3.8.20.tar.xz 18962788 BLAKE2B 715c75e0c0a3d3b77af7f07478311bb0554b80aac72915be703aa2d0dd6459a972e5669808e64da14a0b91bb183e00655055c1726f302dc3ccd8721e3b4ae3e6 SHA512 3c9341ee1fd33cb687958dcf2b7c0c7700489726c4d530c3e9d9537d46a6ab534541a4b312232d8505bea395a07e4518c42d75fb7571103e6b266f8f44115c61 DIST Python-3.8.20.tar.xz.asc 833 BLAKE2B 5c86c15a1090b42e42bb7512565b1a7ad9d2137d59e9fd1ab0f83fdfc37dfcf184389418d6703db809e9c8c04a169af292665a2b58bf5dc61b7724ecbb4132d9 SHA512 a751ae0407a593d97acac4d5f8a0456580c753efa12a7d960125c219b4897fdb26fc1ffd43d8ea33ad1449162dd3b2904c16b6c51c57561ba73de3ffa62e0eed DIST Python-3.9.25.tar.xz 20183236 BLAKE2B 01c5af78659324e2a596611c11c0fa982f81faf9b401afe1a96399b58321e39c41e46a932e1e4437f3f2bb2d76d8482e852fc66e6f960a4928f7fc99b62dfb7e SHA512 33fd65952cc3ce5df83825aa32a103935815bdd5a016e5fd9896cafb068a3f89b3a6134458a2694e4f0f4f8a9fbe84739b53116264728b32cde0f03ab210cb19 @@ -61,17 +39,10 @@ DIST python-gentoo-patches-3.12.15.tar.xz 14288 BLAKE2B 7542fe0812f67d5b77e22c8a DIST python-gentoo-patches-3.13.14.tar.xz 9360 BLAKE2B 257a43992b857d44881174b36b0940fab3f879060938fe6e6464ae671832a3af624a0cc6f012e44ee344a34d0a8da0c898a29176029bfab70086434fbd3c3b99 SHA512 0084ffc35ff81a7056dd7a3624083ed957fbe482b1cbca9e401ef5851e0046b82b9102f4cf358f2974d7a7dfb3e21e96dcafe6c207417fa01834b9d10a2ee8d6 DIST python-gentoo-patches-3.13.15.tar.xz 9364 BLAKE2B 03cc93d5d89db0fedf92dc80e1a758b408fea4d718c7ef653b5068b791327a0d416870a362a652f21066abf17b15f682850f71473adf8e2bfc86ede4677738e5 SHA512 319805f8dad220b89c6d52bd76ba031f1c8c780c7338fdbe7fd35af685a8ee75ca2568d77863a67de64398e92c4b73beb581481846f81c24eb9f0317b81a848a DIST python-gentoo-patches-3.13.16.tar.xz 9364 BLAKE2B 7eb7072f782955041d5d1284a66312269671a4ef38b38d4b9e3e9fe65f6f4ae2fc1aaa3dae623743903acf38b99b6e15c3a11dd1a7892d6f1d34c3f33c81b7de SHA512 2ba2b6bb9c785ea78a88326ca4185d171a8f5c209a41269e0a70c244d037cae871be60a76c237d54f78720882cefe9fee8f8d3b132fed725b2beaf18765d3ed4 -DIST python-gentoo-patches-3.14.6.tar.xz 10312 BLAKE2B 3415bb7859cdd8754987afdc7d0c793833755698a9a6b7e7b7c75d2c203109640cf5c1aff49ea38419273959479fb745cf956cae263515d82c0e7e67155be5c2 SHA512 19cb6f1424165153d2834b310ef6f8a0ac047351126191457fc0ce49238a6b21fe8a427897a5ce19bdd20076abc2189c71175981a67ab07dcbdec759b80005ab DIST python-gentoo-patches-3.14.6_p1.tar.xz 12032 BLAKE2B 315de6cb5f346c6406e12d4cb6ccbc986e6a39dc334e5ceb4d1ba4922a336d77f0bd0167fb7ef4d1c40ce0829e03248e838dbfbd0a46c0e4e0f6cf9e999e09e8 SHA512 2ac689aa6cff138782440ce1104bf21eace756fd1a72e22590c14157390937f7f50cd1e1ca774bb5a1ff08404b74901fb55d703c39a6ff9c9165e420d1b045e9 DIST python-gentoo-patches-3.14.7.tar.xz 10304 BLAKE2B df9214b27caaef53da93e5468faae24186d5f37b675a86289ae0161539935a509d60635cde4569efd03769e228fb7d450e396bf731db2b49d4a46e0f70df4a87 SHA512 d8313edbf5126df6ed59d4e06fb813574e4dd672ccd433e6de776a06757deda0e0495bb92e59508d86bb5ee84d2fab8141c5446f6541104b1bd80c8647a1f705 DIST python-gentoo-patches-3.14.8.tar.xz 10300 BLAKE2B d03992cf3aa224c03bdff6bb837879fac6c935265a384170c4139d09a9e3fb246cd7822ae171ed88999d6120512e7f49bd04c1d3f7ccee1967e194e1186ce7b3 SHA512 9d05432b04718ddaa5d09a0fc99d2498078398e94f00470b48f19c1779cc86997917825a1d2ac539e2170d8f0a9ade82a9b8909ae221db395a6f9fdbde3a24f6 DIST python-gentoo-patches-3.15.0.tar.xz 4624 BLAKE2B 844b76e97fe4564613e4a00d02f77b18ef63a1b731ee7112789f9067d973decbcab05aeca2da32945b2c1f03e81705e7b102d4281b43287db948a3483e702f35 SHA512 0b0df753ab876f579e59b351d72b80279562236a1f5b36016eff133e4e3a7bdac7705af53a2f3a8ec4a0836c9357ceb5ea236047e3b12ceedb8ed593267f6cfe -DIST python-gentoo-patches-3.15.0b2.tar.xz 3436 BLAKE2B fa2128b899f2d93078058ccd3e47b780bd092a841b07add94da61a55bb1f9846ec1fa5e00bcd78fcdd1d7da80fdf1dbabcc5d644a70cebce2018c457b186c74a SHA512 e92e87c027c8d777faae20b264cd83353dbb23d15679e99465f014277d02078b8c68fce3723e176cbebd94ac2057e5a9703f0ae5f5691e934b74947735ec3a86 DIST python-gentoo-patches-3.15.0b3.tar.xz 3432 BLAKE2B 994e9339e00dfa4b40395e763f25dde4813d791151787028dafcf2e5159c38bbe88d4b56d07fc4c7454a09bd55edfda94b9cb8cf5c0ff0ffe7db4bb1a8eea8b6 SHA512 8c3a8dea43fc42179679b1f6811979dabb4e1c34821b4aecd894d661842df26e7592f5c74787157f36ccddf9ce233994c774fbe8381dc0ccaff3dfcff0c6c572 -DIST python-gentoo-patches-3.15.0b4_p1.tar.xz 4272 BLAKE2B 850ff2a20381a562da3e727fcbf4d2de88682b9ec086c31359de8a31e0aaf2b87da91d55ec7ceb690c7969d75683bd07e43f88d3bf6f33448f98674c49b404b2 SHA512 7baa9b19cb01bf6c1fc5ca5a62cd08967d4be3f697931ffc7e56da150d4d9a038b1ed212543ae334cb826f59a20ec6cc5d329db72e62fd152271817f5ded1975 -DIST python-gentoo-patches-3.15.0rc1.tar.xz 3432 BLAKE2B ecd250cefb140de9b9072e4fc256a21c0f2b0a372a4fc715cf954e04c8b5ed8932f9729e14fa1c31edbca3db72b6c9fade2bb4571544e26425bfa841cbd9acad SHA512 2d587b31bafe712f87b79c93fc197e7232da29a14df218ec495a57a50a92d1543dc5fb32214a5ef83dc2b0dac22dad493a03cac39b25566f1b4688d810dacefa -DIST python-gentoo-patches-3.15.0rc1_p1.tar.xz 5204 BLAKE2B 088022af757ebcb93a6fed65211147f5e1b4fc3cf319aa4fd6ca18998a96a579711cc18ba392e91a58cbea44fc71facca47ace333fc79957ae779876b30e0349 SHA512 c72a2a312c97e67962b06a2fa2da6292b11fa19cb8fe237e9a100c85672a230acf2f74b47832a601513a100358bcfd70296501652a9692e86a53447f5962fdfa -DIST python-gentoo-patches-3.15.0rc2.tar.xz 3428 BLAKE2B 9bd66e1faff64ddf07367e22c606ea893d073ff6641f443e6dcca88455ae3b9fbca0eaaedfd99a0359eef4ff9b335351dc9b27ac70c4635dfeeaad208d5b2867 SHA512 fe24da1974f6bf25d65c39051584b6b8463d3aad19a7841ee6d16534ab06825acba02842b56e4e93871da6c046d6e5cfa23bad9e1e7b0d23e1a7047c13eb1b97 -DIST python-gentoo-patches-3.15.0rc3.tar.xz 4620 BLAKE2B 23f760b68afb9282a29b15d216df8a9a29600a284d65b666a742713648d003a87a9821b01701ca9db44c16eb1e37bfbf7298b37d4ee2281b4b7880f7c4f681b8 SHA512 71124246679c54e34c69eab426e8b55902e9dcd439af0f1388146bfaf5f0eb2ebda13e134047fb55f18020a610f09452bbcac97c8d48d6b6d1e5e86f4c11d33d DIST python-gentoo-patches-3.8.20_p7.tar.xz 54544 BLAKE2B e31fc9fb5e98b62b0f70165670ec58ed4fa932cfc95d5287c249015a3a372fdbf0d1ba08cb98f63c2dc500700edfd6ffea6db670385d2c86a4fdb92ffb991192 SHA512 a9e7e4976be226931a503af2c986da207d060d4ce436af61f5e8427da513639adbed32bb0061963b83fef275a5de91707ab13b7a9abf3a7472ee0e2c5310eda1 DIST python-gentoo-patches-3.9.25.tar.xz 36604 BLAKE2B 11d35dcbc8979fe37e27a00dfef9683f0bf40514415be416d322f0509109edeb58a2e0b9218cfa3b3326654f5923d165511d203504ca2b52971ad136f8a454d1 SHA512 234bae116b2a5af00506cb76a0b86dfb8cf1f84ee980a358f3642bb717cff4d6f10388b2a07f12118588a174de4d2fd6ad2e3ab24704f9c85f36cb33d51f0c65 diff --git a/dev-lang/python/python-0.3.13.14.ebuild b/dev-lang/python/python-0.3.13.14.ebuild deleted file mode 100644 index 3b3d1c6711ff..000000000000 --- a/dev-lang/python/python-0.3.13.14.ebuild +++ /dev/null @@ -1,582 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -WANT_LIBTOOL="none" - -inherit autotools check-reqs flag-o-matic linux-info -inherit multiprocessing pax-utils toolchain-funcs -inherit verify-sig - -REAL_PV=${PV#0.} -MY_PV=${REAL_PV} -MY_P="Python-${MY_PV%_p*}" -PYVER="$(ver_cut 2-3)t" -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="Freethreading (no-GIL) version of Python programming language" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.asc - ) -" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -IUSE=" - bluetooth debug +ensurepip examples gdbm libedit +ncurses pgo - +readline +sqlite +ssl test tk valgrind -" -RESTRICT="!test? ( test )" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND=" - app-arch/bzip2:= - app-arch/xz-utils:= - app-crypt/libb2 - app-misc/mime-types - >=dev-libs/expat-2.1:= - dev-libs/libffi:= - dev-libs/mpdecimal:= - dev-python/gentoo-common - sys-apps/util-linux - >=virtual/zlib-1.1.3:= - virtual/libintl - gdbm? ( sys-libs/gdbm:=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:= ) - readline? ( - !libedit? ( >=sys-libs/readline-4.1:= ) - libedit? ( dev-libs/libedit:= ) - ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( >=dev-libs/openssl-1.1.1:= ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) -" -# bluetooth requires headers from bluez -DEPEND=" - ${RDEPEND} - bluetooth? ( net-wireless/bluez ) - test? ( - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - ) - valgrind? ( dev-debug/valgrind ) -" -# autoconf-archive needed to eautoreconf -BDEPEND=" - dev-build/autoconf-archive - app-alternatives/awk - virtual/pkgconfig - verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) -" -PDEPEND=" - ensurepip? ( dev-python/ensurepip-pip ) -" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc - -# large file tests involve a 2.5G file being copied (duplicated) -CHECKREQS_DISK_BUILD=5500M - -QA_PKGCONFIG_VERSION=${PYVER%t} -# false positives -- functions specific to *BSD -QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) - -declare -rgA PYTHON_KERNEL_CHECKS=( - ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589 - ["DNOTIFY"]="test_fcntl" # bug 938662 -) - -pkg_pretend() { - if use pgo || use test; then - check-reqs_pkg_pretend - fi - - ewarn "Freethreading build is considered experimental upstream. Using it" - ewarn "could lead to unexpected breakage, including race conditions" - ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" - ewarn "you can reproduce the problem with dev-lang/python. Instead," - ewarn "please consider reporting freethreading problems upstream." -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]]; then - if use test || use pgo; then - check-reqs_pkg_setup - - local CONFIG_CHECK - for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do - CONFIG_CHECK+="~${f} " - done - linux-info_pkg_setup - fi - fi -} - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} - fi - default -} - -src_prepare() { - # Ensure that internal copies of expat and libffi are not used. - # TODO: Makefile has annoying deps on expat headers - #rm -r Modules/expat || die - - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - default - - # force the correct number of jobs - # https://bugs.gentoo.org/737660 - sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die - - # breaks tests when using --with-wheel-pkg-dir - rm -r Lib/test/wheeldata || die - - eautoreconf -} - -build_cbuild_python() { - # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 - local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - # - # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) - local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" - local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" - local -x CFLAGS= LDFLAGS= - local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" - - # We need to build our own Python on CBUILD first, and feed it in. - # bug #847910 - local myeconfargs_cbuild=( - "${myeconfargs[@]}" - - --prefix="${BROOT}"/usr - --libdir="${cbuild_libdir:2}" - - # Avoid needing to load the right libpython.so. - --disable-shared - - # As minimal as possible for the mini CBUILD Python - # we build just for cross to satisfy --with-build-python. - --without-lto - --without-readline - --disable-optimizations - ) - - mkdir "${WORKDIR}"/${P}-${CBUILD} || die - pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die - - # Avoid as many dependencies as possible for the cross build. - mkdir Modules || die - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - _dbm _gdbm - _sqlite3 - _hashlib _ssl - _curses _curses_panel - readline - _tkinter - pyexpat - zlib - # We disabled these for CBUILD because Python's setup.py can't handle locating - # libdir correctly for cross. This should be rechecked for the pure Makefile approach, - # and uncommented if needed. - #_ctypes - EOF - - ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" - - # Unfortunately, we do have to build this immediately, and - # not in src_compile, because CHOST configure for Python - # will check the existence of the --with-build-python value - # immediately. - emake - popd &> /dev/null || die -} - -src_configure() { - # disable automagic bluetooth headers detection - if ! use bluetooth; then - local -x ac_cv_header_bluetooth_bluetooth_h=no - fi - - filter-flags -malign-double - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - # PKG_CONFIG needed for cross. - tc-export CXX PKG_CONFIG - - local dbmliborder= - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - # Set baseline test skip flags. - COMMON_TEST_SKIPS=( - # running gdb inside an ebuild as non-root, within sandbox, - # and possibly within a container is unreliable - -x test_gdb - # this is actually test_gdb.test_pretty_print - -x test_pretty_print - # https://bugs.gentoo.org/933840 - -x test_perf_profiler - ) - - # Arch-specific skips. See #931888 for a collection of these. - case ${CHOST} in - alpha*) - COMMON_TEST_SKIPS+=( - -x test_builtin - -x test_capi - -x test_cmath - -x test_float - # timeout - -x test_free_threading - -x test_math - -x test_numeric_tower - -x test_random - -x test_statistics - # bug 653850 - -x test_resource - -x test_strtod - ) - ;; - mips*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - -x test_statistics - ) - ;; - riscv*) - COMMON_TEST_SKIPS+=( - -x test_urllib2 - ) - ;; - sparc*) - COMMON_TEST_SKIPS+=( - # bug 788022 - -x test_multiprocessing_fork - -x test_multiprocessing_forkserver - -x test_multiprocessing_spawn - - -x test_ctypes - # bug 931908 - -x test_exceptions - ) - ;; - esac - - # Kernel-config specific skips - for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do - if ! linux_config_exists || ! linux_chkconfig_present "${option}" - then - COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" ) - fi - done - - # musl-specific skips - use elibc_musl && COMMON_TEST_SKIPS+=( - # various musl locale deficiencies - -x test__locale - -x test_c_locale_coercion - -x test_locale - -x test_re - - # known issues with find_library on musl - # https://bugs.python.org/issue21622 - -x test_ctypes - - # fpathconf, ttyname errno values - -x test_os - ) - - if use pgo; then - local profile_task_flags=( - -m test - "-j$(makeopts_jobs)" - --pgo-extended - --verbose3 - -u-network - - # We use a timeout because of how often we've had hang issues - # here. It also matches the default upstream PROFILE_TASK. - --timeout 1200 - - "${COMMON_TEST_SKIPS[@]}" - - -x test_dtrace - - # All of these seem to occasionally hang for PGO inconsistently - # They'll even hang here but be fine in src_test sometimes. - # bug #828535 (and related: bug #788022) - -x test_asyncio - -x test_httpservers - -x test_logging - -x test_multiprocessing_fork - -x test_socket - -x test_xmlrpc - - # Hangs (actually runs indefinitely executing itself w/ many cpython builds) - # bug #900429 - -x test_tools - ) - - if has_version "app-arch/rpm" ; then - # Avoid sandbox failure (attempts to write to /var/lib/rpm) - profile_task_flags+=( - -x test_distutils - ) - fi - # PGO sometimes fails randomly - local -x PROFILE_TASK="${profile_task_flags[*]} || true" - fi - - local myeconfargs=( - # glibc-2.30 removes it; since we can't cleanly force-rebuild - # Python on glibc upgrade, remove it proactively to give - # a chance for users rebuilding python before glibc - ac_cv_header_stropts_h=no - - --enable-shared - --without-static-libpython - --enable-ipv6 - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --without-ensurepip - --without-lto - --with-system-expat - --with-system-libmpdec - --with-platlibdir=lib - --with-pkg-config=yes - --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip - --disable-gil - - $(use_with debug assertions) - $(use_enable pgo optimizations) - $(use_with readline readline "$(usex libedit editline readline)") - $(use_with valgrind) - ) - - if tc-is-lto; then - myeconfargs+=( - --with-lto - ) - fi - - # Force-disable modules we don't want built. - # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - $(usev !gdbm '_gdbm _dbm') - $(usev !sqlite '_sqlite3') - $(usev !ssl '_hashlib _ssl') - $(usev !ncurses '_curses _curses_panel') - $(usev !readline 'readline') - $(usev !tk '_tkinter') - EOF - - # disable implicit optimization/debugging flags - local -x OPT= - - if tc-is-cross-compiler ; then - build_cbuild_python - myeconfargs+=( - # Point the imminent CHOST build to the Python we just - # built for CBUILD. - --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python - ) - fi - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - local -x CFLAGS_NODIST=${CFLAGS} - local -x LDFLAGS_NODIST=${LDFLAGS} - local -x CFLAGS= LDFLAGS= - - # Fix implicit declarations on cross and prefix builds. Bug #674070. - if use ncurses; then - append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw - fi - - econf "${myeconfargs[@]}" - - if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi - - # install epython.py as part of stdlib - echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die -} - -src_compile() { - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - export PYTHONSTRICTEXTENSIONBUILD=1 - - # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't - # end up writing bytecode & violating sandbox. - # bug #831897 - local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} - - # Gentoo hack to disable accessing system site-packages - export GENTOO_CPYTHON_BUILD=1 - - if use pgo ; then - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - fi - - # also need to clear the flags explicitly here or they end up - # in _sysconfigdata* - emake CPPFLAGS= CFLAGS= LDFLAGS= - - # Restore saved value from above. - local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # this just happens to skip test_support.test_freeze that is broken - # without bundled expat - # TODO: get a proper skip for it upstream - local -x LOGNAME=buildbot - - local test_opts=( - --verbose3 - -u-network - -j "$(makeopts_jobs)" - "${COMMON_TEST_SKIPS[@]}" - ) - - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - - nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local ret=${?} - - [[ ${ret} -eq 0 ]] || die "emake test failed" -} - -src_install() { - local libdir=${ED}/usr/lib/python${PYVER} - - # -j1 hack for now for bug #843458 - emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall - - # Fix collisions between different slots of Python. - rm "${ED}/usr/$(get_libdir)/libpython3.so" || die - # Fix collision with GIL-enabled build. - rm "${ED}/usr/bin/python${PYVER%t}" || die - mv "${ED}"/usr/bin/pydoc{${PYVER%t},${PYVER}} || die - mv "${ED}"/usr/share/man/man1/python{${PYVER%t},${PYVER}}.1 || die - - # Cheap hack to get version with ABIFLAGS - local abiver=$(cd "${ED}/usr/include"; echo python*) - if [[ ${abiver} != python${PYVER} ]]; then - # Replace python3.X with a symlink to python3.Xm - rm "${ED}/usr/bin/python${PYVER}" || die - dosym "${abiver}" "/usr/bin/python${PYVER}" - # Create python3.X-config symlink - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" - # Create python-3.5m.pc symlink - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" - fi - - # python seems to get rebuilt in src_install (bug 569908) - # Work around it for now. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E "${ED}/usr/bin/${abiver}" - else - pax-mark m "${ED}/usr/bin/${abiver}" - fi - - rm -r "${libdir}"/ensurepip/_bundled || die - if ! use sqlite; then - rm -r "${libdir}/"sqlite3 || die - fi - if use tk; then - # rename to avoid collision with dev-lang/python - mv "${ED}"/usr/bin/idle{${PYVER%t},${PYVER}} || die - else - rm -r "${ED}/usr/bin/idle${PYVER%t}" || die - rm -r "${libdir}/"{idlelib,tkinter} || die - fi - - ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die - - dodoc Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - docinto examples - find Tools -name __pycache__ -exec rm -fr {} + || die - dodoc -r Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$( - printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | - emake --no-print-directory -s -f - 2>/dev/null - ) - newins Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" -} diff --git a/dev-lang/python/python-0.3.14.6.ebuild b/dev-lang/python/python-0.3.14.6.ebuild deleted file mode 100644 index dda039e2d6da..000000000000 --- a/dev-lang/python/python-0.3.14.6.ebuild +++ /dev/null @@ -1,625 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -VERIFY_SIG_METHOD=sigstore -WANT_LIBTOOL="none" - -inherit autotools check-reqs flag-o-matic linux-info -inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs -inherit verify-sig - -REAL_PV=${PV#0.} -MY_PV=${REAL_PV/_/} -MY_P="Python-${MY_PV%_p*}" -PYVER="$(ver_cut 2-3)t" -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="Freethreading (no-GIL) version of Python programming language" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}" -if [[ ${PV} != *_rc* ]]; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi -IUSE=" - bluetooth build debug +ensurepip examples gdbm libedit +ncurses pgo - +readline +sqlite +ssl tail-call-interp test tk valgrind -" -RESTRICT="!test? ( test )" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND=" - app-arch/bzip2:= - app-arch/xz-utils:= - app-misc/mime-types - >=dev-libs/expat-2.1:= - dev-libs/libffi:= - dev-libs/mpdecimal:= - dev-python/gentoo-common - sys-apps/util-linux - >=virtual/zlib-1.1.3:= - virtual/libintl - !build? ( app-arch/zstd:= ) - gdbm? ( sys-libs/gdbm:=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:= ) - readline? ( - !libedit? ( >=sys-libs/readline-4.1:= ) - libedit? ( dev-libs/libedit:= ) - ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( >=dev-libs/openssl-1.1.1:= ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) -" -# bluetooth requires headers from bluez -DEPEND=" - ${RDEPEND} - bluetooth? ( net-wireless/bluez ) - test? ( - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - ) - valgrind? ( dev-debug/valgrind ) -" -# autoconf-archive needed to eautoreconf -BDEPEND=" - dev-build/autoconf-archive - app-alternatives/awk - virtual/pkgconfig - tail-call-interp? ( - || ( - >=sys-devel/gcc-16:* - >=llvm-core/clang-19:* - ) - ) -" -if [[ ${PV} != *_alpha* ]]; then - RDEPEND+=" - dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] - " -fi -PDEPEND=" - ensurepip? ( dev-python/ensurepip-pip ) -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -# large file tests involve a 2.5G file being copied (duplicated) -CHECKREQS_DISK_BUILD=5500M - -QA_PKGCONFIG_VERSION=${PYVER%t} -# false positives -- functions specific to *BSD -QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) - -declare -rgA PYTHON_KERNEL_CHECKS=( - ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589 - ["DNOTIFY"]="test_fcntl" # bug 938662 -) - -pkg_pretend() { - if use pgo || use test; then - check-reqs_pkg_pretend - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]]; then - if use test || use pgo; then - check-reqs_pkg_setup - - local CONFIG_CHECK - for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do - CONFIG_CHECK+="~${f} " - done - linux-info_pkg_setup - fi - if use tail-call-interp; then - tc-check-min_ver gcc 16 - tc-check-min_ver clang 19 - fi - fi -} - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - # Ensure that internal copies of expat and libffi are not used. - # TODO: Makefile has annoying deps on expat headers - #rm -r Modules/expat || die - - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - default - - # force the correct number of jobs - # https://bugs.gentoo.org/737660 - sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die - - # breaks tests when using --with-wheel-pkg-dir - rm -r Lib/test/wheeldata || die - - eautoreconf -} - -build_cbuild_python() { - # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 - local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - # - # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) - local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" - local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" - local -x CFLAGS= LDFLAGS= - local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" - - # We need to build our own Python on CBUILD first, and feed it in. - # bug #847910 - local myeconfargs_cbuild=( - "${myeconfargs[@]}" - - --prefix="${BROOT}"/usr - --libdir="${cbuild_libdir:2}" - - # Avoid needing to load the right libpython.so. - --disable-shared - - # As minimal as possible for the mini CBUILD Python - # we build just for cross to satisfy --with-build-python. - --without-lto - --without-readline - --disable-optimizations - ) - - mkdir "${WORKDIR}"/${P}-${CBUILD} || die - pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die - - # Avoid as many dependencies as possible for the cross build. - mkdir Modules || die - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - _dbm _gdbm - _sqlite3 - _hashlib _ssl - _curses _curses_panel - readline - _tkinter - pyexpat - zlib - # We disabled these for CBUILD because Python's setup.py can't handle locating - # libdir correctly for cross. This should be rechecked for the pure Makefile approach, - # and uncommented if needed. - #_ctypes - EOF - - ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" - - # Unfortunately, we do have to build this immediately, and - # not in src_compile, because CHOST configure for Python - # will check the existence of the --with-build-python value - # immediately. - emake - popd &> /dev/null || die -} - -src_configure() { - # disable automagic bluetooth headers detection - if ! use bluetooth; then - local -x ac_cv_header_bluetooth_bluetooth_h=no - fi - - filter-flags -malign-double - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - # PKG_CONFIG needed for cross. - tc-export CXX PKG_CONFIG - - local dbmliborder= - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - # Set baseline test skip flags. - COMMON_TEST_SKIPS=( - # running gdb inside an ebuild as non-root, within sandbox, - # and possibly within a container is unreliable - -x test_gdb - # this is actually test_gdb.test_pretty_print - -x test_pretty_print - # https://bugs.gentoo.org/933840 - -x test_perf_profiler - ) - - # Arch-specific skips. See #931888 for a collection of these. - case ${CHOST} in - alpha*) - COMMON_TEST_SKIPS+=( - -x test_builtin - -x test_capi - -x test_cmath - -x test_float - # timeout - -x test_free_threading - -x test_math - -x test_numeric_tower - -x test_random - -x test_statistics - # bug 653850 - -x test_resource - -x test_strtod - ) - ;; - mips*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - -x test_statistics - ) - ;; - riscv*) - COMMON_TEST_SKIPS+=( - -x test_urllib2 - ) - ;; - sparc*) - COMMON_TEST_SKIPS+=( - # bug 788022 - -x test_multiprocessing_fork - -x test_multiprocessing_forkserver - -x test_multiprocessing_spawn - - -x test_ctypes - # bug 931908 - -x test_exceptions - ) - ;; - esac - - # Kernel-config specific skips - for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do - if ! linux_config_exists || ! linux_chkconfig_present "${option}" - then - COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" ) - fi - done - - # musl-specific skips - use elibc_musl && COMMON_TEST_SKIPS+=( - # various musl locale deficiencies - -x test__locale - -x test_c_locale_coercion - -x test_locale - -x test_re - - # known issues with find_library on musl - # https://bugs.python.org/issue21622 - -x test_ctypes - - # fpathconf, ttyname errno values - -x test_os - ) - - if use pgo; then - local profile_task_flags=( - -m test - "-j$(makeopts_jobs)" - --pgo-extended - --verbose3 - -u-network - - # We use a timeout because of how often we've had hang issues - # here. It also matches the default upstream PROFILE_TASK. - --timeout 1200 - - "${COMMON_TEST_SKIPS[@]}" - - -x test_dtrace - - # All of these seem to occasionally hang for PGO inconsistently - # They'll even hang here but be fine in src_test sometimes. - # bug #828535 (and related: bug #788022) - -x test_asyncio - -x test_httpservers - -x test_logging - -x test_multiprocessing_fork - -x test_socket - -x test_xmlrpc - - # Hangs (actually runs indefinitely executing itself w/ many cpython builds) - # bug #900429 - -x test_tools - - # Test terminates abruptly which corrupts written profile data - # bug #964023 - -x test_pyrepl - ) - - if has_version "app-arch/rpm" ; then - # Avoid sandbox failure (attempts to write to /var/lib/rpm) - profile_task_flags+=( - -x test_distutils - ) - fi - # PGO sometimes fails randomly - local -x PROFILE_TASK="${profile_task_flags[*]} || true" - fi - - local myeconfargs=( - # glibc-2.30 removes it; since we can't cleanly force-rebuild - # Python on glibc upgrade, remove it proactively to give - # a chance for users rebuilding python before glibc - ac_cv_header_stropts_h=no - - --enable-shared - --without-static-libpython - --enable-ipv6 - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --without-ensurepip - --without-lto - --with-system-expat - --with-system-libmpdec - --with-platlibdir=lib - --with-pkg-config=yes - --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip - --disable-gil - - $(use_with debug assertions) - $(use_enable pgo optimizations) - $(use_with readline readline "$(usex libedit editline readline)") - $(use_with tail-call-interp) - $(use_with valgrind) - ) - - if tc-is-lto; then - myeconfargs+=( - --with-lto - ) - fi - - # Force-disable modules we don't want built. - # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - $(usev build '_zstd') - $(usev !gdbm '_gdbm _dbm') - $(usev !sqlite '_sqlite3') - $(usev !ssl '_hashlib _ssl') - $(usev !ncurses '_curses _curses_panel') - $(usev !readline 'readline') - $(usev !tk '_tkinter') - EOF - - # disable implicit optimization/debugging flags - local -x OPT= - - if tc-is-cross-compiler ; then - build_cbuild_python - myeconfargs+=( - # Point the imminent CHOST build to the Python we just - # built for CBUILD. - --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python - ) - fi - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - local -x CFLAGS_NODIST=${CFLAGS} - local -x LDFLAGS_NODIST=${LDFLAGS} - local -x CFLAGS= LDFLAGS= - - # Fix implicit declarations on cross and prefix builds. Bug #674070. - if use ncurses; then - append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw - fi - - econf "${myeconfargs[@]}" - - if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi - - # install epython.py as part of stdlib - echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die -} - -src_compile() { - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - export PYTHONSTRICTEXTENSIONBUILD=1 - - # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't - # end up writing bytecode & violating sandbox. - # bug #831897 - local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} - - # Gentoo hack to disable accessing system site-packages - export GENTOO_CPYTHON_BUILD=1 - - if use pgo ; then - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - fi - - # also need to clear the flags explicitly here or they end up - # in _sysconfigdata* - emake CPPFLAGS= CFLAGS= LDFLAGS= - - # Restore saved value from above. - local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # this just happens to skip test_support.test_freeze that is broken - # without bundled expat - # TODO: get a proper skip for it upstream - local -x LOGNAME=buildbot - - local test_opts=( - --verbose3 - -u-network - -j "$(makeopts_jobs)" - "${COMMON_TEST_SKIPS[@]}" - ) - - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - - nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local ret=${?} - - [[ ${ret} -eq 0 ]] || die "emake test failed" -} - -src_install() { - local libdir=${ED}/usr/lib/python${PYVER} - - # -j1 hack for now for bug #843458 - emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall - - # Fix collisions between different slots of Python. - rm "${ED}/usr/$(get_libdir)/libpython3.so" || die - # Fix collision with GIL-enabled build. - rm "${ED}/usr/bin/python${PYVER%t}" || die - mv "${ED}"/usr/bin/pydoc{${PYVER%t},${PYVER}} || die - mv "${ED}"/usr/share/man/man1/python{${PYVER%t},${PYVER}}.1 || die - - # Cheap hack to get version with ABIFLAGS - local abiver=$(cd "${ED}/usr/include"; echo python*) - if [[ ${abiver} != python${PYVER} ]]; then - # Replace python3.X with a symlink to python3.Xm - rm "${ED}/usr/bin/python${PYVER}" || die - dosym "${abiver}" "/usr/bin/python${PYVER}" - # Create python3.X-config symlink - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" - # Create python-3.5m.pc symlink - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" - fi - - # python seems to get rebuilt in src_install (bug 569908) - # Work around it for now. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E "${ED}/usr/bin/${abiver}" - else - pax-mark m "${ED}/usr/bin/${abiver}" - fi - - rm -r "${libdir}"/ensurepip/_bundled || die - if ! use sqlite; then - rm -r "${libdir}/"sqlite3 || die - fi - if use tk; then - # rename to avoid collision with dev-lang/python - mv "${ED}"/usr/bin/idle{${PYVER%t},${PYVER}} || die - else - rm -r "${ED}/usr/bin/idle${PYVER%t}" || die - rm -r "${libdir}/"{idlelib,tkinter} || die - fi - - ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die - - dodoc Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - docinto examples - find Tools -name __pycache__ -exec rm -fr {} + || die - dodoc -r Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$( - printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | - emake --no-print-directory -s -f - 2>/dev/null - ) - newins Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" - - # python-exec wrapping support - local pymajor=${PYVER%.*} - local EPYTHON=python${PYVER} - local scriptdir=${D}$(python_get_scriptdir) - mkdir -p "${scriptdir}" || die - # python and pythonX - ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die - ln -s "python${pymajor}" "${scriptdir}/python" || die - # python-config and pythonX-config - # note: we need to create a wrapper rather than symlinking it due - # to some random dirname(argv[0]) magic performed by python-config - cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die - #!/bin/sh - exec "${abiver}-config" "\${@}" - EOF - chmod +x "${scriptdir}/python${pymajor}-config" || die - ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die - # pydoc - ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die - # idle - if use tk; then - ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die - fi -} diff --git a/dev-lang/python/python-0.3.14.6_p1.ebuild b/dev-lang/python/python-0.3.14.6_p1.ebuild deleted file mode 100644 index 581f375e3836..000000000000 --- a/dev-lang/python/python-0.3.14.6_p1.ebuild +++ /dev/null @@ -1,625 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -VERIFY_SIG_METHOD=sigstore -WANT_LIBTOOL="none" - -inherit autotools check-reqs flag-o-matic linux-info -inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs -inherit verify-sig - -REAL_PV=${PV#0.} -MY_PV=${REAL_PV} -MY_P="Python-${MY_PV%_p*}" -PYVER="$(ver_cut 2-3)t" -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="Freethreading (no-GIL) version of Python programming language" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}" -if [[ ${PV} != *_rc* ]]; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi -IUSE=" - bluetooth build debug +ensurepip examples gdbm libedit +ncurses pgo - +readline +sqlite +ssl tail-call-interp test tk valgrind -" -RESTRICT="!test? ( test )" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND=" - app-arch/bzip2:= - app-arch/xz-utils:= - app-misc/mime-types - >=dev-libs/expat-2.1:= - dev-libs/libffi:= - dev-libs/mpdecimal:= - dev-python/gentoo-common - sys-apps/util-linux - >=virtual/zlib-1.1.3:= - virtual/libintl - !build? ( app-arch/zstd:= ) - gdbm? ( sys-libs/gdbm:=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:= ) - readline? ( - !libedit? ( >=sys-libs/readline-4.1:= ) - libedit? ( dev-libs/libedit:= ) - ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( >=dev-libs/openssl-1.1.1:= ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) -" -# bluetooth requires headers from bluez -DEPEND=" - ${RDEPEND} - bluetooth? ( net-wireless/bluez ) - test? ( - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - ) - valgrind? ( dev-debug/valgrind ) -" -# autoconf-archive needed to eautoreconf -BDEPEND=" - dev-build/autoconf-archive - app-alternatives/awk - virtual/pkgconfig - tail-call-interp? ( - || ( - >=sys-devel/gcc-16:* - >=llvm-core/clang-19:* - ) - ) -" -if [[ ${PV} != *_alpha* ]]; then - RDEPEND+=" - dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] - " -fi -PDEPEND=" - ensurepip? ( dev-python/ensurepip-pip ) -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -# large file tests involve a 2.5G file being copied (duplicated) -CHECKREQS_DISK_BUILD=5500M - -QA_PKGCONFIG_VERSION=${PYVER%t} -# false positives -- functions specific to *BSD -QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) - -declare -rgA PYTHON_KERNEL_CHECKS=( - ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589 - ["DNOTIFY"]="test_fcntl" # bug 938662 -) - -pkg_pretend() { - if use pgo || use test; then - check-reqs_pkg_pretend - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]]; then - if use test || use pgo; then - check-reqs_pkg_setup - - local CONFIG_CHECK - for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do - CONFIG_CHECK+="~${f} " - done - linux-info_pkg_setup - fi - if use tail-call-interp; then - tc-check-min_ver gcc 16 - tc-check-min_ver clang 19 - fi - fi -} - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - # Ensure that internal copies of expat and libffi are not used. - # TODO: Makefile has annoying deps on expat headers - #rm -r Modules/expat || die - - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - default - - # force the correct number of jobs - # https://bugs.gentoo.org/737660 - sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die - - # breaks tests when using --with-wheel-pkg-dir - rm -r Lib/test/wheeldata || die - - eautoreconf -} - -build_cbuild_python() { - # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 - local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - # - # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) - local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" - local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" - local -x CFLAGS= LDFLAGS= - local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" - - # We need to build our own Python on CBUILD first, and feed it in. - # bug #847910 - local myeconfargs_cbuild=( - "${myeconfargs[@]}" - - --prefix="${BROOT}"/usr - --libdir="${cbuild_libdir:2}" - - # Avoid needing to load the right libpython.so. - --disable-shared - - # As minimal as possible for the mini CBUILD Python - # we build just for cross to satisfy --with-build-python. - --without-lto - --without-readline - --disable-optimizations - ) - - mkdir "${WORKDIR}"/${P}-${CBUILD} || die - pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die - - # Avoid as many dependencies as possible for the cross build. - mkdir Modules || die - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - _dbm _gdbm - _sqlite3 - _hashlib _ssl - _curses _curses_panel - readline - _tkinter - pyexpat - zlib - # We disabled these for CBUILD because Python's setup.py can't handle locating - # libdir correctly for cross. This should be rechecked for the pure Makefile approach, - # and uncommented if needed. - #_ctypes - EOF - - ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" - - # Unfortunately, we do have to build this immediately, and - # not in src_compile, because CHOST configure for Python - # will check the existence of the --with-build-python value - # immediately. - emake - popd &> /dev/null || die -} - -src_configure() { - # disable automagic bluetooth headers detection - if ! use bluetooth; then - local -x ac_cv_header_bluetooth_bluetooth_h=no - fi - - filter-flags -malign-double - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - # PKG_CONFIG needed for cross. - tc-export CXX PKG_CONFIG - - local dbmliborder= - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - # Set baseline test skip flags. - COMMON_TEST_SKIPS=( - # running gdb inside an ebuild as non-root, within sandbox, - # and possibly within a container is unreliable - -x test_gdb - # this is actually test_gdb.test_pretty_print - -x test_pretty_print - # https://bugs.gentoo.org/933840 - -x test_perf_profiler - ) - - # Arch-specific skips. See #931888 for a collection of these. - case ${CHOST} in - alpha*) - COMMON_TEST_SKIPS+=( - -x test_builtin - -x test_capi - -x test_cmath - -x test_float - # timeout - -x test_free_threading - -x test_math - -x test_numeric_tower - -x test_random - -x test_statistics - # bug 653850 - -x test_resource - -x test_strtod - ) - ;; - mips*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - -x test_statistics - ) - ;; - riscv*) - COMMON_TEST_SKIPS+=( - -x test_urllib2 - ) - ;; - sparc*) - COMMON_TEST_SKIPS+=( - # bug 788022 - -x test_multiprocessing_fork - -x test_multiprocessing_forkserver - -x test_multiprocessing_spawn - - -x test_ctypes - # bug 931908 - -x test_exceptions - ) - ;; - esac - - # Kernel-config specific skips - for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do - if ! linux_config_exists || ! linux_chkconfig_present "${option}" - then - COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" ) - fi - done - - # musl-specific skips - use elibc_musl && COMMON_TEST_SKIPS+=( - # various musl locale deficiencies - -x test__locale - -x test_c_locale_coercion - -x test_locale - -x test_re - - # known issues with find_library on musl - # https://bugs.python.org/issue21622 - -x test_ctypes - - # fpathconf, ttyname errno values - -x test_os - ) - - if use pgo; then - local profile_task_flags=( - -m test - "-j$(makeopts_jobs)" - --pgo-extended - --verbose3 - -u-network - - # We use a timeout because of how often we've had hang issues - # here. It also matches the default upstream PROFILE_TASK. - --timeout 1200 - - "${COMMON_TEST_SKIPS[@]}" - - -x test_dtrace - - # All of these seem to occasionally hang for PGO inconsistently - # They'll even hang here but be fine in src_test sometimes. - # bug #828535 (and related: bug #788022) - -x test_asyncio - -x test_httpservers - -x test_logging - -x test_multiprocessing_fork - -x test_socket - -x test_xmlrpc - - # Hangs (actually runs indefinitely executing itself w/ many cpython builds) - # bug #900429 - -x test_tools - - # Test terminates abruptly which corrupts written profile data - # bug #964023 - -x test_pyrepl - ) - - if has_version "app-arch/rpm" ; then - # Avoid sandbox failure (attempts to write to /var/lib/rpm) - profile_task_flags+=( - -x test_distutils - ) - fi - # PGO sometimes fails randomly - local -x PROFILE_TASK="${profile_task_flags[*]} || true" - fi - - local myeconfargs=( - # glibc-2.30 removes it; since we can't cleanly force-rebuild - # Python on glibc upgrade, remove it proactively to give - # a chance for users rebuilding python before glibc - ac_cv_header_stropts_h=no - - --enable-shared - --without-static-libpython - --enable-ipv6 - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --without-ensurepip - --without-lto - --with-system-expat - --with-system-libmpdec - --with-platlibdir=lib - --with-pkg-config=yes - --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip - --disable-gil - - $(use_with debug assertions) - $(use_enable pgo optimizations) - $(use_with readline readline "$(usex libedit editline readline)") - $(use_with tail-call-interp) - $(use_with valgrind) - ) - - if tc-is-lto; then - myeconfargs+=( - --with-lto - ) - fi - - # Force-disable modules we don't want built. - # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - $(usev build '_zstd') - $(usev !gdbm '_gdbm _dbm') - $(usev !sqlite '_sqlite3') - $(usev !ssl '_hashlib _ssl') - $(usev !ncurses '_curses _curses_panel') - $(usev !readline 'readline') - $(usev !tk '_tkinter') - EOF - - # disable implicit optimization/debugging flags - local -x OPT= - - if tc-is-cross-compiler ; then - build_cbuild_python - myeconfargs+=( - # Point the imminent CHOST build to the Python we just - # built for CBUILD. - --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python - ) - fi - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - local -x CFLAGS_NODIST=${CFLAGS} - local -x LDFLAGS_NODIST=${LDFLAGS} - local -x CFLAGS= LDFLAGS= - - # Fix implicit declarations on cross and prefix builds. Bug #674070. - if use ncurses; then - append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw - fi - - econf "${myeconfargs[@]}" - - if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi - - # install epython.py as part of stdlib - echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die -} - -src_compile() { - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - export PYTHONSTRICTEXTENSIONBUILD=1 - - # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't - # end up writing bytecode & violating sandbox. - # bug #831897 - local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} - - # Gentoo hack to disable accessing system site-packages - export GENTOO_CPYTHON_BUILD=1 - - if use pgo ; then - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - fi - - # also need to clear the flags explicitly here or they end up - # in _sysconfigdata* - emake CPPFLAGS= CFLAGS= LDFLAGS= - - # Restore saved value from above. - local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # this just happens to skip test_support.test_freeze that is broken - # without bundled expat - # TODO: get a proper skip for it upstream - local -x LOGNAME=buildbot - - local test_opts=( - --verbose3 - -u-network - -j "$(makeopts_jobs)" - "${COMMON_TEST_SKIPS[@]}" - ) - - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - - nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local ret=${?} - - [[ ${ret} -eq 0 ]] || die "emake test failed" -} - -src_install() { - local libdir=${ED}/usr/lib/python${PYVER} - - # -j1 hack for now for bug #843458 - emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall - - # Fix collisions between different slots of Python. - rm "${ED}/usr/$(get_libdir)/libpython3.so" || die - # Fix collision with GIL-enabled build. - rm "${ED}/usr/bin/python${PYVER%t}" || die - mv "${ED}"/usr/bin/pydoc{${PYVER%t},${PYVER}} || die - mv "${ED}"/usr/share/man/man1/python{${PYVER%t},${PYVER}}.1 || die - - # Cheap hack to get version with ABIFLAGS - local abiver=$(cd "${ED}/usr/include"; echo python*) - if [[ ${abiver} != python${PYVER} ]]; then - # Replace python3.X with a symlink to python3.Xm - rm "${ED}/usr/bin/python${PYVER}" || die - dosym "${abiver}" "/usr/bin/python${PYVER}" - # Create python3.X-config symlink - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" - # Create python-3.5m.pc symlink - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" - fi - - # python seems to get rebuilt in src_install (bug 569908) - # Work around it for now. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E "${ED}/usr/bin/${abiver}" - else - pax-mark m "${ED}/usr/bin/${abiver}" - fi - - rm -r "${libdir}"/ensurepip/_bundled || die - if ! use sqlite; then - rm -r "${libdir}/"sqlite3 || die - fi - if use tk; then - # rename to avoid collision with dev-lang/python - mv "${ED}"/usr/bin/idle{${PYVER%t},${PYVER}} || die - else - rm -r "${ED}/usr/bin/idle${PYVER%t}" || die - rm -r "${libdir}/"{idlelib,tkinter} || die - fi - - ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die - - dodoc Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - docinto examples - find Tools -name __pycache__ -exec rm -fr {} + || die - dodoc -r Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$( - printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | - emake --no-print-directory -s -f - 2>/dev/null - ) - newins Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" - - # python-exec wrapping support - local pymajor=${PYVER%.*} - local EPYTHON=python${PYVER} - local scriptdir=${D}$(python_get_scriptdir) - mkdir -p "${scriptdir}" || die - # python and pythonX - ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die - ln -s "python${pymajor}" "${scriptdir}/python" || die - # python-config and pythonX-config - # note: we need to create a wrapper rather than symlinking it due - # to some random dirname(argv[0]) magic performed by python-config - cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die - #!/bin/sh - exec "${abiver}-config" "\${@}" - EOF - chmod +x "${scriptdir}/python${pymajor}-config" || die - ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die - # pydoc - ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die - # idle - if use tk; then - ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die - fi -} diff --git a/dev-lang/python/python-0.3.15.0_beta2.ebuild b/dev-lang/python/python-0.3.15.0_beta2.ebuild deleted file mode 100644 index b80b909da29c..000000000000 --- a/dev-lang/python/python-0.3.15.0_beta2.ebuild +++ /dev/null @@ -1,609 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -VERIFY_SIG_METHOD=sigstore -WANT_LIBTOOL="none" - -inherit autotools check-reqs flag-o-matic linux-info -inherit multiprocessing pax-utils toolchain-funcs verify-sig - -REAL_PV=${PV#0.} -MY_PV=${REAL_PV/_beta/b} -MY_P="Python-${MY_PV%_p*}" -PYVER="$(ver_cut 2-3)t" -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="Freethreading (no-GIL) version of Python programming language" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}" -IUSE=" - bluetooth build debug +ensurepip examples gdbm libedit +ncurses pgo - +readline +sqlite +ssl tail-call-interp test tk valgrind -" -RESTRICT="!test? ( test )" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND=" - app-arch/bzip2:= - app-arch/xz-utils:= - app-misc/mime-types - >=dev-libs/expat-2.1:= - dev-libs/libffi:= - dev-libs/mpdecimal:= - dev-python/gentoo-common - sys-apps/util-linux - >=virtual/zlib-1.1.3:= - virtual/libintl - !build? ( app-arch/zstd:= ) - gdbm? ( sys-libs/gdbm:=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:= ) - readline? ( - !libedit? ( >=sys-libs/readline-4.1:= ) - libedit? ( dev-libs/libedit:= ) - ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( >=dev-libs/openssl-1.1.1:= ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) -" -# bluetooth requires headers from bluez -DEPEND=" - ${RDEPEND} - bluetooth? ( net-wireless/bluez ) - test? ( - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - dev-python/ensurepip-wheel - ) - valgrind? ( dev-debug/valgrind ) -" -# autoconf-archive needed to eautoreconf -BDEPEND=" - dev-build/autoconf-archive - app-alternatives/awk - virtual/pkgconfig - tail-call-interp? ( - || ( - >=sys-devel/gcc-16:* - >=llvm-core/clang-19:* - ) - ) -" -if [[ ${PV} != *_alpha* ]]; then - RDEPEND+=" - dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] - " -fi -PDEPEND=" - ensurepip? ( dev-python/ensurepip-pip ) -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -# large file tests involve a 2.5G file being copied (duplicated) -CHECKREQS_DISK_BUILD=5500M - -QA_PKGCONFIG_VERSION=${PYVER%t} -# false positives -- functions specific to *BSD -QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) - -declare -rgA PYTHON_KERNEL_CHECKS=( - ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589 - ["DNOTIFY"]="test_fcntl" # bug 938662 -) - -pkg_pretend() { - if use pgo || use test; then - check-reqs_pkg_pretend - fi - - ewarn "Freethreading build is considered experimental upstream. Using it" - ewarn "could lead to unexpected breakage, including race conditions" - ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" - ewarn "you can reproduce the problem with dev-lang/python. Instead," - ewarn "please consider reporting freethreading problems upstream." -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]]; then - if use test || use pgo; then - check-reqs_pkg_setup - - local CONFIG_CHECK - for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do - CONFIG_CHECK+="~${f} " - done - linux-info_pkg_setup - fi - if use tail-call-interp; then - tc-check-min_ver gcc 16 - tc-check-min_ver clang 19 - fi - fi -} - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - # Ensure that internal copies of expat and libffi are not used. - # TODO: Makefile has annoying deps on expat headers - #rm -r Modules/expat || die - - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - default - - # force the correct number of jobs - # https://bugs.gentoo.org/737660 - sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die - - # breaks tests when using --with-wheel-pkg-dir - rm -r Lib/test/wheeldata || die - - eautoreconf -} - -build_cbuild_python() { - # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 - local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - # - # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) - local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" - local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" - local -x CFLAGS= LDFLAGS= - local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" - - # We need to build our own Python on CBUILD first, and feed it in. - # bug #847910 - local myeconfargs_cbuild=( - "${myeconfargs[@]}" - - --prefix="${BROOT}"/usr - --libdir="${cbuild_libdir:2}" - - # Avoid needing to load the right libpython.so. - --disable-shared - - # As minimal as possible for the mini CBUILD Python - # we build just for cross to satisfy --with-build-python. - --without-lto - --without-readline - --disable-optimizations - ) - - mkdir "${WORKDIR}"/${P}-${CBUILD} || die - pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die - - # Avoid as many dependencies as possible for the cross build. - mkdir Modules || die - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - _dbm _gdbm - _sqlite3 - _hashlib _ssl - _curses _curses_panel - readline - _tkinter - pyexpat - zlib - # We disabled these for CBUILD because Python's setup.py can't handle locating - # libdir correctly for cross. This should be rechecked for the pure Makefile approach, - # and uncommented if needed. - #_ctypes - EOF - - ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" - - # Unfortunately, we do have to build this immediately, and - # not in src_compile, because CHOST configure for Python - # will check the existence of the --with-build-python value - # immediately. - emake - popd &> /dev/null || die -} - -src_configure() { - # disable automagic bluetooth headers detection - if ! use bluetooth; then - local -x ac_cv_header_bluetooth_bluetooth_h=no - fi - - filter-flags -malign-double - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - # PKG_CONFIG needed for cross. - tc-export CXX PKG_CONFIG - - local dbmliborder= - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - # Set baseline test skip flags. - COMMON_TEST_SKIPS=( - # running gdb inside an ebuild as non-root, within sandbox, - # and possibly within a container is unreliable - -x test_gdb - # this is actually test_gdb.test_pretty_print - -x test_pretty_print - # https://bugs.gentoo.org/933840 - -x test_perf_profiler - ) - - # Arch-specific skips. See #931888 for a collection of these. - case ${CHOST} in - alpha*) - COMMON_TEST_SKIPS+=( - -x test_builtin - -x test_capi - -x test_cmath - -x test_float - # timeout - -x test_free_threading - -x test_math - -x test_numeric_tower - -x test_random - -x test_statistics - # bug 653850 - -x test_resource - -x test_strtod - ) - ;; - mips*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - -x test_statistics - ) - ;; - riscv*) - COMMON_TEST_SKIPS+=( - -x test_urllib2 - ) - ;; - sparc*) - COMMON_TEST_SKIPS+=( - # bug 788022 - -x test_multiprocessing_fork - -x test_multiprocessing_forkserver - -x test_multiprocessing_spawn - - -x test_ctypes - # bug 931908 - -x test_exceptions - ) - ;; - esac - - # Kernel-config specific skips - for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do - if ! linux_config_exists || ! linux_chkconfig_present "${option}" - then - COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" ) - fi - done - - # musl-specific skips - use elibc_musl && COMMON_TEST_SKIPS+=( - # various musl locale deficiencies - -x test__locale - -x test_c_locale_coercion - -x test_locale - -x test_re - - # known issues with find_library on musl - # https://bugs.python.org/issue21622 - -x test_ctypes - - # fpathconf, ttyname errno values - -x test_os - ) - - if use pgo; then - local profile_task_flags=( - -m test - "-j$(makeopts_jobs)" - --pgo-extended - --verbose3 - -u-network - - # We use a timeout because of how often we've had hang issues - # here. It also matches the default upstream PROFILE_TASK. - --timeout 1200 - - "${COMMON_TEST_SKIPS[@]}" - - -x test_dtrace - - # All of these seem to occasionally hang for PGO inconsistently - # They'll even hang here but be fine in src_test sometimes. - # bug #828535 (and related: bug #788022) - -x test_asyncio - -x test_httpservers - -x test_logging - -x test_multiprocessing_fork - -x test_socket - -x test_xmlrpc - - # Hangs (actually runs indefinitely executing itself w/ many cpython builds) - # bug #900429 - -x test_tools - - # Test terminates abruptly which corrupts written profile data - # bug #964023 - -x test_pyrepl - ) - - if has_version "app-arch/rpm" ; then - # Avoid sandbox failure (attempts to write to /var/lib/rpm) - profile_task_flags+=( - -x test_distutils - ) - fi - # PGO sometimes fails randomly - local -x PROFILE_TASK="${profile_task_flags[*]} || true" - fi - - local myeconfargs=( - # glibc-2.30 removes it; since we can't cleanly force-rebuild - # Python on glibc upgrade, remove it proactively to give - # a chance for users rebuilding python before glibc - ac_cv_header_stropts_h=no - - --enable-shared - --without-static-libpython - --enable-ipv6 - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --without-ensurepip - --without-lto - --with-system-expat - --with-system-libmpdec - --with-platlibdir=lib - --with-pkg-config=yes - --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip - --disable-gil - - $(use_with debug assertions) - $(use_enable pgo optimizations) - $(use_with readline readline "$(usex libedit editline readline)") - $(use_with tail-call-interp) - $(use_with valgrind) - ) - - if tc-is-lto; then - myeconfargs+=( - --with-lto - ) - fi - - # Force-disable modules we don't want built. - # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - $(usev build '_zstd') - $(usev !gdbm '_gdbm _dbm') - $(usev !sqlite '_sqlite3') - $(usev !ssl '_hashlib _ssl') - $(usev !ncurses '_curses _curses_panel') - $(usev !readline 'readline') - $(usev !tk '_tkinter') - EOF - - # disable implicit optimization/debugging flags - local -x OPT= - - if tc-is-cross-compiler ; then - build_cbuild_python - myeconfargs+=( - # Point the imminent CHOST build to the Python we just - # built for CBUILD. - --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python - ) - fi - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - local -x CFLAGS_NODIST=${CFLAGS} - local -x LDFLAGS_NODIST=${LDFLAGS} - local -x CFLAGS= LDFLAGS= - - # Fix implicit declarations on cross and prefix builds. Bug #674070. - if use ncurses; then - append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw - fi - - econf "${myeconfargs[@]}" - - if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi - - # install epython.py as part of stdlib - echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die -} - -src_compile() { - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - export PYTHONSTRICTEXTENSIONBUILD=1 - - # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't - # end up writing bytecode & violating sandbox. - # bug #831897 - local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} - - # Gentoo hack to disable accessing system site-packages - export GENTOO_CPYTHON_BUILD=1 - - if use pgo ; then - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - fi - - # also need to clear the flags explicitly here or they end up - # in _sysconfigdata* - emake CPPFLAGS= CFLAGS= LDFLAGS= - - # Restore saved value from above. - local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # this just happens to skip test_support.test_freeze that is broken - # without bundled expat - # TODO: get a proper skip for it upstream - local -x LOGNAME=buildbot - - local test_opts=( - --verbose3 - -u-network - -j "$(makeopts_jobs)" - "${COMMON_TEST_SKIPS[@]}" - ) - - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - - nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local ret=${?} - - [[ ${ret} -eq 0 ]] || die "emake test failed" -} - -src_install() { - local libdir=${ED}/usr/lib/python${PYVER} - local build_dir=$(<pybuilddir.txt) - - # -j1 hack for now for bug #843458 - emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall - - # Install build-details.json manually because it was randomly removed - # from altinstall in https://github.com/python/cpython/pull/142269. - cp "${build_dir}"/build-details.json "${libdir}"/ || die - - # Fix collisions between different slots of Python. - rm "${ED}/usr/$(get_libdir)/libpython3.so" || die - # Fix collision with GIL-enabled build. - rm "${ED}/usr/bin/python${PYVER%t}" || die - mv "${ED}"/usr/bin/pydoc{${PYVER%t},${PYVER}} || die - mv "${ED}"/usr/share/man/man1/python{${PYVER%t},${PYVER}}.1 || die - - # Cheap hack to get version with ABIFLAGS - local abiver=$(cd "${ED}/usr/include"; echo python*) - if [[ ${abiver} != python${PYVER} ]]; then - # Replace python3.X with a symlink to python3.Xm - rm "${ED}/usr/bin/python${PYVER}" || die - dosym "${abiver}" "/usr/bin/python${PYVER}" - # Create python3.X-config symlink - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" - # Create python-3.5m.pc symlink - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" - fi - - # python seems to get rebuilt in src_install (bug 569908) - # Work around it for now. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E "${ED}/usr/bin/${abiver}" - else - pax-mark m "${ED}/usr/bin/${abiver}" - fi - - rm -r "${libdir}"/ensurepip/_bundled || die - if ! use sqlite; then - rm -r "${libdir}/"sqlite3 || die - fi - if use tk; then - # rename to avoid collision with dev-lang/python - mv "${ED}"/usr/bin/idle{${PYVER%t},${PYVER}} || die - else - rm -r "${ED}/usr/bin/idle${PYVER%t}" || die - rm -r "${libdir}/"{idlelib,tkinter} || die - fi - - ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die - - dodoc Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - docinto examples - find Tools -name __pycache__ -exec rm -fr {} + || die - dodoc -r Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$( - printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | - emake --no-print-directory -s -f - 2>/dev/null - ) - newins Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" -} diff --git a/dev-lang/python/python-0.3.15.0_beta3.ebuild b/dev-lang/python/python-0.3.15.0_beta3.ebuild deleted file mode 100644 index b80b909da29c..000000000000 --- a/dev-lang/python/python-0.3.15.0_beta3.ebuild +++ /dev/null @@ -1,609 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -VERIFY_SIG_METHOD=sigstore -WANT_LIBTOOL="none" - -inherit autotools check-reqs flag-o-matic linux-info -inherit multiprocessing pax-utils toolchain-funcs verify-sig - -REAL_PV=${PV#0.} -MY_PV=${REAL_PV/_beta/b} -MY_P="Python-${MY_PV%_p*}" -PYVER="$(ver_cut 2-3)t" -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="Freethreading (no-GIL) version of Python programming language" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}" -IUSE=" - bluetooth build debug +ensurepip examples gdbm libedit +ncurses pgo - +readline +sqlite +ssl tail-call-interp test tk valgrind -" -RESTRICT="!test? ( test )" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND=" - app-arch/bzip2:= - app-arch/xz-utils:= - app-misc/mime-types - >=dev-libs/expat-2.1:= - dev-libs/libffi:= - dev-libs/mpdecimal:= - dev-python/gentoo-common - sys-apps/util-linux - >=virtual/zlib-1.1.3:= - virtual/libintl - !build? ( app-arch/zstd:= ) - gdbm? ( sys-libs/gdbm:=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:= ) - readline? ( - !libedit? ( >=sys-libs/readline-4.1:= ) - libedit? ( dev-libs/libedit:= ) - ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( >=dev-libs/openssl-1.1.1:= ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) -" -# bluetooth requires headers from bluez -DEPEND=" - ${RDEPEND} - bluetooth? ( net-wireless/bluez ) - test? ( - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - dev-python/ensurepip-wheel - ) - valgrind? ( dev-debug/valgrind ) -" -# autoconf-archive needed to eautoreconf -BDEPEND=" - dev-build/autoconf-archive - app-alternatives/awk - virtual/pkgconfig - tail-call-interp? ( - || ( - >=sys-devel/gcc-16:* - >=llvm-core/clang-19:* - ) - ) -" -if [[ ${PV} != *_alpha* ]]; then - RDEPEND+=" - dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] - " -fi -PDEPEND=" - ensurepip? ( dev-python/ensurepip-pip ) -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -# large file tests involve a 2.5G file being copied (duplicated) -CHECKREQS_DISK_BUILD=5500M - -QA_PKGCONFIG_VERSION=${PYVER%t} -# false positives -- functions specific to *BSD -QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) - -declare -rgA PYTHON_KERNEL_CHECKS=( - ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589 - ["DNOTIFY"]="test_fcntl" # bug 938662 -) - -pkg_pretend() { - if use pgo || use test; then - check-reqs_pkg_pretend - fi - - ewarn "Freethreading build is considered experimental upstream. Using it" - ewarn "could lead to unexpected breakage, including race conditions" - ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" - ewarn "you can reproduce the problem with dev-lang/python. Instead," - ewarn "please consider reporting freethreading problems upstream." -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]]; then - if use test || use pgo; then - check-reqs_pkg_setup - - local CONFIG_CHECK - for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do - CONFIG_CHECK+="~${f} " - done - linux-info_pkg_setup - fi - if use tail-call-interp; then - tc-check-min_ver gcc 16 - tc-check-min_ver clang 19 - fi - fi -} - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - # Ensure that internal copies of expat and libffi are not used. - # TODO: Makefile has annoying deps on expat headers - #rm -r Modules/expat || die - - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - default - - # force the correct number of jobs - # https://bugs.gentoo.org/737660 - sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die - - # breaks tests when using --with-wheel-pkg-dir - rm -r Lib/test/wheeldata || die - - eautoreconf -} - -build_cbuild_python() { - # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 - local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - # - # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) - local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" - local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" - local -x CFLAGS= LDFLAGS= - local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" - - # We need to build our own Python on CBUILD first, and feed it in. - # bug #847910 - local myeconfargs_cbuild=( - "${myeconfargs[@]}" - - --prefix="${BROOT}"/usr - --libdir="${cbuild_libdir:2}" - - # Avoid needing to load the right libpython.so. - --disable-shared - - # As minimal as possible for the mini CBUILD Python - # we build just for cross to satisfy --with-build-python. - --without-lto - --without-readline - --disable-optimizations - ) - - mkdir "${WORKDIR}"/${P}-${CBUILD} || die - pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die - - # Avoid as many dependencies as possible for the cross build. - mkdir Modules || die - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - _dbm _gdbm - _sqlite3 - _hashlib _ssl - _curses _curses_panel - readline - _tkinter - pyexpat - zlib - # We disabled these for CBUILD because Python's setup.py can't handle locating - # libdir correctly for cross. This should be rechecked for the pure Makefile approach, - # and uncommented if needed. - #_ctypes - EOF - - ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" - - # Unfortunately, we do have to build this immediately, and - # not in src_compile, because CHOST configure for Python - # will check the existence of the --with-build-python value - # immediately. - emake - popd &> /dev/null || die -} - -src_configure() { - # disable automagic bluetooth headers detection - if ! use bluetooth; then - local -x ac_cv_header_bluetooth_bluetooth_h=no - fi - - filter-flags -malign-double - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - # PKG_CONFIG needed for cross. - tc-export CXX PKG_CONFIG - - local dbmliborder= - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - # Set baseline test skip flags. - COMMON_TEST_SKIPS=( - # running gdb inside an ebuild as non-root, within sandbox, - # and possibly within a container is unreliable - -x test_gdb - # this is actually test_gdb.test_pretty_print - -x test_pretty_print - # https://bugs.gentoo.org/933840 - -x test_perf_profiler - ) - - # Arch-specific skips. See #931888 for a collection of these. - case ${CHOST} in - alpha*) - COMMON_TEST_SKIPS+=( - -x test_builtin - -x test_capi - -x test_cmath - -x test_float - # timeout - -x test_free_threading - -x test_math - -x test_numeric_tower - -x test_random - -x test_statistics - # bug 653850 - -x test_resource - -x test_strtod - ) - ;; - mips*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - -x test_statistics - ) - ;; - riscv*) - COMMON_TEST_SKIPS+=( - -x test_urllib2 - ) - ;; - sparc*) - COMMON_TEST_SKIPS+=( - # bug 788022 - -x test_multiprocessing_fork - -x test_multiprocessing_forkserver - -x test_multiprocessing_spawn - - -x test_ctypes - # bug 931908 - -x test_exceptions - ) - ;; - esac - - # Kernel-config specific skips - for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do - if ! linux_config_exists || ! linux_chkconfig_present "${option}" - then - COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" ) - fi - done - - # musl-specific skips - use elibc_musl && COMMON_TEST_SKIPS+=( - # various musl locale deficiencies - -x test__locale - -x test_c_locale_coercion - -x test_locale - -x test_re - - # known issues with find_library on musl - # https://bugs.python.org/issue21622 - -x test_ctypes - - # fpathconf, ttyname errno values - -x test_os - ) - - if use pgo; then - local profile_task_flags=( - -m test - "-j$(makeopts_jobs)" - --pgo-extended - --verbose3 - -u-network - - # We use a timeout because of how often we've had hang issues - # here. It also matches the default upstream PROFILE_TASK. - --timeout 1200 - - "${COMMON_TEST_SKIPS[@]}" - - -x test_dtrace - - # All of these seem to occasionally hang for PGO inconsistently - # They'll even hang here but be fine in src_test sometimes. - # bug #828535 (and related: bug #788022) - -x test_asyncio - -x test_httpservers - -x test_logging - -x test_multiprocessing_fork - -x test_socket - -x test_xmlrpc - - # Hangs (actually runs indefinitely executing itself w/ many cpython builds) - # bug #900429 - -x test_tools - - # Test terminates abruptly which corrupts written profile data - # bug #964023 - -x test_pyrepl - ) - - if has_version "app-arch/rpm" ; then - # Avoid sandbox failure (attempts to write to /var/lib/rpm) - profile_task_flags+=( - -x test_distutils - ) - fi - # PGO sometimes fails randomly - local -x PROFILE_TASK="${profile_task_flags[*]} || true" - fi - - local myeconfargs=( - # glibc-2.30 removes it; since we can't cleanly force-rebuild - # Python on glibc upgrade, remove it proactively to give - # a chance for users rebuilding python before glibc - ac_cv_header_stropts_h=no - - --enable-shared - --without-static-libpython - --enable-ipv6 - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --without-ensurepip - --without-lto - --with-system-expat - --with-system-libmpdec - --with-platlibdir=lib - --with-pkg-config=yes - --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip - --disable-gil - - $(use_with debug assertions) - $(use_enable pgo optimizations) - $(use_with readline readline "$(usex libedit editline readline)") - $(use_with tail-call-interp) - $(use_with valgrind) - ) - - if tc-is-lto; then - myeconfargs+=( - --with-lto - ) - fi - - # Force-disable modules we don't want built. - # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - $(usev build '_zstd') - $(usev !gdbm '_gdbm _dbm') - $(usev !sqlite '_sqlite3') - $(usev !ssl '_hashlib _ssl') - $(usev !ncurses '_curses _curses_panel') - $(usev !readline 'readline') - $(usev !tk '_tkinter') - EOF - - # disable implicit optimization/debugging flags - local -x OPT= - - if tc-is-cross-compiler ; then - build_cbuild_python - myeconfargs+=( - # Point the imminent CHOST build to the Python we just - # built for CBUILD. - --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python - ) - fi - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - local -x CFLAGS_NODIST=${CFLAGS} - local -x LDFLAGS_NODIST=${LDFLAGS} - local -x CFLAGS= LDFLAGS= - - # Fix implicit declarations on cross and prefix builds. Bug #674070. - if use ncurses; then - append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw - fi - - econf "${myeconfargs[@]}" - - if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi - - # install epython.py as part of stdlib - echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die -} - -src_compile() { - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - export PYTHONSTRICTEXTENSIONBUILD=1 - - # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't - # end up writing bytecode & violating sandbox. - # bug #831897 - local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} - - # Gentoo hack to disable accessing system site-packages - export GENTOO_CPYTHON_BUILD=1 - - if use pgo ; then - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - fi - - # also need to clear the flags explicitly here or they end up - # in _sysconfigdata* - emake CPPFLAGS= CFLAGS= LDFLAGS= - - # Restore saved value from above. - local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # this just happens to skip test_support.test_freeze that is broken - # without bundled expat - # TODO: get a proper skip for it upstream - local -x LOGNAME=buildbot - - local test_opts=( - --verbose3 - -u-network - -j "$(makeopts_jobs)" - "${COMMON_TEST_SKIPS[@]}" - ) - - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - - nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local ret=${?} - - [[ ${ret} -eq 0 ]] || die "emake test failed" -} - -src_install() { - local libdir=${ED}/usr/lib/python${PYVER} - local build_dir=$(<pybuilddir.txt) - - # -j1 hack for now for bug #843458 - emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall - - # Install build-details.json manually because it was randomly removed - # from altinstall in https://github.com/python/cpython/pull/142269. - cp "${build_dir}"/build-details.json "${libdir}"/ || die - - # Fix collisions between different slots of Python. - rm "${ED}/usr/$(get_libdir)/libpython3.so" || die - # Fix collision with GIL-enabled build. - rm "${ED}/usr/bin/python${PYVER%t}" || die - mv "${ED}"/usr/bin/pydoc{${PYVER%t},${PYVER}} || die - mv "${ED}"/usr/share/man/man1/python{${PYVER%t},${PYVER}}.1 || die - - # Cheap hack to get version with ABIFLAGS - local abiver=$(cd "${ED}/usr/include"; echo python*) - if [[ ${abiver} != python${PYVER} ]]; then - # Replace python3.X with a symlink to python3.Xm - rm "${ED}/usr/bin/python${PYVER}" || die - dosym "${abiver}" "/usr/bin/python${PYVER}" - # Create python3.X-config symlink - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" - # Create python-3.5m.pc symlink - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" - fi - - # python seems to get rebuilt in src_install (bug 569908) - # Work around it for now. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E "${ED}/usr/bin/${abiver}" - else - pax-mark m "${ED}/usr/bin/${abiver}" - fi - - rm -r "${libdir}"/ensurepip/_bundled || die - if ! use sqlite; then - rm -r "${libdir}/"sqlite3 || die - fi - if use tk; then - # rename to avoid collision with dev-lang/python - mv "${ED}"/usr/bin/idle{${PYVER%t},${PYVER}} || die - else - rm -r "${ED}/usr/bin/idle${PYVER%t}" || die - rm -r "${libdir}/"{idlelib,tkinter} || die - fi - - ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die - - dodoc Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - docinto examples - find Tools -name __pycache__ -exec rm -fr {} + || die - dodoc -r Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$( - printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | - emake --no-print-directory -s -f - 2>/dev/null - ) - newins Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" -} diff --git a/dev-lang/python/python-0.3.15.0_beta4.ebuild b/dev-lang/python/python-0.3.15.0_beta4.ebuild deleted file mode 100644 index 3557e1c25f09..000000000000 --- a/dev-lang/python/python-0.3.15.0_beta4.ebuild +++ /dev/null @@ -1,637 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -VERIFY_SIG_METHOD=sigstore -WANT_LIBTOOL="none" - -inherit autotools check-reqs eapi9-ver flag-o-matic linux-info -inherit multiprocessing pax-utils toolchain-funcs verify-sig - -REAL_PV=${PV#0.} -MY_PV=${REAL_PV/_beta/b} -MY_P="Python-${MY_PV%_p*}" -PYVER="$(ver_cut 2-3)t" -PATCHSET="python-gentoo-patches-${MY_PV}_p1" - -DESCRIPTION="Freethreading (no-GIL) version of Python programming language" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}" -IUSE=" - bluetooth build debug +ensurepip examples gdbm libedit +ncurses pgo - +readline +sqlite +ssl tail-call-interp test tk valgrind -" -RESTRICT="!test? ( test )" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND=" - app-arch/bzip2:= - app-arch/xz-utils:= - app-misc/mime-types - >=dev-libs/expat-2.1:= - dev-libs/libffi:= - dev-libs/mpdecimal:= - dev-python/gentoo-common - sys-apps/util-linux - >=virtual/zlib-1.1.3:= - virtual/libintl - !build? ( app-arch/zstd:= ) - gdbm? ( sys-libs/gdbm:=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:= ) - readline? ( - !libedit? ( >=sys-libs/readline-4.1:= ) - libedit? ( dev-libs/libedit:= ) - ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( >=dev-libs/openssl-1.1.1:= ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) -" -# bluetooth requires headers from bluez -DEPEND=" - ${RDEPEND} - bluetooth? ( net-wireless/bluez ) - test? ( - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - dev-python/ensurepip-wheel - ) - valgrind? ( dev-debug/valgrind ) -" -# autoconf-archive needed to eautoreconf -BDEPEND=" - dev-build/autoconf-archive - app-alternatives/awk - virtual/pkgconfig - tail-call-interp? ( - || ( - >=sys-devel/gcc-16:* - >=llvm-core/clang-19:* - ) - ) -" -if [[ ${PV} != *_alpha* ]]; then - RDEPEND+=" - dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] - " -fi -PDEPEND=" - ensurepip? ( dev-python/ensurepip-pip ) -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -# large file tests involve a 2.5G file being copied (duplicated) -CHECKREQS_DISK_BUILD=5500M - -QA_PKGCONFIG_VERSION=${PYVER%t} -# false positives -- functions specific to *BSD -QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) - -declare -rgA PYTHON_KERNEL_CHECKS=( - ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589 - ["DNOTIFY"]="test_fcntl" # bug 938662 -) - -pkg_pretend() { - if use pgo || use test; then - check-reqs_pkg_pretend - fi - - ewarn "Freethreading build is considered experimental upstream. Using it" - ewarn "could lead to unexpected breakage, including race conditions" - ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" - ewarn "you can reproduce the problem with dev-lang/python. Instead," - ewarn "please consider reporting freethreading problems upstream." - - if [[ ${MERGE_TYPE} != buildonly ]] && ver_replacing -lt 0.3.15.0_beta4; then - ewarn - ewarn "Python 3.15.0b4 has broken its extension ABI. The extensions built" - ewarn "with older versions may crash at runtime or worse after upgrading." - ewarn "A rebuild is recommended after the merge is complete, e.g. using:" - ewarn - ewarn " emerge -1v \$(find /usr/lib/python3.15t/site-packages -name '*.cpython-315t-*.so')" - ewarn - ewarn "Note that if you enabled both python3_15 and python3_15t, then" - ewarn "the 3.15 rebuild should cover all 3.15t packages as well." - ewarn "If you do not wish to perform the rebuild at the time, it is" - ewarn "recommended to abort the upgrade." - ewarn - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]]; then - if use test || use pgo; then - check-reqs_pkg_setup - - local CONFIG_CHECK - for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do - CONFIG_CHECK+="~${f} " - done - linux-info_pkg_setup - fi - if use tail-call-interp; then - tc-check-min_ver gcc 16 - tc-check-min_ver clang 19 - fi - fi -} - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - # Ensure that internal copies of expat and libffi are not used. - # TODO: Makefile has annoying deps on expat headers - #rm -r Modules/expat || die - - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - default - - # force the correct number of jobs - # https://bugs.gentoo.org/737660 - sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die - - # breaks tests when using --with-wheel-pkg-dir - rm -r Lib/test/wheeldata || die - - eautoreconf -} - -build_cbuild_python() { - # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 - local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - # - # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) - local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" - local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" - local -x CFLAGS= LDFLAGS= - local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" - - # We need to build our own Python on CBUILD first, and feed it in. - # bug #847910 - local myeconfargs_cbuild=( - "${myeconfargs[@]}" - - --prefix="${BROOT}"/usr - --libdir="${cbuild_libdir:2}" - - # Avoid needing to load the right libpython.so. - --disable-shared - - # As minimal as possible for the mini CBUILD Python - # we build just for cross to satisfy --with-build-python. - --without-lto - --without-readline - --disable-optimizations - ) - - mkdir "${WORKDIR}"/${P}-${CBUILD} || die - pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die - - # Avoid as many dependencies as possible for the cross build. - mkdir Modules || die - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - _dbm _gdbm - _sqlite3 - _hashlib _ssl - _curses _curses_panel - readline - _tkinter - pyexpat - zlib - # We disabled these for CBUILD because Python's setup.py can't handle locating - # libdir correctly for cross. This should be rechecked for the pure Makefile approach, - # and uncommented if needed. - #_ctypes - EOF - - ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" - - # Unfortunately, we do have to build this immediately, and - # not in src_compile, because CHOST configure for Python - # will check the existence of the --with-build-python value - # immediately. - emake - popd &> /dev/null || die -} - -src_configure() { - # disable automagic bluetooth headers detection - if ! use bluetooth; then - local -x ac_cv_header_bluetooth_bluetooth_h=no - fi - - filter-flags -malign-double - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - # PKG_CONFIG needed for cross. - tc-export CXX PKG_CONFIG - - local dbmliborder= - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - # Set baseline test skip flags. - COMMON_TEST_SKIPS=( - # running gdb inside an ebuild as non-root, within sandbox, - # and possibly within a container is unreliable - -x test_gdb - # this is actually test_gdb.test_pretty_print - -x test_pretty_print - # https://bugs.gentoo.org/933840 - -x test_perf_profiler - ) - - # Arch-specific skips. See #931888 for a collection of these. - case ${CHOST} in - alpha*) - COMMON_TEST_SKIPS+=( - -x test_builtin - -x test_capi - -x test_cmath - -x test_float - # timeout - -x test_free_threading - -x test_math - -x test_numeric_tower - -x test_random - -x test_statistics - # bug 653850 - -x test_resource - -x test_strtod - ) - ;; - mips*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - -x test_statistics - ) - ;; - riscv*) - COMMON_TEST_SKIPS+=( - -x test_urllib2 - ) - ;; - sparc*) - COMMON_TEST_SKIPS+=( - # bug 788022 - -x test_multiprocessing_fork - -x test_multiprocessing_forkserver - -x test_multiprocessing_spawn - - -x test_ctypes - # bug 931908 - -x test_exceptions - ) - ;; - esac - - # Kernel-config specific skips - for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do - if ! linux_config_exists || ! linux_chkconfig_present "${option}" - then - COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" ) - fi - done - - # musl-specific skips - use elibc_musl && COMMON_TEST_SKIPS+=( - # various musl locale deficiencies - -x test__locale - -x test_c_locale_coercion - -x test_locale - -x test_re - - # known issues with find_library on musl - # https://bugs.python.org/issue21622 - -x test_ctypes - - # fpathconf, ttyname errno values - -x test_os - ) - - if use pgo; then - local profile_task_flags=( - -m test - "-j$(makeopts_jobs)" - --pgo-extended - --verbose3 - -u-network - - # We use a timeout because of how often we've had hang issues - # here. It also matches the default upstream PROFILE_TASK. - --timeout 1200 - - "${COMMON_TEST_SKIPS[@]}" - - -x test_dtrace - - # All of these seem to occasionally hang for PGO inconsistently - # They'll even hang here but be fine in src_test sometimes. - # bug #828535 (and related: bug #788022) - -x test_asyncio - -x test_httpservers - -x test_logging - -x test_multiprocessing_fork - -x test_socket - -x test_xmlrpc - - # Hangs (actually runs indefinitely executing itself w/ many cpython builds) - # bug #900429 - -x test_tools - - # Test terminates abruptly which corrupts written profile data - # bug #964023 - -x test_pyrepl - ) - - if has_version "app-arch/rpm" ; then - # Avoid sandbox failure (attempts to write to /var/lib/rpm) - profile_task_flags+=( - -x test_distutils - ) - fi - # PGO sometimes fails randomly - local -x PROFILE_TASK="${profile_task_flags[*]} || true" - fi - - local myeconfargs=( - # glibc-2.30 removes it; since we can't cleanly force-rebuild - # Python on glibc upgrade, remove it proactively to give - # a chance for users rebuilding python before glibc - ac_cv_header_stropts_h=no - - --enable-shared - --without-static-libpython - --enable-ipv6 - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --without-ensurepip - --without-lto - --with-system-expat - --with-system-libmpdec - --with-platlibdir=lib - --with-pkg-config=yes - --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip - --disable-gil - - $(use_with debug assertions) - $(use_enable pgo optimizations) - $(use_with readline readline "$(usex libedit editline readline)") - $(use_with tail-call-interp) - $(use_with valgrind) - ) - - if tc-is-lto; then - myeconfargs+=( - --with-lto - ) - fi - - # Force-disable modules we don't want built. - # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - $(usev build '_zstd') - $(usev !gdbm '_gdbm _dbm') - $(usev !sqlite '_sqlite3') - $(usev !ssl '_hashlib _ssl') - $(usev !ncurses '_curses _curses_panel') - $(usev !readline 'readline') - $(usev !tk '_tkinter') - EOF - - # disable implicit optimization/debugging flags - local -x OPT= - - if tc-is-cross-compiler ; then - build_cbuild_python - myeconfargs+=( - # Point the imminent CHOST build to the Python we just - # built for CBUILD. - --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python - ) - fi - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - local -x CFLAGS_NODIST=${CFLAGS} - local -x LDFLAGS_NODIST=${LDFLAGS} - local -x CFLAGS= LDFLAGS= - - # Fix implicit declarations on cross and prefix builds. Bug #674070. - if use ncurses; then - append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw - fi - - econf "${myeconfargs[@]}" - - if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi - - # install epython.py as part of stdlib - echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die -} - -src_compile() { - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - export PYTHONSTRICTEXTENSIONBUILD=1 - - # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't - # end up writing bytecode & violating sandbox. - # bug #831897 - local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} - - # Gentoo hack to disable accessing system site-packages - export GENTOO_CPYTHON_BUILD=1 - - if use pgo ; then - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - fi - - # also need to clear the flags explicitly here or they end up - # in _sysconfigdata* - emake CPPFLAGS= CFLAGS= LDFLAGS= - - # Restore saved value from above. - local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # this just happens to skip test_support.test_freeze that is broken - # without bundled expat - # TODO: get a proper skip for it upstream - local -x LOGNAME=buildbot - - local test_opts=( - --verbose3 - -u-network - -j "$(makeopts_jobs)" - "${COMMON_TEST_SKIPS[@]}" - ) - - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - - nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local ret=${?} - - [[ ${ret} -eq 0 ]] || die "emake test failed" -} - -src_install() { - local libdir=${ED}/usr/lib/python${PYVER} - local build_dir=$(<pybuilddir.txt) - - # -j1 hack for now for bug #843458 - emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall - - # Install build-details.json manually because it was randomly removed - # from altinstall in https://github.com/python/cpython/pull/142269. - cp "${build_dir}"/build-details.json "${libdir}"/ || die - - # Fix collisions between different slots of Python. - rm "${ED}/usr/$(get_libdir)/libpython3.so" || die - # Fix collision with GIL-enabled build. - rm "${ED}/usr/bin/python${PYVER%t}" || die - mv "${ED}"/usr/bin/pydoc{${PYVER%t},${PYVER}} || die - mv "${ED}"/usr/share/man/man1/python{${PYVER%t},${PYVER}}.1 || die - - # Cheap hack to get version with ABIFLAGS - local abiver=$(cd "${ED}/usr/include"; echo python*) - if [[ ${abiver} != python${PYVER} ]]; then - # Replace python3.X with a symlink to python3.Xm - rm "${ED}/usr/bin/python${PYVER}" || die - dosym "${abiver}" "/usr/bin/python${PYVER}" - # Create python3.X-config symlink - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" - # Create python-3.5m.pc symlink - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" - fi - - # python seems to get rebuilt in src_install (bug 569908) - # Work around it for now. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E "${ED}/usr/bin/${abiver}" - else - pax-mark m "${ED}/usr/bin/${abiver}" - fi - - rm -r "${libdir}"/ensurepip/_bundled || die - if ! use sqlite; then - rm -r "${libdir}/"sqlite3 || die - fi - if use tk; then - # rename to avoid collision with dev-lang/python - mv "${ED}"/usr/bin/idle{${PYVER%t},${PYVER}} || die - else - rm -r "${ED}/usr/bin/idle${PYVER%t}" || die - rm -r "${libdir}/"{idlelib,tkinter} || die - fi - - ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die - - dodoc Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - docinto examples - find Tools -name __pycache__ -exec rm -fr {} + || die - dodoc -r Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$( - printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | - emake --no-print-directory -s -f - 2>/dev/null - ) - newins Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" -} - -pkg_postinst() { - if ver_replacing -lt 0.3.15.0_beta4; then - ewarn "Python 3.15.0b4 has broken its extension ABI. The extensions built" - ewarn "with older versions may crash at runtime or worse. To prevent this," - ewarn "please rebuild all extensions using the versoned ABI, e.g. using:" - ewarn - ewarn " emerge -1v \$(find /usr/lib/python3.15t/site-packages -name '*.cpython-315t-*.so')" - ewarn - ewarn "Note that if you enabled both python3_15 and python3_15t, then" - ewarn "the 3.15 rebuild should cover all 3.15t packages already." - fi -} diff --git a/dev-lang/python/python-0.3.15.0_rc1-r1.ebuild b/dev-lang/python/python-0.3.15.0_rc1-r1.ebuild deleted file mode 100644 index b011e6ecc26e..000000000000 --- a/dev-lang/python/python-0.3.15.0_rc1-r1.ebuild +++ /dev/null @@ -1,662 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -VERIFY_SIG_METHOD=sigstore -WANT_LIBTOOL="none" - -inherit autotools check-reqs eapi9-ver flag-o-matic linux-info -inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs -inherit verify-sig - -REAL_PV=${PV#0.} -MY_PV=${REAL_PV/_} -MY_P="Python-${MY_PV%_p*}" -PYVER="$(ver_cut 2-3)t" -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="Freethreading (no-GIL) version of Python programming language" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}" -IUSE=" - bluetooth build debug +ensurepip examples gdbm libedit +ncurses pgo - +readline +sqlite +ssl tail-call-interp test tk valgrind -" -RESTRICT="!test? ( test )" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND=" - app-arch/bzip2:= - app-arch/xz-utils:= - app-misc/mime-types - >=dev-libs/expat-2.1:= - dev-libs/libffi:= - dev-libs/mpdecimal:= - dev-python/gentoo-common - sys-apps/util-linux - >=virtual/zlib-1.1.3:= - virtual/libintl - !build? ( app-arch/zstd:= ) - gdbm? ( sys-libs/gdbm:=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:= ) - readline? ( - !libedit? ( >=sys-libs/readline-4.1:= ) - libedit? ( dev-libs/libedit:= ) - ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( >=dev-libs/openssl-1.1.1:= ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) -" -# bluetooth requires headers from bluez -DEPEND=" - ${RDEPEND} - bluetooth? ( net-wireless/bluez ) - test? ( - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - dev-python/ensurepip-wheel - ) - valgrind? ( dev-debug/valgrind ) -" -# autoconf-archive needed to eautoreconf -BDEPEND=" - dev-build/autoconf-archive - app-alternatives/awk - virtual/pkgconfig - tail-call-interp? ( - || ( - >=sys-devel/gcc-16:* - >=llvm-core/clang-19:* - ) - ) -" -if [[ ${PV} != *_alpha* ]]; then - RDEPEND+=" - dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] - " -fi -PDEPEND=" - ensurepip? ( dev-python/ensurepip-pip ) -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -# large file tests involve a 2.5G file being copied (duplicated) -CHECKREQS_DISK_BUILD=5500M - -QA_PKGCONFIG_VERSION=${PYVER%t} -# false positives -- functions specific to *BSD -QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) - -declare -rgA PYTHON_KERNEL_CHECKS=( - ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589 - ["DNOTIFY"]="test_fcntl" # bug 938662 -) - -pkg_pretend() { - if use pgo || use test; then - check-reqs_pkg_pretend - fi - - ewarn "Freethreading build is considered experimental upstream. Using it" - ewarn "could lead to unexpected breakage, including race conditions" - ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" - ewarn "you can reproduce the problem with dev-lang/python. Instead," - ewarn "please consider reporting freethreading problems upstream." - - if [[ ${MERGE_TYPE} != buildonly ]] && ver_replacing -lt 0.3.15.0_beta4; then - ewarn - ewarn "Python 3.15.0b4 has broken its extension ABI. The extensions built" - ewarn "with older versions may crash at runtime or worse after upgrading." - ewarn "A rebuild is recommended after the merge is complete, e.g. using:" - ewarn - ewarn " emerge -1v \$(find /usr/lib/python3.15t/site-packages -name '*.cpython-315t-*.so')" - ewarn - ewarn "Note that if you enabled both python3_15 and python3_15t, then" - ewarn "the 3.15 rebuild should cover all 3.15t packages as well." - ewarn "If you do not wish to perform the rebuild at the time, it is" - ewarn "recommended to abort the upgrade." - ewarn - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]]; then - if use test || use pgo; then - check-reqs_pkg_setup - - local CONFIG_CHECK - for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do - CONFIG_CHECK+="~${f} " - done - linux-info_pkg_setup - fi - if use tail-call-interp; then - tc-check-min_ver gcc 16 - tc-check-min_ver clang 19 - fi - fi -} - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - # Ensure that internal copies of expat and libffi are not used. - # TODO: Makefile has annoying deps on expat headers - #rm -r Modules/expat || die - - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - default - - # force the correct number of jobs - # https://bugs.gentoo.org/737660 - sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die - - # breaks tests when using --with-wheel-pkg-dir - rm -r Lib/test/wheeldata || die - - eautoreconf -} - -build_cbuild_python() { - # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 - local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - # - # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) - local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" - local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" - local -x CFLAGS= LDFLAGS= - local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" - - # We need to build our own Python on CBUILD first, and feed it in. - # bug #847910 - local myeconfargs_cbuild=( - "${myeconfargs[@]}" - - --prefix="${BROOT}"/usr - --libdir="${cbuild_libdir:2}" - - # Avoid needing to load the right libpython.so. - --disable-shared - - # As minimal as possible for the mini CBUILD Python - # we build just for cross to satisfy --with-build-python. - --without-lto - --without-readline - --disable-optimizations - ) - - mkdir "${WORKDIR}"/${P}-${CBUILD} || die - pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die - - # Avoid as many dependencies as possible for the cross build. - mkdir Modules || die - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - _dbm _gdbm - _sqlite3 - _hashlib _ssl - _curses _curses_panel - readline - _tkinter - pyexpat - zlib - # We disabled these for CBUILD because Python's setup.py can't handle locating - # libdir correctly for cross. This should be rechecked for the pure Makefile approach, - # and uncommented if needed. - #_ctypes - EOF - - ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" - - # Unfortunately, we do have to build this immediately, and - # not in src_compile, because CHOST configure for Python - # will check the existence of the --with-build-python value - # immediately. - emake - popd &> /dev/null || die -} - -src_configure() { - # disable automagic bluetooth headers detection - if ! use bluetooth; then - local -x ac_cv_header_bluetooth_bluetooth_h=no - fi - - filter-flags -malign-double - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - # PKG_CONFIG needed for cross. - tc-export CXX PKG_CONFIG - - local dbmliborder= - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - # Set baseline test skip flags. - COMMON_TEST_SKIPS=( - # running gdb inside an ebuild as non-root, within sandbox, - # and possibly within a container is unreliable - -x test_gdb - # this is actually test_gdb.test_pretty_print - -x test_pretty_print - # https://bugs.gentoo.org/933840 - -x test_perf_profiler - ) - - # Arch-specific skips. See #931888 for a collection of these. - case ${CHOST} in - alpha*) - COMMON_TEST_SKIPS+=( - -x test_builtin - -x test_capi - -x test_cmath - -x test_float - # timeout - -x test_free_threading - -x test_math - -x test_numeric_tower - -x test_random - -x test_statistics - # bug 653850 - -x test_resource - -x test_strtod - ) - ;; - mips*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - -x test_statistics - ) - ;; - riscv*) - COMMON_TEST_SKIPS+=( - -x test_urllib2 - ) - ;; - sparc*) - COMMON_TEST_SKIPS+=( - # bug 788022 - -x test_multiprocessing_fork - -x test_multiprocessing_forkserver - -x test_multiprocessing_spawn - - -x test_ctypes - # bug 931908 - -x test_exceptions - ) - ;; - esac - - # Kernel-config specific skips - for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do - if ! linux_config_exists || ! linux_chkconfig_present "${option}" - then - COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" ) - fi - done - - # musl-specific skips - use elibc_musl && COMMON_TEST_SKIPS+=( - # various musl locale deficiencies - -x test__locale - -x test_c_locale_coercion - -x test_locale - -x test_re - - # known issues with find_library on musl - # https://bugs.python.org/issue21622 - -x test_ctypes - - # fpathconf, ttyname errno values - -x test_os - ) - - if use pgo; then - local profile_task_flags=( - -m test - "-j$(makeopts_jobs)" - --pgo-extended - --verbose3 - -u-network - - # We use a timeout because of how often we've had hang issues - # here. It also matches the default upstream PROFILE_TASK. - --timeout 1200 - - "${COMMON_TEST_SKIPS[@]}" - - -x test_dtrace - - # All of these seem to occasionally hang for PGO inconsistently - # They'll even hang here but be fine in src_test sometimes. - # bug #828535 (and related: bug #788022) - -x test_asyncio - -x test_httpservers - -x test_logging - -x test_multiprocessing_fork - -x test_socket - -x test_xmlrpc - - # Hangs (actually runs indefinitely executing itself w/ many cpython builds) - # bug #900429 - -x test_tools - - # Test terminates abruptly which corrupts written profile data - # bug #964023 - -x test_pyrepl - ) - - if has_version "app-arch/rpm" ; then - # Avoid sandbox failure (attempts to write to /var/lib/rpm) - profile_task_flags+=( - -x test_distutils - ) - fi - # PGO sometimes fails randomly - local -x PROFILE_TASK="${profile_task_flags[*]} || true" - fi - - local myeconfargs=( - # glibc-2.30 removes it; since we can't cleanly force-rebuild - # Python on glibc upgrade, remove it proactively to give - # a chance for users rebuilding python before glibc - ac_cv_header_stropts_h=no - - --enable-shared - --without-static-libpython - --enable-ipv6 - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --without-ensurepip - --without-lto - --with-system-expat - --with-system-libmpdec - --with-platlibdir=lib - --with-pkg-config=yes - --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip - --disable-gil - - $(use_with debug assertions) - $(use_enable pgo optimizations) - $(use_with readline readline "$(usex libedit editline readline)") - $(use_with tail-call-interp) - $(use_with valgrind) - ) - - if tc-is-lto; then - myeconfargs+=( - --with-lto - ) - fi - - # Force-disable modules we don't want built. - # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - $(usev build '_zstd') - $(usev !gdbm '_gdbm _dbm') - $(usev !sqlite '_sqlite3') - $(usev !ssl '_hashlib _ssl') - $(usev !ncurses '_curses _curses_panel') - $(usev !readline 'readline') - $(usev !tk '_tkinter') - EOF - - # disable implicit optimization/debugging flags - local -x OPT= - - if tc-is-cross-compiler ; then - build_cbuild_python - myeconfargs+=( - # Point the imminent CHOST build to the Python we just - # built for CBUILD. - --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python - ) - fi - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - local -x CFLAGS_NODIST=${CFLAGS} - local -x LDFLAGS_NODIST=${LDFLAGS} - local -x CFLAGS= LDFLAGS= - - # Fix implicit declarations on cross and prefix builds. Bug #674070. - if use ncurses; then - append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw - fi - - econf "${myeconfargs[@]}" - - if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi - - # install epython.py as part of stdlib - echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die -} - -src_compile() { - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - export PYTHONSTRICTEXTENSIONBUILD=1 - - # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't - # end up writing bytecode & violating sandbox. - # bug #831897 - local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} - - # Gentoo hack to disable accessing system site-packages - export GENTOO_CPYTHON_BUILD=1 - - if use pgo ; then - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - fi - - # also need to clear the flags explicitly here or they end up - # in _sysconfigdata* - emake CPPFLAGS= CFLAGS= LDFLAGS= - - # Restore saved value from above. - local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # this just happens to skip test_support.test_freeze that is broken - # without bundled expat - # TODO: get a proper skip for it upstream - local -x LOGNAME=buildbot - - local test_opts=( - --verbose3 - -u-network - -j "$(makeopts_jobs)" - "${COMMON_TEST_SKIPS[@]}" - ) - - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - - nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local ret=${?} - - [[ ${ret} -eq 0 ]] || die "emake test failed" -} - -src_install() { - local libdir=${ED}/usr/lib/python${PYVER} - local build_dir=$(<pybuilddir.txt) - - # -j1 hack for now for bug #843458 - emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall - - # Install build-details.json manually because it was randomly removed - # from altinstall in https://github.com/python/cpython/pull/142269. - cp "${build_dir}"/build-details.json "${libdir}"/ || die - - # Fix collisions between different slots of Python. - rm "${ED}/usr/$(get_libdir)/libpython3.so" || die - # Fix collision with GIL-enabled build. - rm "${ED}/usr/bin/python${PYVER%t}" || die - mv "${ED}"/usr/bin/pydoc{${PYVER%t},${PYVER}} || die - mv "${ED}"/usr/share/man/man1/python{${PYVER%t},${PYVER}}.1 || die - - # Cheap hack to get version with ABIFLAGS - local abiver=$(cd "${ED}/usr/include"; echo python*) - if [[ ${abiver} != python${PYVER} ]]; then - # Replace python3.X with a symlink to python3.Xm - rm "${ED}/usr/bin/python${PYVER}" || die - dosym "${abiver}" "/usr/bin/python${PYVER}" - # Create python3.X-config symlink - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" - # Create python-3.5m.pc symlink - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" - fi - - # python seems to get rebuilt in src_install (bug 569908) - # Work around it for now. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E "${ED}/usr/bin/${abiver}" - else - pax-mark m "${ED}/usr/bin/${abiver}" - fi - - rm -r "${libdir}"/ensurepip/_bundled || die - if ! use sqlite; then - rm -r "${libdir}/"sqlite3 || die - fi - if use tk; then - # rename to avoid collision with dev-lang/python - mv "${ED}"/usr/bin/idle{${PYVER%t},${PYVER}} || die - else - rm -r "${ED}/usr/bin/idle${PYVER%t}" || die - rm -r "${libdir}/"{idlelib,tkinter} || die - fi - - ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die - - dodoc Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - docinto examples - find Tools -name __pycache__ -exec rm -fr {} + || die - dodoc -r Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$( - printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | - emake --no-print-directory -s -f - 2>/dev/null - ) - newins Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" - - # python-exec wrapping support - local pymajor=${PYVER%.*} - local EPYTHON=python${PYVER} - local scriptdir=${D}$(python_get_scriptdir) - mkdir -p "${scriptdir}" || die - # python and pythonX - ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die - ln -s "python${pymajor}" "${scriptdir}/python" || die - # python-config and pythonX-config - # note: we need to create a wrapper rather than symlinking it due - # to some random dirname(argv[0]) magic performed by python-config - cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die - #!/bin/sh - exec "${abiver}-config" "\${@}" - EOF - chmod +x "${scriptdir}/python${pymajor}-config" || die - ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die - # pydoc - ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die - # idle - if use tk; then - ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die - fi -} - -pkg_postinst() { - if ver_replacing -lt 0.3.15.0_beta4; then - ewarn "Python 3.15.0b4 has broken its extension ABI. The extensions built" - ewarn "with older versions may crash at runtime or worse. To prevent this," - ewarn "please rebuild all extensions using the versoned ABI, e.g. using:" - ewarn - ewarn " emerge -1v \$(find /usr/lib/python3.15t/site-packages -name '*.cpython-315t-*.so')" - ewarn - ewarn "Note that if you enabled both python3_15 and python3_15t, then" - ewarn "the 3.15 rebuild should cover all 3.15t packages already." - fi -} diff --git a/dev-lang/python/python-0.3.15.0_rc2.ebuild b/dev-lang/python/python-0.3.15.0_rc2.ebuild deleted file mode 100644 index b011e6ecc26e..000000000000 --- a/dev-lang/python/python-0.3.15.0_rc2.ebuild +++ /dev/null @@ -1,662 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -VERIFY_SIG_METHOD=sigstore -WANT_LIBTOOL="none" - -inherit autotools check-reqs eapi9-ver flag-o-matic linux-info -inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs -inherit verify-sig - -REAL_PV=${PV#0.} -MY_PV=${REAL_PV/_} -MY_P="Python-${MY_PV%_p*}" -PYVER="$(ver_cut 2-3)t" -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="Freethreading (no-GIL) version of Python programming language" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}" -IUSE=" - bluetooth build debug +ensurepip examples gdbm libedit +ncurses pgo - +readline +sqlite +ssl tail-call-interp test tk valgrind -" -RESTRICT="!test? ( test )" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND=" - app-arch/bzip2:= - app-arch/xz-utils:= - app-misc/mime-types - >=dev-libs/expat-2.1:= - dev-libs/libffi:= - dev-libs/mpdecimal:= - dev-python/gentoo-common - sys-apps/util-linux - >=virtual/zlib-1.1.3:= - virtual/libintl - !build? ( app-arch/zstd:= ) - gdbm? ( sys-libs/gdbm:=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:= ) - readline? ( - !libedit? ( >=sys-libs/readline-4.1:= ) - libedit? ( dev-libs/libedit:= ) - ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( >=dev-libs/openssl-1.1.1:= ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) -" -# bluetooth requires headers from bluez -DEPEND=" - ${RDEPEND} - bluetooth? ( net-wireless/bluez ) - test? ( - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - dev-python/ensurepip-wheel - ) - valgrind? ( dev-debug/valgrind ) -" -# autoconf-archive needed to eautoreconf -BDEPEND=" - dev-build/autoconf-archive - app-alternatives/awk - virtual/pkgconfig - tail-call-interp? ( - || ( - >=sys-devel/gcc-16:* - >=llvm-core/clang-19:* - ) - ) -" -if [[ ${PV} != *_alpha* ]]; then - RDEPEND+=" - dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] - " -fi -PDEPEND=" - ensurepip? ( dev-python/ensurepip-pip ) -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -# large file tests involve a 2.5G file being copied (duplicated) -CHECKREQS_DISK_BUILD=5500M - -QA_PKGCONFIG_VERSION=${PYVER%t} -# false positives -- functions specific to *BSD -QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) - -declare -rgA PYTHON_KERNEL_CHECKS=( - ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589 - ["DNOTIFY"]="test_fcntl" # bug 938662 -) - -pkg_pretend() { - if use pgo || use test; then - check-reqs_pkg_pretend - fi - - ewarn "Freethreading build is considered experimental upstream. Using it" - ewarn "could lead to unexpected breakage, including race conditions" - ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" - ewarn "you can reproduce the problem with dev-lang/python. Instead," - ewarn "please consider reporting freethreading problems upstream." - - if [[ ${MERGE_TYPE} != buildonly ]] && ver_replacing -lt 0.3.15.0_beta4; then - ewarn - ewarn "Python 3.15.0b4 has broken its extension ABI. The extensions built" - ewarn "with older versions may crash at runtime or worse after upgrading." - ewarn "A rebuild is recommended after the merge is complete, e.g. using:" - ewarn - ewarn " emerge -1v \$(find /usr/lib/python3.15t/site-packages -name '*.cpython-315t-*.so')" - ewarn - ewarn "Note that if you enabled both python3_15 and python3_15t, then" - ewarn "the 3.15 rebuild should cover all 3.15t packages as well." - ewarn "If you do not wish to perform the rebuild at the time, it is" - ewarn "recommended to abort the upgrade." - ewarn - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]]; then - if use test || use pgo; then - check-reqs_pkg_setup - - local CONFIG_CHECK - for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do - CONFIG_CHECK+="~${f} " - done - linux-info_pkg_setup - fi - if use tail-call-interp; then - tc-check-min_ver gcc 16 - tc-check-min_ver clang 19 - fi - fi -} - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - # Ensure that internal copies of expat and libffi are not used. - # TODO: Makefile has annoying deps on expat headers - #rm -r Modules/expat || die - - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - default - - # force the correct number of jobs - # https://bugs.gentoo.org/737660 - sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die - - # breaks tests when using --with-wheel-pkg-dir - rm -r Lib/test/wheeldata || die - - eautoreconf -} - -build_cbuild_python() { - # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 - local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - # - # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) - local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" - local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" - local -x CFLAGS= LDFLAGS= - local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" - - # We need to build our own Python on CBUILD first, and feed it in. - # bug #847910 - local myeconfargs_cbuild=( - "${myeconfargs[@]}" - - --prefix="${BROOT}"/usr - --libdir="${cbuild_libdir:2}" - - # Avoid needing to load the right libpython.so. - --disable-shared - - # As minimal as possible for the mini CBUILD Python - # we build just for cross to satisfy --with-build-python. - --without-lto - --without-readline - --disable-optimizations - ) - - mkdir "${WORKDIR}"/${P}-${CBUILD} || die - pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die - - # Avoid as many dependencies as possible for the cross build. - mkdir Modules || die - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - _dbm _gdbm - _sqlite3 - _hashlib _ssl - _curses _curses_panel - readline - _tkinter - pyexpat - zlib - # We disabled these for CBUILD because Python's setup.py can't handle locating - # libdir correctly for cross. This should be rechecked for the pure Makefile approach, - # and uncommented if needed. - #_ctypes - EOF - - ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" - - # Unfortunately, we do have to build this immediately, and - # not in src_compile, because CHOST configure for Python - # will check the existence of the --with-build-python value - # immediately. - emake - popd &> /dev/null || die -} - -src_configure() { - # disable automagic bluetooth headers detection - if ! use bluetooth; then - local -x ac_cv_header_bluetooth_bluetooth_h=no - fi - - filter-flags -malign-double - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - # PKG_CONFIG needed for cross. - tc-export CXX PKG_CONFIG - - local dbmliborder= - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - # Set baseline test skip flags. - COMMON_TEST_SKIPS=( - # running gdb inside an ebuild as non-root, within sandbox, - # and possibly within a container is unreliable - -x test_gdb - # this is actually test_gdb.test_pretty_print - -x test_pretty_print - # https://bugs.gentoo.org/933840 - -x test_perf_profiler - ) - - # Arch-specific skips. See #931888 for a collection of these. - case ${CHOST} in - alpha*) - COMMON_TEST_SKIPS+=( - -x test_builtin - -x test_capi - -x test_cmath - -x test_float - # timeout - -x test_free_threading - -x test_math - -x test_numeric_tower - -x test_random - -x test_statistics - # bug 653850 - -x test_resource - -x test_strtod - ) - ;; - mips*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - -x test_statistics - ) - ;; - riscv*) - COMMON_TEST_SKIPS+=( - -x test_urllib2 - ) - ;; - sparc*) - COMMON_TEST_SKIPS+=( - # bug 788022 - -x test_multiprocessing_fork - -x test_multiprocessing_forkserver - -x test_multiprocessing_spawn - - -x test_ctypes - # bug 931908 - -x test_exceptions - ) - ;; - esac - - # Kernel-config specific skips - for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do - if ! linux_config_exists || ! linux_chkconfig_present "${option}" - then - COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" ) - fi - done - - # musl-specific skips - use elibc_musl && COMMON_TEST_SKIPS+=( - # various musl locale deficiencies - -x test__locale - -x test_c_locale_coercion - -x test_locale - -x test_re - - # known issues with find_library on musl - # https://bugs.python.org/issue21622 - -x test_ctypes - - # fpathconf, ttyname errno values - -x test_os - ) - - if use pgo; then - local profile_task_flags=( - -m test - "-j$(makeopts_jobs)" - --pgo-extended - --verbose3 - -u-network - - # We use a timeout because of how often we've had hang issues - # here. It also matches the default upstream PROFILE_TASK. - --timeout 1200 - - "${COMMON_TEST_SKIPS[@]}" - - -x test_dtrace - - # All of these seem to occasionally hang for PGO inconsistently - # They'll even hang here but be fine in src_test sometimes. - # bug #828535 (and related: bug #788022) - -x test_asyncio - -x test_httpservers - -x test_logging - -x test_multiprocessing_fork - -x test_socket - -x test_xmlrpc - - # Hangs (actually runs indefinitely executing itself w/ many cpython builds) - # bug #900429 - -x test_tools - - # Test terminates abruptly which corrupts written profile data - # bug #964023 - -x test_pyrepl - ) - - if has_version "app-arch/rpm" ; then - # Avoid sandbox failure (attempts to write to /var/lib/rpm) - profile_task_flags+=( - -x test_distutils - ) - fi - # PGO sometimes fails randomly - local -x PROFILE_TASK="${profile_task_flags[*]} || true" - fi - - local myeconfargs=( - # glibc-2.30 removes it; since we can't cleanly force-rebuild - # Python on glibc upgrade, remove it proactively to give - # a chance for users rebuilding python before glibc - ac_cv_header_stropts_h=no - - --enable-shared - --without-static-libpython - --enable-ipv6 - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --without-ensurepip - --without-lto - --with-system-expat - --with-system-libmpdec - --with-platlibdir=lib - --with-pkg-config=yes - --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip - --disable-gil - - $(use_with debug assertions) - $(use_enable pgo optimizations) - $(use_with readline readline "$(usex libedit editline readline)") - $(use_with tail-call-interp) - $(use_with valgrind) - ) - - if tc-is-lto; then - myeconfargs+=( - --with-lto - ) - fi - - # Force-disable modules we don't want built. - # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - $(usev build '_zstd') - $(usev !gdbm '_gdbm _dbm') - $(usev !sqlite '_sqlite3') - $(usev !ssl '_hashlib _ssl') - $(usev !ncurses '_curses _curses_panel') - $(usev !readline 'readline') - $(usev !tk '_tkinter') - EOF - - # disable implicit optimization/debugging flags - local -x OPT= - - if tc-is-cross-compiler ; then - build_cbuild_python - myeconfargs+=( - # Point the imminent CHOST build to the Python we just - # built for CBUILD. - --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python - ) - fi - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - local -x CFLAGS_NODIST=${CFLAGS} - local -x LDFLAGS_NODIST=${LDFLAGS} - local -x CFLAGS= LDFLAGS= - - # Fix implicit declarations on cross and prefix builds. Bug #674070. - if use ncurses; then - append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw - fi - - econf "${myeconfargs[@]}" - - if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi - - # install epython.py as part of stdlib - echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die -} - -src_compile() { - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - export PYTHONSTRICTEXTENSIONBUILD=1 - - # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't - # end up writing bytecode & violating sandbox. - # bug #831897 - local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} - - # Gentoo hack to disable accessing system site-packages - export GENTOO_CPYTHON_BUILD=1 - - if use pgo ; then - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - fi - - # also need to clear the flags explicitly here or they end up - # in _sysconfigdata* - emake CPPFLAGS= CFLAGS= LDFLAGS= - - # Restore saved value from above. - local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # this just happens to skip test_support.test_freeze that is broken - # without bundled expat - # TODO: get a proper skip for it upstream - local -x LOGNAME=buildbot - - local test_opts=( - --verbose3 - -u-network - -j "$(makeopts_jobs)" - "${COMMON_TEST_SKIPS[@]}" - ) - - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - - nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local ret=${?} - - [[ ${ret} -eq 0 ]] || die "emake test failed" -} - -src_install() { - local libdir=${ED}/usr/lib/python${PYVER} - local build_dir=$(<pybuilddir.txt) - - # -j1 hack for now for bug #843458 - emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall - - # Install build-details.json manually because it was randomly removed - # from altinstall in https://github.com/python/cpython/pull/142269. - cp "${build_dir}"/build-details.json "${libdir}"/ || die - - # Fix collisions between different slots of Python. - rm "${ED}/usr/$(get_libdir)/libpython3.so" || die - # Fix collision with GIL-enabled build. - rm "${ED}/usr/bin/python${PYVER%t}" || die - mv "${ED}"/usr/bin/pydoc{${PYVER%t},${PYVER}} || die - mv "${ED}"/usr/share/man/man1/python{${PYVER%t},${PYVER}}.1 || die - - # Cheap hack to get version with ABIFLAGS - local abiver=$(cd "${ED}/usr/include"; echo python*) - if [[ ${abiver} != python${PYVER} ]]; then - # Replace python3.X with a symlink to python3.Xm - rm "${ED}/usr/bin/python${PYVER}" || die - dosym "${abiver}" "/usr/bin/python${PYVER}" - # Create python3.X-config symlink - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" - # Create python-3.5m.pc symlink - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" - fi - - # python seems to get rebuilt in src_install (bug 569908) - # Work around it for now. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E "${ED}/usr/bin/${abiver}" - else - pax-mark m "${ED}/usr/bin/${abiver}" - fi - - rm -r "${libdir}"/ensurepip/_bundled || die - if ! use sqlite; then - rm -r "${libdir}/"sqlite3 || die - fi - if use tk; then - # rename to avoid collision with dev-lang/python - mv "${ED}"/usr/bin/idle{${PYVER%t},${PYVER}} || die - else - rm -r "${ED}/usr/bin/idle${PYVER%t}" || die - rm -r "${libdir}/"{idlelib,tkinter} || die - fi - - ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die - - dodoc Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - docinto examples - find Tools -name __pycache__ -exec rm -fr {} + || die - dodoc -r Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$( - printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | - emake --no-print-directory -s -f - 2>/dev/null - ) - newins Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" - - # python-exec wrapping support - local pymajor=${PYVER%.*} - local EPYTHON=python${PYVER} - local scriptdir=${D}$(python_get_scriptdir) - mkdir -p "${scriptdir}" || die - # python and pythonX - ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die - ln -s "python${pymajor}" "${scriptdir}/python" || die - # python-config and pythonX-config - # note: we need to create a wrapper rather than symlinking it due - # to some random dirname(argv[0]) magic performed by python-config - cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die - #!/bin/sh - exec "${abiver}-config" "\${@}" - EOF - chmod +x "${scriptdir}/python${pymajor}-config" || die - ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die - # pydoc - ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die - # idle - if use tk; then - ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die - fi -} - -pkg_postinst() { - if ver_replacing -lt 0.3.15.0_beta4; then - ewarn "Python 3.15.0b4 has broken its extension ABI. The extensions built" - ewarn "with older versions may crash at runtime or worse. To prevent this," - ewarn "please rebuild all extensions using the versoned ABI, e.g. using:" - ewarn - ewarn " emerge -1v \$(find /usr/lib/python3.15t/site-packages -name '*.cpython-315t-*.so')" - ewarn - ewarn "Note that if you enabled both python3_15 and python3_15t, then" - ewarn "the 3.15 rebuild should cover all 3.15t packages already." - fi -} diff --git a/dev-lang/python/python-0.3.15.0_rc3.ebuild b/dev-lang/python/python-0.3.15.0_rc3.ebuild deleted file mode 100644 index b011e6ecc26e..000000000000 --- a/dev-lang/python/python-0.3.15.0_rc3.ebuild +++ /dev/null @@ -1,662 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -VERIFY_SIG_METHOD=sigstore -WANT_LIBTOOL="none" - -inherit autotools check-reqs eapi9-ver flag-o-matic linux-info -inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs -inherit verify-sig - -REAL_PV=${PV#0.} -MY_PV=${REAL_PV/_} -MY_P="Python-${MY_PV%_p*}" -PYVER="$(ver_cut 2-3)t" -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="Freethreading (no-GIL) version of Python programming language" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}" -IUSE=" - bluetooth build debug +ensurepip examples gdbm libedit +ncurses pgo - +readline +sqlite +ssl tail-call-interp test tk valgrind -" -RESTRICT="!test? ( test )" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND=" - app-arch/bzip2:= - app-arch/xz-utils:= - app-misc/mime-types - >=dev-libs/expat-2.1:= - dev-libs/libffi:= - dev-libs/mpdecimal:= - dev-python/gentoo-common - sys-apps/util-linux - >=virtual/zlib-1.1.3:= - virtual/libintl - !build? ( app-arch/zstd:= ) - gdbm? ( sys-libs/gdbm:=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:= ) - readline? ( - !libedit? ( >=sys-libs/readline-4.1:= ) - libedit? ( dev-libs/libedit:= ) - ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( >=dev-libs/openssl-1.1.1:= ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) -" -# bluetooth requires headers from bluez -DEPEND=" - ${RDEPEND} - bluetooth? ( net-wireless/bluez ) - test? ( - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - dev-python/ensurepip-wheel - ) - valgrind? ( dev-debug/valgrind ) -" -# autoconf-archive needed to eautoreconf -BDEPEND=" - dev-build/autoconf-archive - app-alternatives/awk - virtual/pkgconfig - tail-call-interp? ( - || ( - >=sys-devel/gcc-16:* - >=llvm-core/clang-19:* - ) - ) -" -if [[ ${PV} != *_alpha* ]]; then - RDEPEND+=" - dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] - " -fi -PDEPEND=" - ensurepip? ( dev-python/ensurepip-pip ) -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -# large file tests involve a 2.5G file being copied (duplicated) -CHECKREQS_DISK_BUILD=5500M - -QA_PKGCONFIG_VERSION=${PYVER%t} -# false positives -- functions specific to *BSD -QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) - -declare -rgA PYTHON_KERNEL_CHECKS=( - ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589 - ["DNOTIFY"]="test_fcntl" # bug 938662 -) - -pkg_pretend() { - if use pgo || use test; then - check-reqs_pkg_pretend - fi - - ewarn "Freethreading build is considered experimental upstream. Using it" - ewarn "could lead to unexpected breakage, including race conditions" - ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" - ewarn "you can reproduce the problem with dev-lang/python. Instead," - ewarn "please consider reporting freethreading problems upstream." - - if [[ ${MERGE_TYPE} != buildonly ]] && ver_replacing -lt 0.3.15.0_beta4; then - ewarn - ewarn "Python 3.15.0b4 has broken its extension ABI. The extensions built" - ewarn "with older versions may crash at runtime or worse after upgrading." - ewarn "A rebuild is recommended after the merge is complete, e.g. using:" - ewarn - ewarn " emerge -1v \$(find /usr/lib/python3.15t/site-packages -name '*.cpython-315t-*.so')" - ewarn - ewarn "Note that if you enabled both python3_15 and python3_15t, then" - ewarn "the 3.15 rebuild should cover all 3.15t packages as well." - ewarn "If you do not wish to perform the rebuild at the time, it is" - ewarn "recommended to abort the upgrade." - ewarn - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]]; then - if use test || use pgo; then - check-reqs_pkg_setup - - local CONFIG_CHECK - for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do - CONFIG_CHECK+="~${f} " - done - linux-info_pkg_setup - fi - if use tail-call-interp; then - tc-check-min_ver gcc 16 - tc-check-min_ver clang 19 - fi - fi -} - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - # Ensure that internal copies of expat and libffi are not used. - # TODO: Makefile has annoying deps on expat headers - #rm -r Modules/expat || die - - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - default - - # force the correct number of jobs - # https://bugs.gentoo.org/737660 - sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die - - # breaks tests when using --with-wheel-pkg-dir - rm -r Lib/test/wheeldata || die - - eautoreconf -} - -build_cbuild_python() { - # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 - local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - # - # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) - local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" - local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" - local -x CFLAGS= LDFLAGS= - local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" - - # We need to build our own Python on CBUILD first, and feed it in. - # bug #847910 - local myeconfargs_cbuild=( - "${myeconfargs[@]}" - - --prefix="${BROOT}"/usr - --libdir="${cbuild_libdir:2}" - - # Avoid needing to load the right libpython.so. - --disable-shared - - # As minimal as possible for the mini CBUILD Python - # we build just for cross to satisfy --with-build-python. - --without-lto - --without-readline - --disable-optimizations - ) - - mkdir "${WORKDIR}"/${P}-${CBUILD} || die - pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die - - # Avoid as many dependencies as possible for the cross build. - mkdir Modules || die - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - _dbm _gdbm - _sqlite3 - _hashlib _ssl - _curses _curses_panel - readline - _tkinter - pyexpat - zlib - # We disabled these for CBUILD because Python's setup.py can't handle locating - # libdir correctly for cross. This should be rechecked for the pure Makefile approach, - # and uncommented if needed. - #_ctypes - EOF - - ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" - - # Unfortunately, we do have to build this immediately, and - # not in src_compile, because CHOST configure for Python - # will check the existence of the --with-build-python value - # immediately. - emake - popd &> /dev/null || die -} - -src_configure() { - # disable automagic bluetooth headers detection - if ! use bluetooth; then - local -x ac_cv_header_bluetooth_bluetooth_h=no - fi - - filter-flags -malign-double - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - # PKG_CONFIG needed for cross. - tc-export CXX PKG_CONFIG - - local dbmliborder= - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - # Set baseline test skip flags. - COMMON_TEST_SKIPS=( - # running gdb inside an ebuild as non-root, within sandbox, - # and possibly within a container is unreliable - -x test_gdb - # this is actually test_gdb.test_pretty_print - -x test_pretty_print - # https://bugs.gentoo.org/933840 - -x test_perf_profiler - ) - - # Arch-specific skips. See #931888 for a collection of these. - case ${CHOST} in - alpha*) - COMMON_TEST_SKIPS+=( - -x test_builtin - -x test_capi - -x test_cmath - -x test_float - # timeout - -x test_free_threading - -x test_math - -x test_numeric_tower - -x test_random - -x test_statistics - # bug 653850 - -x test_resource - -x test_strtod - ) - ;; - mips*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - -x test_statistics - ) - ;; - riscv*) - COMMON_TEST_SKIPS+=( - -x test_urllib2 - ) - ;; - sparc*) - COMMON_TEST_SKIPS+=( - # bug 788022 - -x test_multiprocessing_fork - -x test_multiprocessing_forkserver - -x test_multiprocessing_spawn - - -x test_ctypes - # bug 931908 - -x test_exceptions - ) - ;; - esac - - # Kernel-config specific skips - for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do - if ! linux_config_exists || ! linux_chkconfig_present "${option}" - then - COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" ) - fi - done - - # musl-specific skips - use elibc_musl && COMMON_TEST_SKIPS+=( - # various musl locale deficiencies - -x test__locale - -x test_c_locale_coercion - -x test_locale - -x test_re - - # known issues with find_library on musl - # https://bugs.python.org/issue21622 - -x test_ctypes - - # fpathconf, ttyname errno values - -x test_os - ) - - if use pgo; then - local profile_task_flags=( - -m test - "-j$(makeopts_jobs)" - --pgo-extended - --verbose3 - -u-network - - # We use a timeout because of how often we've had hang issues - # here. It also matches the default upstream PROFILE_TASK. - --timeout 1200 - - "${COMMON_TEST_SKIPS[@]}" - - -x test_dtrace - - # All of these seem to occasionally hang for PGO inconsistently - # They'll even hang here but be fine in src_test sometimes. - # bug #828535 (and related: bug #788022) - -x test_asyncio - -x test_httpservers - -x test_logging - -x test_multiprocessing_fork - -x test_socket - -x test_xmlrpc - - # Hangs (actually runs indefinitely executing itself w/ many cpython builds) - # bug #900429 - -x test_tools - - # Test terminates abruptly which corrupts written profile data - # bug #964023 - -x test_pyrepl - ) - - if has_version "app-arch/rpm" ; then - # Avoid sandbox failure (attempts to write to /var/lib/rpm) - profile_task_flags+=( - -x test_distutils - ) - fi - # PGO sometimes fails randomly - local -x PROFILE_TASK="${profile_task_flags[*]} || true" - fi - - local myeconfargs=( - # glibc-2.30 removes it; since we can't cleanly force-rebuild - # Python on glibc upgrade, remove it proactively to give - # a chance for users rebuilding python before glibc - ac_cv_header_stropts_h=no - - --enable-shared - --without-static-libpython - --enable-ipv6 - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --without-ensurepip - --without-lto - --with-system-expat - --with-system-libmpdec - --with-platlibdir=lib - --with-pkg-config=yes - --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip - --disable-gil - - $(use_with debug assertions) - $(use_enable pgo optimizations) - $(use_with readline readline "$(usex libedit editline readline)") - $(use_with tail-call-interp) - $(use_with valgrind) - ) - - if tc-is-lto; then - myeconfargs+=( - --with-lto - ) - fi - - # Force-disable modules we don't want built. - # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - $(usev build '_zstd') - $(usev !gdbm '_gdbm _dbm') - $(usev !sqlite '_sqlite3') - $(usev !ssl '_hashlib _ssl') - $(usev !ncurses '_curses _curses_panel') - $(usev !readline 'readline') - $(usev !tk '_tkinter') - EOF - - # disable implicit optimization/debugging flags - local -x OPT= - - if tc-is-cross-compiler ; then - build_cbuild_python - myeconfargs+=( - # Point the imminent CHOST build to the Python we just - # built for CBUILD. - --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python - ) - fi - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - local -x CFLAGS_NODIST=${CFLAGS} - local -x LDFLAGS_NODIST=${LDFLAGS} - local -x CFLAGS= LDFLAGS= - - # Fix implicit declarations on cross and prefix builds. Bug #674070. - if use ncurses; then - append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw - fi - - econf "${myeconfargs[@]}" - - if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi - - # install epython.py as part of stdlib - echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die -} - -src_compile() { - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - export PYTHONSTRICTEXTENSIONBUILD=1 - - # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't - # end up writing bytecode & violating sandbox. - # bug #831897 - local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} - - # Gentoo hack to disable accessing system site-packages - export GENTOO_CPYTHON_BUILD=1 - - if use pgo ; then - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - fi - - # also need to clear the flags explicitly here or they end up - # in _sysconfigdata* - emake CPPFLAGS= CFLAGS= LDFLAGS= - - # Restore saved value from above. - local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # this just happens to skip test_support.test_freeze that is broken - # without bundled expat - # TODO: get a proper skip for it upstream - local -x LOGNAME=buildbot - - local test_opts=( - --verbose3 - -u-network - -j "$(makeopts_jobs)" - "${COMMON_TEST_SKIPS[@]}" - ) - - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - - nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local ret=${?} - - [[ ${ret} -eq 0 ]] || die "emake test failed" -} - -src_install() { - local libdir=${ED}/usr/lib/python${PYVER} - local build_dir=$(<pybuilddir.txt) - - # -j1 hack for now for bug #843458 - emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall - - # Install build-details.json manually because it was randomly removed - # from altinstall in https://github.com/python/cpython/pull/142269. - cp "${build_dir}"/build-details.json "${libdir}"/ || die - - # Fix collisions between different slots of Python. - rm "${ED}/usr/$(get_libdir)/libpython3.so" || die - # Fix collision with GIL-enabled build. - rm "${ED}/usr/bin/python${PYVER%t}" || die - mv "${ED}"/usr/bin/pydoc{${PYVER%t},${PYVER}} || die - mv "${ED}"/usr/share/man/man1/python{${PYVER%t},${PYVER}}.1 || die - - # Cheap hack to get version with ABIFLAGS - local abiver=$(cd "${ED}/usr/include"; echo python*) - if [[ ${abiver} != python${PYVER} ]]; then - # Replace python3.X with a symlink to python3.Xm - rm "${ED}/usr/bin/python${PYVER}" || die - dosym "${abiver}" "/usr/bin/python${PYVER}" - # Create python3.X-config symlink - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" - # Create python-3.5m.pc symlink - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" - fi - - # python seems to get rebuilt in src_install (bug 569908) - # Work around it for now. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E "${ED}/usr/bin/${abiver}" - else - pax-mark m "${ED}/usr/bin/${abiver}" - fi - - rm -r "${libdir}"/ensurepip/_bundled || die - if ! use sqlite; then - rm -r "${libdir}/"sqlite3 || die - fi - if use tk; then - # rename to avoid collision with dev-lang/python - mv "${ED}"/usr/bin/idle{${PYVER%t},${PYVER}} || die - else - rm -r "${ED}/usr/bin/idle${PYVER%t}" || die - rm -r "${libdir}/"{idlelib,tkinter} || die - fi - - ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die - - dodoc Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - docinto examples - find Tools -name __pycache__ -exec rm -fr {} + || die - dodoc -r Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$( - printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | - emake --no-print-directory -s -f - 2>/dev/null - ) - newins Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" - - # python-exec wrapping support - local pymajor=${PYVER%.*} - local EPYTHON=python${PYVER} - local scriptdir=${D}$(python_get_scriptdir) - mkdir -p "${scriptdir}" || die - # python and pythonX - ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die - ln -s "python${pymajor}" "${scriptdir}/python" || die - # python-config and pythonX-config - # note: we need to create a wrapper rather than symlinking it due - # to some random dirname(argv[0]) magic performed by python-config - cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die - #!/bin/sh - exec "${abiver}-config" "\${@}" - EOF - chmod +x "${scriptdir}/python${pymajor}-config" || die - ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die - # pydoc - ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die - # idle - if use tk; then - ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die - fi -} - -pkg_postinst() { - if ver_replacing -lt 0.3.15.0_beta4; then - ewarn "Python 3.15.0b4 has broken its extension ABI. The extensions built" - ewarn "with older versions may crash at runtime or worse. To prevent this," - ewarn "please rebuild all extensions using the versoned ABI, e.g. using:" - ewarn - ewarn " emerge -1v \$(find /usr/lib/python3.15t/site-packages -name '*.cpython-315t-*.so')" - ewarn - ewarn "Note that if you enabled both python3_15 and python3_15t, then" - ewarn "the 3.15 rebuild should cover all 3.15t packages already." - fi -} diff --git a/dev-lang/python/python-3.10.20.ebuild b/dev-lang/python/python-3.10.20.ebuild deleted file mode 100644 index 7b1f2281cfa1..000000000000 --- a/dev-lang/python/python-3.10.20.ebuild +++ /dev/null @@ -1,572 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" -WANT_LIBTOOL="none" - -inherit autotools check-reqs flag-o-matic multiprocessing pax-utils -inherit prefix toolchain-funcs verify-sig - -MY_PV=${PV/_rc/rc} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="An interpreted, interactive, object-oriented programming language" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc - ) -" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -IUSE=" - bluetooth debug +ensurepip examples gdbm libedit +ncurses pgo - +readline +sqlite +ssl test tk valgrind -" -RESTRICT="!test? ( test )" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND=" - app-arch/bzip2:= - app-arch/xz-utils:= - app-misc/mime-types - >=dev-libs/expat-2.1:= - dev-libs/libffi:= - dev-libs/mpdecimal:= - dev-python/gentoo-common - sys-apps/util-linux - >=virtual/zlib-1.1.3:= - virtual/libcrypt:= - virtual/libintl - gdbm? ( sys-libs/gdbm:=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:= ) - readline? ( - !libedit? ( >=sys-libs/readline-4.1:= ) - libedit? ( dev-libs/libedit:= ) - ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( >=dev-libs/openssl-1.1.1:= ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) -" -# bluetooth requires headers from bluez -DEPEND=" - ${RDEPEND} - bluetooth? ( net-wireless/bluez ) - test? ( - app-arch/xz-utils - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - ) - valgrind? ( dev-debug/valgrind ) -" -# autoconf-archive needed to eautoreconf -BDEPEND=" - dev-build/autoconf-archive - app-alternatives/awk - virtual/pkgconfig - verify-sig? ( sec-keys/openpgp-keys-python ) -" -PDEPEND=" - ensurepip? ( - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - ) -" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc - -# large file tests involve a 2.5G file being copied (duplicated) -CHECKREQS_DISK_BUILD=5500M - -QA_PKGCONFIG_VERSION=${PYVER} -# false positives -- functions specific to *BSD -QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) - -pkg_pretend() { - use test && check-reqs_pkg_pretend -} - -pkg_setup() { - use test && check-reqs_pkg_setup -} - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} - fi - default -} - -src_prepare() { - # Ensure that internal copies of expat and libffi are not used. - rm -r Modules/expat || die - rm -r Modules/_ctypes/libffi* || die - - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - default - - # https://bugs.gentoo.org/850151 - sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die - - # force the correct number of jobs - # https://bugs.gentoo.org/737660 - local jobs=$(makeopts_jobs) - sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die - sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die - - eautoreconf -} - -build_cbuild_python() { - # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 - local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - # - # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) - local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" - local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" - local -x CFLAGS= LDFLAGS= - local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" - - # We need to build our own Python on CBUILD first, and feed it in. - # bug #847910 and bug #864911. - local myeconfargs_cbuild=( - "${myeconfargs[@]}" - - --prefix="${BROOT}"/usr - --libdir="${cbuild_libdir:2}" - - # Avoid needing to load the right libpython.so. - --disable-shared - - # As minimal as possible for the mini CBUILD Python - # we build just for cross. - --without-lto - --disable-optimizations - ) - - mkdir "${WORKDIR}"/${P}-${CBUILD} || die - pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die - # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating - # libdir correctly for cross. - PYTHON_DISABLE_MODULES+=" _ctypes _crypt" \ - ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" - - # Avoid as many dependencies as possible for the cross build. - cat >> Makefile <<-EOF || die - MODULE_NIS=disabled - MODULE__DBM=disabled - MODULE__GDBM=disabled - MODULE__DBM=disabled - MODULE__SQLITE3=disabled - MODULE__HASHLIB=disabled - MODULE__SSL=disabled - MODULE__CURSES=disabled - MODULE__CURSES_PANEL=disabled - MODULE_READLINE=disabled - MODULE__TKINTER=disabled - MODULE_PYEXPAT=disabled - MODULE_ZLIB=disabled - EOF - - # Unfortunately, we do have to build this immediately, and - # not in src_compile, because CHOST configure for Python - # will check the existence of the Python it was pointed to - # immediately. - PYTHON_DISABLE_MODULES+=" _ctypes _crypt" emake - popd &> /dev/null || die -} - -src_configure() { - # disable automagic bluetooth headers detection - if ! use bluetooth; then - local -x ac_cv_header_bluetooth_bluetooth_h=no - fi - local disable - use gdbm || disable+=" gdbm" - use ncurses || disable+=" _curses _curses_panel" - use readline || disable+=" readline" - use sqlite || disable+=" _sqlite3" - use ssl || export PYTHON_DISABLE_SSL="1" - use tk || disable+=" _tkinter" - export PYTHON_DISABLE_MODULES="${disable}" - - if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then - einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" - fi - - filter-flags -malign-double - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - # PKG_CONFIG needed for cross. - tc-export CXX PKG_CONFIG - - local dbmliborder= - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - # Set baseline test skip flags. - COMMON_TEST_SKIPS=( - # running gdb inside an ebuild as non-root, within sandbox, - # and possibly within a container is unreliable - -x test_gdb - ) - - # Arch-specific skips. See #931888 for a collection of these. - case ${CHOST} in - alpha*) - COMMON_TEST_SKIPS+=( - -x test_builtin - -x test_capi - -x test_cmath - -x test_float - # timeout - -x test_free_threading - -x test_math - -x test_numeric_tower - -x test_random - -x test_statistics - # bug 653850 - -x test_resource - -x test_strtod - ) - ;; - mips*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - -x test_statistics - ) - ;; - powerpc64-*) # big endian - COMMON_TEST_SKIPS+=( - -x test_descr - ) - ;; - riscv*) - COMMON_TEST_SKIPS+=( - -x test_urllib2 - ) - ;; - sparc*) - COMMON_TEST_SKIPS+=( - # bug 788022 - -x test_multiprocessing_fork - -x test_multiprocessing_forkserver - -x test_multiprocessing_spawn - - -x test_ctypes - -x test_descr - # bug 931908 - -x test_exceptions - ) - ;; - esac - - # musl-specific skips - use elibc_musl && COMMON_TEST_SKIPS+=( - # various musl locale deficiencies - -x test__locale - -x test_c_locale_coercion - -x test_locale - -x test_re - - # known issues with find_library on musl - # https://bugs.python.org/issue21622 - -x test_ctypes - - # fpathconf, ttyname errno values - -x test_os - ) - - if use pgo; then - local profile_task_flags=( - -m test - "-j$(makeopts_jobs)" - --pgo-extended - -u-network - - # We use a timeout because of how often we've had hang issues - # here. It also matches the default upstream PROFILE_TASK. - --timeout 1200 - - "${COMMON_TEST_SKIPS[@]}" - - -x test_dtrace - - # All of these seem to occasionally hang for PGO inconsistently - # They'll even hang here but be fine in src_test sometimes. - # bug #828535 (and related: bug #788022) - -x test_asyncio - -x test_concurrent_futures - -x test_httpservers - -x test_logging - -x test_multiprocessing_fork - -x test_socket - -x test_xmlrpc - - # Hangs (actually runs indefinitely executing itself w/ many cpython builds) - # bug #900429 - -x test_tools - ) - - # Arch-specific skips. See #931888 for a collection of these. - case ${CHOST} in - alpha*) - profile_task_flags+=( - -x test_os - ) - ;; - hppa*) - profile_task_flags+=( - -x test_descr - # bug 931908 - -x test_exceptions - -x test_os - ) - ;; - powerpc64-*) # big endian - profile_task_flags+=( - # bug 931908 - -x test_exceptions - ) - ;; - riscv*) - profile_task_flags+=( - -x test_statistics - ) - ;; - esac - - if has_version "app-arch/rpm" ; then - # Avoid sandbox failure (attempts to write to /var/lib/rpm) - profile_task_flags+=( - -x test_distutils - ) - fi - local -x PROFILE_TASK="${profile_task_flags[*]}" - fi - - local myeconfargs=( - # glibc-2.30 removes it; since we can't cleanly force-rebuild - # Python on glibc upgrade, remove it proactively to give - # a chance for users rebuilding python before glibc - ac_cv_header_stropts_h=no - - --enable-shared - --without-static-libpython - --enable-ipv6 - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --without-ensurepip - --without-lto - --with-system-expat - --with-system-ffi - --with-system-libmpdec - --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip - - $(use_with debug assertions) - $(use_enable pgo optimizations) - $(use_with readline readline "$(usex libedit editline readline)") - $(use_with valgrind) - ) - - # disable implicit optimization/debugging flags - local -x OPT= - - # https://bugs.gentoo.org/700012 - if tc-is-lto; then - append-cflags $(test-flags-CC -ffat-lto-objects) - myeconfargs+=( - --with-lto - ) - fi - - if tc-is-cross-compiler ; then - build_cbuild_python - # Point the imminent CHOST build to the Python we just - # built for CBUILD. - export PATH="${WORKDIR}/${P}-${CBUILD}:${PATH}" - fi - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - local -x CFLAGS_NODIST=${CFLAGS} - local -x LDFLAGS_NODIST=${LDFLAGS} - local -x CFLAGS= LDFLAGS= - - # Fix implicit declarations on cross and prefix builds. Bug #674070. - if use ncurses; then - append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw - fi - - hprefixify setup.py - econf "${myeconfargs[@]}" - - if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi - - # install epython.py as part of stdlib - echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die -} - -src_compile() { - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - # Prevent using distutils bundled by setuptools. - # https://bugs.gentoo.org/823728 - export SETUPTOOLS_USE_DISTUTILS=stdlib - - # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't - # end up writing bytecode & violating sandbox. - # bug #831897 - local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} - - # Gentoo hack to disable accessing system site-packages - export GENTOO_CPYTHON_BUILD=1 - - if use pgo ; then - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - fi - - # also need to clear the flags explicitly here or they end up - # in _sysconfigdata* - emake CPPFLAGS= CFLAGS= LDFLAGS= - - # Restore saved value from above. - local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - local test_opts=( - --verbose3 - -u-network - -j "$(makeopts_jobs)" - "${COMMON_TEST_SKIPS[@]}" - ) - - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - - nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local ret=${?} - - [[ ${ret} -eq 0 ]] || die "emake test failed" -} - -src_install() { - local libdir=${ED}/usr/lib/python${PYVER} - - emake DESTDIR="${D}" TEST_MODULES=no altinstall - - # Fix collisions between different slots of Python. - rm "${ED}/usr/$(get_libdir)/libpython3.so" || die - - # Cheap hack to get version with ABIFLAGS - local abiver=$(cd "${ED}/usr/include"; echo python*) - if [[ ${abiver} != python${PYVER} ]]; then - # Replace python3.X with a symlink to python3.Xm - rm "${ED}/usr/bin/python${PYVER}" || die - dosym "${abiver}" "/usr/bin/python${PYVER}" - # Create python3.X-config symlink - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" - # Create python-3.5m.pc symlink - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" - fi - - # python seems to get rebuilt in src_install (bug 569908) - # Work around it for now. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E "${ED}/usr/bin/${abiver}" - else - pax-mark m "${ED}/usr/bin/${abiver}" - fi - - rm -r "${libdir}"/ensurepip/_bundled || die - if ! use ensurepip; then - rm -r "${libdir}"/ensurepip || die - fi - if ! use sqlite; then - rm -r "${libdir}/"sqlite3 || die - fi - if ! use tk; then - rm -r "${ED}/usr/bin/idle${PYVER}" || die - rm -r "${libdir}/"{idlelib,tkinter} || die - fi - - ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die - - dodoc Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - docinto examples - find Tools -name __pycache__ -exec rm -fr {} + || die - dodoc -r Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$( - printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | - emake --no-print-directory -s -f - 2>/dev/null - ) - newins Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" -} diff --git a/dev-lang/python/python-3.11.15-r1.ebuild b/dev-lang/python/python-3.11.15-r1.ebuild deleted file mode 100644 index b9fd028a4e3a..000000000000 --- a/dev-lang/python/python-3.11.15-r1.ebuild +++ /dev/null @@ -1,589 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" -WANT_LIBTOOL="none" - -inherit autotools check-reqs flag-o-matic multiprocessing pax-utils -inherit prefix toolchain-funcs verify-sig - -MY_PV=${PV/_rc/rc} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="An interpreted, interactive, object-oriented programming language" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc - ) -" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -IUSE=" - bluetooth debug +ensurepip examples gdbm libedit +ncurses pgo - +readline +sqlite +ssl test tk valgrind -" -RESTRICT="!test? ( test )" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND=" - app-arch/bzip2:= - app-arch/xz-utils:= - app-crypt/libb2 - app-misc/mime-types - >=dev-libs/expat-2.1:= - dev-libs/libffi:= - dev-libs/mpdecimal:= - dev-python/gentoo-common - sys-apps/util-linux - >=virtual/zlib-1.1.3:= - virtual/libcrypt:= - virtual/libintl - gdbm? ( sys-libs/gdbm:=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:= ) - readline? ( - !libedit? ( >=sys-libs/readline-4.1:= ) - libedit? ( dev-libs/libedit:= ) - ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( >=dev-libs/openssl-1.1.1:= ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) -" -# bluetooth requires headers from bluez -DEPEND=" - ${RDEPEND} - bluetooth? ( net-wireless/bluez ) - test? ( - app-arch/xz-utils - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - ) - valgrind? ( dev-debug/valgrind ) -" -# autoconf-archive needed to eautoreconf -BDEPEND=" - dev-build/autoconf-archive - app-alternatives/awk - virtual/pkgconfig - verify-sig? ( sec-keys/openpgp-keys-python ) -" -PDEPEND=" - ensurepip? ( - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - ) -" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc - -# large file tests involve a 2.5G file being copied (duplicated) -CHECKREQS_DISK_BUILD=5500M - -QA_PKGCONFIG_VERSION=${PYVER} -# false positives -- functions specific to *BSD -QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) - -pkg_pretend() { - use test && check-reqs_pkg_pretend -} - -pkg_setup() { - use test && check-reqs_pkg_setup -} - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} - fi - default -} - -src_prepare() { - # Ensure that internal copies of expat and libffi are not used. - rm -r Modules/expat || die - rm -r Modules/_ctypes/libffi* || die - - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - default - - # https://bugs.gentoo.org/850151 - sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die - - # force the correct number of jobs - # https://bugs.gentoo.org/737660 - local jobs=$(makeopts_jobs) - sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die - sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die - - eautoreconf -} - -build_cbuild_python() { - # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 - local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - # - # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) - local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" - local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" - local -x CFLAGS= LDFLAGS= - local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" - - # We need to build our own Python on CBUILD first, and feed it in. - # bug #847910 - local myeconfargs_cbuild=( - "${myeconfargs[@]}" - - --prefix="${BROOT}"/usr - --libdir="${cbuild_libdir:2}" - - # Avoid needing to load the right libpython.so. - --disable-shared - - # As minimal as possible for the mini CBUILD Python - # we build just for cross to satisfy --with-build-python. - --without-lto - --without-readline - --disable-optimizations - ) - - mkdir "${WORKDIR}"/${P}-${CBUILD} || die - pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die - # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating - # libdir correctly for cross. - PYTHON_DISABLE_MODULES+=" _ctypes _crypt" \ - ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" - - # Avoid as many dependencies as possible for the cross build. - cat >> Makefile <<-EOF || die - MODULE_NIS_STATE=disabled - MODULE__DBM_STATE=disabled - MODULE__GDBM_STATE=disabled - MODULE__DBM_STATE=disabled - MODULE__SQLITE3_STATE=disabled - MODULE__HASHLIB_STATE=disabled - MODULE__SSL_STATE=disabled - MODULE__CURSES_STATE=disabled - MODULE__CURSES_PANEL_STATE=disabled - MODULE_READLINE_STATE=disabled - MODULE__TKINTER_STATE=disabled - MODULE_PYEXPAT_STATE=disabled - MODULE_ZLIB_STATE=disabled - EOF - - # Unfortunately, we do have to build this immediately, and - # not in src_compile, because CHOST configure for Python - # will check the existence of the --with-build-python value - # immediately. - PYTHON_DISABLE_MODULES+=" _ctypes _crypt" emake - popd &> /dev/null || die -} - -src_configure() { - # disable automagic bluetooth headers detection - if ! use bluetooth; then - local -x ac_cv_header_bluetooth_bluetooth_h=no - fi - - filter-flags -malign-double - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - # PKG_CONFIG needed for cross. - tc-export CXX PKG_CONFIG - - local dbmliborder= - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - # Set baseline test skip flags. - COMMON_TEST_SKIPS=( - # running gdb inside an ebuild as non-root, within sandbox, - # and possibly within a container is unreliable - -x test_gdb - # this is actually test_gdb.test_pretty_print - -x test_pretty_print - ) - - # Arch-specific skips. See #931888 for a collection of these. - case ${CHOST} in - alpha*) - COMMON_TEST_SKIPS+=( - -x test_builtin - -x test_capi - -x test_cmath - -x test_float - # timeout - -x test_free_threading - -x test_math - -x test_numeric_tower - -x test_random - -x test_statistics - # bug 653850 - -x test_resource - -x test_strtod - ) - ;; - mips*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - -x test_statistics - ) - ;; - powerpc64-*) # big endian - COMMON_TEST_SKIPS+=( - -x test_descr - ) - ;; - riscv*) - COMMON_TEST_SKIPS+=( - -x test_urllib2 - ) - ;; - sparc*) - COMMON_TEST_SKIPS+=( - # bug 788022 - -x test_multiprocessing_fork - -x test_multiprocessing_forkserver - -x test_multiprocessing_spawn - - -x test_ctypes - -x test_descr - # bug 931908 - -x test_exceptions - ) - ;; - esac - - # musl-specific skips - use elibc_musl && COMMON_TEST_SKIPS+=( - # various musl locale deficiencies - -x test__locale - -x test_c_locale_coercion - -x test_locale - -x test_re - - # known issues with find_library on musl - # https://bugs.python.org/issue21622 - -x test_ctypes - - # fpathconf, ttyname errno values - -x test_os - ) - - if use pgo; then - local profile_task_flags=( - -m test - "-j$(makeopts_jobs)" - --pgo-extended - -u-network - - # We use a timeout because of how often we've had hang issues - # here. It also matches the default upstream PROFILE_TASK. - --timeout 1200 - - "${COMMON_TEST_SKIPS[@]}" - - -x test_dtrace - - # All of these seem to occasionally hang for PGO inconsistently - # They'll even hang here but be fine in src_test sometimes. - # bug #828535 (and related: bug #788022) - -x test_asyncio - -x test_concurrent_futures - -x test_httpservers - -x test_logging - -x test_multiprocessing_fork - -x test_socket - -x test_xmlrpc - - # Hangs (actually runs indefinitely executing itself w/ many cpython builds) - # bug #900429 - -x test_tools - ) - - # Arch-specific skips. See #931888 for a collection of these. - case ${CHOST} in - alpha*) - profile_task_flags+=( - -x test_os - ) - ;; - hppa*) - profile_task_flags+=( - -x test_descr - # bug 931908 - -x test_exceptions - -x test_os - ) - ;; - powerpc64-*) # big endian - profile_task_flags+=( - # bug 931908 - -x test_exceptions - ) - ;; - riscv*) - profile_task_flags+=( - -x test_statistics - ) - ;; - esac - - if has_version "app-arch/rpm" ; then - # Avoid sandbox failure (attempts to write to /var/lib/rpm) - profile_task_flags+=( - -x test_distutils - ) - fi - local -x PROFILE_TASK="${profile_task_flags[*]}" - fi - - local myeconfargs=( - # glibc-2.30 removes it; since we can't cleanly force-rebuild - # Python on glibc upgrade, remove it proactively to give - # a chance for users rebuilding python before glibc - ac_cv_header_stropts_h=no - - --enable-shared - --without-static-libpython - --enable-ipv6 - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --without-ensurepip - --without-lto - --with-system-expat - --with-system-ffi - --with-system-libmpdec - --with-platlibdir=lib - --with-pkg-config=yes - --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip - - $(use_with debug assertions) - $(use_enable pgo optimizations) - $(use_with readline readline "$(usex libedit editline readline)") - $(use_with valgrind) - ) - - # disable implicit optimization/debugging flags - local -x OPT= - - # https://bugs.gentoo.org/700012 - if tc-is-lto; then - append-cflags $(test-flags-CC -ffat-lto-objects) - myeconfargs+=( - --with-lto - ) - fi - - if tc-is-cross-compiler ; then - build_cbuild_python - myeconfargs+=( - # Point the imminent CHOST build to the Python we just - # built for CBUILD. - --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python - ) - fi - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - local -x CFLAGS_NODIST=${CFLAGS} - local -x LDFLAGS_NODIST=${LDFLAGS} - local -x CFLAGS= LDFLAGS= - - # Fix implicit declarations on cross and prefix builds. Bug #674070. - if use ncurses; then - append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw - fi - - hprefixify setup.py - econf "${myeconfargs[@]}" - - if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi - - # force-disable modules we don't want built - local disable_modules=( NIS ) - use gdbm || disable_modules+=( _GDBM _DBM ) - use sqlite || disable_modules+=( _SQLITE3 ) - use ssl || disable_modules+=( _HASHLIB _SSL ) - use ncurses || disable_modules+=( _CURSES _CURSES_PANEL ) - use readline || disable_modules+=( READLINE ) - use tk || disable_modules+=( _TKINTER ) - - local mod - for mod in "${disable_modules[@]}"; do - echo "MODULE_${mod}_STATE=disabled" - done >> Makefile || die - - # install epython.py as part of stdlib - echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die -} - -src_compile() { - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - # Prevent using distutils bundled by setuptools. - # https://bugs.gentoo.org/823728 - export SETUPTOOLS_USE_DISTUTILS=stdlib - export PYTHONSTRICTEXTENSIONBUILD=1 - - # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't - # end up writing bytecode & violating sandbox. - # bug #831897 - local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} - - # Gentoo hack to disable accessing system site-packages - export GENTOO_CPYTHON_BUILD=1 - - if use pgo ; then - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - fi - - # also need to clear the flags explicitly here or they end up - # in _sysconfigdata* - emake CPPFLAGS= CFLAGS= LDFLAGS= - - # Restore saved value from above. - local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # this just happens to skip test_support.test_freeze that is broken - # without bundled expat - # TODO: get a proper skip for it upstream - local -x LOGNAME=buildbot - - local test_opts=( - --verbose3 - -u-network - -j "$(makeopts_jobs)" - "${COMMON_TEST_SKIPS[@]}" - ) - - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - - nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local ret=${?} - - [[ ${ret} -eq 0 ]] || die "emake test failed" -} - -src_install() { - local libdir=${ED}/usr/lib/python${PYVER} - - # -j1 hack for now for bug #843458 - emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall - - # Fix collisions between different slots of Python. - rm "${ED}/usr/$(get_libdir)/libpython3.so" || die - - # Cheap hack to get version with ABIFLAGS - local abiver=$(cd "${ED}/usr/include"; echo python*) - if [[ ${abiver} != python${PYVER} ]]; then - # Replace python3.X with a symlink to python3.Xm - rm "${ED}/usr/bin/python${PYVER}" || die - dosym "${abiver}" "/usr/bin/python${PYVER}" - # Create python3.X-config symlink - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" - # Create python-3.5m.pc symlink - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" - fi - - # python seems to get rebuilt in src_install (bug 569908) - # Work around it for now. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E "${ED}/usr/bin/${abiver}" - else - pax-mark m "${ED}/usr/bin/${abiver}" - fi - - rm -r "${libdir}"/ensurepip/_bundled || die - if ! use ensurepip; then - rm -r "${libdir}"/ensurepip || die - fi - if ! use sqlite; then - rm -r "${libdir}/"sqlite3 || die - fi - if ! use tk; then - rm -r "${ED}/usr/bin/idle${PYVER}" || die - rm -r "${libdir}/"{idlelib,tkinter} || die - fi - - ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die - - dodoc Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - docinto examples - find Tools -name __pycache__ -exec rm -fr {} + || die - dodoc -r Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$( - printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | - emake --no-print-directory -s -f - 2>/dev/null - ) - newins Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" -} diff --git a/dev-lang/python/python-3.12.13_p1.ebuild b/dev-lang/python/python-3.12.13_p1.ebuild deleted file mode 100644 index 8aa2da3b30b3..000000000000 --- a/dev-lang/python/python-3.12.13_p1.ebuild +++ /dev/null @@ -1,606 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" -WANT_LIBTOOL="none" - -inherit autotools check-reqs flag-o-matic multiprocessing pax-utils -inherit python-utils-r1 toolchain-funcs verify-sig - -MY_PV=${PV/_rc/rc} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="An interpreted, interactive, object-oriented programming language" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc - ) -" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -IUSE=" - bluetooth debug +ensurepip examples gdbm libedit +ncurses pgo - +readline +sqlite +ssl test tk valgrind -" -RESTRICT="!test? ( test )" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND=" - app-arch/bzip2:= - app-arch/xz-utils:= - app-crypt/libb2 - app-misc/mime-types - >=dev-libs/expat-2.1:= - dev-libs/libffi:= - dev-libs/mpdecimal:= - dev-python/gentoo-common - sys-apps/util-linux - >=virtual/zlib-1.1.3:= - virtual/libcrypt:= - virtual/libintl - gdbm? ( sys-libs/gdbm:=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:= ) - readline? ( - !libedit? ( >=sys-libs/readline-4.1:= ) - libedit? ( dev-libs/libedit:= ) - ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( >=dev-libs/openssl-1.1.1:= ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) -" -# bluetooth requires headers from bluez -DEPEND=" - ${RDEPEND} - bluetooth? ( net-wireless/bluez ) - test? ( - app-arch/xz-utils - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - dev-python/ensurepip-wheel - ) - valgrind? ( dev-debug/valgrind ) -" -# autoconf-archive needed to eautoreconf -BDEPEND=" - dev-build/autoconf-archive - app-alternatives/awk - virtual/pkgconfig - verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) -" -if [[ ${PV} != *_alpha* ]]; then - RDEPEND+=" - dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] - " -fi -PDEPEND=" - ensurepip? ( dev-python/ensurepip-pip ) -" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc - -# large file tests involve a 2.5G file being copied (duplicated) -CHECKREQS_DISK_BUILD=5500M - -QA_PKGCONFIG_VERSION=${PYVER} -# false positives -- functions specific to *BSD -QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) - -pkg_pretend() { - use test && check-reqs_pkg_pretend -} - -pkg_setup() { - use test && check-reqs_pkg_setup -} - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} - fi - default -} - -src_prepare() { - # Ensure that internal copies of expat and libffi are not used. - # TODO: Makefile has annoying deps on expat headers - #rm -r Modules/expat || die - - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - default - - # force the correct number of jobs - # https://bugs.gentoo.org/737660 - sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die - - # breaks tests when using --with-wheel-pkg-dir - rm -r Lib/test/wheeldata || die - - eautoreconf -} - -build_cbuild_python() { - # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 - local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - # - # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) - local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" - local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" - local -x CFLAGS= LDFLAGS= - local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" - - # We need to build our own Python on CBUILD first, and feed it in. - # bug #847910 - local myeconfargs_cbuild=( - "${myeconfargs[@]}" - - --prefix="${BROOT}"/usr - --libdir="${cbuild_libdir:2}" - - # Avoid needing to load the right libpython.so. - --disable-shared - - # As minimal as possible for the mini CBUILD Python - # we build just for cross to satisfy --with-build-python. - --without-lto - --without-readline - --disable-optimizations - ) - - mkdir "${WORKDIR}"/${P}-${CBUILD} || die - pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die - - # Avoid as many dependencies as possible for the cross build. - mkdir Modules || die - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - _dbm _gdbm - _sqlite3 - _hashlib _ssl - _curses _curses_panel - readline - _tkinter - pyexpat - zlib - # We disabled these for CBUILD because Python's setup.py can't handle locating - # libdir correctly for cross. This should be rechecked for the pure Makefile approach, - # and uncommented if needed. - #_ctypes _crypt - EOF - - ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" - - # Unfortunately, we do have to build this immediately, and - # not in src_compile, because CHOST configure for Python - # will check the existence of the --with-build-python value - # immediately. - emake - popd &> /dev/null || die -} - -src_configure() { - # disable automagic bluetooth headers detection - if ! use bluetooth; then - local -x ac_cv_header_bluetooth_bluetooth_h=no - fi - - filter-flags -malign-double - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - # PKG_CONFIG needed for cross. - tc-export CXX PKG_CONFIG - - local dbmliborder= - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - # Set baseline test skip flags. - COMMON_TEST_SKIPS=( - # running gdb inside an ebuild as non-root, within sandbox, - # and possibly within a container is unreliable - -x test_gdb - # this is actually test_gdb.test_pretty_print - -x test_pretty_print - # broken w/ >=linux-7.1, fixed w/ >=3.13 - # https://github.com/python/cpython/issues/149078 - # https://github.com/python/cpython/issues/149776 - -x test_socket - ) - - # Arch-specific skips. See #931888 for a collection of these. - case ${CHOST} in - alpha*) - COMMON_TEST_SKIPS+=( - -x test_builtin - -x test_capi - -x test_cmath - -x test_float - # timeout - -x test_free_threading - -x test_math - -x test_numeric_tower - -x test_random - -x test_statistics - # bug 653850 - -x test_resource - -x test_strtod - ) - ;; - mips*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - -x test_statistics - ) - ;; - riscv*) - COMMON_TEST_SKIPS+=( - -x test_urllib2 - ) - ;; - sparc*) - COMMON_TEST_SKIPS+=( - # bug 788022 - -x test_multiprocessing_fork - -x test_multiprocessing_forkserver - -x test_multiprocessing_spawn - - -x test_ctypes - # bug 931908 - -x test_exceptions - ) - ;; - esac - - # musl-specific skips - use elibc_musl && COMMON_TEST_SKIPS+=( - # various musl locale deficiencies - -x test__locale - -x test_c_locale_coercion - -x test_locale - -x test_re - - # known issues with find_library on musl - # https://bugs.python.org/issue21622 - -x test_ctypes - - # fpathconf, ttyname errno values - -x test_os - ) - - if use pgo; then - local profile_task_flags=( - -m test - "-j$(makeopts_jobs)" - --pgo-extended - -u-network - - # We use a timeout because of how often we've had hang issues - # here. It also matches the default upstream PROFILE_TASK. - --timeout 1200 - - "${COMMON_TEST_SKIPS[@]}" - - -x test_dtrace - - # All of these seem to occasionally hang for PGO inconsistently - # They'll even hang here but be fine in src_test sometimes. - # bug #828535 (and related: bug #788022) - -x test_asyncio - -x test_concurrent_futures - -x test_httpservers - -x test_logging - -x test_multiprocessing_fork - -x test_socket - -x test_xmlrpc - - # Hangs (actually runs indefinitely executing itself w/ many cpython builds) - # bug #900429 - -x test_tools - ) - - # Arch-specific skips. See #931888 for a collection of these. - case ${CHOST} in - alpha*) - profile_task_flags+=( - -x test_os - ) - ;; - hppa*) - profile_task_flags+=( - -x test_descr - # bug 931908 - -x test_exceptions - -x test_os - ) - ;; - powerpc64-*) # big endian - profile_task_flags+=( - # bug 931908 - -x test_exceptions - ) - ;; - riscv*) - profile_task_flags+=( - -x test_statistics - ) - ;; - esac - - if has_version "app-arch/rpm" ; then - # Avoid sandbox failure (attempts to write to /var/lib/rpm) - profile_task_flags+=( - -x test_distutils - ) - fi - local -x PROFILE_TASK="${profile_task_flags[*]}" - fi - - local myeconfargs=( - # glibc-2.30 removes it; since we can't cleanly force-rebuild - # Python on glibc upgrade, remove it proactively to give - # a chance for users rebuilding python before glibc - ac_cv_header_stropts_h=no - - --enable-shared - --without-static-libpython - --enable-ipv6 - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --without-ensurepip - --without-lto - --with-system-expat - --with-system-libmpdec - --with-platlibdir=lib - --with-pkg-config=yes - --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip - - $(use_with debug assertions) - $(use_enable pgo optimizations) - $(use_with readline readline "$(usex libedit editline readline)") - $(use_with valgrind) - ) - - if tc-is-lto; then - myeconfargs+=( - --with-lto - ) - fi - - # Force-disable modules we don't want built. - # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - $(usev !gdbm '_gdbm _dbm') - $(usev !sqlite '_sqlite3') - $(usev !ssl '_hashlib _ssl') - $(usev !ncurses '_curses _curses_panel') - $(usev !readline 'readline') - $(usev !tk '_tkinter') - EOF - - # disable implicit optimization/debugging flags - local -x OPT= - - if tc-is-cross-compiler ; then - build_cbuild_python - myeconfargs+=( - # Point the imminent CHOST build to the Python we just - # built for CBUILD. - --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python - ) - fi - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - local -x CFLAGS_NODIST=${CFLAGS} - local -x LDFLAGS_NODIST=${LDFLAGS} - local -x CFLAGS= LDFLAGS= - - # Fix implicit declarations on cross and prefix builds. Bug #674070. - if use ncurses; then - append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw - fi - - econf "${myeconfargs[@]}" - - if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi - - # install epython.py as part of stdlib - echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die -} - -src_compile() { - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - export PYTHONSTRICTEXTENSIONBUILD=1 - - # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't - # end up writing bytecode & violating sandbox. - # bug #831897 - local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} - - # Gentoo hack to disable accessing system site-packages - export GENTOO_CPYTHON_BUILD=1 - - if use pgo ; then - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - fi - - # also need to clear the flags explicitly here or they end up - # in _sysconfigdata* - emake CPPFLAGS= CFLAGS= LDFLAGS= - - # Restore saved value from above. - local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # this just happens to skip test_support.test_freeze that is broken - # without bundled expat - # TODO: get a proper skip for it upstream - local -x LOGNAME=buildbot - - local test_opts=( - --verbose3 - -u-network - -j "$(makeopts_jobs)" - "${COMMON_TEST_SKIPS[@]}" - ) - - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - - nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local ret=${?} - - [[ ${ret} -eq 0 ]] || die "emake test failed" -} - -src_install() { - local libdir=${ED}/usr/lib/python${PYVER} - - # the Makefile rules are broken - # https://github.com/python/cpython/issues/100221 - mkdir -p "${libdir}"/lib-dynload || die - - # -j1 hack for now for bug #843458 - emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall - - # Fix collisions between different slots of Python. - rm "${ED}/usr/$(get_libdir)/libpython3.so" || die - - # Cheap hack to get version with ABIFLAGS - local abiver=$(cd "${ED}/usr/include"; echo python*) - if [[ ${abiver} != python${PYVER} ]]; then - # Replace python3.X with a symlink to python3.Xm - rm "${ED}/usr/bin/python${PYVER}" || die - dosym "${abiver}" "/usr/bin/python${PYVER}" - # Create python3.X-config symlink - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" - # Create python-3.5m.pc symlink - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" - fi - - # python seems to get rebuilt in src_install (bug 569908) - # Work around it for now. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E "${ED}/usr/bin/${abiver}" - else - pax-mark m "${ED}/usr/bin/${abiver}" - fi - - rm -r "${libdir}"/ensurepip/_bundled || die - if ! use sqlite; then - rm -r "${libdir}/"sqlite3 || die - fi - if ! use tk; then - rm -r "${ED}/usr/bin/idle${PYVER}" || die - rm -r "${libdir}/"{idlelib,tkinter} || die - fi - - ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die - - dodoc Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - docinto examples - find Tools -name __pycache__ -exec rm -fr {} + || die - dodoc -r Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$( - printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | - emake --no-print-directory -s -f - 2>/dev/null - ) - newins Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" - - # python-exec wrapping support - local pymajor=${PYVER%.*} - local EPYTHON=python${PYVER} - local scriptdir=${D}$(python_get_scriptdir) - mkdir -p "${scriptdir}" || die - # python and pythonX - ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die - ln -s "python${pymajor}" "${scriptdir}/python" || die - # python-config and pythonX-config - # note: we need to create a wrapper rather than symlinking it due - # to some random dirname(argv[0]) magic performed by python-config - cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die - #!/bin/sh - exec "${abiver}-config" "\${@}" - EOF - chmod +x "${scriptdir}/python${pymajor}-config" || die - ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die - # 2to3, pydoc - ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die - ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die - # idle - if use tk; then - ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die - fi -} diff --git a/dev-lang/python/python-3.13.14.ebuild b/dev-lang/python/python-3.13.14.ebuild deleted file mode 100644 index f620617d0b0d..000000000000 --- a/dev-lang/python/python-3.13.14.ebuild +++ /dev/null @@ -1,616 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -LLVM_COMPAT=( 18 ) -LLVM_OPTIONAL=1 -WANT_LIBTOOL="none" - -inherit autotools check-reqs flag-o-matic linux-info llvm-r1 -inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs -inherit verify-sig - -MY_PV=${PV} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="An interpreted, interactive, object-oriented programming language" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc - ) -" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -IUSE=" - bluetooth debug +ensurepip examples gdbm jit libedit +ncurses pgo - +readline +sqlite +ssl test tk valgrind -" -REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" -RESTRICT="!test? ( test )" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND=" - app-arch/bzip2:= - app-arch/xz-utils:= - app-crypt/libb2 - app-misc/mime-types - >=dev-libs/expat-2.1:= - dev-libs/libffi:= - dev-libs/mpdecimal:= - dev-python/gentoo-common - sys-apps/util-linux - >=virtual/zlib-1.1.3:= - virtual/libintl - gdbm? ( sys-libs/gdbm:=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:= ) - readline? ( - !libedit? ( >=sys-libs/readline-4.1:= ) - libedit? ( dev-libs/libedit:= ) - ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( >=dev-libs/openssl-1.1.1:= ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) -" -# bluetooth requires headers from bluez -DEPEND=" - ${RDEPEND} - bluetooth? ( net-wireless/bluez ) - test? ( - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - ) - valgrind? ( dev-debug/valgrind ) -" -# autoconf-archive needed to eautoreconf -BDEPEND=" - dev-build/autoconf-archive - app-alternatives/awk - virtual/pkgconfig - jit? ( - $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT} - llvm-core/llvm:${LLVM_SLOT} - ') - ) - verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) -" -if [[ ${PV} != *_alpha* ]]; then - RDEPEND+=" - dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] - " -fi -PDEPEND=" - ensurepip? ( dev-python/ensurepip-pip ) -" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc - -# large file tests involve a 2.5G file being copied (duplicated) -CHECKREQS_DISK_BUILD=5500M - -QA_PKGCONFIG_VERSION=${PYVER} -# false positives -- functions specific to *BSD -QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) - -declare -rgA PYTHON_KERNEL_CHECKS=( - ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589 - ["DNOTIFY"]="test_fcntl" # bug 938662 -) - -pkg_pretend() { - if use pgo || use test; then - check-reqs_pkg_pretend - fi - - if use jit; then - ewarn "USE=jit is considered experimental upstream. Using it" - ewarn "could lead to unexpected breakage, including race conditions" - ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" - ewarn "you can reproduce the problem with dev-lang/python[-jit]. Instead," - ewarn "please consider reporting JIT problems upstream." - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]]; then - use jit && llvm-r1_pkg_setup - if use test || use pgo; then - check-reqs_pkg_setup - - local CONFIG_CHECK - for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do - CONFIG_CHECK+="~${f} " - done - linux-info_pkg_setup - fi - fi -} - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} - fi - default -} - -src_prepare() { - # Ensure that internal copies of expat and libffi are not used. - # TODO: Makefile has annoying deps on expat headers - #rm -r Modules/expat || die - - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - default - - # force the correct number of jobs - # https://bugs.gentoo.org/737660 - sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die - - # breaks tests when using --with-wheel-pkg-dir - rm -r Lib/test/wheeldata || die - - eautoreconf -} - -build_cbuild_python() { - # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 - local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - # - # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) - local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" - local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" - local -x CFLAGS= LDFLAGS= - local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" - - # We need to build our own Python on CBUILD first, and feed it in. - # bug #847910 - local myeconfargs_cbuild=( - "${myeconfargs[@]}" - - --prefix="${BROOT}"/usr - --libdir="${cbuild_libdir:2}" - - # Avoid needing to load the right libpython.so. - --disable-shared - - # As minimal as possible for the mini CBUILD Python - # we build just for cross to satisfy --with-build-python. - --without-lto - --without-readline - --disable-optimizations - ) - - mkdir "${WORKDIR}"/${P}-${CBUILD} || die - pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die - - # Avoid as many dependencies as possible for the cross build. - mkdir Modules || die - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - _dbm _gdbm - _sqlite3 - _hashlib _ssl - _curses _curses_panel - readline - _tkinter - pyexpat - zlib - # We disabled these for CBUILD because Python's setup.py can't handle locating - # libdir correctly for cross. This should be rechecked for the pure Makefile approach, - # and uncommented if needed. - #_ctypes - EOF - - ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" - - # Unfortunately, we do have to build this immediately, and - # not in src_compile, because CHOST configure for Python - # will check the existence of the --with-build-python value - # immediately. - emake - popd &> /dev/null || die -} - -src_configure() { - # disable automagic bluetooth headers detection - if ! use bluetooth; then - local -x ac_cv_header_bluetooth_bluetooth_h=no - fi - - filter-flags -malign-double - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - # PKG_CONFIG needed for cross. - tc-export CXX PKG_CONFIG - - local dbmliborder= - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - # Set baseline test skip flags. - COMMON_TEST_SKIPS=( - # running gdb inside an ebuild as non-root, within sandbox, - # and possibly within a container is unreliable - -x test_gdb - # this is actually test_gdb.test_pretty_print - -x test_pretty_print - # https://bugs.gentoo.org/933840 - -x test_perf_profiler - ) - - # Arch-specific skips. See #931888 for a collection of these. - case ${CHOST} in - alpha*) - COMMON_TEST_SKIPS+=( - -x test_builtin - -x test_capi - -x test_cmath - -x test_float - # timeout - -x test_free_threading - -x test_math - -x test_numeric_tower - -x test_random - -x test_statistics - # bug 653850 - -x test_resource - -x test_strtod - ) - ;; - mips*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - -x test_statistics - ) - ;; - riscv*) - COMMON_TEST_SKIPS+=( - -x test_urllib2 - ) - ;; - sparc*) - COMMON_TEST_SKIPS+=( - # bug 788022 - -x test_multiprocessing_fork - -x test_multiprocessing_forkserver - -x test_multiprocessing_spawn - - -x test_ctypes - # bug 931908 - -x test_exceptions - ) - ;; - esac - - # Kernel-config specific skips - for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do - if ! linux_config_exists || ! linux_chkconfig_present "${option}" - then - COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" ) - fi - done - - # musl-specific skips - use elibc_musl && COMMON_TEST_SKIPS+=( - # various musl locale deficiencies - -x test__locale - -x test_c_locale_coercion - -x test_locale - -x test_re - - # known issues with find_library on musl - # https://bugs.python.org/issue21622 - -x test_ctypes - - # fpathconf, ttyname errno values - -x test_os - ) - - if use pgo; then - local profile_task_flags=( - -m test - "-j$(makeopts_jobs)" - --pgo-extended - --verbose3 - -u-network - - # We use a timeout because of how often we've had hang issues - # here. It also matches the default upstream PROFILE_TASK. - --timeout 1200 - - "${COMMON_TEST_SKIPS[@]}" - - -x test_dtrace - - # All of these seem to occasionally hang for PGO inconsistently - # They'll even hang here but be fine in src_test sometimes. - # bug #828535 (and related: bug #788022) - -x test_asyncio - -x test_httpservers - -x test_logging - -x test_multiprocessing_fork - -x test_socket - -x test_xmlrpc - - # Hangs (actually runs indefinitely executing itself w/ many cpython builds) - # bug #900429 - -x test_tools - ) - - if has_version "app-arch/rpm" ; then - # Avoid sandbox failure (attempts to write to /var/lib/rpm) - profile_task_flags+=( - -x test_distutils - ) - fi - # PGO sometimes fails randomly - local -x PROFILE_TASK="${profile_task_flags[*]} || true" - fi - - local myeconfargs=( - # glibc-2.30 removes it; since we can't cleanly force-rebuild - # Python on glibc upgrade, remove it proactively to give - # a chance for users rebuilding python before glibc - ac_cv_header_stropts_h=no - - --enable-shared - --without-static-libpython - --enable-ipv6 - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --without-ensurepip - --without-lto - --with-system-expat - --with-system-libmpdec - --with-platlibdir=lib - --with-pkg-config=yes - --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip - --enable-gil - - $(use_with debug assertions) - $(use_enable jit experimental-jit) - $(use_enable pgo optimizations) - $(use_with readline readline "$(usex libedit editline readline)") - $(use_with valgrind) - ) - - if tc-is-lto; then - myeconfargs+=( - --with-lto - ) - fi - - # Force-disable modules we don't want built. - # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - $(usev !gdbm '_gdbm _dbm') - $(usev !sqlite '_sqlite3') - $(usev !ssl '_hashlib _ssl') - $(usev !ncurses '_curses _curses_panel') - $(usev !readline 'readline') - $(usev !tk '_tkinter') - EOF - - # disable implicit optimization/debugging flags - local -x OPT= - - if tc-is-cross-compiler ; then - build_cbuild_python - myeconfargs+=( - # Point the imminent CHOST build to the Python we just - # built for CBUILD. - --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python - ) - fi - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - local -x CFLAGS_NODIST=${CFLAGS} - local -x LDFLAGS_NODIST=${LDFLAGS} - local -x CFLAGS= LDFLAGS= - - # Fix implicit declarations on cross and prefix builds. Bug #674070. - if use ncurses; then - append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw - fi - - econf "${myeconfargs[@]}" - - if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi - - # install epython.py as part of stdlib - echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die -} - -src_compile() { - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - export PYTHONSTRICTEXTENSIONBUILD=1 - - # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't - # end up writing bytecode & violating sandbox. - # bug #831897 - local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} - - # Gentoo hack to disable accessing system site-packages - export GENTOO_CPYTHON_BUILD=1 - - if use pgo ; then - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - fi - - # also need to clear the flags explicitly here or they end up - # in _sysconfigdata* - emake CPPFLAGS= CFLAGS= LDFLAGS= - - # Restore saved value from above. - local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # this just happens to skip test_support.test_freeze that is broken - # without bundled expat - # TODO: get a proper skip for it upstream - local -x LOGNAME=buildbot - - local test_opts=( - --verbose3 - -u-network - -j "$(makeopts_jobs)" - "${COMMON_TEST_SKIPS[@]}" - ) - - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - - nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local ret=${?} - - [[ ${ret} -eq 0 ]] || die "emake test failed" -} - -src_install() { - local libdir=${ED}/usr/lib/python${PYVER} - - # -j1 hack for now for bug #843458 - emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall - - # Fix collisions between different slots of Python. - rm "${ED}/usr/$(get_libdir)/libpython3.so" || die - - # Cheap hack to get version with ABIFLAGS - local abiver=$(cd "${ED}/usr/include"; echo python*) - if [[ ${abiver} != python${PYVER} ]]; then - # Replace python3.X with a symlink to python3.Xm - rm "${ED}/usr/bin/python${PYVER}" || die - dosym "${abiver}" "/usr/bin/python${PYVER}" - # Create python3.X-config symlink - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" - # Create python-3.5m.pc symlink - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" - fi - - # python seems to get rebuilt in src_install (bug 569908) - # Work around it for now. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E "${ED}/usr/bin/${abiver}" - else - pax-mark m "${ED}/usr/bin/${abiver}" - fi - - rm -r "${libdir}"/ensurepip/_bundled || die - if ! use sqlite; then - rm -r "${libdir}/"sqlite3 || die - fi - if ! use tk; then - rm -r "${ED}/usr/bin/idle${PYVER}" || die - rm -r "${libdir}/"{idlelib,tkinter} || die - fi - - ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die - - dodoc Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - docinto examples - find Tools -name __pycache__ -exec rm -fr {} + || die - dodoc -r Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$( - printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | - emake --no-print-directory -s -f - 2>/dev/null - ) - newins Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" - - # python-exec wrapping support - local pymajor=${PYVER%.*} - local EPYTHON=python${PYVER} - local scriptdir=${D}$(python_get_scriptdir) - mkdir -p "${scriptdir}" || die - # python and pythonX - ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die - ln -s "python${pymajor}" "${scriptdir}/python" || die - # python-config and pythonX-config - # note: we need to create a wrapper rather than symlinking it due - # to some random dirname(argv[0]) magic performed by python-config - cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die - #!/bin/sh - exec "${abiver}-config" "\${@}" - EOF - chmod +x "${scriptdir}/python${pymajor}-config" || die - ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die - # pydoc - ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die - # idle - if use tk; then - ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die - fi -} diff --git a/dev-lang/python/python-3.14.6.ebuild b/dev-lang/python/python-3.14.6.ebuild deleted file mode 100644 index 19200cef0e7a..000000000000 --- a/dev-lang/python/python-3.14.6.ebuild +++ /dev/null @@ -1,636 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -LLVM_COMPAT=( 19 ) -LLVM_OPTIONAL=1 -VERIFY_SIG_METHOD=sigstore -WANT_LIBTOOL="none" - -inherit autotools check-reqs flag-o-matic linux-info llvm-r1 -inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs -inherit verify-sig - -MY_PV=${PV/_/} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="An interpreted, interactive, object-oriented programming language" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}" -if [[ ${PV} != *_rc* ]]; then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -fi -IUSE=" - bluetooth build debug +ensurepip examples gdbm jit libedit +ncurses pgo - +readline +sqlite +ssl tail-call-interp test tk valgrind -" -REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" -RESTRICT="!test? ( test )" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND=" - app-arch/bzip2:= - app-arch/xz-utils:= - app-misc/mime-types - >=dev-libs/expat-2.1:= - dev-libs/libffi:= - dev-libs/mpdecimal:= - dev-python/gentoo-common - sys-apps/util-linux - >=virtual/zlib-1.1.3:= - virtual/libintl - !build? ( app-arch/zstd:= ) - gdbm? ( sys-libs/gdbm:=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:= ) - readline? ( - !libedit? ( >=sys-libs/readline-4.1:= ) - libedit? ( dev-libs/libedit:= ) - ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( >=dev-libs/openssl-1.1.1:= ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) -" -# bluetooth requires headers from bluez -DEPEND=" - ${RDEPEND} - bluetooth? ( net-wireless/bluez ) - test? ( - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - ) - valgrind? ( dev-debug/valgrind ) -" -# autoconf-archive needed to eautoreconf -BDEPEND=" - dev-build/autoconf-archive - app-alternatives/awk - virtual/pkgconfig - jit? ( - $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT} - llvm-core/llvm:${LLVM_SLOT} - ') - ) - tail-call-interp? ( - || ( - >=sys-devel/gcc-16:* - >=llvm-core/clang-19:* - ) - ) -" -if [[ ${PV} != *_alpha* ]]; then - RDEPEND+=" - dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] - " -fi -PDEPEND=" - ensurepip? ( dev-python/ensurepip-pip ) -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -# large file tests involve a 2.5G file being copied (duplicated) -CHECKREQS_DISK_BUILD=5500M - -QA_PKGCONFIG_VERSION=${PYVER%t} -# false positives -- functions specific to *BSD -QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) - -declare -rgA PYTHON_KERNEL_CHECKS=( - ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589 - ["DNOTIFY"]="test_fcntl" # bug 938662 -) - -pkg_pretend() { - if use pgo || use test; then - check-reqs_pkg_pretend - fi - - if use jit; then - ewarn "USE=jit is considered experimental upstream. Using it" - ewarn "could lead to unexpected breakage, including race conditions" - ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" - ewarn "you can reproduce the problem with dev-lang/python[-jit]. Instead," - ewarn "please consider reporting JIT problems upstream." - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]]; then - use jit && llvm-r1_pkg_setup - if use test || use pgo; then - check-reqs_pkg_setup - - local CONFIG_CHECK - for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do - CONFIG_CHECK+="~${f} " - done - linux-info_pkg_setup - fi - if use tail-call-interp; then - tc-check-min_ver gcc 16 - tc-check-min_ver clang 19 - fi - fi -} - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - # Ensure that internal copies of expat and libffi are not used. - # TODO: Makefile has annoying deps on expat headers - #rm -r Modules/expat || die - - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - default - - # force the correct number of jobs - # https://bugs.gentoo.org/737660 - sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die - - # breaks tests when using --with-wheel-pkg-dir - rm -r Lib/test/wheeldata || die - - eautoreconf -} - -build_cbuild_python() { - # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 - local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - # - # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) - local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" - local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" - local -x CFLAGS= LDFLAGS= - local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" - - # We need to build our own Python on CBUILD first, and feed it in. - # bug #847910 - local myeconfargs_cbuild=( - "${myeconfargs[@]}" - - --prefix="${BROOT}"/usr - --libdir="${cbuild_libdir:2}" - - # Avoid needing to load the right libpython.so. - --disable-shared - - # As minimal as possible for the mini CBUILD Python - # we build just for cross to satisfy --with-build-python. - --without-lto - --without-readline - --disable-optimizations - ) - - mkdir "${WORKDIR}"/${P}-${CBUILD} || die - pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die - - # Avoid as many dependencies as possible for the cross build. - mkdir Modules || die - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - _dbm _gdbm - _sqlite3 - _hashlib _ssl - _curses _curses_panel - readline - _tkinter - pyexpat - zlib - # We disabled these for CBUILD because Python's setup.py can't handle locating - # libdir correctly for cross. This should be rechecked for the pure Makefile approach, - # and uncommented if needed. - #_ctypes - EOF - - ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" - - # Unfortunately, we do have to build this immediately, and - # not in src_compile, because CHOST configure for Python - # will check the existence of the --with-build-python value - # immediately. - emake - popd &> /dev/null || die -} - -src_configure() { - # disable automagic bluetooth headers detection - if ! use bluetooth; then - local -x ac_cv_header_bluetooth_bluetooth_h=no - fi - - filter-flags -malign-double - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - # PKG_CONFIG needed for cross. - tc-export CXX PKG_CONFIG - - local dbmliborder= - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - # Set baseline test skip flags. - COMMON_TEST_SKIPS=( - # running gdb inside an ebuild as non-root, within sandbox, - # and possibly within a container is unreliable - -x test_gdb - # this is actually test_gdb.test_pretty_print - -x test_pretty_print - # https://bugs.gentoo.org/933840 - -x test_perf_profiler - ) - - # Arch-specific skips. See #931888 for a collection of these. - case ${CHOST} in - alpha*) - COMMON_TEST_SKIPS+=( - -x test_builtin - -x test_capi - -x test_cmath - -x test_float - # timeout - -x test_free_threading - -x test_math - -x test_numeric_tower - -x test_random - -x test_statistics - # bug 653850 - -x test_resource - -x test_strtod - ) - ;; - mips*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - -x test_statistics - ) - ;; - riscv*) - COMMON_TEST_SKIPS+=( - -x test_urllib2 - ) - ;; - sparc*) - COMMON_TEST_SKIPS+=( - # bug 788022 - -x test_multiprocessing_fork - -x test_multiprocessing_forkserver - -x test_multiprocessing_spawn - - -x test_ctypes - # bug 931908 - -x test_exceptions - ) - ;; - esac - - # Kernel-config specific skips - for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do - if ! linux_config_exists || ! linux_chkconfig_present "${option}" - then - COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" ) - fi - done - - # musl-specific skips - use elibc_musl && COMMON_TEST_SKIPS+=( - # various musl locale deficiencies - -x test__locale - -x test_c_locale_coercion - -x test_locale - -x test_re - - # known issues with find_library on musl - # https://bugs.python.org/issue21622 - -x test_ctypes - - # fpathconf, ttyname errno values - -x test_os - ) - - if use pgo; then - local profile_task_flags=( - -m test - "-j$(makeopts_jobs)" - --pgo-extended - --verbose3 - -u-network - - # We use a timeout because of how often we've had hang issues - # here. It also matches the default upstream PROFILE_TASK. - --timeout 1200 - - "${COMMON_TEST_SKIPS[@]}" - - -x test_dtrace - - # All of these seem to occasionally hang for PGO inconsistently - # They'll even hang here but be fine in src_test sometimes. - # bug #828535 (and related: bug #788022) - -x test_asyncio - -x test_httpservers - -x test_logging - -x test_multiprocessing_fork - -x test_socket - -x test_xmlrpc - - # Hangs (actually runs indefinitely executing itself w/ many cpython builds) - # bug #900429 - -x test_tools - - # Test terminates abruptly which corrupts written profile data - # bug #964023 - -x test_pyrepl - ) - - if has_version "app-arch/rpm" ; then - # Avoid sandbox failure (attempts to write to /var/lib/rpm) - profile_task_flags+=( - -x test_distutils - ) - fi - # PGO sometimes fails randomly - local -x PROFILE_TASK="${profile_task_flags[*]} || true" - fi - - local myeconfargs=( - # glibc-2.30 removes it; since we can't cleanly force-rebuild - # Python on glibc upgrade, remove it proactively to give - # a chance for users rebuilding python before glibc - ac_cv_header_stropts_h=no - - --enable-shared - --without-static-libpython - --enable-ipv6 - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --without-ensurepip - --without-lto - --with-system-expat - --with-system-libmpdec - --with-platlibdir=lib - --with-pkg-config=yes - --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip - --enable-gil - - $(use_with debug assertions) - $(use_enable jit experimental-jit) - $(use_enable pgo optimizations) - $(use_with readline readline "$(usex libedit editline readline)") - $(use_with tail-call-interp) - $(use_with valgrind) - ) - - if tc-is-lto; then - myeconfargs+=( - --with-lto - ) - fi - - # Force-disable modules we don't want built. - # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - $(usev build '_zstd') - $(usev !gdbm '_gdbm _dbm') - $(usev !sqlite '_sqlite3') - $(usev !ssl '_hashlib _ssl') - $(usev !ncurses '_curses _curses_panel') - $(usev !readline 'readline') - $(usev !tk '_tkinter') - EOF - - # disable implicit optimization/debugging flags - local -x OPT= - - if tc-is-cross-compiler ; then - build_cbuild_python - myeconfargs+=( - # Point the imminent CHOST build to the Python we just - # built for CBUILD. - --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python - ) - fi - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - local -x CFLAGS_NODIST=${CFLAGS} - local -x LDFLAGS_NODIST=${LDFLAGS} - local -x CFLAGS= LDFLAGS= - - # Fix implicit declarations on cross and prefix builds. Bug #674070. - if use ncurses; then - append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw - fi - - econf "${myeconfargs[@]}" - - if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi - - # install epython.py as part of stdlib - echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die -} - -src_compile() { - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - export PYTHONSTRICTEXTENSIONBUILD=1 - - # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't - # end up writing bytecode & violating sandbox. - # bug #831897 - local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} - - # Gentoo hack to disable accessing system site-packages - export GENTOO_CPYTHON_BUILD=1 - - if use pgo ; then - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - fi - - # also need to clear the flags explicitly here or they end up - # in _sysconfigdata* - emake CPPFLAGS= CFLAGS= LDFLAGS= - - # Restore saved value from above. - local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # this just happens to skip test_support.test_freeze that is broken - # without bundled expat - # TODO: get a proper skip for it upstream - local -x LOGNAME=buildbot - - local test_opts=( - --verbose3 - -u-network - -j "$(makeopts_jobs)" - "${COMMON_TEST_SKIPS[@]}" - ) - - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - - nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local ret=${?} - - [[ ${ret} -eq 0 ]] || die "emake test failed" -} - -src_install() { - local libdir=${ED}/usr/lib/python${PYVER} - - # -j1 hack for now for bug #843458 - emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall - - # Fix collisions between different slots of Python. - rm "${ED}/usr/$(get_libdir)/libpython3.so" || die - - # Cheap hack to get version with ABIFLAGS - local abiver=$(cd "${ED}/usr/include"; echo python*) - if [[ ${abiver} != python${PYVER} ]]; then - # Replace python3.X with a symlink to python3.Xm - rm "${ED}/usr/bin/python${PYVER}" || die - dosym "${abiver}" "/usr/bin/python${PYVER}" - # Create python3.X-config symlink - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" - # Create python-3.5m.pc symlink - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" - fi - - # python seems to get rebuilt in src_install (bug 569908) - # Work around it for now. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E "${ED}/usr/bin/${abiver}" - else - pax-mark m "${ED}/usr/bin/${abiver}" - fi - - rm -r "${libdir}"/ensurepip/_bundled || die - if ! use sqlite; then - rm -r "${libdir}/"sqlite3 || die - fi - if ! use tk; then - rm -r "${ED}/usr/bin/idle${PYVER}" || die - rm -r "${libdir}/"{idlelib,tkinter} || die - fi - - ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die - - dodoc Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - docinto examples - find Tools -name __pycache__ -exec rm -fr {} + || die - dodoc -r Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$( - printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | - emake --no-print-directory -s -f - 2>/dev/null - ) - newins Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" - - # python-exec wrapping support - local pymajor=${PYVER%.*} - local EPYTHON=python${PYVER} - local scriptdir=${D}$(python_get_scriptdir) - mkdir -p "${scriptdir}" || die - # python and pythonX - ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die - ln -s "python${pymajor}" "${scriptdir}/python" || die - # python-config and pythonX-config - # note: we need to create a wrapper rather than symlinking it due - # to some random dirname(argv[0]) magic performed by python-config - cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die - #!/bin/sh - exec "${abiver}-config" "\${@}" - EOF - chmod +x "${scriptdir}/python${pymajor}-config" || die - ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die - # pydoc - ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die - # idle - if use tk; then - ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die - fi -} diff --git a/dev-lang/python/python-3.14.6_p1.ebuild b/dev-lang/python/python-3.14.6_p1.ebuild deleted file mode 100644 index 0f35921763c3..000000000000 --- a/dev-lang/python/python-3.14.6_p1.ebuild +++ /dev/null @@ -1,636 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -LLVM_COMPAT=( 19 ) -LLVM_OPTIONAL=1 -VERIFY_SIG_METHOD=sigstore -WANT_LIBTOOL="none" - -inherit autotools check-reqs flag-o-matic linux-info llvm-r1 -inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs -inherit verify-sig - -MY_PV=${PV} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="An interpreted, interactive, object-oriented programming language" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}" -if [[ ${PV} != *_rc* ]]; then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -fi -IUSE=" - bluetooth build debug +ensurepip examples gdbm jit libedit +ncurses pgo - +readline +sqlite +ssl tail-call-interp test tk valgrind -" -REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" -RESTRICT="!test? ( test )" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND=" - app-arch/bzip2:= - app-arch/xz-utils:= - app-misc/mime-types - >=dev-libs/expat-2.1:= - dev-libs/libffi:= - dev-libs/mpdecimal:= - dev-python/gentoo-common - sys-apps/util-linux - >=virtual/zlib-1.1.3:= - virtual/libintl - !build? ( app-arch/zstd:= ) - gdbm? ( sys-libs/gdbm:=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:= ) - readline? ( - !libedit? ( >=sys-libs/readline-4.1:= ) - libedit? ( dev-libs/libedit:= ) - ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( >=dev-libs/openssl-1.1.1:= ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) -" -# bluetooth requires headers from bluez -DEPEND=" - ${RDEPEND} - bluetooth? ( net-wireless/bluez ) - test? ( - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - ) - valgrind? ( dev-debug/valgrind ) -" -# autoconf-archive needed to eautoreconf -BDEPEND=" - dev-build/autoconf-archive - app-alternatives/awk - virtual/pkgconfig - jit? ( - $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT} - llvm-core/llvm:${LLVM_SLOT} - ') - ) - tail-call-interp? ( - || ( - >=sys-devel/gcc-16:* - >=llvm-core/clang-19:* - ) - ) -" -if [[ ${PV} != *_alpha* ]]; then - RDEPEND+=" - dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] - " -fi -PDEPEND=" - ensurepip? ( dev-python/ensurepip-pip ) -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -# large file tests involve a 2.5G file being copied (duplicated) -CHECKREQS_DISK_BUILD=5500M - -QA_PKGCONFIG_VERSION=${PYVER%t} -# false positives -- functions specific to *BSD -QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) - -declare -rgA PYTHON_KERNEL_CHECKS=( - ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589 - ["DNOTIFY"]="test_fcntl" # bug 938662 -) - -pkg_pretend() { - if use pgo || use test; then - check-reqs_pkg_pretend - fi - - if use jit; then - ewarn "USE=jit is considered experimental upstream. Using it" - ewarn "could lead to unexpected breakage, including race conditions" - ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" - ewarn "you can reproduce the problem with dev-lang/python[-jit]. Instead," - ewarn "please consider reporting JIT problems upstream." - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]]; then - use jit && llvm-r1_pkg_setup - if use test || use pgo; then - check-reqs_pkg_setup - - local CONFIG_CHECK - for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do - CONFIG_CHECK+="~${f} " - done - linux-info_pkg_setup - fi - if use tail-call-interp; then - tc-check-min_ver gcc 16 - tc-check-min_ver clang 19 - fi - fi -} - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - # Ensure that internal copies of expat and libffi are not used. - # TODO: Makefile has annoying deps on expat headers - #rm -r Modules/expat || die - - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - default - - # force the correct number of jobs - # https://bugs.gentoo.org/737660 - sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die - - # breaks tests when using --with-wheel-pkg-dir - rm -r Lib/test/wheeldata || die - - eautoreconf -} - -build_cbuild_python() { - # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 - local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - # - # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) - local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" - local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" - local -x CFLAGS= LDFLAGS= - local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" - - # We need to build our own Python on CBUILD first, and feed it in. - # bug #847910 - local myeconfargs_cbuild=( - "${myeconfargs[@]}" - - --prefix="${BROOT}"/usr - --libdir="${cbuild_libdir:2}" - - # Avoid needing to load the right libpython.so. - --disable-shared - - # As minimal as possible for the mini CBUILD Python - # we build just for cross to satisfy --with-build-python. - --without-lto - --without-readline - --disable-optimizations - ) - - mkdir "${WORKDIR}"/${P}-${CBUILD} || die - pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die - - # Avoid as many dependencies as possible for the cross build. - mkdir Modules || die - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - _dbm _gdbm - _sqlite3 - _hashlib _ssl - _curses _curses_panel - readline - _tkinter - pyexpat - zlib - # We disabled these for CBUILD because Python's setup.py can't handle locating - # libdir correctly for cross. This should be rechecked for the pure Makefile approach, - # and uncommented if needed. - #_ctypes - EOF - - ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" - - # Unfortunately, we do have to build this immediately, and - # not in src_compile, because CHOST configure for Python - # will check the existence of the --with-build-python value - # immediately. - emake - popd &> /dev/null || die -} - -src_configure() { - # disable automagic bluetooth headers detection - if ! use bluetooth; then - local -x ac_cv_header_bluetooth_bluetooth_h=no - fi - - filter-flags -malign-double - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - # PKG_CONFIG needed for cross. - tc-export CXX PKG_CONFIG - - local dbmliborder= - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - # Set baseline test skip flags. - COMMON_TEST_SKIPS=( - # running gdb inside an ebuild as non-root, within sandbox, - # and possibly within a container is unreliable - -x test_gdb - # this is actually test_gdb.test_pretty_print - -x test_pretty_print - # https://bugs.gentoo.org/933840 - -x test_perf_profiler - ) - - # Arch-specific skips. See #931888 for a collection of these. - case ${CHOST} in - alpha*) - COMMON_TEST_SKIPS+=( - -x test_builtin - -x test_capi - -x test_cmath - -x test_float - # timeout - -x test_free_threading - -x test_math - -x test_numeric_tower - -x test_random - -x test_statistics - # bug 653850 - -x test_resource - -x test_strtod - ) - ;; - mips*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - -x test_statistics - ) - ;; - riscv*) - COMMON_TEST_SKIPS+=( - -x test_urllib2 - ) - ;; - sparc*) - COMMON_TEST_SKIPS+=( - # bug 788022 - -x test_multiprocessing_fork - -x test_multiprocessing_forkserver - -x test_multiprocessing_spawn - - -x test_ctypes - # bug 931908 - -x test_exceptions - ) - ;; - esac - - # Kernel-config specific skips - for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do - if ! linux_config_exists || ! linux_chkconfig_present "${option}" - then - COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" ) - fi - done - - # musl-specific skips - use elibc_musl && COMMON_TEST_SKIPS+=( - # various musl locale deficiencies - -x test__locale - -x test_c_locale_coercion - -x test_locale - -x test_re - - # known issues with find_library on musl - # https://bugs.python.org/issue21622 - -x test_ctypes - - # fpathconf, ttyname errno values - -x test_os - ) - - if use pgo; then - local profile_task_flags=( - -m test - "-j$(makeopts_jobs)" - --pgo-extended - --verbose3 - -u-network - - # We use a timeout because of how often we've had hang issues - # here. It also matches the default upstream PROFILE_TASK. - --timeout 1200 - - "${COMMON_TEST_SKIPS[@]}" - - -x test_dtrace - - # All of these seem to occasionally hang for PGO inconsistently - # They'll even hang here but be fine in src_test sometimes. - # bug #828535 (and related: bug #788022) - -x test_asyncio - -x test_httpservers - -x test_logging - -x test_multiprocessing_fork - -x test_socket - -x test_xmlrpc - - # Hangs (actually runs indefinitely executing itself w/ many cpython builds) - # bug #900429 - -x test_tools - - # Test terminates abruptly which corrupts written profile data - # bug #964023 - -x test_pyrepl - ) - - if has_version "app-arch/rpm" ; then - # Avoid sandbox failure (attempts to write to /var/lib/rpm) - profile_task_flags+=( - -x test_distutils - ) - fi - # PGO sometimes fails randomly - local -x PROFILE_TASK="${profile_task_flags[*]} || true" - fi - - local myeconfargs=( - # glibc-2.30 removes it; since we can't cleanly force-rebuild - # Python on glibc upgrade, remove it proactively to give - # a chance for users rebuilding python before glibc - ac_cv_header_stropts_h=no - - --enable-shared - --without-static-libpython - --enable-ipv6 - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --without-ensurepip - --without-lto - --with-system-expat - --with-system-libmpdec - --with-platlibdir=lib - --with-pkg-config=yes - --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip - --enable-gil - - $(use_with debug assertions) - $(use_enable jit experimental-jit) - $(use_enable pgo optimizations) - $(use_with readline readline "$(usex libedit editline readline)") - $(use_with tail-call-interp) - $(use_with valgrind) - ) - - if tc-is-lto; then - myeconfargs+=( - --with-lto - ) - fi - - # Force-disable modules we don't want built. - # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - $(usev build '_zstd') - $(usev !gdbm '_gdbm _dbm') - $(usev !sqlite '_sqlite3') - $(usev !ssl '_hashlib _ssl') - $(usev !ncurses '_curses _curses_panel') - $(usev !readline 'readline') - $(usev !tk '_tkinter') - EOF - - # disable implicit optimization/debugging flags - local -x OPT= - - if tc-is-cross-compiler ; then - build_cbuild_python - myeconfargs+=( - # Point the imminent CHOST build to the Python we just - # built for CBUILD. - --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python - ) - fi - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - local -x CFLAGS_NODIST=${CFLAGS} - local -x LDFLAGS_NODIST=${LDFLAGS} - local -x CFLAGS= LDFLAGS= - - # Fix implicit declarations on cross and prefix builds. Bug #674070. - if use ncurses; then - append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw - fi - - econf "${myeconfargs[@]}" - - if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi - - # install epython.py as part of stdlib - echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die -} - -src_compile() { - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - export PYTHONSTRICTEXTENSIONBUILD=1 - - # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't - # end up writing bytecode & violating sandbox. - # bug #831897 - local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} - - # Gentoo hack to disable accessing system site-packages - export GENTOO_CPYTHON_BUILD=1 - - if use pgo ; then - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - fi - - # also need to clear the flags explicitly here or they end up - # in _sysconfigdata* - emake CPPFLAGS= CFLAGS= LDFLAGS= - - # Restore saved value from above. - local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # this just happens to skip test_support.test_freeze that is broken - # without bundled expat - # TODO: get a proper skip for it upstream - local -x LOGNAME=buildbot - - local test_opts=( - --verbose3 - -u-network - -j "$(makeopts_jobs)" - "${COMMON_TEST_SKIPS[@]}" - ) - - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - - nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local ret=${?} - - [[ ${ret} -eq 0 ]] || die "emake test failed" -} - -src_install() { - local libdir=${ED}/usr/lib/python${PYVER} - - # -j1 hack for now for bug #843458 - emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall - - # Fix collisions between different slots of Python. - rm "${ED}/usr/$(get_libdir)/libpython3.so" || die - - # Cheap hack to get version with ABIFLAGS - local abiver=$(cd "${ED}/usr/include"; echo python*) - if [[ ${abiver} != python${PYVER} ]]; then - # Replace python3.X with a symlink to python3.Xm - rm "${ED}/usr/bin/python${PYVER}" || die - dosym "${abiver}" "/usr/bin/python${PYVER}" - # Create python3.X-config symlink - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" - # Create python-3.5m.pc symlink - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" - fi - - # python seems to get rebuilt in src_install (bug 569908) - # Work around it for now. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E "${ED}/usr/bin/${abiver}" - else - pax-mark m "${ED}/usr/bin/${abiver}" - fi - - rm -r "${libdir}"/ensurepip/_bundled || die - if ! use sqlite; then - rm -r "${libdir}/"sqlite3 || die - fi - if ! use tk; then - rm -r "${ED}/usr/bin/idle${PYVER}" || die - rm -r "${libdir}/"{idlelib,tkinter} || die - fi - - ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die - - dodoc Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - docinto examples - find Tools -name __pycache__ -exec rm -fr {} + || die - dodoc -r Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$( - printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | - emake --no-print-directory -s -f - 2>/dev/null - ) - newins Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" - - # python-exec wrapping support - local pymajor=${PYVER%.*} - local EPYTHON=python${PYVER} - local scriptdir=${D}$(python_get_scriptdir) - mkdir -p "${scriptdir}" || die - # python and pythonX - ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die - ln -s "python${pymajor}" "${scriptdir}/python" || die - # python-config and pythonX-config - # note: we need to create a wrapper rather than symlinking it due - # to some random dirname(argv[0]) magic performed by python-config - cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die - #!/bin/sh - exec "${abiver}-config" "\${@}" - EOF - chmod +x "${scriptdir}/python${pymajor}-config" || die - ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die - # pydoc - ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die - # idle - if use tk; then - ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die - fi -} diff --git a/dev-lang/python/python-3.15.0_beta2.ebuild b/dev-lang/python/python-3.15.0_beta2.ebuild deleted file mode 100644 index 606cf495456c..000000000000 --- a/dev-lang/python/python-3.15.0_beta2.ebuild +++ /dev/null @@ -1,614 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -LLVM_COMPAT=( 21 ) -LLVM_OPTIONAL=1 -VERIFY_SIG_METHOD=sigstore -WANT_LIBTOOL="none" - -inherit autotools check-reqs flag-o-matic linux-info llvm-r1 -inherit multiprocessing pax-utils toolchain-funcs verify-sig - -MY_PV=${PV/_beta/b} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="An interpreted, interactive, object-oriented programming language" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}" -IUSE=" - bluetooth build debug +ensurepip examples gdbm jit libedit +ncurses pgo - +readline +sqlite +ssl tail-call-interp test tk valgrind -" -REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" -RESTRICT="!test? ( test )" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND=" - app-arch/bzip2:= - app-arch/xz-utils:= - app-misc/mime-types - >=dev-libs/expat-2.1:= - dev-libs/libffi:= - dev-libs/mpdecimal:= - dev-python/gentoo-common - sys-apps/util-linux - >=virtual/zlib-1.1.3:= - virtual/libintl - !build? ( app-arch/zstd:= ) - gdbm? ( sys-libs/gdbm:=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:= ) - readline? ( - !libedit? ( >=sys-libs/readline-4.1:= ) - libedit? ( dev-libs/libedit:= ) - ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( >=dev-libs/openssl-1.1.1:= ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) -" -# bluetooth requires headers from bluez -DEPEND=" - ${RDEPEND} - bluetooth? ( net-wireless/bluez ) - test? ( - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - dev-python/ensurepip-wheel - ) - valgrind? ( dev-debug/valgrind ) -" -# autoconf-archive needed to eautoreconf -BDEPEND=" - dev-build/autoconf-archive - app-alternatives/awk - virtual/pkgconfig - jit? ( - $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT} - llvm-core/llvm:${LLVM_SLOT} - ') - ) - tail-call-interp? ( - || ( - >=sys-devel/gcc-16:* - >=llvm-core/clang-19:* - ) - ) -" -if [[ ${PV} != *_alpha* ]]; then - RDEPEND+=" - dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] - " -fi -PDEPEND=" - ensurepip? ( dev-python/ensurepip-pip ) -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -# large file tests involve a 2.5G file being copied (duplicated) -CHECKREQS_DISK_BUILD=5500M - -QA_PKGCONFIG_VERSION=${PYVER%t} -# false positives -- functions specific to *BSD -QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) - -declare -rgA PYTHON_KERNEL_CHECKS=( - ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589 - ["DNOTIFY"]="test_fcntl" # bug 938662 -) - -pkg_pretend() { - if use pgo || use test; then - check-reqs_pkg_pretend - fi - - if use jit; then - ewarn "USE=jit is considered experimental upstream. Using it" - ewarn "could lead to unexpected breakage, including race conditions" - ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" - ewarn "you can reproduce the problem with dev-lang/python[-jit]. Instead," - ewarn "please consider reporting JIT problems upstream." - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]]; then - use jit && llvm-r1_pkg_setup - if use test || use pgo; then - check-reqs_pkg_setup - - local CONFIG_CHECK - for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do - CONFIG_CHECK+="~${f} " - done - linux-info_pkg_setup - fi - if use tail-call-interp; then - tc-check-min_ver gcc 16 - tc-check-min_ver clang 19 - fi - fi -} - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - # Ensure that internal copies of expat and libffi are not used. - # TODO: Makefile has annoying deps on expat headers - #rm -r Modules/expat || die - - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - default - - # force the correct number of jobs - # https://bugs.gentoo.org/737660 - sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die - - # breaks tests when using --with-wheel-pkg-dir - rm -r Lib/test/wheeldata || die - - eautoreconf -} - -build_cbuild_python() { - # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 - local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - # - # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) - local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" - local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" - local -x CFLAGS= LDFLAGS= - local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" - - # We need to build our own Python on CBUILD first, and feed it in. - # bug #847910 - local myeconfargs_cbuild=( - "${myeconfargs[@]}" - - --prefix="${BROOT}"/usr - --libdir="${cbuild_libdir:2}" - - # Avoid needing to load the right libpython.so. - --disable-shared - - # As minimal as possible for the mini CBUILD Python - # we build just for cross to satisfy --with-build-python. - --without-lto - --without-readline - --disable-optimizations - ) - - mkdir "${WORKDIR}"/${P}-${CBUILD} || die - pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die - - # Avoid as many dependencies as possible for the cross build. - mkdir Modules || die - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - _dbm _gdbm - _sqlite3 - _hashlib _ssl - _curses _curses_panel - readline - _tkinter - pyexpat - zlib - # We disabled these for CBUILD because Python's setup.py can't handle locating - # libdir correctly for cross. This should be rechecked for the pure Makefile approach, - # and uncommented if needed. - #_ctypes - EOF - - ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" - - # Unfortunately, we do have to build this immediately, and - # not in src_compile, because CHOST configure for Python - # will check the existence of the --with-build-python value - # immediately. - emake - popd &> /dev/null || die -} - -src_configure() { - # disable automagic bluetooth headers detection - if ! use bluetooth; then - local -x ac_cv_header_bluetooth_bluetooth_h=no - fi - - filter-flags -malign-double - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - # PKG_CONFIG needed for cross. - tc-export CXX PKG_CONFIG - - local dbmliborder= - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - # Set baseline test skip flags. - COMMON_TEST_SKIPS=( - # running gdb inside an ebuild as non-root, within sandbox, - # and possibly within a container is unreliable - -x test_gdb - # this is actually test_gdb.test_pretty_print - -x test_pretty_print - # https://bugs.gentoo.org/933840 - -x test_perf_profiler - ) - - # Arch-specific skips. See #931888 for a collection of these. - case ${CHOST} in - alpha*) - COMMON_TEST_SKIPS+=( - -x test_builtin - -x test_capi - -x test_cmath - -x test_float - # timeout - -x test_free_threading - -x test_math - -x test_numeric_tower - -x test_random - -x test_statistics - # bug 653850 - -x test_resource - -x test_strtod - ) - ;; - mips*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - -x test_statistics - ) - ;; - riscv*) - COMMON_TEST_SKIPS+=( - -x test_urllib2 - ) - ;; - sparc*) - COMMON_TEST_SKIPS+=( - # bug 788022 - -x test_multiprocessing_fork - -x test_multiprocessing_forkserver - -x test_multiprocessing_spawn - - -x test_ctypes - # bug 931908 - -x test_exceptions - ) - ;; - esac - - # Kernel-config specific skips - for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do - if ! linux_config_exists || ! linux_chkconfig_present "${option}" - then - COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" ) - fi - done - - # musl-specific skips - use elibc_musl && COMMON_TEST_SKIPS+=( - # various musl locale deficiencies - -x test__locale - -x test_c_locale_coercion - -x test_locale - -x test_re - - # known issues with find_library on musl - # https://bugs.python.org/issue21622 - -x test_ctypes - - # fpathconf, ttyname errno values - -x test_os - ) - - if use pgo; then - local profile_task_flags=( - -m test - "-j$(makeopts_jobs)" - --pgo-extended - --verbose3 - -u-network - - # We use a timeout because of how often we've had hang issues - # here. It also matches the default upstream PROFILE_TASK. - --timeout 1200 - - "${COMMON_TEST_SKIPS[@]}" - - -x test_dtrace - - # All of these seem to occasionally hang for PGO inconsistently - # They'll even hang here but be fine in src_test sometimes. - # bug #828535 (and related: bug #788022) - -x test_asyncio - -x test_httpservers - -x test_logging - -x test_multiprocessing_fork - -x test_socket - -x test_xmlrpc - - # Hangs (actually runs indefinitely executing itself w/ many cpython builds) - # bug #900429 - -x test_tools - - # Test terminates abruptly which corrupts written profile data - # bug #964023 - -x test_pyrepl - ) - - if has_version "app-arch/rpm" ; then - # Avoid sandbox failure (attempts to write to /var/lib/rpm) - profile_task_flags+=( - -x test_distutils - ) - fi - # PGO sometimes fails randomly - local -x PROFILE_TASK="${profile_task_flags[*]} || true" - fi - - local myeconfargs=( - # glibc-2.30 removes it; since we can't cleanly force-rebuild - # Python on glibc upgrade, remove it proactively to give - # a chance for users rebuilding python before glibc - ac_cv_header_stropts_h=no - - --enable-shared - --without-static-libpython - --enable-ipv6 - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --without-ensurepip - --without-lto - --with-system-expat - --with-system-libmpdec - --with-platlibdir=lib - --with-pkg-config=yes - --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip - --enable-gil - - $(use_with debug assertions) - $(use_enable jit experimental-jit) - $(use_enable pgo optimizations) - $(use_with readline readline "$(usex libedit editline readline)") - $(use_with tail-call-interp) - $(use_with valgrind) - ) - - if tc-is-lto; then - myeconfargs+=( - --with-lto - ) - fi - - # Force-disable modules we don't want built. - # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - $(usev build '_zstd') - $(usev !gdbm '_gdbm _dbm') - $(usev !sqlite '_sqlite3') - $(usev !ssl '_hashlib _ssl') - $(usev !ncurses '_curses _curses_panel') - $(usev !readline 'readline') - $(usev !tk '_tkinter') - EOF - - # disable implicit optimization/debugging flags - local -x OPT= - - if tc-is-cross-compiler ; then - build_cbuild_python - myeconfargs+=( - # Point the imminent CHOST build to the Python we just - # built for CBUILD. - --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python - ) - fi - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - local -x CFLAGS_NODIST=${CFLAGS} - local -x LDFLAGS_NODIST=${LDFLAGS} - local -x CFLAGS= LDFLAGS= - - # Fix implicit declarations on cross and prefix builds. Bug #674070. - if use ncurses; then - append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw - fi - - econf "${myeconfargs[@]}" - - if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi - - # install epython.py as part of stdlib - echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die -} - -src_compile() { - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - export PYTHONSTRICTEXTENSIONBUILD=1 - - # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't - # end up writing bytecode & violating sandbox. - # bug #831897 - local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} - - # Gentoo hack to disable accessing system site-packages - export GENTOO_CPYTHON_BUILD=1 - - if use pgo ; then - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - fi - - # also need to clear the flags explicitly here or they end up - # in _sysconfigdata* - emake CPPFLAGS= CFLAGS= LDFLAGS= - - # Restore saved value from above. - local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # this just happens to skip test_support.test_freeze that is broken - # without bundled expat - # TODO: get a proper skip for it upstream - local -x LOGNAME=buildbot - - local test_opts=( - --verbose3 - -u-network - -j "$(makeopts_jobs)" - "${COMMON_TEST_SKIPS[@]}" - ) - - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - - nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local ret=${?} - - [[ ${ret} -eq 0 ]] || die "emake test failed" -} - -src_install() { - local libdir=${ED}/usr/lib/python${PYVER} - local build_dir=$(<pybuilddir.txt) - - # -j1 hack for now for bug #843458 - emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall - - # Install build-details.json manually because it was randomly removed - # from altinstall in https://github.com/python/cpython/pull/142269. - cp "${build_dir}"/build-details.json "${libdir}"/ || die - - # Fix collisions between different slots of Python. - rm "${ED}/usr/$(get_libdir)/libpython3.so" || die - - # Cheap hack to get version with ABIFLAGS - local abiver=$(cd "${ED}/usr/include"; echo python*) - if [[ ${abiver} != python${PYVER} ]]; then - # Replace python3.X with a symlink to python3.Xm - rm "${ED}/usr/bin/python${PYVER}" || die - dosym "${abiver}" "/usr/bin/python${PYVER}" - # Create python3.X-config symlink - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" - # Create python-3.5m.pc symlink - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" - fi - - # python seems to get rebuilt in src_install (bug 569908) - # Work around it for now. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E "${ED}/usr/bin/${abiver}" - else - pax-mark m "${ED}/usr/bin/${abiver}" - fi - - rm -r "${libdir}"/ensurepip/_bundled || die - if ! use sqlite; then - rm -r "${libdir}/"sqlite3 || die - fi - if ! use tk; then - rm -r "${ED}/usr/bin/idle${PYVER}" || die - rm -r "${libdir}/"{idlelib,tkinter} || die - fi - - ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die - - dodoc Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - docinto examples - find Tools -name __pycache__ -exec rm -fr {} + || die - dodoc -r Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$( - printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | - emake --no-print-directory -s -f - 2>/dev/null - ) - newins Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" -} diff --git a/dev-lang/python/python-3.15.0_beta3.ebuild b/dev-lang/python/python-3.15.0_beta3.ebuild deleted file mode 100644 index 606cf495456c..000000000000 --- a/dev-lang/python/python-3.15.0_beta3.ebuild +++ /dev/null @@ -1,614 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -LLVM_COMPAT=( 21 ) -LLVM_OPTIONAL=1 -VERIFY_SIG_METHOD=sigstore -WANT_LIBTOOL="none" - -inherit autotools check-reqs flag-o-matic linux-info llvm-r1 -inherit multiprocessing pax-utils toolchain-funcs verify-sig - -MY_PV=${PV/_beta/b} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="An interpreted, interactive, object-oriented programming language" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}" -IUSE=" - bluetooth build debug +ensurepip examples gdbm jit libedit +ncurses pgo - +readline +sqlite +ssl tail-call-interp test tk valgrind -" -REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" -RESTRICT="!test? ( test )" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND=" - app-arch/bzip2:= - app-arch/xz-utils:= - app-misc/mime-types - >=dev-libs/expat-2.1:= - dev-libs/libffi:= - dev-libs/mpdecimal:= - dev-python/gentoo-common - sys-apps/util-linux - >=virtual/zlib-1.1.3:= - virtual/libintl - !build? ( app-arch/zstd:= ) - gdbm? ( sys-libs/gdbm:=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:= ) - readline? ( - !libedit? ( >=sys-libs/readline-4.1:= ) - libedit? ( dev-libs/libedit:= ) - ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( >=dev-libs/openssl-1.1.1:= ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) -" -# bluetooth requires headers from bluez -DEPEND=" - ${RDEPEND} - bluetooth? ( net-wireless/bluez ) - test? ( - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - dev-python/ensurepip-wheel - ) - valgrind? ( dev-debug/valgrind ) -" -# autoconf-archive needed to eautoreconf -BDEPEND=" - dev-build/autoconf-archive - app-alternatives/awk - virtual/pkgconfig - jit? ( - $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT} - llvm-core/llvm:${LLVM_SLOT} - ') - ) - tail-call-interp? ( - || ( - >=sys-devel/gcc-16:* - >=llvm-core/clang-19:* - ) - ) -" -if [[ ${PV} != *_alpha* ]]; then - RDEPEND+=" - dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] - " -fi -PDEPEND=" - ensurepip? ( dev-python/ensurepip-pip ) -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -# large file tests involve a 2.5G file being copied (duplicated) -CHECKREQS_DISK_BUILD=5500M - -QA_PKGCONFIG_VERSION=${PYVER%t} -# false positives -- functions specific to *BSD -QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) - -declare -rgA PYTHON_KERNEL_CHECKS=( - ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589 - ["DNOTIFY"]="test_fcntl" # bug 938662 -) - -pkg_pretend() { - if use pgo || use test; then - check-reqs_pkg_pretend - fi - - if use jit; then - ewarn "USE=jit is considered experimental upstream. Using it" - ewarn "could lead to unexpected breakage, including race conditions" - ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" - ewarn "you can reproduce the problem with dev-lang/python[-jit]. Instead," - ewarn "please consider reporting JIT problems upstream." - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]]; then - use jit && llvm-r1_pkg_setup - if use test || use pgo; then - check-reqs_pkg_setup - - local CONFIG_CHECK - for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do - CONFIG_CHECK+="~${f} " - done - linux-info_pkg_setup - fi - if use tail-call-interp; then - tc-check-min_ver gcc 16 - tc-check-min_ver clang 19 - fi - fi -} - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - # Ensure that internal copies of expat and libffi are not used. - # TODO: Makefile has annoying deps on expat headers - #rm -r Modules/expat || die - - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - default - - # force the correct number of jobs - # https://bugs.gentoo.org/737660 - sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die - - # breaks tests when using --with-wheel-pkg-dir - rm -r Lib/test/wheeldata || die - - eautoreconf -} - -build_cbuild_python() { - # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 - local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - # - # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) - local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" - local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" - local -x CFLAGS= LDFLAGS= - local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" - - # We need to build our own Python on CBUILD first, and feed it in. - # bug #847910 - local myeconfargs_cbuild=( - "${myeconfargs[@]}" - - --prefix="${BROOT}"/usr - --libdir="${cbuild_libdir:2}" - - # Avoid needing to load the right libpython.so. - --disable-shared - - # As minimal as possible for the mini CBUILD Python - # we build just for cross to satisfy --with-build-python. - --without-lto - --without-readline - --disable-optimizations - ) - - mkdir "${WORKDIR}"/${P}-${CBUILD} || die - pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die - - # Avoid as many dependencies as possible for the cross build. - mkdir Modules || die - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - _dbm _gdbm - _sqlite3 - _hashlib _ssl - _curses _curses_panel - readline - _tkinter - pyexpat - zlib - # We disabled these for CBUILD because Python's setup.py can't handle locating - # libdir correctly for cross. This should be rechecked for the pure Makefile approach, - # and uncommented if needed. - #_ctypes - EOF - - ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" - - # Unfortunately, we do have to build this immediately, and - # not in src_compile, because CHOST configure for Python - # will check the existence of the --with-build-python value - # immediately. - emake - popd &> /dev/null || die -} - -src_configure() { - # disable automagic bluetooth headers detection - if ! use bluetooth; then - local -x ac_cv_header_bluetooth_bluetooth_h=no - fi - - filter-flags -malign-double - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - # PKG_CONFIG needed for cross. - tc-export CXX PKG_CONFIG - - local dbmliborder= - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - # Set baseline test skip flags. - COMMON_TEST_SKIPS=( - # running gdb inside an ebuild as non-root, within sandbox, - # and possibly within a container is unreliable - -x test_gdb - # this is actually test_gdb.test_pretty_print - -x test_pretty_print - # https://bugs.gentoo.org/933840 - -x test_perf_profiler - ) - - # Arch-specific skips. See #931888 for a collection of these. - case ${CHOST} in - alpha*) - COMMON_TEST_SKIPS+=( - -x test_builtin - -x test_capi - -x test_cmath - -x test_float - # timeout - -x test_free_threading - -x test_math - -x test_numeric_tower - -x test_random - -x test_statistics - # bug 653850 - -x test_resource - -x test_strtod - ) - ;; - mips*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - -x test_statistics - ) - ;; - riscv*) - COMMON_TEST_SKIPS+=( - -x test_urllib2 - ) - ;; - sparc*) - COMMON_TEST_SKIPS+=( - # bug 788022 - -x test_multiprocessing_fork - -x test_multiprocessing_forkserver - -x test_multiprocessing_spawn - - -x test_ctypes - # bug 931908 - -x test_exceptions - ) - ;; - esac - - # Kernel-config specific skips - for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do - if ! linux_config_exists || ! linux_chkconfig_present "${option}" - then - COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" ) - fi - done - - # musl-specific skips - use elibc_musl && COMMON_TEST_SKIPS+=( - # various musl locale deficiencies - -x test__locale - -x test_c_locale_coercion - -x test_locale - -x test_re - - # known issues with find_library on musl - # https://bugs.python.org/issue21622 - -x test_ctypes - - # fpathconf, ttyname errno values - -x test_os - ) - - if use pgo; then - local profile_task_flags=( - -m test - "-j$(makeopts_jobs)" - --pgo-extended - --verbose3 - -u-network - - # We use a timeout because of how often we've had hang issues - # here. It also matches the default upstream PROFILE_TASK. - --timeout 1200 - - "${COMMON_TEST_SKIPS[@]}" - - -x test_dtrace - - # All of these seem to occasionally hang for PGO inconsistently - # They'll even hang here but be fine in src_test sometimes. - # bug #828535 (and related: bug #788022) - -x test_asyncio - -x test_httpservers - -x test_logging - -x test_multiprocessing_fork - -x test_socket - -x test_xmlrpc - - # Hangs (actually runs indefinitely executing itself w/ many cpython builds) - # bug #900429 - -x test_tools - - # Test terminates abruptly which corrupts written profile data - # bug #964023 - -x test_pyrepl - ) - - if has_version "app-arch/rpm" ; then - # Avoid sandbox failure (attempts to write to /var/lib/rpm) - profile_task_flags+=( - -x test_distutils - ) - fi - # PGO sometimes fails randomly - local -x PROFILE_TASK="${profile_task_flags[*]} || true" - fi - - local myeconfargs=( - # glibc-2.30 removes it; since we can't cleanly force-rebuild - # Python on glibc upgrade, remove it proactively to give - # a chance for users rebuilding python before glibc - ac_cv_header_stropts_h=no - - --enable-shared - --without-static-libpython - --enable-ipv6 - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --without-ensurepip - --without-lto - --with-system-expat - --with-system-libmpdec - --with-platlibdir=lib - --with-pkg-config=yes - --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip - --enable-gil - - $(use_with debug assertions) - $(use_enable jit experimental-jit) - $(use_enable pgo optimizations) - $(use_with readline readline "$(usex libedit editline readline)") - $(use_with tail-call-interp) - $(use_with valgrind) - ) - - if tc-is-lto; then - myeconfargs+=( - --with-lto - ) - fi - - # Force-disable modules we don't want built. - # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - $(usev build '_zstd') - $(usev !gdbm '_gdbm _dbm') - $(usev !sqlite '_sqlite3') - $(usev !ssl '_hashlib _ssl') - $(usev !ncurses '_curses _curses_panel') - $(usev !readline 'readline') - $(usev !tk '_tkinter') - EOF - - # disable implicit optimization/debugging flags - local -x OPT= - - if tc-is-cross-compiler ; then - build_cbuild_python - myeconfargs+=( - # Point the imminent CHOST build to the Python we just - # built for CBUILD. - --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python - ) - fi - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - local -x CFLAGS_NODIST=${CFLAGS} - local -x LDFLAGS_NODIST=${LDFLAGS} - local -x CFLAGS= LDFLAGS= - - # Fix implicit declarations on cross and prefix builds. Bug #674070. - if use ncurses; then - append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw - fi - - econf "${myeconfargs[@]}" - - if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi - - # install epython.py as part of stdlib - echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die -} - -src_compile() { - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - export PYTHONSTRICTEXTENSIONBUILD=1 - - # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't - # end up writing bytecode & violating sandbox. - # bug #831897 - local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} - - # Gentoo hack to disable accessing system site-packages - export GENTOO_CPYTHON_BUILD=1 - - if use pgo ; then - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - fi - - # also need to clear the flags explicitly here or they end up - # in _sysconfigdata* - emake CPPFLAGS= CFLAGS= LDFLAGS= - - # Restore saved value from above. - local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # this just happens to skip test_support.test_freeze that is broken - # without bundled expat - # TODO: get a proper skip for it upstream - local -x LOGNAME=buildbot - - local test_opts=( - --verbose3 - -u-network - -j "$(makeopts_jobs)" - "${COMMON_TEST_SKIPS[@]}" - ) - - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - - nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local ret=${?} - - [[ ${ret} -eq 0 ]] || die "emake test failed" -} - -src_install() { - local libdir=${ED}/usr/lib/python${PYVER} - local build_dir=$(<pybuilddir.txt) - - # -j1 hack for now for bug #843458 - emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall - - # Install build-details.json manually because it was randomly removed - # from altinstall in https://github.com/python/cpython/pull/142269. - cp "${build_dir}"/build-details.json "${libdir}"/ || die - - # Fix collisions between different slots of Python. - rm "${ED}/usr/$(get_libdir)/libpython3.so" || die - - # Cheap hack to get version with ABIFLAGS - local abiver=$(cd "${ED}/usr/include"; echo python*) - if [[ ${abiver} != python${PYVER} ]]; then - # Replace python3.X with a symlink to python3.Xm - rm "${ED}/usr/bin/python${PYVER}" || die - dosym "${abiver}" "/usr/bin/python${PYVER}" - # Create python3.X-config symlink - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" - # Create python-3.5m.pc symlink - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" - fi - - # python seems to get rebuilt in src_install (bug 569908) - # Work around it for now. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E "${ED}/usr/bin/${abiver}" - else - pax-mark m "${ED}/usr/bin/${abiver}" - fi - - rm -r "${libdir}"/ensurepip/_bundled || die - if ! use sqlite; then - rm -r "${libdir}/"sqlite3 || die - fi - if ! use tk; then - rm -r "${ED}/usr/bin/idle${PYVER}" || die - rm -r "${libdir}/"{idlelib,tkinter} || die - fi - - ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die - - dodoc Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - docinto examples - find Tools -name __pycache__ -exec rm -fr {} + || die - dodoc -r Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$( - printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | - emake --no-print-directory -s -f - 2>/dev/null - ) - newins Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" -} diff --git a/dev-lang/python/python-3.15.0_beta4.ebuild b/dev-lang/python/python-3.15.0_beta4.ebuild deleted file mode 100644 index e6dd8a12f732..000000000000 --- a/dev-lang/python/python-3.15.0_beta4.ebuild +++ /dev/null @@ -1,642 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -LLVM_COMPAT=( 21 ) -LLVM_OPTIONAL=1 -VERIFY_SIG_METHOD=sigstore -WANT_LIBTOOL="none" - -inherit autotools check-reqs eapi9-ver flag-o-matic linux-info llvm-r2 -inherit multiprocessing pax-utils toolchain-funcs verify-sig - -MY_PV=${PV/_beta/b} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}_p1" - -DESCRIPTION="An interpreted, interactive, object-oriented programming language" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}" -IUSE=" - bluetooth build debug +ensurepip examples gdbm jit libedit +ncurses pgo - +readline +sqlite +ssl tail-call-interp test tk valgrind -" -REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" -RESTRICT="!test? ( test )" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND=" - app-arch/bzip2:= - app-arch/xz-utils:= - app-misc/mime-types - >=dev-libs/expat-2.1:= - dev-libs/libffi:= - dev-libs/mpdecimal:= - dev-python/gentoo-common - sys-apps/util-linux - >=virtual/zlib-1.1.3:= - virtual/libintl - !build? ( app-arch/zstd:= ) - gdbm? ( sys-libs/gdbm:=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:= ) - readline? ( - !libedit? ( >=sys-libs/readline-4.1:= ) - libedit? ( dev-libs/libedit:= ) - ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( >=dev-libs/openssl-1.1.1:= ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) -" -# bluetooth requires headers from bluez -DEPEND=" - ${RDEPEND} - bluetooth? ( net-wireless/bluez ) - test? ( - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - dev-python/ensurepip-wheel - ) - valgrind? ( dev-debug/valgrind ) -" -# autoconf-archive needed to eautoreconf -BDEPEND=" - dev-build/autoconf-archive - app-alternatives/awk - virtual/pkgconfig - jit? ( - $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT} - llvm-core/llvm:${LLVM_SLOT} - ') - ) - tail-call-interp? ( - || ( - >=sys-devel/gcc-16:* - >=llvm-core/clang-19:* - ) - ) -" -if [[ ${PV} != *_alpha* ]]; then - RDEPEND+=" - dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] - " -fi -PDEPEND=" - ensurepip? ( dev-python/ensurepip-pip ) -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -# large file tests involve a 2.5G file being copied (duplicated) -CHECKREQS_DISK_BUILD=5500M - -QA_PKGCONFIG_VERSION=${PYVER%t} -# false positives -- functions specific to *BSD -QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) - -declare -rgA PYTHON_KERNEL_CHECKS=( - ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589 - ["DNOTIFY"]="test_fcntl" # bug 938662 -) - -pkg_pretend() { - if use pgo || use test; then - check-reqs_pkg_pretend - fi - - if use jit; then - ewarn "USE=jit is considered experimental upstream. Using it" - ewarn "could lead to unexpected breakage, including race conditions" - ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" - ewarn "you can reproduce the problem with dev-lang/python[-jit]. Instead," - ewarn "please consider reporting JIT problems upstream." - fi - - if [[ ${MERGE_TYPE} != buildonly ]] && ver_replacing -lt 3.15.0_beta4; then - ewarn - ewarn "Python 3.15.0b4 has broken its extension ABI. The extensions built" - ewarn "with older versions may crash at runtime or worse after upgrading." - ewarn "A rebuild is recommended after the merge is complete, e.g. using:" - ewarn - ewarn " emerge -1v \$(find /usr/lib/python3.15/site-packages -name '*.cpython-315-*.so')" - ewarn - ewarn "Note that if you enabled both python3_15 and python3_15t, then" - ewarn "the 3.15 rebuild should cover all 3.15t packages already." - ewarn "If you do not wish to perform the rebuild at the time, it is" - ewarn "recommended to abort the upgrade." - ewarn - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]]; then - use jit && llvm-r2_pkg_setup - if use test || use pgo; then - check-reqs_pkg_setup - - local CONFIG_CHECK - for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do - CONFIG_CHECK+="~${f} " - done - linux-info_pkg_setup - fi - if use tail-call-interp; then - tc-check-min_ver gcc 16 - tc-check-min_ver clang 19 - fi - fi -} - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - # Ensure that internal copies of expat and libffi are not used. - # TODO: Makefile has annoying deps on expat headers - #rm -r Modules/expat || die - - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - default - - # force the correct number of jobs - # https://bugs.gentoo.org/737660 - sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die - - # breaks tests when using --with-wheel-pkg-dir - rm -r Lib/test/wheeldata || die - - eautoreconf -} - -build_cbuild_python() { - # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 - local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - # - # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) - local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" - local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" - local -x CFLAGS= LDFLAGS= - local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" - - # We need to build our own Python on CBUILD first, and feed it in. - # bug #847910 - local myeconfargs_cbuild=( - "${myeconfargs[@]}" - - --prefix="${BROOT}"/usr - --libdir="${cbuild_libdir:2}" - - # Avoid needing to load the right libpython.so. - --disable-shared - - # As minimal as possible for the mini CBUILD Python - # we build just for cross to satisfy --with-build-python. - --without-lto - --without-readline - --disable-optimizations - ) - - mkdir "${WORKDIR}"/${P}-${CBUILD} || die - pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die - - # Avoid as many dependencies as possible for the cross build. - mkdir Modules || die - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - _dbm _gdbm - _sqlite3 - _hashlib _ssl - _curses _curses_panel - readline - _tkinter - pyexpat - zlib - # We disabled these for CBUILD because Python's setup.py can't handle locating - # libdir correctly for cross. This should be rechecked for the pure Makefile approach, - # and uncommented if needed. - #_ctypes - EOF - - ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" - - # Unfortunately, we do have to build this immediately, and - # not in src_compile, because CHOST configure for Python - # will check the existence of the --with-build-python value - # immediately. - emake - popd &> /dev/null || die -} - -src_configure() { - # disable automagic bluetooth headers detection - if ! use bluetooth; then - local -x ac_cv_header_bluetooth_bluetooth_h=no - fi - - filter-flags -malign-double - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - # PKG_CONFIG needed for cross. - tc-export CXX PKG_CONFIG - - local dbmliborder= - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - # Set baseline test skip flags. - COMMON_TEST_SKIPS=( - # running gdb inside an ebuild as non-root, within sandbox, - # and possibly within a container is unreliable - -x test_gdb - # this is actually test_gdb.test_pretty_print - -x test_pretty_print - # https://bugs.gentoo.org/933840 - -x test_perf_profiler - ) - - # Arch-specific skips. See #931888 for a collection of these. - case ${CHOST} in - alpha*) - COMMON_TEST_SKIPS+=( - -x test_builtin - -x test_capi - -x test_cmath - -x test_float - # timeout - -x test_free_threading - -x test_math - -x test_numeric_tower - -x test_random - -x test_statistics - # bug 653850 - -x test_resource - -x test_strtod - ) - ;; - mips*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - -x test_statistics - ) - ;; - riscv*) - COMMON_TEST_SKIPS+=( - -x test_urllib2 - ) - ;; - sparc*) - COMMON_TEST_SKIPS+=( - # bug 788022 - -x test_multiprocessing_fork - -x test_multiprocessing_forkserver - -x test_multiprocessing_spawn - - -x test_ctypes - # bug 931908 - -x test_exceptions - ) - ;; - esac - - # Kernel-config specific skips - for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do - if ! linux_config_exists || ! linux_chkconfig_present "${option}" - then - COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" ) - fi - done - - # musl-specific skips - use elibc_musl && COMMON_TEST_SKIPS+=( - # various musl locale deficiencies - -x test__locale - -x test_c_locale_coercion - -x test_locale - -x test_re - - # known issues with find_library on musl - # https://bugs.python.org/issue21622 - -x test_ctypes - - # fpathconf, ttyname errno values - -x test_os - ) - - if use pgo; then - local profile_task_flags=( - -m test - "-j$(makeopts_jobs)" - --pgo-extended - --verbose3 - -u-network - - # We use a timeout because of how often we've had hang issues - # here. It also matches the default upstream PROFILE_TASK. - --timeout 1200 - - "${COMMON_TEST_SKIPS[@]}" - - -x test_dtrace - - # All of these seem to occasionally hang for PGO inconsistently - # They'll even hang here but be fine in src_test sometimes. - # bug #828535 (and related: bug #788022) - -x test_asyncio - -x test_httpservers - -x test_logging - -x test_multiprocessing_fork - -x test_socket - -x test_xmlrpc - - # Hangs (actually runs indefinitely executing itself w/ many cpython builds) - # bug #900429 - -x test_tools - - # Test terminates abruptly which corrupts written profile data - # bug #964023 - -x test_pyrepl - ) - - if has_version "app-arch/rpm" ; then - # Avoid sandbox failure (attempts to write to /var/lib/rpm) - profile_task_flags+=( - -x test_distutils - ) - fi - # PGO sometimes fails randomly - local -x PROFILE_TASK="${profile_task_flags[*]} || true" - fi - - local myeconfargs=( - # glibc-2.30 removes it; since we can't cleanly force-rebuild - # Python on glibc upgrade, remove it proactively to give - # a chance for users rebuilding python before glibc - ac_cv_header_stropts_h=no - - --enable-shared - --without-static-libpython - --enable-ipv6 - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --without-ensurepip - --without-lto - --with-system-expat - --with-system-libmpdec - --with-platlibdir=lib - --with-pkg-config=yes - --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip - --enable-gil - - $(use_with debug assertions) - $(use_enable jit experimental-jit) - $(use_enable pgo optimizations) - $(use_with readline readline "$(usex libedit editline readline)") - $(use_with tail-call-interp) - $(use_with valgrind) - ) - - if tc-is-lto; then - myeconfargs+=( - --with-lto - ) - fi - - # Force-disable modules we don't want built. - # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - $(usev build '_zstd') - $(usev !gdbm '_gdbm _dbm') - $(usev !sqlite '_sqlite3') - $(usev !ssl '_hashlib _ssl') - $(usev !ncurses '_curses _curses_panel') - $(usev !readline 'readline') - $(usev !tk '_tkinter') - EOF - - # disable implicit optimization/debugging flags - local -x OPT= - - if tc-is-cross-compiler ; then - build_cbuild_python - myeconfargs+=( - # Point the imminent CHOST build to the Python we just - # built for CBUILD. - --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python - ) - fi - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - local -x CFLAGS_NODIST=${CFLAGS} - local -x LDFLAGS_NODIST=${LDFLAGS} - local -x CFLAGS= LDFLAGS= - - # Fix implicit declarations on cross and prefix builds. Bug #674070. - if use ncurses; then - append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw - fi - - econf "${myeconfargs[@]}" - - if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi - - # install epython.py as part of stdlib - echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die -} - -src_compile() { - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - export PYTHONSTRICTEXTENSIONBUILD=1 - - # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't - # end up writing bytecode & violating sandbox. - # bug #831897 - local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} - - # Gentoo hack to disable accessing system site-packages - export GENTOO_CPYTHON_BUILD=1 - - if use pgo ; then - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - fi - - # also need to clear the flags explicitly here or they end up - # in _sysconfigdata* - emake CPPFLAGS= CFLAGS= LDFLAGS= - - # Restore saved value from above. - local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # this just happens to skip test_support.test_freeze that is broken - # without bundled expat - # TODO: get a proper skip for it upstream - local -x LOGNAME=buildbot - - local test_opts=( - --verbose3 - -u-network - -j "$(makeopts_jobs)" - "${COMMON_TEST_SKIPS[@]}" - ) - - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - - nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local ret=${?} - - [[ ${ret} -eq 0 ]] || die "emake test failed" -} - -src_install() { - local libdir=${ED}/usr/lib/python${PYVER} - local build_dir=$(<pybuilddir.txt) - - # -j1 hack for now for bug #843458 - emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall - - # Install build-details.json manually because it was randomly removed - # from altinstall in https://github.com/python/cpython/pull/142269. - cp "${build_dir}"/build-details.json "${libdir}"/ || die - - # Fix collisions between different slots of Python. - rm "${ED}/usr/$(get_libdir)/libpython3.so" || die - - # Cheap hack to get version with ABIFLAGS - local abiver=$(cd "${ED}/usr/include"; echo python*) - if [[ ${abiver} != python${PYVER} ]]; then - # Replace python3.X with a symlink to python3.Xm - rm "${ED}/usr/bin/python${PYVER}" || die - dosym "${abiver}" "/usr/bin/python${PYVER}" - # Create python3.X-config symlink - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" - # Create python-3.5m.pc symlink - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" - fi - - # python seems to get rebuilt in src_install (bug 569908) - # Work around it for now. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E "${ED}/usr/bin/${abiver}" - else - pax-mark m "${ED}/usr/bin/${abiver}" - fi - - rm -r "${libdir}"/ensurepip/_bundled || die - if ! use sqlite; then - rm -r "${libdir}/"sqlite3 || die - fi - if ! use tk; then - rm -r "${ED}/usr/bin/idle${PYVER}" || die - rm -r "${libdir}/"{idlelib,tkinter} || die - fi - - ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die - - dodoc Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - docinto examples - find Tools -name __pycache__ -exec rm -fr {} + || die - dodoc -r Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$( - printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | - emake --no-print-directory -s -f - 2>/dev/null - ) - newins Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" -} - -pkg_postinst() { - if ver_replacing -lt 3.15.0_beta4; then - ewarn "Python 3.15.0b4 has broken its extension ABI. The extensions built" - ewarn "with older versions may crash at runtime or worse. To prevent this," - ewarn "please rebuild all extensions using the versoned ABI, e.g. using:" - ewarn - ewarn " emerge -1v \$(find /usr/lib/python3.15/site-packages -name '*.cpython-315-*.so')" - ewarn - ewarn "Note that if you enabled both python3_15 and python3_15t, then" - ewarn "the 3.15 rebuild should cover all 3.15t packages already." - fi -} diff --git a/dev-lang/python/python-3.15.0_rc1.ebuild b/dev-lang/python/python-3.15.0_rc1.ebuild deleted file mode 100644 index 0dd323970244..000000000000 --- a/dev-lang/python/python-3.15.0_rc1.ebuild +++ /dev/null @@ -1,642 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -LLVM_COMPAT=( 21 ) -LLVM_OPTIONAL=1 -VERIFY_SIG_METHOD=sigstore -WANT_LIBTOOL="none" - -inherit autotools check-reqs eapi9-ver flag-o-matic linux-info llvm-r2 -inherit multiprocessing pax-utils toolchain-funcs verify-sig - -MY_PV=${PV/_} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="An interpreted, interactive, object-oriented programming language" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}" -IUSE=" - bluetooth build debug +ensurepip examples gdbm jit libedit +ncurses pgo - +readline +sqlite +ssl tail-call-interp test tk valgrind -" -REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" -RESTRICT="!test? ( test )" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND=" - app-arch/bzip2:= - app-arch/xz-utils:= - app-misc/mime-types - >=dev-libs/expat-2.1:= - dev-libs/libffi:= - dev-libs/mpdecimal:= - dev-python/gentoo-common - sys-apps/util-linux - >=virtual/zlib-1.1.3:= - virtual/libintl - !build? ( app-arch/zstd:= ) - gdbm? ( sys-libs/gdbm:=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:= ) - readline? ( - !libedit? ( >=sys-libs/readline-4.1:= ) - libedit? ( dev-libs/libedit:= ) - ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( >=dev-libs/openssl-1.1.1:= ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) -" -# bluetooth requires headers from bluez -DEPEND=" - ${RDEPEND} - bluetooth? ( net-wireless/bluez ) - test? ( - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - dev-python/ensurepip-wheel - ) - valgrind? ( dev-debug/valgrind ) -" -# autoconf-archive needed to eautoreconf -BDEPEND=" - dev-build/autoconf-archive - app-alternatives/awk - virtual/pkgconfig - jit? ( - $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT} - llvm-core/llvm:${LLVM_SLOT} - ') - ) - tail-call-interp? ( - || ( - >=sys-devel/gcc-16:* - >=llvm-core/clang-19:* - ) - ) -" -if [[ ${PV} != *_alpha* ]]; then - RDEPEND+=" - dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] - " -fi -PDEPEND=" - ensurepip? ( dev-python/ensurepip-pip ) -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -# large file tests involve a 2.5G file being copied (duplicated) -CHECKREQS_DISK_BUILD=5500M - -QA_PKGCONFIG_VERSION=${PYVER%t} -# false positives -- functions specific to *BSD -QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) - -declare -rgA PYTHON_KERNEL_CHECKS=( - ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589 - ["DNOTIFY"]="test_fcntl" # bug 938662 -) - -pkg_pretend() { - if use pgo || use test; then - check-reqs_pkg_pretend - fi - - if use jit; then - ewarn "USE=jit is considered experimental upstream. Using it" - ewarn "could lead to unexpected breakage, including race conditions" - ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" - ewarn "you can reproduce the problem with dev-lang/python[-jit]. Instead," - ewarn "please consider reporting JIT problems upstream." - fi - - if [[ ${MERGE_TYPE} != buildonly ]] && ver_replacing -lt 3.15.0_beta4; then - ewarn - ewarn "Python 3.15.0b4 has broken its extension ABI. The extensions built" - ewarn "with older versions may crash at runtime or worse after upgrading." - ewarn "A rebuild is recommended after the merge is complete, e.g. using:" - ewarn - ewarn " emerge -1v \$(find /usr/lib/python3.15/site-packages -name '*.cpython-315-*.so')" - ewarn - ewarn "Note that if you enabled both python3_15 and python3_15t, then" - ewarn "the 3.15 rebuild should cover all 3.15t packages already." - ewarn "If you do not wish to perform the rebuild at the time, it is" - ewarn "recommended to abort the upgrade." - ewarn - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]]; then - use jit && llvm-r2_pkg_setup - if use test || use pgo; then - check-reqs_pkg_setup - - local CONFIG_CHECK - for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do - CONFIG_CHECK+="~${f} " - done - linux-info_pkg_setup - fi - if use tail-call-interp; then - tc-check-min_ver gcc 16 - tc-check-min_ver clang 19 - fi - fi -} - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - # Ensure that internal copies of expat and libffi are not used. - # TODO: Makefile has annoying deps on expat headers - #rm -r Modules/expat || die - - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - default - - # force the correct number of jobs - # https://bugs.gentoo.org/737660 - sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die - - # breaks tests when using --with-wheel-pkg-dir - rm -r Lib/test/wheeldata || die - - eautoreconf -} - -build_cbuild_python() { - # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 - local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - # - # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) - local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" - local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" - local -x CFLAGS= LDFLAGS= - local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" - - # We need to build our own Python on CBUILD first, and feed it in. - # bug #847910 - local myeconfargs_cbuild=( - "${myeconfargs[@]}" - - --prefix="${BROOT}"/usr - --libdir="${cbuild_libdir:2}" - - # Avoid needing to load the right libpython.so. - --disable-shared - - # As minimal as possible for the mini CBUILD Python - # we build just for cross to satisfy --with-build-python. - --without-lto - --without-readline - --disable-optimizations - ) - - mkdir "${WORKDIR}"/${P}-${CBUILD} || die - pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die - - # Avoid as many dependencies as possible for the cross build. - mkdir Modules || die - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - _dbm _gdbm - _sqlite3 - _hashlib _ssl - _curses _curses_panel - readline - _tkinter - pyexpat - zlib - # We disabled these for CBUILD because Python's setup.py can't handle locating - # libdir correctly for cross. This should be rechecked for the pure Makefile approach, - # and uncommented if needed. - #_ctypes - EOF - - ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" - - # Unfortunately, we do have to build this immediately, and - # not in src_compile, because CHOST configure for Python - # will check the existence of the --with-build-python value - # immediately. - emake - popd &> /dev/null || die -} - -src_configure() { - # disable automagic bluetooth headers detection - if ! use bluetooth; then - local -x ac_cv_header_bluetooth_bluetooth_h=no - fi - - filter-flags -malign-double - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - # PKG_CONFIG needed for cross. - tc-export CXX PKG_CONFIG - - local dbmliborder= - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - # Set baseline test skip flags. - COMMON_TEST_SKIPS=( - # running gdb inside an ebuild as non-root, within sandbox, - # and possibly within a container is unreliable - -x test_gdb - # this is actually test_gdb.test_pretty_print - -x test_pretty_print - # https://bugs.gentoo.org/933840 - -x test_perf_profiler - ) - - # Arch-specific skips. See #931888 for a collection of these. - case ${CHOST} in - alpha*) - COMMON_TEST_SKIPS+=( - -x test_builtin - -x test_capi - -x test_cmath - -x test_float - # timeout - -x test_free_threading - -x test_math - -x test_numeric_tower - -x test_random - -x test_statistics - # bug 653850 - -x test_resource - -x test_strtod - ) - ;; - mips*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - -x test_statistics - ) - ;; - riscv*) - COMMON_TEST_SKIPS+=( - -x test_urllib2 - ) - ;; - sparc*) - COMMON_TEST_SKIPS+=( - # bug 788022 - -x test_multiprocessing_fork - -x test_multiprocessing_forkserver - -x test_multiprocessing_spawn - - -x test_ctypes - # bug 931908 - -x test_exceptions - ) - ;; - esac - - # Kernel-config specific skips - for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do - if ! linux_config_exists || ! linux_chkconfig_present "${option}" - then - COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" ) - fi - done - - # musl-specific skips - use elibc_musl && COMMON_TEST_SKIPS+=( - # various musl locale deficiencies - -x test__locale - -x test_c_locale_coercion - -x test_locale - -x test_re - - # known issues with find_library on musl - # https://bugs.python.org/issue21622 - -x test_ctypes - - # fpathconf, ttyname errno values - -x test_os - ) - - if use pgo; then - local profile_task_flags=( - -m test - "-j$(makeopts_jobs)" - --pgo-extended - --verbose3 - -u-network - - # We use a timeout because of how often we've had hang issues - # here. It also matches the default upstream PROFILE_TASK. - --timeout 1200 - - "${COMMON_TEST_SKIPS[@]}" - - -x test_dtrace - - # All of these seem to occasionally hang for PGO inconsistently - # They'll even hang here but be fine in src_test sometimes. - # bug #828535 (and related: bug #788022) - -x test_asyncio - -x test_httpservers - -x test_logging - -x test_multiprocessing_fork - -x test_socket - -x test_xmlrpc - - # Hangs (actually runs indefinitely executing itself w/ many cpython builds) - # bug #900429 - -x test_tools - - # Test terminates abruptly which corrupts written profile data - # bug #964023 - -x test_pyrepl - ) - - if has_version "app-arch/rpm" ; then - # Avoid sandbox failure (attempts to write to /var/lib/rpm) - profile_task_flags+=( - -x test_distutils - ) - fi - # PGO sometimes fails randomly - local -x PROFILE_TASK="${profile_task_flags[*]} || true" - fi - - local myeconfargs=( - # glibc-2.30 removes it; since we can't cleanly force-rebuild - # Python on glibc upgrade, remove it proactively to give - # a chance for users rebuilding python before glibc - ac_cv_header_stropts_h=no - - --enable-shared - --without-static-libpython - --enable-ipv6 - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --without-ensurepip - --without-lto - --with-system-expat - --with-system-libmpdec - --with-platlibdir=lib - --with-pkg-config=yes - --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip - --enable-gil - - $(use_with debug assertions) - $(use_enable jit experimental-jit) - $(use_enable pgo optimizations) - $(use_with readline readline "$(usex libedit editline readline)") - $(use_with tail-call-interp) - $(use_with valgrind) - ) - - if tc-is-lto; then - myeconfargs+=( - --with-lto - ) - fi - - # Force-disable modules we don't want built. - # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - $(usev build '_zstd') - $(usev !gdbm '_gdbm _dbm') - $(usev !sqlite '_sqlite3') - $(usev !ssl '_hashlib _ssl') - $(usev !ncurses '_curses _curses_panel') - $(usev !readline 'readline') - $(usev !tk '_tkinter') - EOF - - # disable implicit optimization/debugging flags - local -x OPT= - - if tc-is-cross-compiler ; then - build_cbuild_python - myeconfargs+=( - # Point the imminent CHOST build to the Python we just - # built for CBUILD. - --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python - ) - fi - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - local -x CFLAGS_NODIST=${CFLAGS} - local -x LDFLAGS_NODIST=${LDFLAGS} - local -x CFLAGS= LDFLAGS= - - # Fix implicit declarations on cross and prefix builds. Bug #674070. - if use ncurses; then - append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw - fi - - econf "${myeconfargs[@]}" - - if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi - - # install epython.py as part of stdlib - echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die -} - -src_compile() { - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - export PYTHONSTRICTEXTENSIONBUILD=1 - - # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't - # end up writing bytecode & violating sandbox. - # bug #831897 - local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} - - # Gentoo hack to disable accessing system site-packages - export GENTOO_CPYTHON_BUILD=1 - - if use pgo ; then - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - fi - - # also need to clear the flags explicitly here or they end up - # in _sysconfigdata* - emake CPPFLAGS= CFLAGS= LDFLAGS= - - # Restore saved value from above. - local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # this just happens to skip test_support.test_freeze that is broken - # without bundled expat - # TODO: get a proper skip for it upstream - local -x LOGNAME=buildbot - - local test_opts=( - --verbose3 - -u-network - -j "$(makeopts_jobs)" - "${COMMON_TEST_SKIPS[@]}" - ) - - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - - nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local ret=${?} - - [[ ${ret} -eq 0 ]] || die "emake test failed" -} - -src_install() { - local libdir=${ED}/usr/lib/python${PYVER} - local build_dir=$(<pybuilddir.txt) - - # -j1 hack for now for bug #843458 - emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall - - # Install build-details.json manually because it was randomly removed - # from altinstall in https://github.com/python/cpython/pull/142269. - cp "${build_dir}"/build-details.json "${libdir}"/ || die - - # Fix collisions between different slots of Python. - rm "${ED}/usr/$(get_libdir)/libpython3.so" || die - - # Cheap hack to get version with ABIFLAGS - local abiver=$(cd "${ED}/usr/include"; echo python*) - if [[ ${abiver} != python${PYVER} ]]; then - # Replace python3.X with a symlink to python3.Xm - rm "${ED}/usr/bin/python${PYVER}" || die - dosym "${abiver}" "/usr/bin/python${PYVER}" - # Create python3.X-config symlink - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" - # Create python-3.5m.pc symlink - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" - fi - - # python seems to get rebuilt in src_install (bug 569908) - # Work around it for now. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E "${ED}/usr/bin/${abiver}" - else - pax-mark m "${ED}/usr/bin/${abiver}" - fi - - rm -r "${libdir}"/ensurepip/_bundled || die - if ! use sqlite; then - rm -r "${libdir}/"sqlite3 || die - fi - if ! use tk; then - rm -r "${ED}/usr/bin/idle${PYVER}" || die - rm -r "${libdir}/"{idlelib,tkinter} || die - fi - - ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die - - dodoc Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - docinto examples - find Tools -name __pycache__ -exec rm -fr {} + || die - dodoc -r Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$( - printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | - emake --no-print-directory -s -f - 2>/dev/null - ) - newins Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" -} - -pkg_postinst() { - if ver_replacing -lt 3.15.0_beta4; then - ewarn "Python 3.15.0b4 has broken its extension ABI. The extensions built" - ewarn "with older versions may crash at runtime or worse. To prevent this," - ewarn "please rebuild all extensions using the versoned ABI, e.g. using:" - ewarn - ewarn " emerge -1v \$(find /usr/lib/python3.15/site-packages -name '*.cpython-315-*.so')" - ewarn - ewarn "Note that if you enabled both python3_15 and python3_15t, then" - ewarn "the 3.15 rebuild should cover all 3.15t packages already." - fi -} diff --git a/dev-lang/python/python-3.15.0_rc1_p1-r1.ebuild b/dev-lang/python/python-3.15.0_rc1_p1-r1.ebuild deleted file mode 100644 index 32f16d24f06f..000000000000 --- a/dev-lang/python/python-3.15.0_rc1_p1-r1.ebuild +++ /dev/null @@ -1,667 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -LLVM_COMPAT=( 21 ) -LLVM_OPTIONAL=1 -VERIFY_SIG_METHOD=sigstore -WANT_LIBTOOL="none" - -inherit autotools check-reqs eapi9-ver flag-o-matic linux-info llvm-r2 -inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs -inherit verify-sig - -MY_PV=${PV/_} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="An interpreted, interactive, object-oriented programming language" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}" -IUSE=" - bluetooth build debug +ensurepip examples gdbm jit libedit +ncurses pgo - +readline +sqlite +ssl tail-call-interp test tk valgrind -" -REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" -RESTRICT="!test? ( test )" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND=" - app-arch/bzip2:= - app-arch/xz-utils:= - app-misc/mime-types - >=dev-libs/expat-2.1:= - dev-libs/libffi:= - dev-libs/mpdecimal:= - dev-python/gentoo-common - sys-apps/util-linux - >=virtual/zlib-1.1.3:= - virtual/libintl - !build? ( app-arch/zstd:= ) - gdbm? ( sys-libs/gdbm:=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:= ) - readline? ( - !libedit? ( >=sys-libs/readline-4.1:= ) - libedit? ( dev-libs/libedit:= ) - ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( >=dev-libs/openssl-1.1.1:= ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) -" -# bluetooth requires headers from bluez -DEPEND=" - ${RDEPEND} - bluetooth? ( net-wireless/bluez ) - test? ( - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - dev-python/ensurepip-wheel - ) - valgrind? ( dev-debug/valgrind ) -" -# autoconf-archive needed to eautoreconf -BDEPEND=" - dev-build/autoconf-archive - app-alternatives/awk - virtual/pkgconfig - jit? ( - $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT} - llvm-core/llvm:${LLVM_SLOT} - ') - ) - tail-call-interp? ( - || ( - >=sys-devel/gcc-16:* - >=llvm-core/clang-19:* - ) - ) -" -if [[ ${PV} != *_alpha* ]]; then - RDEPEND+=" - dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] - " -fi -PDEPEND=" - ensurepip? ( dev-python/ensurepip-pip ) -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -# large file tests involve a 2.5G file being copied (duplicated) -CHECKREQS_DISK_BUILD=5500M - -QA_PKGCONFIG_VERSION=${PYVER%t} -# false positives -- functions specific to *BSD -QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) - -declare -rgA PYTHON_KERNEL_CHECKS=( - ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589 - ["DNOTIFY"]="test_fcntl" # bug 938662 -) - -pkg_pretend() { - if use pgo || use test; then - check-reqs_pkg_pretend - fi - - if use jit; then - ewarn "USE=jit is considered experimental upstream. Using it" - ewarn "could lead to unexpected breakage, including race conditions" - ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" - ewarn "you can reproduce the problem with dev-lang/python[-jit]. Instead," - ewarn "please consider reporting JIT problems upstream." - fi - - if [[ ${MERGE_TYPE} != buildonly ]] && ver_replacing -lt 3.15.0_beta4; then - ewarn - ewarn "Python 3.15.0b4 has broken its extension ABI. The extensions built" - ewarn "with older versions may crash at runtime or worse after upgrading." - ewarn "A rebuild is recommended after the merge is complete, e.g. using:" - ewarn - ewarn " emerge -1v \$(find /usr/lib/python3.15/site-packages -name '*.cpython-315-*.so')" - ewarn - ewarn "Note that if you enabled both python3_15 and python3_15t, then" - ewarn "the 3.15 rebuild should cover all 3.15t packages already." - ewarn "If you do not wish to perform the rebuild at the time, it is" - ewarn "recommended to abort the upgrade." - ewarn - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]]; then - use jit && llvm-r2_pkg_setup - if use test || use pgo; then - check-reqs_pkg_setup - - local CONFIG_CHECK - for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do - CONFIG_CHECK+="~${f} " - done - linux-info_pkg_setup - fi - if use tail-call-interp; then - tc-check-min_ver gcc 16 - tc-check-min_ver clang 19 - fi - fi -} - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - # Ensure that internal copies of expat and libffi are not used. - # TODO: Makefile has annoying deps on expat headers - #rm -r Modules/expat || die - - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - default - - # force the correct number of jobs - # https://bugs.gentoo.org/737660 - sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die - - # breaks tests when using --with-wheel-pkg-dir - rm -r Lib/test/wheeldata || die - - eautoreconf -} - -build_cbuild_python() { - # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 - local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - # - # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) - local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" - local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" - local -x CFLAGS= LDFLAGS= - local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" - - # We need to build our own Python on CBUILD first, and feed it in. - # bug #847910 - local myeconfargs_cbuild=( - "${myeconfargs[@]}" - - --prefix="${BROOT}"/usr - --libdir="${cbuild_libdir:2}" - - # Avoid needing to load the right libpython.so. - --disable-shared - - # As minimal as possible for the mini CBUILD Python - # we build just for cross to satisfy --with-build-python. - --without-lto - --without-readline - --disable-optimizations - ) - - mkdir "${WORKDIR}"/${P}-${CBUILD} || die - pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die - - # Avoid as many dependencies as possible for the cross build. - mkdir Modules || die - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - _dbm _gdbm - _sqlite3 - _hashlib _ssl - _curses _curses_panel - readline - _tkinter - pyexpat - zlib - # We disabled these for CBUILD because Python's setup.py can't handle locating - # libdir correctly for cross. This should be rechecked for the pure Makefile approach, - # and uncommented if needed. - #_ctypes - EOF - - ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" - - # Unfortunately, we do have to build this immediately, and - # not in src_compile, because CHOST configure for Python - # will check the existence of the --with-build-python value - # immediately. - emake - popd &> /dev/null || die -} - -src_configure() { - # disable automagic bluetooth headers detection - if ! use bluetooth; then - local -x ac_cv_header_bluetooth_bluetooth_h=no - fi - - filter-flags -malign-double - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - # PKG_CONFIG needed for cross. - tc-export CXX PKG_CONFIG - - local dbmliborder= - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - # Set baseline test skip flags. - COMMON_TEST_SKIPS=( - # running gdb inside an ebuild as non-root, within sandbox, - # and possibly within a container is unreliable - -x test_gdb - # this is actually test_gdb.test_pretty_print - -x test_pretty_print - # https://bugs.gentoo.org/933840 - -x test_perf_profiler - ) - - # Arch-specific skips. See #931888 for a collection of these. - case ${CHOST} in - alpha*) - COMMON_TEST_SKIPS+=( - -x test_builtin - -x test_capi - -x test_cmath - -x test_float - # timeout - -x test_free_threading - -x test_math - -x test_numeric_tower - -x test_random - -x test_statistics - # bug 653850 - -x test_resource - -x test_strtod - ) - ;; - mips*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - -x test_statistics - ) - ;; - riscv*) - COMMON_TEST_SKIPS+=( - -x test_urllib2 - ) - ;; - sparc*) - COMMON_TEST_SKIPS+=( - # bug 788022 - -x test_multiprocessing_fork - -x test_multiprocessing_forkserver - -x test_multiprocessing_spawn - - -x test_ctypes - # bug 931908 - -x test_exceptions - ) - ;; - esac - - # Kernel-config specific skips - for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do - if ! linux_config_exists || ! linux_chkconfig_present "${option}" - then - COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" ) - fi - done - - # musl-specific skips - use elibc_musl && COMMON_TEST_SKIPS+=( - # various musl locale deficiencies - -x test__locale - -x test_c_locale_coercion - -x test_locale - -x test_re - - # known issues with find_library on musl - # https://bugs.python.org/issue21622 - -x test_ctypes - - # fpathconf, ttyname errno values - -x test_os - ) - - if use pgo; then - local profile_task_flags=( - -m test - "-j$(makeopts_jobs)" - --pgo-extended - --verbose3 - -u-network - - # We use a timeout because of how often we've had hang issues - # here. It also matches the default upstream PROFILE_TASK. - --timeout 1200 - - "${COMMON_TEST_SKIPS[@]}" - - -x test_dtrace - - # All of these seem to occasionally hang for PGO inconsistently - # They'll even hang here but be fine in src_test sometimes. - # bug #828535 (and related: bug #788022) - -x test_asyncio - -x test_httpservers - -x test_logging - -x test_multiprocessing_fork - -x test_socket - -x test_xmlrpc - - # Hangs (actually runs indefinitely executing itself w/ many cpython builds) - # bug #900429 - -x test_tools - - # Test terminates abruptly which corrupts written profile data - # bug #964023 - -x test_pyrepl - ) - - if has_version "app-arch/rpm" ; then - # Avoid sandbox failure (attempts to write to /var/lib/rpm) - profile_task_flags+=( - -x test_distutils - ) - fi - # PGO sometimes fails randomly - local -x PROFILE_TASK="${profile_task_flags[*]} || true" - fi - - local myeconfargs=( - # glibc-2.30 removes it; since we can't cleanly force-rebuild - # Python on glibc upgrade, remove it proactively to give - # a chance for users rebuilding python before glibc - ac_cv_header_stropts_h=no - - --enable-shared - --without-static-libpython - --enable-ipv6 - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --without-ensurepip - --without-lto - --with-system-expat - --with-system-libmpdec - --with-platlibdir=lib - --with-pkg-config=yes - --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip - --enable-gil - - $(use_with debug assertions) - $(use_enable jit experimental-jit) - $(use_enable pgo optimizations) - $(use_with readline readline "$(usex libedit editline readline)") - $(use_with tail-call-interp) - $(use_with valgrind) - ) - - if tc-is-lto; then - myeconfargs+=( - --with-lto - ) - fi - - # Force-disable modules we don't want built. - # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - $(usev build '_zstd') - $(usev !gdbm '_gdbm _dbm') - $(usev !sqlite '_sqlite3') - $(usev !ssl '_hashlib _ssl') - $(usev !ncurses '_curses _curses_panel') - $(usev !readline 'readline') - $(usev !tk '_tkinter') - EOF - - # disable implicit optimization/debugging flags - local -x OPT= - - if tc-is-cross-compiler ; then - build_cbuild_python - myeconfargs+=( - # Point the imminent CHOST build to the Python we just - # built for CBUILD. - --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python - ) - fi - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - local -x CFLAGS_NODIST=${CFLAGS} - local -x LDFLAGS_NODIST=${LDFLAGS} - local -x CFLAGS= LDFLAGS= - - # Fix implicit declarations on cross and prefix builds. Bug #674070. - if use ncurses; then - append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw - fi - - econf "${myeconfargs[@]}" - - if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi - - # install epython.py as part of stdlib - echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die -} - -src_compile() { - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - export PYTHONSTRICTEXTENSIONBUILD=1 - - # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't - # end up writing bytecode & violating sandbox. - # bug #831897 - local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} - - # Gentoo hack to disable accessing system site-packages - export GENTOO_CPYTHON_BUILD=1 - - if use pgo ; then - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - fi - - # also need to clear the flags explicitly here or they end up - # in _sysconfigdata* - emake CPPFLAGS= CFLAGS= LDFLAGS= - - # Restore saved value from above. - local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # this just happens to skip test_support.test_freeze that is broken - # without bundled expat - # TODO: get a proper skip for it upstream - local -x LOGNAME=buildbot - - local test_opts=( - --verbose3 - -u-network - -j "$(makeopts_jobs)" - "${COMMON_TEST_SKIPS[@]}" - ) - - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - - nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local ret=${?} - - [[ ${ret} -eq 0 ]] || die "emake test failed" -} - -src_install() { - local libdir=${ED}/usr/lib/python${PYVER} - local build_dir=$(<pybuilddir.txt) - - # -j1 hack for now for bug #843458 - emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall - - # Install build-details.json manually because it was randomly removed - # from altinstall in https://github.com/python/cpython/pull/142269. - cp "${build_dir}"/build-details.json "${libdir}"/ || die - - # Fix collisions between different slots of Python. - rm "${ED}/usr/$(get_libdir)/libpython3.so" || die - - # Cheap hack to get version with ABIFLAGS - local abiver=$(cd "${ED}/usr/include"; echo python*) - if [[ ${abiver} != python${PYVER} ]]; then - # Replace python3.X with a symlink to python3.Xm - rm "${ED}/usr/bin/python${PYVER}" || die - dosym "${abiver}" "/usr/bin/python${PYVER}" - # Create python3.X-config symlink - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" - # Create python-3.5m.pc symlink - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" - fi - - # python seems to get rebuilt in src_install (bug 569908) - # Work around it for now. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E "${ED}/usr/bin/${abiver}" - else - pax-mark m "${ED}/usr/bin/${abiver}" - fi - - rm -r "${libdir}"/ensurepip/_bundled || die - if ! use sqlite; then - rm -r "${libdir}/"sqlite3 || die - fi - if ! use tk; then - rm -r "${ED}/usr/bin/idle${PYVER}" || die - rm -r "${libdir}/"{idlelib,tkinter} || die - fi - - ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die - - dodoc Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - docinto examples - find Tools -name __pycache__ -exec rm -fr {} + || die - dodoc -r Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$( - printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | - emake --no-print-directory -s -f - 2>/dev/null - ) - newins Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" - - # python-exec wrapping support - local pymajor=${PYVER%.*} - local EPYTHON=python${PYVER} - local scriptdir=${D}$(python_get_scriptdir) - mkdir -p "${scriptdir}" || die - # python and pythonX - ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die - ln -s "python${pymajor}" "${scriptdir}/python" || die - # python-config and pythonX-config - # note: we need to create a wrapper rather than symlinking it due - # to some random dirname(argv[0]) magic performed by python-config - cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die - #!/bin/sh - exec "${abiver}-config" "\${@}" - EOF - chmod +x "${scriptdir}/python${pymajor}-config" || die - ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die - # pydoc - ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die - # idle - if use tk; then - ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die - fi -} - -pkg_postinst() { - if ver_replacing -lt 3.15.0_beta4; then - ewarn "Python 3.15.0b4 has broken its extension ABI. The extensions built" - ewarn "with older versions may crash at runtime or worse. To prevent this," - ewarn "please rebuild all extensions using the versoned ABI, e.g. using:" - ewarn - ewarn " emerge -1v \$(find /usr/lib/python3.15/site-packages -name '*.cpython-315-*.so')" - ewarn - ewarn "Note that if you enabled both python3_15 and python3_15t, then" - ewarn "the 3.15 rebuild should cover all 3.15t packages already." - fi -} diff --git a/dev-lang/python/python-3.15.0_rc2.ebuild b/dev-lang/python/python-3.15.0_rc2.ebuild deleted file mode 100644 index 32f16d24f06f..000000000000 --- a/dev-lang/python/python-3.15.0_rc2.ebuild +++ /dev/null @@ -1,667 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -LLVM_COMPAT=( 21 ) -LLVM_OPTIONAL=1 -VERIFY_SIG_METHOD=sigstore -WANT_LIBTOOL="none" - -inherit autotools check-reqs eapi9-ver flag-o-matic linux-info llvm-r2 -inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs -inherit verify-sig - -MY_PV=${PV/_} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="An interpreted, interactive, object-oriented programming language" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}" -IUSE=" - bluetooth build debug +ensurepip examples gdbm jit libedit +ncurses pgo - +readline +sqlite +ssl tail-call-interp test tk valgrind -" -REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" -RESTRICT="!test? ( test )" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND=" - app-arch/bzip2:= - app-arch/xz-utils:= - app-misc/mime-types - >=dev-libs/expat-2.1:= - dev-libs/libffi:= - dev-libs/mpdecimal:= - dev-python/gentoo-common - sys-apps/util-linux - >=virtual/zlib-1.1.3:= - virtual/libintl - !build? ( app-arch/zstd:= ) - gdbm? ( sys-libs/gdbm:=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:= ) - readline? ( - !libedit? ( >=sys-libs/readline-4.1:= ) - libedit? ( dev-libs/libedit:= ) - ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( >=dev-libs/openssl-1.1.1:= ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) -" -# bluetooth requires headers from bluez -DEPEND=" - ${RDEPEND} - bluetooth? ( net-wireless/bluez ) - test? ( - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - dev-python/ensurepip-wheel - ) - valgrind? ( dev-debug/valgrind ) -" -# autoconf-archive needed to eautoreconf -BDEPEND=" - dev-build/autoconf-archive - app-alternatives/awk - virtual/pkgconfig - jit? ( - $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT} - llvm-core/llvm:${LLVM_SLOT} - ') - ) - tail-call-interp? ( - || ( - >=sys-devel/gcc-16:* - >=llvm-core/clang-19:* - ) - ) -" -if [[ ${PV} != *_alpha* ]]; then - RDEPEND+=" - dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] - " -fi -PDEPEND=" - ensurepip? ( dev-python/ensurepip-pip ) -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -# large file tests involve a 2.5G file being copied (duplicated) -CHECKREQS_DISK_BUILD=5500M - -QA_PKGCONFIG_VERSION=${PYVER%t} -# false positives -- functions specific to *BSD -QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) - -declare -rgA PYTHON_KERNEL_CHECKS=( - ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589 - ["DNOTIFY"]="test_fcntl" # bug 938662 -) - -pkg_pretend() { - if use pgo || use test; then - check-reqs_pkg_pretend - fi - - if use jit; then - ewarn "USE=jit is considered experimental upstream. Using it" - ewarn "could lead to unexpected breakage, including race conditions" - ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" - ewarn "you can reproduce the problem with dev-lang/python[-jit]. Instead," - ewarn "please consider reporting JIT problems upstream." - fi - - if [[ ${MERGE_TYPE} != buildonly ]] && ver_replacing -lt 3.15.0_beta4; then - ewarn - ewarn "Python 3.15.0b4 has broken its extension ABI. The extensions built" - ewarn "with older versions may crash at runtime or worse after upgrading." - ewarn "A rebuild is recommended after the merge is complete, e.g. using:" - ewarn - ewarn " emerge -1v \$(find /usr/lib/python3.15/site-packages -name '*.cpython-315-*.so')" - ewarn - ewarn "Note that if you enabled both python3_15 and python3_15t, then" - ewarn "the 3.15 rebuild should cover all 3.15t packages already." - ewarn "If you do not wish to perform the rebuild at the time, it is" - ewarn "recommended to abort the upgrade." - ewarn - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]]; then - use jit && llvm-r2_pkg_setup - if use test || use pgo; then - check-reqs_pkg_setup - - local CONFIG_CHECK - for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do - CONFIG_CHECK+="~${f} " - done - linux-info_pkg_setup - fi - if use tail-call-interp; then - tc-check-min_ver gcc 16 - tc-check-min_ver clang 19 - fi - fi -} - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - # Ensure that internal copies of expat and libffi are not used. - # TODO: Makefile has annoying deps on expat headers - #rm -r Modules/expat || die - - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - default - - # force the correct number of jobs - # https://bugs.gentoo.org/737660 - sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die - - # breaks tests when using --with-wheel-pkg-dir - rm -r Lib/test/wheeldata || die - - eautoreconf -} - -build_cbuild_python() { - # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 - local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - # - # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) - local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" - local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" - local -x CFLAGS= LDFLAGS= - local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" - - # We need to build our own Python on CBUILD first, and feed it in. - # bug #847910 - local myeconfargs_cbuild=( - "${myeconfargs[@]}" - - --prefix="${BROOT}"/usr - --libdir="${cbuild_libdir:2}" - - # Avoid needing to load the right libpython.so. - --disable-shared - - # As minimal as possible for the mini CBUILD Python - # we build just for cross to satisfy --with-build-python. - --without-lto - --without-readline - --disable-optimizations - ) - - mkdir "${WORKDIR}"/${P}-${CBUILD} || die - pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die - - # Avoid as many dependencies as possible for the cross build. - mkdir Modules || die - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - _dbm _gdbm - _sqlite3 - _hashlib _ssl - _curses _curses_panel - readline - _tkinter - pyexpat - zlib - # We disabled these for CBUILD because Python's setup.py can't handle locating - # libdir correctly for cross. This should be rechecked for the pure Makefile approach, - # and uncommented if needed. - #_ctypes - EOF - - ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" - - # Unfortunately, we do have to build this immediately, and - # not in src_compile, because CHOST configure for Python - # will check the existence of the --with-build-python value - # immediately. - emake - popd &> /dev/null || die -} - -src_configure() { - # disable automagic bluetooth headers detection - if ! use bluetooth; then - local -x ac_cv_header_bluetooth_bluetooth_h=no - fi - - filter-flags -malign-double - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - # PKG_CONFIG needed for cross. - tc-export CXX PKG_CONFIG - - local dbmliborder= - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - # Set baseline test skip flags. - COMMON_TEST_SKIPS=( - # running gdb inside an ebuild as non-root, within sandbox, - # and possibly within a container is unreliable - -x test_gdb - # this is actually test_gdb.test_pretty_print - -x test_pretty_print - # https://bugs.gentoo.org/933840 - -x test_perf_profiler - ) - - # Arch-specific skips. See #931888 for a collection of these. - case ${CHOST} in - alpha*) - COMMON_TEST_SKIPS+=( - -x test_builtin - -x test_capi - -x test_cmath - -x test_float - # timeout - -x test_free_threading - -x test_math - -x test_numeric_tower - -x test_random - -x test_statistics - # bug 653850 - -x test_resource - -x test_strtod - ) - ;; - mips*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - -x test_statistics - ) - ;; - riscv*) - COMMON_TEST_SKIPS+=( - -x test_urllib2 - ) - ;; - sparc*) - COMMON_TEST_SKIPS+=( - # bug 788022 - -x test_multiprocessing_fork - -x test_multiprocessing_forkserver - -x test_multiprocessing_spawn - - -x test_ctypes - # bug 931908 - -x test_exceptions - ) - ;; - esac - - # Kernel-config specific skips - for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do - if ! linux_config_exists || ! linux_chkconfig_present "${option}" - then - COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" ) - fi - done - - # musl-specific skips - use elibc_musl && COMMON_TEST_SKIPS+=( - # various musl locale deficiencies - -x test__locale - -x test_c_locale_coercion - -x test_locale - -x test_re - - # known issues with find_library on musl - # https://bugs.python.org/issue21622 - -x test_ctypes - - # fpathconf, ttyname errno values - -x test_os - ) - - if use pgo; then - local profile_task_flags=( - -m test - "-j$(makeopts_jobs)" - --pgo-extended - --verbose3 - -u-network - - # We use a timeout because of how often we've had hang issues - # here. It also matches the default upstream PROFILE_TASK. - --timeout 1200 - - "${COMMON_TEST_SKIPS[@]}" - - -x test_dtrace - - # All of these seem to occasionally hang for PGO inconsistently - # They'll even hang here but be fine in src_test sometimes. - # bug #828535 (and related: bug #788022) - -x test_asyncio - -x test_httpservers - -x test_logging - -x test_multiprocessing_fork - -x test_socket - -x test_xmlrpc - - # Hangs (actually runs indefinitely executing itself w/ many cpython builds) - # bug #900429 - -x test_tools - - # Test terminates abruptly which corrupts written profile data - # bug #964023 - -x test_pyrepl - ) - - if has_version "app-arch/rpm" ; then - # Avoid sandbox failure (attempts to write to /var/lib/rpm) - profile_task_flags+=( - -x test_distutils - ) - fi - # PGO sometimes fails randomly - local -x PROFILE_TASK="${profile_task_flags[*]} || true" - fi - - local myeconfargs=( - # glibc-2.30 removes it; since we can't cleanly force-rebuild - # Python on glibc upgrade, remove it proactively to give - # a chance for users rebuilding python before glibc - ac_cv_header_stropts_h=no - - --enable-shared - --without-static-libpython - --enable-ipv6 - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --without-ensurepip - --without-lto - --with-system-expat - --with-system-libmpdec - --with-platlibdir=lib - --with-pkg-config=yes - --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip - --enable-gil - - $(use_with debug assertions) - $(use_enable jit experimental-jit) - $(use_enable pgo optimizations) - $(use_with readline readline "$(usex libedit editline readline)") - $(use_with tail-call-interp) - $(use_with valgrind) - ) - - if tc-is-lto; then - myeconfargs+=( - --with-lto - ) - fi - - # Force-disable modules we don't want built. - # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - $(usev build '_zstd') - $(usev !gdbm '_gdbm _dbm') - $(usev !sqlite '_sqlite3') - $(usev !ssl '_hashlib _ssl') - $(usev !ncurses '_curses _curses_panel') - $(usev !readline 'readline') - $(usev !tk '_tkinter') - EOF - - # disable implicit optimization/debugging flags - local -x OPT= - - if tc-is-cross-compiler ; then - build_cbuild_python - myeconfargs+=( - # Point the imminent CHOST build to the Python we just - # built for CBUILD. - --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python - ) - fi - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - local -x CFLAGS_NODIST=${CFLAGS} - local -x LDFLAGS_NODIST=${LDFLAGS} - local -x CFLAGS= LDFLAGS= - - # Fix implicit declarations on cross and prefix builds. Bug #674070. - if use ncurses; then - append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw - fi - - econf "${myeconfargs[@]}" - - if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi - - # install epython.py as part of stdlib - echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die -} - -src_compile() { - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - export PYTHONSTRICTEXTENSIONBUILD=1 - - # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't - # end up writing bytecode & violating sandbox. - # bug #831897 - local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} - - # Gentoo hack to disable accessing system site-packages - export GENTOO_CPYTHON_BUILD=1 - - if use pgo ; then - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - fi - - # also need to clear the flags explicitly here or they end up - # in _sysconfigdata* - emake CPPFLAGS= CFLAGS= LDFLAGS= - - # Restore saved value from above. - local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # this just happens to skip test_support.test_freeze that is broken - # without bundled expat - # TODO: get a proper skip for it upstream - local -x LOGNAME=buildbot - - local test_opts=( - --verbose3 - -u-network - -j "$(makeopts_jobs)" - "${COMMON_TEST_SKIPS[@]}" - ) - - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - - nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local ret=${?} - - [[ ${ret} -eq 0 ]] || die "emake test failed" -} - -src_install() { - local libdir=${ED}/usr/lib/python${PYVER} - local build_dir=$(<pybuilddir.txt) - - # -j1 hack for now for bug #843458 - emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall - - # Install build-details.json manually because it was randomly removed - # from altinstall in https://github.com/python/cpython/pull/142269. - cp "${build_dir}"/build-details.json "${libdir}"/ || die - - # Fix collisions between different slots of Python. - rm "${ED}/usr/$(get_libdir)/libpython3.so" || die - - # Cheap hack to get version with ABIFLAGS - local abiver=$(cd "${ED}/usr/include"; echo python*) - if [[ ${abiver} != python${PYVER} ]]; then - # Replace python3.X with a symlink to python3.Xm - rm "${ED}/usr/bin/python${PYVER}" || die - dosym "${abiver}" "/usr/bin/python${PYVER}" - # Create python3.X-config symlink - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" - # Create python-3.5m.pc symlink - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" - fi - - # python seems to get rebuilt in src_install (bug 569908) - # Work around it for now. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E "${ED}/usr/bin/${abiver}" - else - pax-mark m "${ED}/usr/bin/${abiver}" - fi - - rm -r "${libdir}"/ensurepip/_bundled || die - if ! use sqlite; then - rm -r "${libdir}/"sqlite3 || die - fi - if ! use tk; then - rm -r "${ED}/usr/bin/idle${PYVER}" || die - rm -r "${libdir}/"{idlelib,tkinter} || die - fi - - ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die - - dodoc Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - docinto examples - find Tools -name __pycache__ -exec rm -fr {} + || die - dodoc -r Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$( - printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | - emake --no-print-directory -s -f - 2>/dev/null - ) - newins Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" - - # python-exec wrapping support - local pymajor=${PYVER%.*} - local EPYTHON=python${PYVER} - local scriptdir=${D}$(python_get_scriptdir) - mkdir -p "${scriptdir}" || die - # python and pythonX - ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die - ln -s "python${pymajor}" "${scriptdir}/python" || die - # python-config and pythonX-config - # note: we need to create a wrapper rather than symlinking it due - # to some random dirname(argv[0]) magic performed by python-config - cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die - #!/bin/sh - exec "${abiver}-config" "\${@}" - EOF - chmod +x "${scriptdir}/python${pymajor}-config" || die - ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die - # pydoc - ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die - # idle - if use tk; then - ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die - fi -} - -pkg_postinst() { - if ver_replacing -lt 3.15.0_beta4; then - ewarn "Python 3.15.0b4 has broken its extension ABI. The extensions built" - ewarn "with older versions may crash at runtime or worse. To prevent this," - ewarn "please rebuild all extensions using the versoned ABI, e.g. using:" - ewarn - ewarn " emerge -1v \$(find /usr/lib/python3.15/site-packages -name '*.cpython-315-*.so')" - ewarn - ewarn "Note that if you enabled both python3_15 and python3_15t, then" - ewarn "the 3.15 rebuild should cover all 3.15t packages already." - fi -} diff --git a/dev-lang/python/python-3.15.0_rc3.ebuild b/dev-lang/python/python-3.15.0_rc3.ebuild deleted file mode 100644 index 32f16d24f06f..000000000000 --- a/dev-lang/python/python-3.15.0_rc3.ebuild +++ /dev/null @@ -1,667 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -LLVM_COMPAT=( 21 ) -LLVM_OPTIONAL=1 -VERIFY_SIG_METHOD=sigstore -WANT_LIBTOOL="none" - -inherit autotools check-reqs eapi9-ver flag-o-matic linux-info llvm-r2 -inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs -inherit verify-sig - -MY_PV=${PV/_} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="An interpreted, interactive, object-oriented programming language" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}" -IUSE=" - bluetooth build debug +ensurepip examples gdbm jit libedit +ncurses pgo - +readline +sqlite +ssl tail-call-interp test tk valgrind -" -REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" -RESTRICT="!test? ( test )" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND=" - app-arch/bzip2:= - app-arch/xz-utils:= - app-misc/mime-types - >=dev-libs/expat-2.1:= - dev-libs/libffi:= - dev-libs/mpdecimal:= - dev-python/gentoo-common - sys-apps/util-linux - >=virtual/zlib-1.1.3:= - virtual/libintl - !build? ( app-arch/zstd:= ) - gdbm? ( sys-libs/gdbm:=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:= ) - readline? ( - !libedit? ( >=sys-libs/readline-4.1:= ) - libedit? ( dev-libs/libedit:= ) - ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( >=dev-libs/openssl-1.1.1:= ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) -" -# bluetooth requires headers from bluez -DEPEND=" - ${RDEPEND} - bluetooth? ( net-wireless/bluez ) - test? ( - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - dev-python/ensurepip-wheel - ) - valgrind? ( dev-debug/valgrind ) -" -# autoconf-archive needed to eautoreconf -BDEPEND=" - dev-build/autoconf-archive - app-alternatives/awk - virtual/pkgconfig - jit? ( - $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT} - llvm-core/llvm:${LLVM_SLOT} - ') - ) - tail-call-interp? ( - || ( - >=sys-devel/gcc-16:* - >=llvm-core/clang-19:* - ) - ) -" -if [[ ${PV} != *_alpha* ]]; then - RDEPEND+=" - dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] - " -fi -PDEPEND=" - ensurepip? ( dev-python/ensurepip-pip ) -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -# large file tests involve a 2.5G file being copied (duplicated) -CHECKREQS_DISK_BUILD=5500M - -QA_PKGCONFIG_VERSION=${PYVER%t} -# false positives -- functions specific to *BSD -QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) - -declare -rgA PYTHON_KERNEL_CHECKS=( - ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589 - ["DNOTIFY"]="test_fcntl" # bug 938662 -) - -pkg_pretend() { - if use pgo || use test; then - check-reqs_pkg_pretend - fi - - if use jit; then - ewarn "USE=jit is considered experimental upstream. Using it" - ewarn "could lead to unexpected breakage, including race conditions" - ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" - ewarn "you can reproduce the problem with dev-lang/python[-jit]. Instead," - ewarn "please consider reporting JIT problems upstream." - fi - - if [[ ${MERGE_TYPE} != buildonly ]] && ver_replacing -lt 3.15.0_beta4; then - ewarn - ewarn "Python 3.15.0b4 has broken its extension ABI. The extensions built" - ewarn "with older versions may crash at runtime or worse after upgrading." - ewarn "A rebuild is recommended after the merge is complete, e.g. using:" - ewarn - ewarn " emerge -1v \$(find /usr/lib/python3.15/site-packages -name '*.cpython-315-*.so')" - ewarn - ewarn "Note that if you enabled both python3_15 and python3_15t, then" - ewarn "the 3.15 rebuild should cover all 3.15t packages already." - ewarn "If you do not wish to perform the rebuild at the time, it is" - ewarn "recommended to abort the upgrade." - ewarn - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]]; then - use jit && llvm-r2_pkg_setup - if use test || use pgo; then - check-reqs_pkg_setup - - local CONFIG_CHECK - for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do - CONFIG_CHECK+="~${f} " - done - linux-info_pkg_setup - fi - if use tail-call-interp; then - tc-check-min_ver gcc 16 - tc-check-min_ver clang 19 - fi - fi -} - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - # Ensure that internal copies of expat and libffi are not used. - # TODO: Makefile has annoying deps on expat headers - #rm -r Modules/expat || die - - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - default - - # force the correct number of jobs - # https://bugs.gentoo.org/737660 - sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die - - # breaks tests when using --with-wheel-pkg-dir - rm -r Lib/test/wheeldata || die - - eautoreconf -} - -build_cbuild_python() { - # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 - local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - # - # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) - local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" - local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" - local -x CFLAGS= LDFLAGS= - local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" - - # We need to build our own Python on CBUILD first, and feed it in. - # bug #847910 - local myeconfargs_cbuild=( - "${myeconfargs[@]}" - - --prefix="${BROOT}"/usr - --libdir="${cbuild_libdir:2}" - - # Avoid needing to load the right libpython.so. - --disable-shared - - # As minimal as possible for the mini CBUILD Python - # we build just for cross to satisfy --with-build-python. - --without-lto - --without-readline - --disable-optimizations - ) - - mkdir "${WORKDIR}"/${P}-${CBUILD} || die - pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die - - # Avoid as many dependencies as possible for the cross build. - mkdir Modules || die - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - _dbm _gdbm - _sqlite3 - _hashlib _ssl - _curses _curses_panel - readline - _tkinter - pyexpat - zlib - # We disabled these for CBUILD because Python's setup.py can't handle locating - # libdir correctly for cross. This should be rechecked for the pure Makefile approach, - # and uncommented if needed. - #_ctypes - EOF - - ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" - - # Unfortunately, we do have to build this immediately, and - # not in src_compile, because CHOST configure for Python - # will check the existence of the --with-build-python value - # immediately. - emake - popd &> /dev/null || die -} - -src_configure() { - # disable automagic bluetooth headers detection - if ! use bluetooth; then - local -x ac_cv_header_bluetooth_bluetooth_h=no - fi - - filter-flags -malign-double - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - # PKG_CONFIG needed for cross. - tc-export CXX PKG_CONFIG - - local dbmliborder= - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - # Set baseline test skip flags. - COMMON_TEST_SKIPS=( - # running gdb inside an ebuild as non-root, within sandbox, - # and possibly within a container is unreliable - -x test_gdb - # this is actually test_gdb.test_pretty_print - -x test_pretty_print - # https://bugs.gentoo.org/933840 - -x test_perf_profiler - ) - - # Arch-specific skips. See #931888 for a collection of these. - case ${CHOST} in - alpha*) - COMMON_TEST_SKIPS+=( - -x test_builtin - -x test_capi - -x test_cmath - -x test_float - # timeout - -x test_free_threading - -x test_math - -x test_numeric_tower - -x test_random - -x test_statistics - # bug 653850 - -x test_resource - -x test_strtod - ) - ;; - mips*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - -x test_statistics - ) - ;; - riscv*) - COMMON_TEST_SKIPS+=( - -x test_urllib2 - ) - ;; - sparc*) - COMMON_TEST_SKIPS+=( - # bug 788022 - -x test_multiprocessing_fork - -x test_multiprocessing_forkserver - -x test_multiprocessing_spawn - - -x test_ctypes - # bug 931908 - -x test_exceptions - ) - ;; - esac - - # Kernel-config specific skips - for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do - if ! linux_config_exists || ! linux_chkconfig_present "${option}" - then - COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" ) - fi - done - - # musl-specific skips - use elibc_musl && COMMON_TEST_SKIPS+=( - # various musl locale deficiencies - -x test__locale - -x test_c_locale_coercion - -x test_locale - -x test_re - - # known issues with find_library on musl - # https://bugs.python.org/issue21622 - -x test_ctypes - - # fpathconf, ttyname errno values - -x test_os - ) - - if use pgo; then - local profile_task_flags=( - -m test - "-j$(makeopts_jobs)" - --pgo-extended - --verbose3 - -u-network - - # We use a timeout because of how often we've had hang issues - # here. It also matches the default upstream PROFILE_TASK. - --timeout 1200 - - "${COMMON_TEST_SKIPS[@]}" - - -x test_dtrace - - # All of these seem to occasionally hang for PGO inconsistently - # They'll even hang here but be fine in src_test sometimes. - # bug #828535 (and related: bug #788022) - -x test_asyncio - -x test_httpservers - -x test_logging - -x test_multiprocessing_fork - -x test_socket - -x test_xmlrpc - - # Hangs (actually runs indefinitely executing itself w/ many cpython builds) - # bug #900429 - -x test_tools - - # Test terminates abruptly which corrupts written profile data - # bug #964023 - -x test_pyrepl - ) - - if has_version "app-arch/rpm" ; then - # Avoid sandbox failure (attempts to write to /var/lib/rpm) - profile_task_flags+=( - -x test_distutils - ) - fi - # PGO sometimes fails randomly - local -x PROFILE_TASK="${profile_task_flags[*]} || true" - fi - - local myeconfargs=( - # glibc-2.30 removes it; since we can't cleanly force-rebuild - # Python on glibc upgrade, remove it proactively to give - # a chance for users rebuilding python before glibc - ac_cv_header_stropts_h=no - - --enable-shared - --without-static-libpython - --enable-ipv6 - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --without-ensurepip - --without-lto - --with-system-expat - --with-system-libmpdec - --with-platlibdir=lib - --with-pkg-config=yes - --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip - --enable-gil - - $(use_with debug assertions) - $(use_enable jit experimental-jit) - $(use_enable pgo optimizations) - $(use_with readline readline "$(usex libedit editline readline)") - $(use_with tail-call-interp) - $(use_with valgrind) - ) - - if tc-is-lto; then - myeconfargs+=( - --with-lto - ) - fi - - # Force-disable modules we don't want built. - # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. - cat > Modules/Setup.local <<-EOF || die - *disabled* - nis - $(usev build '_zstd') - $(usev !gdbm '_gdbm _dbm') - $(usev !sqlite '_sqlite3') - $(usev !ssl '_hashlib _ssl') - $(usev !ncurses '_curses _curses_panel') - $(usev !readline 'readline') - $(usev !tk '_tkinter') - EOF - - # disable implicit optimization/debugging flags - local -x OPT= - - if tc-is-cross-compiler ; then - build_cbuild_python - myeconfargs+=( - # Point the imminent CHOST build to the Python we just - # built for CBUILD. - --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python - ) - fi - - # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get - # propagated to sysconfig for built extensions - local -x CFLAGS_NODIST=${CFLAGS} - local -x LDFLAGS_NODIST=${LDFLAGS} - local -x CFLAGS= LDFLAGS= - - # Fix implicit declarations on cross and prefix builds. Bug #674070. - if use ncurses; then - append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw - fi - - econf "${myeconfargs[@]}" - - if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi - - # install epython.py as part of stdlib - echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die -} - -src_compile() { - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - export PYTHONSTRICTEXTENSIONBUILD=1 - - # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't - # end up writing bytecode & violating sandbox. - # bug #831897 - local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} - - # Gentoo hack to disable accessing system site-packages - export GENTOO_CPYTHON_BUILD=1 - - if use pgo ; then - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - fi - - # also need to clear the flags explicitly here or they end up - # in _sysconfigdata* - emake CPPFLAGS= CFLAGS= LDFLAGS= - - # Restore saved value from above. - local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # this just happens to skip test_support.test_freeze that is broken - # without bundled expat - # TODO: get a proper skip for it upstream - local -x LOGNAME=buildbot - - local test_opts=( - --verbose3 - -u-network - -j "$(makeopts_jobs)" - "${COMMON_TEST_SKIPS[@]}" - ) - - # bug 660358 - local -x COLUMNS=80 - local -x PYTHONDONTWRITEBYTECODE= - local -x TMPDIR=/var/tmp - - nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ - CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local ret=${?} - - [[ ${ret} -eq 0 ]] || die "emake test failed" -} - -src_install() { - local libdir=${ED}/usr/lib/python${PYVER} - local build_dir=$(<pybuilddir.txt) - - # -j1 hack for now for bug #843458 - emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall - - # Install build-details.json manually because it was randomly removed - # from altinstall in https://github.com/python/cpython/pull/142269. - cp "${build_dir}"/build-details.json "${libdir}"/ || die - - # Fix collisions between different slots of Python. - rm "${ED}/usr/$(get_libdir)/libpython3.so" || die - - # Cheap hack to get version with ABIFLAGS - local abiver=$(cd "${ED}/usr/include"; echo python*) - if [[ ${abiver} != python${PYVER} ]]; then - # Replace python3.X with a symlink to python3.Xm - rm "${ED}/usr/bin/python${PYVER}" || die - dosym "${abiver}" "/usr/bin/python${PYVER}" - # Create python3.X-config symlink - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" - # Create python-3.5m.pc symlink - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" - fi - - # python seems to get rebuilt in src_install (bug 569908) - # Work around it for now. - if has_version dev-libs/libffi[pax-kernel]; then - pax-mark E "${ED}/usr/bin/${abiver}" - else - pax-mark m "${ED}/usr/bin/${abiver}" - fi - - rm -r "${libdir}"/ensurepip/_bundled || die - if ! use sqlite; then - rm -r "${libdir}/"sqlite3 || die - fi - if ! use tk; then - rm -r "${ED}/usr/bin/idle${PYVER}" || die - rm -r "${libdir}/"{idlelib,tkinter} || die - fi - - ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die - - dodoc Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - docinto examples - find Tools -name __pycache__ -exec rm -fr {} + || die - dodoc -r Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$( - printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | - emake --no-print-directory -s -f - 2>/dev/null - ) - newins Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ - "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" - - # python-exec wrapping support - local pymajor=${PYVER%.*} - local EPYTHON=python${PYVER} - local scriptdir=${D}$(python_get_scriptdir) - mkdir -p "${scriptdir}" || die - # python and pythonX - ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die - ln -s "python${pymajor}" "${scriptdir}/python" || die - # python-config and pythonX-config - # note: we need to create a wrapper rather than symlinking it due - # to some random dirname(argv[0]) magic performed by python-config - cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die - #!/bin/sh - exec "${abiver}-config" "\${@}" - EOF - chmod +x "${scriptdir}/python${pymajor}-config" || die - ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die - # pydoc - ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die - # idle - if use tk; then - ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die - fi -} - -pkg_postinst() { - if ver_replacing -lt 3.15.0_beta4; then - ewarn "Python 3.15.0b4 has broken its extension ABI. The extensions built" - ewarn "with older versions may crash at runtime or worse. To prevent this," - ewarn "please rebuild all extensions using the versoned ABI, e.g. using:" - ewarn - ewarn " emerge -1v \$(find /usr/lib/python3.15/site-packages -name '*.cpython-315-*.so')" - ewarn - ewarn "Note that if you enabled both python3_15 and python3_15t, then" - ewarn "the 3.15 rebuild should cover all 3.15t packages already." - fi -} diff --git a/dev-libs/cxx-rust-cssparser/cxx-rust-cssparser-1.1.0.ebuild b/dev-libs/cxx-rust-cssparser/cxx-rust-cssparser-1.1.0.ebuild index e9b79ca1ddc9..a1f408f14d08 100644 --- a/dev-libs/cxx-rust-cssparser/cxx-rust-cssparser-1.1.0.ebuild +++ b/dev-libs/cxx-rust-cssparser/cxx-rust-cssparser-1.1.0.ebuild @@ -24,7 +24,7 @@ if [[ ${KDE_BUILD_TYPE} == release ]]; then if [[ ${PKGBUMPING} != ${PVR} ]]; then SRC_URI+=" https://github.com/gentoo-crate-dist/${PN}/releases/download/v${PV}/${P}-crates.tar.xz" fi - KEYWORDS="~amd64 ~riscv ~x86" + KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" fi LICENSE="BSD-2 CC0-1.0 || ( LGPL-2.1 LGPL-3 )" diff --git a/dev-libs/jemalloc/files/jemalloc-5.4.0-emap-null-in-pointer-arithmetic.patch b/dev-libs/jemalloc/files/jemalloc-5.4.0-emap-null-in-pointer-arithmetic.patch new file mode 100644 index 000000000000..f3419bd128ca --- /dev/null +++ b/dev-libs/jemalloc/files/jemalloc-5.4.0-emap-null-in-pointer-arithmetic.patch @@ -0,0 +1,55 @@ +See https://bugs.gentoo.org/984178. Taken from (merged) +https://github.com/jemalloc/jemalloc/pull/3034 + +From b832f91554076dced14cc66658f6ca76d4baee16 Mon Sep 17 00:00:00 2001 +From: h2h <h2h@meta.com> +Date: Thu, 8 Oct 2026 13:41:06 -0700 +Subject: [PATCH] Explicitly specify pointer type arithmetics to avoid UB in + clang build + +--- + include/jemalloc/internal/edata.h | 5 ----- + src/emap.c | 6 +++--- + 2 files changed, 3 insertions(+), 8 deletions(-) + +diff --git a/include/jemalloc/internal/edata.h b/include/jemalloc/internal/edata.h +index 8f85ff1eac..13dcb5b5c7 100644 +--- a/include/jemalloc/internal/edata.h ++++ b/include/jemalloc/internal/edata.h +@@ -516,11 +516,6 @@ edata_ps_get(const edata_t *edata) { + return edata->e_ps; + } + +-static inline void * +-edata_before_get(const edata_t *edata) { +- return (void *)((byte_t *)edata_base_get(edata) - PAGE); +-} +- + static inline void * + edata_last_get(const edata_t *edata) { + return (void *)((byte_t *)edata_base_get(edata) + edata_size_get(edata) +diff --git a/src/emap.c b/src/emap.c +index 6863c2ae08..ff634e1fca 100644 +--- a/src/emap.c ++++ b/src/emap.c +@@ -53,8 +53,8 @@ emap_try_acquire_edata_neighbor_impl(tsdn_t *tsdn, emap_t *emap, edata_t *edata, + || expected_state == extent_state_retained + || expected_state == extent_state_pinned); + +- void *neighbor_addr = forward ? edata_past_get(edata) +- : edata_before_get(edata); ++ uintptr_t neighbor_addr = forward ? (uintptr_t)edata_past_get(edata) ++ : (uintptr_t)edata_base_get(edata) - PAGE; + /* + * This is subtle; the rtree code asserts that its input pointer is + * non-NULL, and this is a useful thing to check. But it's possible +@@ -63,7 +63,7 @@ emap_try_acquire_edata_neighbor_impl(tsdn_t *tsdn, emap_t *emap, edata_t *edata, + * randomization is on, but it could in principle happen anywhere). In + * this case, edata_before_get(edata) is NULL, triggering the assert. + */ +- if (neighbor_addr == NULL) { ++ if (neighbor_addr == 0) { + return NULL; + } + + diff --git a/dev-libs/jemalloc/jemalloc-5.4.0.ebuild b/dev-libs/jemalloc/jemalloc-5.4.0-r2.ebuild index 16a7043488d6..7776a7b83caa 100644 --- a/dev-libs/jemalloc/jemalloc-5.4.0.ebuild +++ b/dev-libs/jemalloc/jemalloc-5.4.0-r2.ebuild @@ -18,8 +18,14 @@ IUSE="debug lazy-lock prof +stats xmalloc" PATCHES=( "${FILESDIR}/${PN}-5.3.0-aarch64-64kib-page-size.patch" # users can override by passing `--with-lg-pagesize=foo` "${FILESDIR}/${PN}-5.4.0-dont-override-cflags.patch" + # Bug #984178. Remove in next release, merged upstream. + "${FILESDIR}/${PN}-5.4.0-emap-null-in-pointer-arithmetic.patch" ) +# We could use --includedir w/ libdir but too many consumers don't use +# pkg-config. +MULTILIB_WRAPPED_HEADERS=( /usr/include/jemalloc/jemalloc.h ) + HTML_DOCS=( doc/jemalloc.html ) @@ -38,9 +44,6 @@ src_prepare() { multilib_src_configure() { local myconf=( - # Jemalloc's headers have ABI constants hardcoded in them, so they are - # relocated to libdir. - --includedir="${EPREFIX}/usr/$(get_libdir)" $(use_enable debug) $(use_enable lazy-lock) $(use_enable prof) diff --git a/dev-libs/libzip/files/libzip-1.12-implicit-declarations.patch b/dev-libs/libzip/files/libzip-1.12-implicit-declarations.patch new file mode 100644 index 000000000000..a9d65c210aed --- /dev/null +++ b/dev-libs/libzip/files/libzip-1.12-implicit-declarations.patch @@ -0,0 +1,40 @@ +From 02095fb5e081454b72d8343b357669a75588eaa6 Mon Sep 17 00:00:00 2001 +From: Matthew White <mehw@users.noreply.github.com> +Date: Mon, 12 Oct 2026 08:42:14 +0000 +Subject: [PATCH] Fix implicit declaration of functions explicit_bzero and + explicit_memset by adding the <string.h> header (#620) + +* Fix implicit declaration of function explicit_bzero + +This completes commit c3ba909e296e824f794e26d36379174524af74b8. + +Add missing string.h header, required to define explicit_bzero. + +* Fix implicit declaration of function explicit_memset + +This completes commit c3ba909e296e824f794e26d36379174524af74b8. + +Add missing string.h header, required to define explicit_memset. +--- + lib/zipint.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/lib/zipint.h b/lib/zipint.h +index 25abcb13..5de9052f 100644 +--- a/lib/zipint.h ++++ b/lib/zipint.h +@@ -524,9 +524,11 @@ typedef struct _zip_pkware_keys zip_pkware_keys_t; + + + #ifdef HAVE_EXPLICIT_MEMSET ++#include <string.h> + #define _zip_crypto_clear(b, l) explicit_memset((b), 0, (l)) + #else + #ifdef HAVE_EXPLICIT_BZERO ++#include <string.h> + #define _zip_crypto_clear(b, l) explicit_bzero((b), (l)) + #else + #define USE_OWN_CRYPTO_CLEAR +-- +2.56.0 + diff --git a/dev-libs/libzip/libzip-1.12-r1.ebuild b/dev-libs/libzip/libzip-1.12-r1.ebuild new file mode 100644 index 000000000000..2082e625a339 --- /dev/null +++ b/dev-libs/libzip/libzip-1.12-r1.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake flag-o-matic + +DESCRIPTION="Library for manipulating zip archives" +HOMEPAGE="https://nih.at/libzip/" +SRC_URI="https://www.nih.at/libzip/${P}.tar.xz" + +LICENSE="BSD" +SLOT="0/5" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="bzip2 gnutls lzma ssl test tools zstd" +REQUIRED_USE="test? ( ssl tools )" +RESTRICT="!test? ( test )" + +DEPEND=" + virtual/zlib:= + bzip2? ( app-arch/bzip2:= ) + lzma? ( app-arch/xz-utils ) + ssl? ( + gnutls? ( + dev-libs/nettle:= + >=net-libs/gnutls-3.6.5:= + ) + !gnutls? ( dev-libs/openssl:= ) + ) + zstd? ( >=app-arch/zstd-1.4.0:= ) +" +RDEPEND="${DEPEND}" +BDEPEND="test? ( dev-util/nihtest )" + +PATCHES=( + "${FILESDIR}/${PN}-1.12-implicit-declarations.patch" +) + +src_prepare() { + rm -r examples/cmake-project || die # bug #964582 + cmake_src_prepare +} + +src_configure() { + append-lfs-flags + local mycmakeargs=( + -DBUILD_DOC=ON + -DBUILD_OSSFUZZ=OFF + -DBUILD_EXAMPLES=OFF # nothing is installed + -DENABLE_COMMONCRYPTO=OFF # not in tree + -DENABLE_BZIP2=$(usex bzip2) + -DENABLE_LZMA=$(usex lzma) + -DENABLE_ZSTD=$(usex zstd) + -DBUILD_REGRESS=$(usex test) + -DBUILD_TOOLS=$(usex tools) + ) + + if use ssl; then + if use gnutls; then + mycmakeargs+=( + -DENABLE_GNUTLS=$(usex gnutls) + -DENABLE_OPENSSL=OFF + ) + else + mycmakeargs+=( + -DENABLE_GNUTLS=OFF + -DENABLE_OPENSSL=ON + ) + fi + else + mycmakeargs+=( + -DENABLE_GNUTLS=OFF + -DENABLE_OPENSSL=OFF + ) + fi + cmake_src_configure +} diff --git a/dev-libs/simdjson/Manifest b/dev-libs/simdjson/Manifest index 9e692f53155f..510f82c4b54c 100644 --- a/dev-libs/simdjson/Manifest +++ b/dev-libs/simdjson/Manifest @@ -6,5 +6,6 @@ DIST simdjson-4.6.2.gh.tar.gz 6678316 BLAKE2B 17669f71eb6cb6f03a5f0d6e69cec42a5b DIST simdjson-4.6.7.gh.tar.gz 6690017 BLAKE2B 1fda88f8794ca56f70f97111f6c707c58ccf064ea4ae33ab0b3c8402ae96f17382ad74678bb21d3a6452550e9341fe9cb3b6bb17afccd58c7f6912264a8432a0 SHA512 2ae72d7a63f997e9a0bd61d0ae5104bfd61654190ff4710caa35477d7fdb84918bf081203b7aff1230f2c2aa20bde64c543fce345fa179134067d657a2623683 DIST simdjson-4.6.9.gh.tar.gz 6693715 BLAKE2B fc5f435e57f7afab0ff5993a50a4da6c88db34a442481922705e8db5144d74767ca70614a264d009b455cbfd3624455c42f572272ef0c2caa4bf27dd3430fc6e SHA512 b5c70b29fff7728ec5883ebff39829b9fe1c6dac4e2775b01be0bfcc99f7dab596f97f8e3b58852b2556b81639ad5e08b43b036407814defd6487edfbc7f3abe DIST simdjson-5.0.3.gh.tar.gz 8787132 BLAKE2B a3f18dc59af62ae61b18d2224a391738d7cb7815edc5dc2e52b5fd1f64b1f8e81e0eac16ea1bb0f2fb75e662a5e2abf7285bbfa48c0c7937d83fc488e951a55b SHA512 9935d9bfa2a178e9bf46da03f39b6d06f1e76c0ad2e094fc755bc2c8542cb58c218c53e55333305208a4cf681cd4520099cac94beff0d229baf9010f834597d0 +DIST simdjson-5.0.4.gh.tar.gz 8814780 BLAKE2B 83f69fe402ba00fd1cc1948e49d49f15a4fff90af0b3103ed23e29b57326a6e3f2dcc0e8af9d3b18fa4d8f4a2ee199e2fdb4cd946ced79dc7f1207ba9cba1e5b SHA512 e4431b21240a532e0a91330578e03e048ab8742c0426895c533a694d641430dbe9936cb8b3844186fa5ba47b67c5468546f25ebe087da8762964584a537f17c5 DIST simdjson-counters-3.1.0.tar.gz 17752 BLAKE2B 37288ede5edd55f822fa1b49823d606a1ea7e49bf1f2afec02b1872439524bca8be450e62b8efdfdbca222d6c55f4cf326d9e71063a78e04843c38e8cc6ae8b2 SHA512 943c3eb98d35e4af095f5cb9c5f20613e7a061f6552f65137f8d9c1c9ee2df8acec4112410aa18c6b7428ab9315b7f3d21adc5cb6ab1522b8be6c5dde23e52a7 DIST simdjson-data-351949906abde446f0314bf79606fb5d884f5be7.tar.gz 6635608 BLAKE2B 07f96c6b1bfea55a247eb7361bd4c068cb49e06f2cb1f3853c107173025c4cd543b20a5b7a3dcfa1e4462aaca8278a1cff9656f54319da08e221bc38f98e5a9e SHA512 7db557d374b9ce98077b7a9e1265ae66f9a607f0f283f662a9f184147f081727df68c0eb4889ebc8aca609ec62b348753445e553087e6520879a23e268caafba diff --git a/dev-libs/simdjson/simdjson-4.6.11.ebuild b/dev-libs/simdjson/simdjson-4.6.11.ebuild index 2b2e041f8e58..0111f908a817 100644 --- a/dev-libs/simdjson/simdjson-4.6.11.ebuild +++ b/dev-libs/simdjson/simdjson-4.6.11.ebuild @@ -21,7 +21,7 @@ SRC_URI=" LICENSE="Apache-2.0 Boost-1.0 BSD MIT" SLOT="0/33" -KEYWORDS="~amd64 arm arm64 ~loong ppc64 ~riscv ~x86" +KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv ~x86" IUSE="+all-impls test tools" BDEPEND=" diff --git a/dev-libs/simdjson/simdjson-5.0.4.ebuild b/dev-libs/simdjson/simdjson-5.0.4.ebuild new file mode 100644 index 000000000000..a498600da3f5 --- /dev/null +++ b/dev-libs/simdjson/simdjson-5.0.4.ebuild @@ -0,0 +1,112 @@ +# Copyright 2020-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs cmake + +SIMDJSON_DATA_HASH="351949906abde446f0314bf79606fb5d884f5be7" +CPM_SIMDJSON_DATA_HASH="3a55454e9d9a7133903378c28fb053f478f24537" +CPM_VERSION="0.40.2" +COUNTERS_HASH="2c9f1c5695230724ac9b2b7a88f43ec81761f3a0" +COUNTERS_VER="3.1.0" +DESCRIPTION="SIMD accelerated C++ JSON library" +HOMEPAGE=" + https://simdjson.org/ + https://github.com/simdjson/simdjson +" +SRC_URI=" + https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz + https://github.com/cpm-cmake/CPM.cmake/releases/download/v${CPM_VERSION}/CPM.cmake -> CPM_${CPM_VERSION}.cmake + https://github.com/${PN}/${PN}-data/archive/${SIMDJSON_DATA_HASH}.tar.gz -> ${PN}-data-${SIMDJSON_DATA_HASH}.tar.gz + https://github.com/lemire/counters/archive/refs/tags/v${COUNTERS_VER}.tar.gz -> ${PN}-counters-${COUNTERS_VER}.tar.gz +" + +LICENSE="Apache-2.0 Boost-1.0 BSD MIT" +SLOT="0/34" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +IUSE="+all-impls nan test tools" + +BDEPEND=" + sys-apps/file + sys-apps/grep + virtual/pkgconfig +" +DEPEND=" + tools? ( >=dev-libs/cxxopts-3.2:= ) +" + +REQUIRED_USE="test? ( tools )" +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}/simdjson-1.0.0-install-tools.patch" + "${FILESDIR}/simdjson-3.10.1-tests.patch" +) + +DOCS=( + AUTHORS + CONTRIBUTING.md + CONTRIBUTORS + HACKING.md + README.md +) + +src_prepare() { + # Need to make sure that CPM finds the data package + mkdir "${WORKDIR}/cpm" "${WORKDIR}/${PN}-data" "${WORKDIR}/counters" || die + cp "${DISTDIR}/CPM_${CPM_VERSION}.cmake" "${WORKDIR}/cpm/CPM_${CPM_VERSION}.cmake" || die + ln -s "../${PN}-data-${SIMDJSON_DATA_HASH}" "${WORKDIR}/${PN}-data/${CPM_SIMDJSON_DATA_HASH}" || die + ln -s "../counters-${COUNTERS_VER}" "${WORKDIR}/counters/${COUNTERS_HASH}" || die + + sed -e 's:-Werror ::' -i cmake/developer-options.cmake || die + sed -e '/Werror/ d ; /Werror/ d ' -i tests/ondemand/compilation_failure_tests/CMakeLists.txt || die + sed -e "s:^c++ :$(tc-getCXX) :" -i singleheader/README.md || die + mv tools/{,simd}jsonpointer.cpp || die + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DSIMDJSON_INSTALL:BOOL=ON + -DSIMDJSON_ENABLE_THREADS:BOOL=ON + $(usex test '-DSIMDJSON_ENABLE_FUZZING:BOOL=OFF' '') + -DSIMDJSON_ENABLE_NAN_INF:BOOL=$(usex nan 'ON' 'OFF') + -DCPM_SOURCE_CACHE:STRING="${WORKDIR}" + -Wno-dev + ) + use test && mycmakeargs+=( + -DSIMDJSON_TESTS:BOOL=ON + ) + + if use tools; then + mycmakeargs+=( + -DSIMDJSON_DEVELOPER_MODE:BOOL=ON + -DSIMDJSON_ALLOW_DOWNLOADS:BOOL=OFF + -DSIMDJSON_GOOGLE_BENCHMARKS:BOOL=OFF + -DSIMDJSON_COMPETITION:BOOL=OFF + -DSIMDJSON_TOOLS:BOOL=ON + ) + elif ! use test; then + mycmakeargs+=( + -DSIMDJSON_DEVELOPER_MODE:BOOL=OFF + ) + fi + + if use all-impls; then + local -a impls=("fallback") + if use amd64; then + impls+=("westmere" "haswell" "icelake") + elif use arm64; then + impls+=("arm64") + elif use ppc64; then + impls+=("ppc64") + fi + + mycmakeargs+=( + -DSIMDJSON_IMPLEMENTATION:STRING=$(printf '%s;' "${impls[@]}") + ) + fi + + cmake_src_configure +} diff --git a/dev-python/autoprop/Manifest b/dev-python/autoprop/Manifest deleted file mode 100644 index 294cacb23439..000000000000 --- a/dev-python/autoprop/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST autoprop-4.1.0.tar.gz 20254 BLAKE2B 2229ac42ffaa8a874bc4ab8b0bd032b5898e4c93badfa8e8d7a6f93309cd6d922932e0c2a5753b048cf98caff802a9545a706a8d776a648af67cae95b42338f4 SHA512 be356ca41935d77719cfb51db397e48fca74663f00c65862cd0c776c9f5ac9f4af891951ae14a6006736493f3721dfc7edf195fe83e73ebfb486cd8f492bd778 diff --git a/dev-python/autoprop/autoprop-4.1.0.ebuild b/dev-python/autoprop/autoprop-4.1.0.ebuild deleted file mode 100644 index 031980959834..000000000000 --- a/dev-python/autoprop/autoprop-4.1.0.ebuild +++ /dev/null @@ -1,26 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=flit -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Infer properties from accessor methods" -HOMEPAGE=" - https://github.com/kalekundert/autoprop/ - https://pypi.org/project/autoprop/ -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~arm64" - -RDEPEND=" - >=dev-python/signature-dispatch-1.0.0[${PYTHON_USEDEP}] -" - -EPYTEST_PLUGINS=() -distutils_enable_tests pytest diff --git a/dev-python/autoprop/metadata.xml b/dev-python/autoprop/metadata.xml deleted file mode 100644 index 43e8b81e7001..000000000000 --- a/dev-python/autoprop/metadata.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://srcux.com/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="project"> - <email>3dprint@gentoo.org</email> - <name>Gentoo 3D Printer Project</name> - </maintainer> - <maintainer type="project"> - <email>python@gentoo.org</email> - <name>Python</name> - </maintainer> - <stabilize-allarches /> - <longdescription> - Properties are a feature in python that allow accessor functions (i.e. getters and setters) to masquerade as - regular attributes. This makes it possible to provide transparent APIs for classes that need to cache results, - lazily load data, maintain invariants, or react in any other way to attribute access. - - Unfortunately, making a property requires an annoying amount of boilerplate code. There are a few ways to - do it, but the most common and most succinct requires you to decorate two functions - (with two different decorators) and to type the name of the attribute three times. - - The autoprop module simplifies this process by searching your class for accessor methods and adding properties - corresponding to any such methods it finds. - </longdescription> - <upstream> - <bugs-to>https://github.com/kalekundert/autoprop/issues</bugs-to> - </upstream> - <origin>srcux</origin> -</pkgmetadata> diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest index 74f58b763c7f..6e2b56bab617 100644 --- a/dev-python/boto3/Manifest +++ b/dev-python/boto3/Manifest @@ -2,6 +2,7 @@ DIST boto3-1.43.103.gh.tar.gz 1242075 BLAKE2B 907fe54732510a077b049526c5524b1d77 DIST boto3-1.43.108.gh.tar.gz 1250263 BLAKE2B 73f98863859b8c1ff06655d84d6b155811ac120dc88afd377272187b000e09346ac9c6843967521d1576753427490080e4104ba811defc96bf7fc1595ba649c2 SHA512 e1a95db416b3f7966bac99d7b54fa839b7dfc5d42e8319516fe0bc8e6882ecb1741c11fffc350b438f7bd07d634b0fc2f0ee50916ac5df8622c533b91ed39856 DIST boto3-1.43.111.gh.tar.gz 1253888 BLAKE2B 972d4fbed26dc6ef267f1ee9433d13a9030a405a7dca1da23f2b3b39a6c32e13bbb8a15d202e3c86d067040326934c57161901262c409262c3bd2e41ea003bef SHA512 bd26006eb35ad806c071e185bf86d92c8eeb2345871575cb26812c1bffcdca602a54244074bcd2edce1487b17240caf9975f98037eee02a01dd4d07f1f964190 DIST boto3-1.43.112.gh.tar.gz 1255810 BLAKE2B 7d46c0c0d0815d9cd278d60cc0b78b8a137509c8224be0e899895f897c9ceb415ce1224feaf888e56a1e368451d760765bd101b4c14e870406248c7e64221d77 SHA512 63609af1366d12eed03f1b64b2d20cd6721a632d7d583e547f44f5a7519d3ef33360338611679f0b4964e541e8d4b61f9dc330fad5f909ff2e0c852764921a56 +DIST boto3-1.43.113.gh.tar.gz 1257679 BLAKE2B 130963c74bfc5ce7c059178f5e971bbdf65f6b88f7f9c7f1cca0fb7d2f49b5bf7378a5e37245d20100f1933af7371315ab01292025d166f8ea526a0b52995a39 SHA512 293f0d29ef97f24eab7529c3bc66f03d72dafdd59bafadf463c9087f8154c6eebe9f6f59ff8cbba6685617acba19fc7e05e10b7db6ab8b4b1d2491a0818ea255 DIST boto3-1.43.89.gh.tar.gz 1225424 BLAKE2B 625bb37a542644c8fe37aab42a115bf8be2e36373d7f6149dcc7e150e327c75b334ef480897be1d4954809b233a47e02854d7b28b4a3904f0e5cdcea3f0440d7 SHA512 1c04fd6df819abbe60d551c6d706f7254fe6d6758e95fd53ec70d4dd892b6f7bf69981cb001fc6ca5bc5885f083718b80a4fd045b146e7f4add16a50ac3a9d38 DIST boto3-1.43.93.gh.tar.gz 1230597 BLAKE2B 183d94cea0d706147a75674cb85a600ad21c2683618ba18a14e8630f23b19c94c11d0bc03ddc517194dad42dfb9445d1b34076b1f1b3ecbcec51ceccf30e5db0 SHA512 01612175497aada3b3fdf62ffcdb0626dc0fd5090d7d156d2a1f5fad4ec19b904ffecfd4b59880cf71ec07658bf00c2245bdd3c989a7513689ab59a2511e06ea DIST boto3-1.43.98.gh.tar.gz 1235430 BLAKE2B 6a08b191374c1c31b69c975cb4281685bee4914b8f2ab32dd2eb13c7742ff7e228a151f0e78b7f323d43ffe9b4dd7e4574104bc4a63cd573726715eceeb13137 SHA512 550c5daf6b3110562ba08e0694cdc19b7cd02e9d00aba22acc3a8272a63124d3e9eea870d7fced18685ee89459f375ace66aca49fcaece88a1d7dbfa1d54022e diff --git a/dev-python/boto3/boto3-1.43.113.ebuild b/dev-python/boto3/boto3-1.43.113.ebuild new file mode 100644 index 000000000000..fcfc7c9a743e --- /dev/null +++ b/dev-python/boto3/boto3-1.43.113.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 + +DESCRIPTION="The AWS SDK for Python" +HOMEPAGE=" + https://github.com/boto/boto3/ + https://pypi.org/project/boto3/ +" +SRC_URI=" + https://github.com/boto/boto3/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" + +RDEPEND=" + >=dev-python/botocore-${PV}[${PYTHON_USEDEP}] + >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}] + >=dev-python/s3transfer-0.19.0[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_prepare_all() { + # don't lock versions to narrow ranges + sed -e '/botocore/ d' \ + -e '/jmespath/ d' \ + -e '/s3transfer/ d' \ + -i setup.py || die + + # do not rely on bundled deps in botocore (sic!) + find -name '*.py' -exec sed -i \ + -e 's:from botocore[.]vendored import:import:' \ + -e 's:from botocore[.]vendored[.]:from :' \ + {} + || die + + distutils-r1_python_prepare_all +} + +python_test() { + epytest tests/{functional,unit} +} diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest index 3e900d8caafe..169ed55b7a63 100644 --- a/dev-python/botocore/Manifest +++ b/dev-python/botocore/Manifest @@ -2,6 +2,7 @@ DIST botocore-1.43.103.gh.tar.gz 17299294 BLAKE2B d589d82cd6d0e1cb53280c606e0415 DIST botocore-1.43.108.gh.tar.gz 17372621 BLAKE2B c4a053b10a7a95d78a84254aabe941f721fbb3cf5595a6c84b286e7527d4f90eb86312c211547fe5fa0ca593caa3b8bd2ff4f1e84534e565a171c7acca968b6e SHA512 15db0910153e66c9ad251866d89a3510548be2391e6aaf9f6178dd3149077a9563888a2558602358d31257991aac631bb50b9e3b99ffee18d1d7653cfc462f77 DIST botocore-1.43.111.gh.tar.gz 17387410 BLAKE2B 36f5cde64e3be6b364ed4b0338531e8dca38e5b817e6e2607a16ef48ae1ad4cd21bcfc48a7c982358ad45b7fab3073f995817da8689ef7a8c0d8a376d079d88e SHA512 fb63e7844d5d74bbae67fe601b18629f4f366128972bd35498263b3f7fc5d3af7fa1a3e39f3cc9673d87954aff6990bcbff350ea8ed28ab6d887fb8e33e6652a DIST botocore-1.43.112.gh.tar.gz 17421218 BLAKE2B a32c8c09753310247810be3939df3cf2885140bad9a9b13fdba3eb6ee862b1ecf08cd8f841c84c9b9e10037f9d5f68ec47ead537536cf66673efd17a2a0d3b8d SHA512 264de478efb971616b44d47191ce6294e1981565aa75fe3db978e8e4491fbc7728dbbe4a223097a464c5b71decd1f1e9019e719fb94b436701c5de775faac4a6 +DIST botocore-1.43.113.gh.tar.gz 17434227 BLAKE2B a76cb5a7acfd27fefd63528af078e973618a8d101091728f49ff83cd1ce82c1e0a19cc4cf44212786c49affd3987631e3f61b142166b56f6c0f7edd3d6e162b2 SHA512 39f47829e8012abb4311e745deb5065ba385dae4386d2555188754b37d1870af5967dea522ea9fd678d024d0506abffbbf29af4c16c757201ca3aec17f0a2363 DIST botocore-1.43.89.gh.tar.gz 17111395 BLAKE2B 25837125b5d9477b011c065594ffa1b49a2f5d0cf76e1c664aa5401d50dfe8dd9573d0ab3a60f739c796c32965a7dd7608e302a284bfcc97d9f7f4a8a2b698e3 SHA512 c9c0b7636fb7595d4ff3ee2ec7e1ef8ad3000e9e453ce6edb827a1152109fc2fb6b226bd08f27653fc1436444c39be6f160fa4f7c34eb50a7384988686933590 DIST botocore-1.43.93.gh.tar.gz 17142451 BLAKE2B eec2955aa252ff8bc49c24095006f0c75669f7946dcdaece4c7f640e724910b14c1b1b0b07fb8e6661d96e95fe148201381d70b4685a7282c2c64f2656fde57a SHA512 e021322d630deb94f738aa5096a7b72ffdeffbeaf5d3f6fbc9e835b7f41afa25a738d353e37b4fbd73b5b8889334ccdf4caec64d4c63e4e966e0e245c6117cf0 DIST botocore-1.43.98.gh.tar.gz 17171860 BLAKE2B 8bb682accc106b35b89f19fc6512314f3251a896d5e3e74b02112d9dc6218c56388685113d1889dbbde18ca9ea2b18acd2386d54603567d334644bebc55a678a SHA512 42700b9fbbf6df97f410cff159aae5dd57f5c114567e80fe4930b42166608609fcd9822f011c0acb8a4fc46c92aedd9a7ea5afa1608a24e47b0e30d78274d0ac diff --git a/dev-python/botocore/botocore-1.43.113.ebuild b/dev-python/botocore/botocore-1.43.113.ebuild new file mode 100644 index 000000000000..c5a99a77214e --- /dev/null +++ b/dev-python/botocore/botocore-1.43.113.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 + +DESCRIPTION="Low-level, data-driven core of boto 3" +HOMEPAGE=" + https://github.com/boto/botocore/ + https://pypi.org/project/botocore/ +" +SRC_URI=" + https://github.com/boto/botocore/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" + +RDEPEND=" + <dev-python/jmespath-2[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}] +" +# unbundled packages +RDEPEND+=" + dev-python/requests[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/jsonschema[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + # unpin deps + sed -i -e "s:>=.*':':" setup.py || die + + # unbundle deps + rm -r botocore/vendored || die + find -name '*.py' -exec sed -i \ + -e 's:from botocore[.]vendored import:import:' \ + -e 's:from botocore[.]vendored[.]:from :' \ + {} + || die + + distutils-r1_src_prepare +} + +python_test() { + local EPYTEST_DESELECT=( + # rely on bundled six + tests/functional/test_six_imports.py::test_no_bare_six_imports + tests/functional/test_six_threading.py::test_six_thread_safety + ) + + # The test suite can eat up a lot of memory when running via xdist, + # and slow down some tiny tests. Let's just run a safe subset + # of tests known to be slow-ish in parallel, and the rest in series. + local parallel_tests=( + tests/functional/*/ + tests/functional/test_event_alias.py + tests/functional/test_[cds-z]*.py + tests/unit/ + ) + + epytest "${parallel_tests[@]}" + + local EPYTEST_IGNORE=( "${parallel_tests[@]}" ) + EPYTEST_XDIST= epytest tests/functional +} diff --git a/dev-python/chart-studio/Manifest b/dev-python/chart-studio/Manifest deleted file mode 100644 index 967b53769804..000000000000 --- a/dev-python/chart-studio/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST plotly.py-5.13.0.gh.tar.gz 30683340 BLAKE2B 0e2c5638c766e5da6e2067d7be270576afed984b45deec0955fa10698d37bd082f3ebc568a8290c17554c672ef9e31cee81b0fae18b9f3249591fe62510ce5fd SHA512 c874b46ac43520519951aad55f93bfcfe03910873fd273f283fe16ae2a4150cfa35104be422c21b65785c77f468f084847278f76bce3d9179cc2a339809c42e3 diff --git a/dev-python/chart-studio/chart-studio-1.1.0-r2.ebuild b/dev-python/chart-studio/chart-studio-1.1.0-r2.ebuild deleted file mode 100644 index 0b1f9963f7d3..000000000000 --- a/dev-python/chart-studio/chart-studio-1.1.0-r2.ebuild +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) -DISTUTILS_USE_PEP517=setuptools -inherit distutils-r1 - -PLOTLY_PV="5.13.0" - -DESCRIPTION="Browser-based graphing library for Python" -HOMEPAGE="https://plotly.com/python/" -SRC_URI="https://github.com/plotly/plotly.py/archive/refs/tags/v${PLOTLY_PV}.tar.gz -> plotly.py-${PLOTLY_PV}.gh.tar.gz" -S="${WORKDIR}/plotly.py-${PLOTLY_PV}/packages/python/${PN}" -# PyPI tarball does not include the tests, sources are in the same repo as plotly. - -PROPERTIES="test_network" -RESTRICT="test" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64" - -RDEPEND=" - dev-python/plotly[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - dev-python/retrying[${PYTHON_USEDEP}] -" - -BDEPEND=" - test? ( - dev-python/decorator[${PYTHON_USEDEP}] - dev-python/ipykernel[${PYTHON_USEDEP}] - dev-python/ipython[${PYTHON_USEDEP}] - dev-python/ipywidgets[${PYTHON_USEDEP}] - dev-python/matplotlib[${PYTHON_USEDEP}] - dev-python/numpy[${PYTHON_USEDEP}] - dev-python/pandas[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - dev-python/pytz[${PYTHON_USEDEP}] - ) -" - -EPYTEST_DESELECT=( - # URL is somehow wrong - "chart_studio/tests/test_core/test_tools/test_get_embed.py::test_get_valid_embed" - "chart_studio/tests/test_core/test_tools/test_get_embed.py::TestGetEmbed::test_get_embed_url_with_share_key" - "chart_studio/tests/test_optional/test_matplotlylib/test_plot_mpl.py::PlotMPLTest::test_update" - "chart_studio/tests/test_plot_ly/test_spectacle_presentation/test_spectacle_presentation.py::TestPresentation::test_expected_pres" -) - -# There are sphinx docs but we are missing a bunch of dependencies. -# distutils_enable_sphinx ../../../doc/apidoc -distutils_enable_tests pytest diff --git a/dev-python/chart-studio/metadata.xml b/dev-python/chart-studio/metadata.xml deleted file mode 100644 index 64729c251996..000000000000 --- a/dev-python/chart-studio/metadata.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://srcux.com/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="project"> - <email>sci@gentoo.org</email> - <name>Gentoo Science Project</name> - </maintainer> - <longdescription lang="en"> - Python plotting library for collaborative, interactive, publication-quality - graphs. Plotly is an online collaborative data analysis and graphing tool. - </longdescription> - <origin>srcux</origin> -</pkgmetadata> diff --git a/dev-python/cmd2/cmd2-4.3.0.ebuild b/dev-python/cmd2/cmd2-4.3.0.ebuild index 0dd4a4021580..f2f7d6a36c4e 100644 --- a/dev-python/cmd2/cmd2-4.3.0.ebuild +++ b/dev-python/cmd2/cmd2-4.3.0.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc64 ~riscv ~s390 ~x86" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86" RDEPEND=" >=dev-python/prompt-toolkit-3.0.53[${PYTHON_USEDEP}] @@ -32,6 +32,7 @@ RDEPEND=" BDEPEND=" dev-python/setuptools-scm[${PYTHON_USEDEP}] test? ( + dev-python/pyte[${PYTHON_USEDEP}] || ( x11-misc/xclip x11-misc/xsel diff --git a/dev-python/consonance/Manifest b/dev-python/consonance/Manifest deleted file mode 100644 index e6ff03f26fe8..000000000000 --- a/dev-python/consonance/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST consonance-0.1.5.gh.tar.gz 31225 BLAKE2B 049637747e0b9b027bfc9a064d4fe792a7d2cc42219d83662646120423af1ef18e4a8328a9deaa9e9d8d0f75065afceb6cc9c533fa5728b1e866c160811cce16 SHA512 3ab8a7a2dbca22d519c79a2903f90d79ce3b5709e0025667c9fbe0d5bfc8b3a4ab853403dd29b791bd2cf3101fdd2a3c806e694840256f373d1930daeea71509 diff --git a/dev-python/consonance/consonance-0.1.5-r1.ebuild b/dev-python/consonance/consonance-0.1.5-r1.ebuild deleted file mode 100644 index be3cd8e8dfb4..000000000000 --- a/dev-python/consonance/consonance-0.1.5-r1.ebuild +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517="setuptools" -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 - -DESCRIPTION="WhatsApp's handshake implementation using Noise Protocol" -HOMEPAGE="https://github.com/tgalal/consonance" -SRC_URI="https://github.com/tgalal/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz" - -LICENSE="GPL-3+" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="examples" -# Tests require an active internet connection -RESTRICT="test" -PROPERTIES="test_network" - -RDEPEND=" - dev-python/cryptography[${PYTHON_USEDEP}] - dev-python/dissononce[${PYTHON_USEDEP}] - dev-python/protobuf[${PYTHON_USEDEP}] - dev-python/python-axolotl-curve25519[${PYTHON_USEDEP}] - dev-python/transitions[${PYTHON_USEDEP}] -" - -distutils_enable_tests pytest - -src_install() { - distutils-r1_src_install - - use examples && dodoc examples/*.py -} diff --git a/dev-python/consonance/metadata.xml b/dev-python/consonance/metadata.xml deleted file mode 100644 index 97b81c140178..000000000000 --- a/dev-python/consonance/metadata.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://srcux.com/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="person"> - <email>conikost@gentoo.org</email> - <name>Conrad Kostecki</name> - </maintainer> - <maintainer type="project"> - <email>python@gentoo.org</email> - <name>Python</name> - </maintainer> - <longdescription> - Consonance implements WhatsApp's handshake process - which makes use of Noise Pipes with Curve25519, AES-GCM, - and SHA256 from Noise Protocol. - </longdescription> - <upstream> - <bugs-to>https://github.com/tgalal/consonance/issues</bugs-to> - </upstream> - <origin>srcux</origin> -</pkgmetadata> diff --git a/dev-python/cramjam/Manifest b/dev-python/cramjam/Manifest index a55520f5340c..b4b929bf399f 100644 --- a/dev-python/cramjam/Manifest +++ b/dev-python/cramjam/Manifest @@ -16,11 +16,14 @@ DIST anstyle-wincon-3.0.7.crate 12400 BLAKE2B 2023529aa12ebe1b7073a88180ac7491fb DIST autocfg-1.4.0.crate 17712 BLAKE2B 7f7300439899be03d001dd32b7e797bc4b9a58103081b6f7353c4b5897813cedf870b3fb1fa25d320a75326b334b44d8287e8603de34fc560d0b567143915cc6 SHA512 3b5e7c30bc73e105e4bfcab584c24fc4016db41fac9c356c6649fd841051704bbe8848e09546eb50d7c1f18ea8ce1cb72fbc268a620d5c609b3472114b5be73c DIST bitflags-2.13.2.crate 51678 BLAKE2B 8bbeb87f475eae13e691f12d3cf34f865dffbbaf44e400f99a406b487b59be9b08b3de07e7a3bfcf2a5d04d3ffd9af23386317e964d062973347279bd738ef25 SHA512 362553b15e7f09d30f9aca4c1f991f040c446aea4ae36f46ec9ea460a0cd2b98052fca4b56d2ef48147cf1c73f3f8782cb579aeadfbfdd2a22b55cd4b096022b DIST bitflags-2.9.0.crate 47654 BLAKE2B df924872ccb929f3e428976764d50e5468112cb83e563f663a5e51a21ef4363b4c639e617ed8afd42a39fed522ee468ce7186adf88bd41f5f4a2a6c833d9ff35 SHA512 f314d5391745e5a7eeeda0c014d739981d8639a8e23e1120d9c006ef1a6d5d5b9292ec85ed2fdc117121b6ed7a67df41345116ed311d8523344928a725763446 +DIST block-buffer-0.10.4.crate 10538 BLAKE2B d819c4f9c4be85868e8b105fb7e479d2e58d3ed85c3339bd677a3e111f85cb1ff624a54d7802ab79a6e1d9221115f66388568340480fe83eae1cb448f19f5b11 SHA512 b7d436d8e627e16e6ddc300ee8f706a6cef28ff6f09eff848eedee46f84bdcd03601303c92ab8996042e55922866a59259948177c0a4496eed723523e77f6fdb DIST blosc2-rs-0.4.0+2.15.2.crate 24509 BLAKE2B 992b1652ce26684b61e87ae9b8a5dd91e0885173c7c10d9ed733bd88d061eb4319656ff62afa677cd5326f412d52a397df037f6b495d0e527adda1ac15c9c75f SHA512 b6129a3bbde2bc1ec6fe618a689cd865dd9a8881f5dfdc388129fe4202a61f726f80b2c5156acb6b860765d46180625bad7830860ae1915b6f7aa31316722a99 DIST blosc2-sys-0.4.0+2.15.2.crate 2993527 BLAKE2B 6ea578b5442f3264f2b6059b7c0c82d0f0d5087bb21bdf8adc3bbe28a7e3b82a3875c03174ba9e1d98790dcf3a64ba898f0f342edf5fd681fcb59989912b77f9 SHA512 5d25967f7e71d6f6d97e9ec8bc068f363194df41ff0447d55fefb69f45d5360941dd3451c646f34b5591d8eaf82687fc2614f67ff69f6b95e1f198936b98e777 DIST brotli-7.0.0.crate 1356970 BLAKE2B 6d060e6fe4ddd463b0b4603a067de152ba2bec9f337b5c94e790bdbac6ea28b5d9fb6404d7db5d98dd81e69dcc77698949e026f990267f388a396d37c45055a9 SHA512 577b2efc324bf461e06af94b8b509a095a917d4ecb2bfd2f3097ab4663ad699317c2fdb0b470344c762589c75dfac073b828603ce5609295ddf1748a39b75622 +DIST brotli-8.0.4.crate 751794 BLAKE2B f16bdcfc93f627a370125e0c53098d66171fb68e5566ff2d6ac7dc1960b61848061fe97e151ff49c69966665fb0b6adb22e7dc7f89aeed8801858b369a5d64a0 SHA512 86d7eae920178809df7939fdff1cbcd6d220101ce50d92c16c58a70ffb8fe08fc5fc02879d7d0a1d3f9d568314223e141e467e8181602f52a735f70fd7154f0a DIST brotli-decompressor-4.0.2.crate 193388 BLAKE2B eba06680719069c9f8f435544525848f21d0b58db9a398e920abfa9602e15a7c5a087021a7ecff808f2b8310493c42b7bc8e1c924e19c2e2816d623899454c14 SHA512 df0451a1ba23ddc187b6868ce7614c77b0bdf3e409b55416dc997bd898ab2cb25d68fd7a0ccb0dd2bd4da52c6a25985772357101df1a218bf87065c6833b0549 DIST brotli-decompressor-4.0.3.crate 193487 BLAKE2B 4ebdb127718b4767fe95a5e03c646b65de551c8571dbe7799811847d18b3dafe50a1b47e8343ca4372d4f55087b27427d207117008c4d9a9c68a7288abee2969 SHA512 a1b473a6cfd8d5b54c564bbf901cb880701b3fdc491ef9b302d71629884ca1673da7faca6786e8006588b184ac304c08ab8eb4e1c7ce399d671a6ca292bd882e +DIST brotli-decompressor-5.0.3.crate 197262 BLAKE2B f4249830be97ef277cb0869a2249297085df89b8235b28b7ab052004c113d5dc2604e4f530757a5329bf7b6a38a751f206ecbc04e4678f969a581420e28e85fc SHA512 4e65274c6b9e78cd718ec4fd4677dc775d20801c55652c95b7d02ba6955254603cf95b25d53da8ae19384be267d8214bf0066fff9bbdf074fc8d75150ee63531 DIST bumpalo-3.17.0.crate 91975 BLAKE2B b0aca1d64373425384eddcdf8d60dc977058a3d1570451de944ce48aacdb984e73a29ab64fb5b23413582d57a8e32ad8155f6a1479eb00f804afe9d8a9d9e163 SHA512 b2acfb463aa705b9c6a9555858b84f565234110988c880cdb761ab8dc87892ee5d22e65fa935d2cfef9d58869fec0ab64d810b26bf122fdd89b454b6ce65ea1f DIST bumpalo-3.20.3.crate 98671 BLAKE2B 0b658a45105ef71b599d028f8ae735bb10e843c534eebfa35d156dcc0099d137bf24179ecb5cd7d334d60f1a735897e746041975c22a6877ce88831fba050e86 SHA512 c0e8ebd1c9eaf0a093370251a8a4993f73ed925a95ec852173649e6716741e38fbe1b1bbe15dd7704722fa67e3113f82a76b3e9edb5691f3b5c68a3a55b0c039 DIST bzip2-0.4.4.crate 34197 BLAKE2B b69f8ad38b44eb4912b33d53467492b0ebe6ed740451bdfe9133e71c47a8dbd85b1110a9607c4cc627fbabc44cd86fe0396bb545864632ffb6169f9cfa547b6c SHA512 9cd2b9159bd0b42ac908ecad41f0a737272af94ae0d6dcfe182d2f44bcea4632d32b0456f02322047ea9d6f46377db6cd083f468782bccd6126bcc75cb852555 @@ -42,14 +45,22 @@ DIST cmake-0.1.58.crate 20474 BLAKE2B 4a6bf6a74e2007223fff06df2f87032efeebcbd12b DIST colorchoice-1.0.3.crate 7923 BLAKE2B 7055fe61677143f0d4445ed5f6be2cbc284c155aa6ceac04df6f3fa2563a225e440ba708bf40e298ad09775ab7c7e1842b5f6dd78422b06dbd1250908e3227ee SHA512 fc26696189d3935d5510a1237504339c1f354d03ffd3b4e830b7080335aa778bc72787ac5fa9a67a731b9bde2788da778d497f2ef97ec68bdec5145fedf4cd14 DIST colorchoice-1.0.5.crate 8187 BLAKE2B d6415c5b337e2f4f5176003082e6e8c52f55a45ff959376e7a3f30e5aab1ecd3f84f9cc5e7a8a720398c1b58f99a07cf042695adb0b35178931178cc8d77d2e8 SHA512 af3a5e7e837b280cd8f0578d2ba2a04443d4c5a445577f444af9edeef6cdb47de134f77b07ceda76ea6b2c73b9c10e1d7e3e1beabfd22b85869585c35db88bd5 DIST copy_dir-0.1.3.crate 5831 BLAKE2B de7e655e9716500db72cdb16394cf76a50f7b9861b9df6e0bd0a450b9475112f7e3ba3bc53ffde2c74ce540f4a48e2703f8e5ce83ad8cbfae06e51c16b2cdc63 SHA512 cd83244960be0bae32ab0480d1057c8a99e4bfd1c4622eb0b85692f2255ccac38678e608c663cf76ccf11d8c0d2415b15ebfd8328efdfbb37bca448245338fa2 +DIST cpufeatures-0.2.17.crate 13466 BLAKE2B c6392b635542a6fe29958fabe7ce725354a31e24f6f144718553218247881013f56659d2efc671d47394294373db2d4ff8f45c7cb520ac22f2ee5c462858a1dc SHA512 9ae64656a21cfdd0528d87ba95f6213860bf72ccdf866019e65ed6662633e73490f92c42c80125559b3dbb7822090b5faa8ea564c562e04041232809ec2f58a2 DIST cramjam-2.12.0.tar.gz 89945 BLAKE2B 6eb3146c6fed33c74b85babe34965ebd924529e33d1910513fbcea8eaaffd3de74c75227cc0eaabfa02e5e1afc03a4ce69ae6dd679528d63b697acd0f5af2653 SHA512 1dab0f2c6910f4e8613617bfb8e6763785efefaffb7455630ca2b18d71cae0fa8e30b2cf50340ebe1ab022d9790531fce56feca4f1aea92f8858e547c2abc4dc DIST cramjam-2.12.0.tar.gz.provenance 9902 BLAKE2B 132b44a32f9372c33b7acdd69759014649b3d51a948786676370663b1313728e944b48079864a7aa6f95956d08cca3e8996d8ed3f19774cc60c6e79958725b3a SHA512 29330e4a1b6bb607e0d047ee71d4f2e64f1a33e20da86bb39f36c8946d3f662704e0b192b7585cb77174d7501812d75c9abb75a0279682c4791ad3ea5e8a456e DIST cramjam-2.12.1.tar.gz 89977 BLAKE2B 83c83c7fb0f2cef2c2bed9c3ea0577d0eb27e33aa4b960a006444495caea5de8f583e46d3e7e83e2b99d20c8602c3c38337dff836a0b7fa44647d862919a2951 SHA512 2b3c59c14e6432b0d68fe56d8ea7b59b549e7503edd9ca7d265100d7b0d1bcacbb73c0c9ef532a432038ea8d11c3a64bc2e61f6762a76af089e25bfe69b1424d DIST cramjam-2.12.1.tar.gz.provenance 9663 BLAKE2B 00f118e397d8284b7ea5375794fa4060bca7189307036c486ee8537460e633c4bd3a9ddc20c4ba75ea9b91b886ee83da108a64f0bf7e86c0a8693d0b9fc77580 SHA512 d1a55daa730d440ed51df7fefa5bdbcf1fbfa54bc2c1988c0b768f3e00dac0febfb78b25b6961c234ed0c79e8020487592cf7c4be5e28955cadd6625c013bf9c DIST cramjam-2.13.0.tar.gz 93659 BLAKE2B 8e4155056cd79ad3efbfe5a6cd1e48268d428a2441ccfeed37d75e019d5ba4c7595d08e544e06036e9c3a697e2a8f11fd8c5a6548dce70e08ab7763551846190 SHA512 c128a045b0674cbdda1a41273242df09df50db494a8cb0bf9b99f03794ee509d80c25ee21d2686f21b392b35407a598d47a54b7904156a025b62bbad5878ee10 DIST cramjam-2.13.0.tar.gz.provenance 9898 BLAKE2B a967ec7171c25f355722ab130eecc708dca9ce9b2a80bcb389925123d202a830ee566d428fcc75960f8e445cfc1e332ad0784dfc1ea7d01a751f7ad8080e8df0 SHA512 bdbfe44b6db7ced0cb47f41b6c6cdfb1023306e900768717911308afb6357db01cfe4ae8b24aebe4f52981d1bbc928c56c8c40d3537e86815502484b8f605d99 +DIST cramjam-2.14.0.tar.gz 97944 BLAKE2B 5a9807675f4566b634a076a9f969542f3ef4ca12008faeb588c4b683d230321cd5c8035ec0b780434b2ae3065d3278548321eda5c73c90f42f5c649dca23a454 SHA512 563bb65b3b733818ef2581e7177528b0a4fd263b9c8a4085e75439c65ed307349328134de7f2e00ebfe27bb67df9d8285a5625eb4b520df7801dcfb9fdf8898f +DIST cramjam-2.14.0.tar.gz.provenance 9539 BLAKE2B e93e27e3e47e88ffa7138fe1a99f1a9cb9d99776d510543a766c9e234335018d312ce20d12ed792345ac040c358f48743fd9a16b7b136566981f19389c156e62 SHA512 6e1d87b54b13cd3e0083f169f52004b6e4c0e23c4ca44556b0dc0bfc73cc7437b7f1f94baa1fe1b3b579175ccbb9d3a1837393cbe371c17eb61d8bdd06b883e9 +DIST crc-3.3.0.crate 13905 BLAKE2B c48db7059c75991f4a4898f498aae0fe9c56e7ba1ee7d89c4f48e1b1cb2584fc5e33164444b71be13539d50aaa1f5454190cf4638557e358fa856500b7a9b3e8 SHA512 ac1d7ded584a13aced97ec71b2c6fc88b4b9630183132dc11d692fa7b23e108b14cacef8ac785ded0df6fc8c4494936df1b4afd9326b84dc30757f3f1c29f203 +DIST crc-catalog-2.5.0.crate 18057 BLAKE2B 24b5eb13b490beb05b782ed8557d29e3d10f87620dd38be1abfc19306087295ad37b0f5dc754c71f4802d5718a5e86b9e8695f7b6d1cee52a0e7e506cb881036 SHA512 4c6d9d2fa5d985e3744e4f4ddc673d7bdbb9658deb84a7b3e8f32a6a52a26fa01d90d8ffe5c525ba7329098fcb3f18193c39397f87c8b9696b6f87a0f01d7e68 +DIST crc-fast-1.9.0.crate 195156 BLAKE2B fbcb902bd00a3e2e2131e940eeb3d728a9c3e4be3f3528d2b29fa6c66fbf5e865565a4da8f24a0e2a4e982d0533d394cfcd79acccb631fb13e24a9e4f9382948 SHA512 415ced9f5ea75a3095427a7f6c4bdfbaff47d016c233723b3de07ba21ee403ed3ae24ad8be9678b297cbb10318d9befb09e6dacae7618e2a90e6254bb3442763 DIST crc32fast-1.4.2.crate 38491 BLAKE2B aaa3acca66e5814a45f12a90ae09f6ff5fc14ca94c8539184dab6ed928abc68cd1d37e539c268c1effd50ab3af20de6038593fb9c6bd6a664785dac52f6939fd SHA512 c7608d33022062e217d3576f536ffbd51479855a5e5874529c71db2bf6a937ce04d814c39cf777309c38445393bf43cb9996161947e28738abd432f11beb7266 DIST crc32fast-1.5.2.crate 48100 BLAKE2B a1a45951e7a012a3c09ecb713a3df52798ff82b67c2a51c3db9ffb0d4bc3122cca3ba973cd4e3cacd2818431bc227b1d05b9f58e425c375542cfe7ef874dd1c8 SHA512 7eed3a62d3925e90c136271e9e93100052e98b5fc4023277df97496a6b583648638c23db01d624d4aafd4efc22d38385713b386b4121e1ff554d7d5487a7fa6c +DIST crypto-common-0.1.7.crate 9619 BLAKE2B b9a31ed6f3f06e0709e7c5a86a146018c9ef67e366f27c1d4fe07461d97810951eec60e92ec1531e365bfb9ab1b4cfbdd86b6cefd8b06ef2aa170c38f3c9cae0 SHA512 dcf3a6fc81f2b6528696dc762427fb198faa9b5effe1ee9fbda795da08b0560cfd6c286b55f1360864e95284bd9a52edabcf39fa9bcce71ff0621dbfef538c82 +DIST digest-0.10.7.crate 19557 BLAKE2B 61e69d78cb8d6850ae26ad7ff2d52dd6dce820d8c621230def11cc0e8aa6d883a6e1b25340fb45748db52a8ccf3c8d36a8aa0c8cdf4d4eeb4e3f870d86abe09a SHA512 0dd8c012468ab9011b89413ea4d3647d95b1f683b020a0e6274c95ed5148638b56fef19cd9044c837ad53715b582b88eed277fe96e917c27c5d7abdbf7c3794c DIST equivalent-1.0.2.crate 7419 BLAKE2B 7ce4fb7b911961cd4ccfb48323eea4952110a069789c6bd177a63391c270df861afadd00c07db7b22768f0864f320e429e0200c433284f528336e2f81d071eff SHA512 8e0e2dc070794a85b276e93f9e4a65d3bbb8587b33fda211c34479a0b88504c913d8bef9e84d7996254aeabe1efe4ff1ef6259ff4fe3f9ccb90dd90070b3e4d4 DIST errno-0.3.10.crate 11824 BLAKE2B f9976b538868daba3cd2d47ff2fdcda16b4a436ca767f865f23d1139e7f232aba263dd4aa38d573442c762999c8a8beab8a4a8c10649d21b49090fa65ced1ec7 SHA512 fa4b9a368f254cd90c6f69f6883af4c579829a6da6f31481a1b527ac9602c8ffcb5e9518cdc32c39b5589c151a20e75a7300c8a907d178346185ecc6e8749f3f DIST errno-0.3.14.crate 12002 BLAKE2B 57fd842a717086ffdcfa5102a8c52bf8210672820366d78aadb6f159055917477e6771e9fbda88787278bf3a116bc7253dcb705b601e54038a93a1820c3c287a SHA512 1de95c9806323d63e7cc95111e67b3ba1ee4b9d47b70cec33485194574d6b584d22ff877dfbc244317822721291d537d9509ae5e46f1b45169cb478a78322366 @@ -58,6 +69,7 @@ DIST fastrand-2.5.0.crate 20782 BLAKE2B 6c32deb12c2e946e8eff86a0bafc5a9c4b6ecbd3 DIST find-msvc-tools-0.1.14.crate 31390 BLAKE2B 4f16341326d5ace165e087b3c24d1400f43693ce9378b9f70ccdf1174d92b588173c700107ece3466090113f145e7fe7b8eaf937ded7bdbfc2d14122c7ab1c3e SHA512 7257d40931c65d7dfe2a1147c0d3d472efdf17d4142c7660f0e4529d1d818562d66ae95d4e233c7e73749f7e842a2c38e4c43fca59db9bca8f1f21056e403ed0 DIST flate2-1.1.0.crate 110650 BLAKE2B 1245a0050ac2f6c966b0c869f772c24544206e1e29ac7bfbd1bb20aff20151f50332e3f2bfcc3edcabdde706b4ac9180e393e4944216183f7319c3b09bf5bc12 SHA512 7f240d413aeead2fd15c0b4cab1ea45b99987c185968ccc22778ecc7e08ff32ad6fd44abcf763a7c708f5bb7c43b325aaaeb30ea9bcea2b0917c9f7542bbcbdb DIST flate2-1.1.10.crate 80244 BLAKE2B 4adbcc646e5c144d29ab5480fa187555117c7103f841efcfd3f362bfc1161953a1a19dbca517e367874c49a66729421bda268a72dcf82805da5cd2505ac0c02b SHA512 da94c8ecd453d3a4df11efcfd27d3412acb5304701bda9fc57f8607ffe366aa369e795e1e7d332e736b8a9426d1e33b87e6765133d97d8258f403ca71375c2a5 +DIST generic-array-0.14.7.crate 15950 BLAKE2B e74c785e3127095625951da192a018281ea9976aaeb11019f9088c3f27748c5fed1ef25d577150864486dc48b5138d6892e42f99979339f711a66fc70756c82b SHA512 363a7b04e4102f9ca63d429721c1ada6272be6bf0a2e97da681faf76381f73f0e3acb86623b9ce2dae441de9fda704088391779b9769ec02b3c8c9f9f35f897d DIST getrandom-0.3.1.crate 42449 BLAKE2B dd70e0abfd27a7c363ce1b91746ef7568edf1d176d5575201623b6403f3a503b5d8503d10ba01d055f9de61cd8092729d34ac8f0f4f9fc6ad79b9fce926720d1 SHA512 431682efdc2ba82114e173925b99e1059d4915ebec6b0432d4a7683e56ccff7b4b45b9ee9cf5d0ee53067d5ae1ba733524c18577379c8414c385189718fbbcfe DIST getrandom-0.3.4.crate 50932 BLAKE2B 34165a6994877aeaf3063affd48eb499512371a1fdc0d890feee598b5e22c14cb8347642a0e9374cd5d8a59a8281db839e45923769260312379321bef54c687d SHA512 43c44ec3ba0668f388519b2cefbee63f959f0e078730b3f7563742522e5f4b120472024b95fc94aeb90900a15d327c3573271bb26b2de4785e589a8bc1bc9da8 DIST hashbrown-0.15.2.crate 138478 BLAKE2B 453888ce68b10cd6e93d787986603fceb29b83fe2dc417e7e57316b9e0060d0bba51ec7fb71d46a038662c99f60deac8237a8f349297208d1d223bcc13f0d0ea SHA512 d6fc0613623f9313533dfcab1240e97f652f78f05baa21419f7edb2eff030c4a2c5f426d3eaae747923cffdd8aa9cc2648340e5fc229395b5eacc6fae087c8cd @@ -78,6 +90,7 @@ DIST libc-0.2.170.crate 760076 BLAKE2B 5deb440e04b0614cf5ec5a379d66b0f05f6f3eec1 DIST libc-0.2.189.crate 851502 BLAKE2B 05155a249c6880ca96a19bbb7569d4ca7530f544504e4ccb48db1ebca0b70d84e99c6b9532adb9dfbb3d4d1187eca22698a6b2ba6ae40bebf5d6eafdae86c71d SHA512 0cf621171ed4e6bbfeb71fb582ebf037d62ab481bc406ca2fb766bd4a8416f220a189325a0d3cb3e3cb39d80e09312516ca6335fad71b329c5fccddabedf4110 DIST libcramjam-0.7.0.crate 16831 BLAKE2B 76b27470c877c3eff29b6031082a42856651ee86500115ce5f9a90978db3e0083159e9652b7b3d7382dae5a29c1474f577c5f03e0348e25819c6b2e711ab6358 SHA512 e1563b0dd71f8b2fbc0d91ecfb724f6d037fe9eb6084680b2f9ad934cfb987710dee6555c12f2d6eaacadb8ae0794459c8acd0204a88eda52eeabc4e214c9d81 DIST libcramjam-0.8.0.crate 20996 BLAKE2B b2d8de0b0dd660f2da5b00d193b6daad01d685e3709e98e8d21a372726fcf88769206ff6f087fa679bc89c0a97b19f24f59546cecb42f79b15a0e9b24982a4fd SHA512 006c2c23aa2fed7ab976bd08c72b96c8ee99e7a225b1ea7532012a916c09f72147bd07027e19d8b8d81abb5f3d62b44e6bf9924e52f08afd2faa9dd9584d3413 +DIST libcramjam-0.9.1.crate 280601 BLAKE2B 0135e47e2f9fa6bb751304146401d58725101973b88bda8b12a4ca637abc74fd9b6db8902ffcb43ae66f8fc5907a958830974e0cb32c4ac57256866ff533d767 SHA512 feae4d57a900d2e628b689cb563ceedf685db8b4873e70c4a5bf3e8d8cad78d203511c0ff1c563d25adb97cf6c903ac03477343196ac4660e4bf2e36cc19ccd0 DIST libdeflate-sys-1.19.3.crate 192512 BLAKE2B b8417cc872e5038e9177179dde7f8c5eafdcbba273ff0c1fd107ec286cd54f4a0e3c3e4b3df55db5364d39d49f803539ee5b649526cd5e057a3d2d4beee42fed SHA512 c1b708672f6ce85579e5dda2537fe6804e73d92053a08387b2ec09388f0697fa3230298931116f482ae4242a0bf7afda9d8f309a13222ef5dee94f56a009890e DIST linux-raw-sys-0.12.1.crate 3006116 BLAKE2B e23efa27e6052034d41b2149f90d1ee7d6b905808605296ebed66f5fff210c4c18c51ee9c363bd0b93c8e17bc3b70857b594aaf51d44492051291c0e008f8cef SHA512 5cfe8f7e88a2125dda56a3f7a7213fb41cbdb51ddf4f7e44deec21f5b7aa05530e04f67d1b89b9d99d9fb204f27167d8c0e104e6ee6e62a780bcaa679155bb54 DIST linux-raw-sys-0.4.15.crate 2150898 BLAKE2B d1936eb74377d9bfddccef3830b56eb716c38ea3cb7e13b73325dfd00f9fc0df74bae49e4214dd7f27c257403b8b12cd1ef332d53336279d13f7e9497caf4135 SHA512 b5c39181fb6b901abddd8b2e7b449142e2e5691cddadb8e6b74ddc3b53076b1d410522cfa45af68dd18befd24ff12313c2494cf2cb0cf142e2228bfe42014309 @@ -130,6 +143,7 @@ DIST serde_json-1.0.139.crate 154839 BLAKE2B 5e04fb3ba8da9407e92ec450392cac99ad8 DIST serde_json-1.0.151.crate 156556 BLAKE2B 3d9744a6d247000a03585ac59dbda46e804746a8ee5e912744d06c9a82828d9c3997bfa61876955896df732b219db4628f99aec669eb2f25459f2f37f7d5ede2 SHA512 351407187b98416a57d4d9b380cfdfd28acb10af0b3e9b9eaac3a4810ed4b58bc3572d97dc7cb4a45b0284466787ca82952ca6659fb37fb23afac40da0d4f315 DIST serde_spanned-0.6.8.crate 9330 BLAKE2B 630bb2cabd74e8d9736e315ac57c4d2c5c4f72264aab35ecc8e0040cb4186885722051a9f7b8a9006fd121fe58428cbb151e5cf541e7de30b6528c84e968f7ac SHA512 2343a2fda35ff57ed8ff7d8eeadd651821fce7e22f91c2d5797c6af7db9e009b7d637382f6f390c17911912865a5aea1ce87a86fbe36f4b6aeccb065a4c8942d DIST serde_spanned-0.6.9.crate 10210 BLAKE2B 6b3a623aeddbf9b11dfded1a6491e8b629875dab69906797c118c9182f62f45dd77b3d2132f731cce917c60887485edcaaa138894724f2e608b55096ca2f29d0 SHA512 7bea513792e7712d9672d890c0b80df8e212c90b22c6ffbaa290729a0f89d04e3b7a65a8b39b774d2203cbea2515047789de163f93c8839cfba8cc88737ca5f2 +DIST sha2-0.10.9.crate 29271 BLAKE2B 1d614e0efe085cdb40e05726578a9b4ca6bce93f6d3324f5dc0444cb37054912cdaf5d28d468eac2c0046030d920fced2ccd006953b80865ce8a2d43ef3daa81 SHA512 963adeeb4ed8b0e7fc19085e8721ea13e9b3aea5d115ca1b3dbca495ad14810c6450991dd3753807c293c415aaeb1054b8b4124c72e7090cd9e86f09fcbb4f80 DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a DIST shlex-2.0.1.crate 19332 BLAKE2B db2b6c5f7f30ad2f968d2dd386d39b362b8d19d7e17fffbb7407d6f35a4e165432b6607f3897c66cf8d32bf6e795ba7297080608c855b796fcf19842f4c509fa SHA512 d1bf35e2c5a93c718d3cc395fc4b06cc0c42d4891c0f37247de7e179492478020f0c57ae74c461d5bb1f833b071fd5c036d8d6d6ab8b61be6140cb64ae525921 DIST simd-adler32-0.3.10.crate 18760 BLAKE2B 4c40e9cb6a9c153bac66674c5455483564c705ce54141912eb5c5c54c4aafc2b568f56b115396f5f3626f7afc78068a66fc6377dce5e24859574ecd9a5f90c46 SHA512 21cbd5ec350272fc037b5ab4f235a9746c7e878ed00ae5db67dffc15648e9e839b01fdf54c8b054c79a8d9a39255bbd58c6283355653bdb641467d1ab13ecdfb @@ -137,6 +151,7 @@ DIST smallvec-1.14.0.crate 35561 BLAKE2B aa8ee61800a6d13eda5acb4e9dc035431608494 DIST smallvec-1.16.2.crate 34874 BLAKE2B 66535147385d84068958d2d6a573d93b328c7c29768e4a87eab04f898651f760c48776563c4632f94b09290223ea56b21e839e8082d047246e34dcfcedaf60ef SHA512 672edd712fbc9643cc7a72590eeb6558a372a1ac29bb0f6b71f086c4c89618322cbf72292f1e1fbd06eff2ef1ac48b1c8c8c8a397d5641817f6b21a4d65adc3e DIST snap-1.1.1.crate 33763 BLAKE2B 97e8dfffd23684539e4788740a5cbe35ed8808886087188106c2c9f0d5ffd45057dc5c5a1f1664c2b654bd2924580cd8880a09706813afd4b00d916463f17095 SHA512 8bdd04c555ff3b60ffed9fc6e0ea38168e60d0d340f488950d25164c69e274bcfe832d2db1142ee8c4758e6e2a0b72b5f4b89a267ec9778a64ae8366a2cd472f DIST snap-1.1.2.crate 34083 BLAKE2B e8ef546ff147807dfaded5f2506e58216642c4a7f77785baebc70b2af32da4f5aee969935febbb40c0a88cae645c96891d2e5afe3253fc753e7eb3ba2c4d8c08 SHA512 20e6e38887cec1d418952ab44173c16a4f6dc14baeadc43b31a651cf7b3d1684b872b5002e636622d61fb01770e6d921c5b46d02b4dd193f83796df694c03d8c +DIST spin-0.10.1.crate 40591 BLAKE2B 4e807f07b67a7b4e78f31617b91a7979df576796dfc8ce5a70b680c12485be041b05f051b5916892ab5aecc6bcde9d670cdf963b482f753f91ddcb4d61481a9d SHA512 034a27addbdb4d2f182e193e872f5ae7ac5e3bd01036c46c540b00ea5acab38bdde5b5c764052b5ce1ad0d882e5814f404e3d092a7ac3b4d352c622637a353a4 DIST strsim-0.11.1.crate 14266 BLAKE2B 252a9ede4241b165525486aa8855dece37af77f5b28e0e1858c4a5d2047db9fa958328db10989234aad69463ab51b2303785ec056c63ea8c95bf95e111ddabf2 SHA512 0cebe0155a92640e56db9a599ae62078cbb32e1d2da8bfa67ed0e8f410a7558dfcf7b3c2720ff5913282e291ecf076aed9fe9bf84c8d44e814a642b1bed3335c DIST syn-2.0.119.crate 307407 BLAKE2B 0be3bce1250db4818af7246a03352ab50faeca02b81126fd623bd473d7223693f43914e88e07baa0d7fa5473192e390406165f83e00dbff048c1ea373085eced SHA512 4f2493e334b71c2b0c467e19915d385942c10dc4c0142dd989dcfab9809dea552c45ac3da0b0039956a961f7aca2973c0845c6978e9dfe25c03fdc52dfb1dec0 DIST syn-2.0.98.crate 297807 BLAKE2B b17e2bb4f151fba26debb722bda8e8677dcc4f57f0e88bec214f8b06e9b15c48731ca3f63d1453a44f34845c9895b3519008ce6cfb69746486324d7a8e0e0c20 SHA512 792dc70249d55face151b5481b0ebabbd3d290de78cff8b5dad8bee08e5a932ee22e54ca5fc5980e0b218197d19822c3672e02eb92ca74c8ac1328081d4d2cbf @@ -151,9 +166,11 @@ DIST toml_datetime-0.6.8.crate 12028 BLAKE2B 62113366771f22b437b2ed0d3bb2489ae90 DIST toml_edit-0.22.24.crate 106399 BLAKE2B 7a28b08a5eac9c9d43243173e1b87f763127d4685f07e4792cb7bdf3d871faafd183129eac29c6785718a48b7f8e8804a9a568ac7d0b6af26c5fdc53e37f1475 SHA512 67798e7ec7b2cdbe895b0edbb50f5fcb86a11acc674605a42795e15ee5ceb8d1a3cc1249c6a914b397574ee4bcb7ffd7417598f766c6f36215ab5f5761134319 DIST toml_edit-0.22.27.crate 78602 BLAKE2B 32b8baf55fbafbf6d176ec696f93c06dee4867cc7fab4dae9f01651d84d61e5e98b3eb37adbe1787c125f48c391c57abcc268a04a2118bc0ea37d0567955f8a1 SHA512 844832ab59928dab567b3084f7458a9a8ab1ad0065ff057c1203bedcfa9bafe4c7a36e723340c73279e56bf797dd7fdad6d78e4a2bf6666a414d6c44f750f466 DIST toml_write-0.1.2.crate 15660 BLAKE2B 8db23ea7131d61e57fc20ee3e26c62c95448953b9962b63c7ffeed78d1a057b447ffcf2308666b97c294a62e8ec570f77d5eccab3637c17f2dcfadee54d202f6 SHA512 240b04a964fb49f36d8ef5cecd7123018c19a084caa3f64098790b96e85491918a32cc8ef78412c4d8b82034a616706f8c7bf023435a28be3fac3ae00c453894 +DIST typenum-1.20.1.crate 105479 BLAKE2B aa3ff221502fb140dd500c302b09279f5d161123093d0f97d7b1a8761ae465ec71f7035109651e483b735121f8267ca2ff21a64825e9a91f83fcce4e7e1192d6 SHA512 ad4768b49dc06808e3135411ffaf21453572d152f71d73c34b7fe5d00e276d3e121dc78ebed57d620cf46b5ab24b5b5e0787f38ad9ce8bd12330b499cbbde5e1 DIST unicode-ident-1.0.17.crate 47704 BLAKE2B cafb0d9dbeabd44d45c73dfec9855d9cc8e41482ff75b7b1f4fc4423e2eeb2a5a04f7e3ce0f721fda6acf1e02f2bae77c6bb346b48bc26ab1972255b080c190d SHA512 1eaf422163126796f3181f8a3cee319ce0492e75c0c293def441872b39eba8282a95e058d0fd5dd39a8d6f3304d4ae13420a0eed901f71c157d5da99e08e1437 DIST unicode-ident-1.0.26.crate 48425 BLAKE2B d615360eb4874b898657770cd8adcb39350e51dbc76a3109f5e0589a8017b89e19b13a49c0170643cd4988296482bdc293f22437d44f06a1e0af9b76b3a0fa1c SHA512 216d13c655e47dddf888fac997a6345bb7c6d1f0ab6b67ed06bfd9013a891fda8e9e8d71b763639957c15b951145ffd77243ee2056a20ed809d2cae48502c472 DIST utf8parse-0.2.2.crate 13499 BLAKE2B 095b5d219ab8ff04c06fd6303e03d913ae36a57845f0b2ca3217a40e31a54cb0fb5ecedbde165d28f5f60f1553d8252986d7098fa83befc84a7cb20bf3b76144 SHA512 f3dbf78fe924f1dc3cf9498b6e43fb10174699463f31091a7a8136d8f31ec84fc00e80e3d8551b7e86257e8b3573cfddb56fc0de797fdb2cde0e962a8f239266 +DIST version_check-0.9.5.crate 15554 BLAKE2B 131e75cc287518831e142430e2a39b48e4275874f4473780d47a27552294097aa1cddb65c385583e1022478f940b495eb43c24a8b1617b8ac5a24af3340c0d72 SHA512 d11d5a2240ab0c67ea69db56561ce202201edeef9a8e5eda3d9ae7ab7bb5752d8f343fe7f6536d8383de8d55f9024efa84f66a0c21e69563b7a38c4a628014db DIST walkdir-2.5.0.crate 23951 BLAKE2B a2d3a973f206e94699adec0263dd5e211347722cf3ab82536295019268b3125084da5dbcad818070bfdcb6a5de08da4eb483475bc225a829f58a1e3e040b5fba SHA512 da36a121dc6656942dc9cd9887fcf4f6eea7750354ef3f59c7c25d836e7afe06f33260b4d55d0d99421104ed4ce56ef2a1f0f4c3b713766fff90548c21793fad DIST wasi-0.13.3+wasi-0.2.2.crate 136754 BLAKE2B a17e2670caed033c1b2e2bd709a79c1dff5d0ff46b32e9d9b0faceac2b3350397e7bc6ce113a9275c400537121c9d853130b4bd546afbf0bcd248f4c69d8a708 SHA512 c0b0ce3c4d82ad7350e017fda565a69cf91186ebc41a1c5bc21a6e2fd2f0d8e7d90bcd60488074da6062ac1fa39c684ddd8ee1d8efd66e82eff36ddb16682abd DIST wasip2-1.0.1+wasi-0.2.4.crate 132087 BLAKE2B 9ae5188981d55ab0cfc52668cd822bedde6b03104990bcd070f459a39ef75699a792bfbd33766cdfae852147c2f3ea236aa1d1b792e85c56be21b74aee2232af SHA512 56b88f97224b6b9763f4d2572e986609fc86a98f597930b5cbc8095d4184a0279286c8c79f6ace19bb08ba08854a408a61004bdc6b2f3b72d4f3fcb5e43edceb diff --git a/dev-python/cramjam/cramjam-2.14.0.ebuild b/dev-python/cramjam/cramjam-2.14.0.ebuild new file mode 100644 index 000000000000..ec4fc063cd0c --- /dev/null +++ b/dev-python/cramjam/cramjam-2.14.0.ebuild @@ -0,0 +1,247 @@ +# Copyright 2024-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYPI_VERIFY_REPO=https://github.com/milesgranger/cramjam +PYTHON_COMPAT=( python3_{13..14} ) + +RUST_MIN_VER="1.83.0" +# Note: you need to use top-level Cargo.lock to generate the crate list. +CRATES=" + adler2@2.0.1 + alloc-no-stdlib@2.0.4 + alloc-stdlib@0.2.2 + anstream@0.6.18 + anstyle-parse@0.2.6 + anstyle-query@1.1.2 + anstyle-wincon@3.0.7 + anstyle@1.0.10 + autocfg@1.4.0 + bitflags@2.9.0 + block-buffer@0.10.4 + blosc2-rs@0.4.0+2.15.2 + blosc2-sys@0.4.0+2.15.2 + brotli-decompressor@4.0.2 + brotli-decompressor@5.0.3 + brotli@7.0.0 + brotli@8.0.4 + bumpalo@3.17.0 + bzip2-sys@0.1.13+1.0.8 + bzip2@0.5.2 + cbindgen@0.27.0 + cc@1.2.16 + cfg-if@1.0.0 + clap@4.5.31 + clap_builder@4.5.31 + clap_lex@0.7.4 + cmake@0.1.54 + colorchoice@1.0.3 + copy_dir@0.1.3 + cpufeatures@0.2.17 + crc-catalog@2.5.0 + crc-fast@1.9.0 + crc32fast@1.4.2 + crc@3.3.0 + crypto-common@0.1.7 + digest@0.10.7 + equivalent@1.0.2 + errno@0.3.10 + fastrand@2.3.0 + flate2@1.1.10 + generic-array@0.14.7 + getrandom@0.3.1 + hashbrown@0.15.2 + heck@0.4.1 + heck@0.5.0 + indexmap@2.7.1 + is_terminal_polyfill@1.70.1 + isal-rs@0.5.3+496255c + isal-sys@0.5.3+496255c + itoa@1.0.14 + jobserver@0.1.32 + libc@0.2.170 + libcramjam@0.7.0 + libcramjam@0.9.1 + linux-raw-sys@0.4.15 + lock_api@0.4.12 + log@0.4.26 + lz4-sys@1.11.1+lz4-1.10.0 + lz4@1.28.1 + lzma-sys@0.1.20 + memchr@2.7.4 + miniz_oxide@0.9.1 + once_cell@1.21.4 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + pkg-config@0.3.31 + portable-atomic@1.11.0 + proc-macro2@1.0.93 + pyo3-build-config@0.29.2 + pyo3-ffi@0.29.2 + pyo3-macros-backend@0.29.2 + pyo3-macros@0.29.2 + pyo3@0.29.2 + quote@1.0.38 + redox_syscall@0.5.9 + rustix@0.38.44 + rustversion@1.0.21 + ryu@1.0.19 + same-file@1.0.6 + scopeguard@1.2.0 + serde@1.0.218 + serde_derive@1.0.218 + serde_json@1.0.139 + serde_spanned@0.6.8 + sha2@0.10.9 + shlex@1.3.0 + simd-adler32@0.3.10 + smallvec@1.14.0 + snap@1.1.1 + spin@0.10.1 + strsim@0.11.1 + syn@2.0.98 + target-lexicon@0.13.5 + tempfile@3.17.1 + toml@0.8.20 + toml_datetime@0.6.8 + toml_edit@0.22.24 + typenum@1.20.1 + unicode-ident@1.0.17 + utf8parse@0.2.2 + version_check@0.9.5 + walkdir@2.5.0 + wasi@0.13.3+wasi-0.2.2 + wasm-bindgen-backend@0.2.100 + wasm-bindgen-macro-support@0.2.100 + wasm-bindgen-macro@0.2.100 + wasm-bindgen-shared@0.2.100 + wasm-bindgen@0.2.100 + winapi-util@0.1.9 + windows-sys@0.59.0 + windows-targets@0.52.6 + windows_aarch64_gnullvm@0.52.6 + windows_aarch64_msvc@0.52.6 + windows_i686_gnu@0.52.6 + windows_i686_gnullvm@0.52.6 + windows_i686_msvc@0.52.6 + windows_x86_64_gnu@0.52.6 + windows_x86_64_gnullvm@0.52.6 + windows_x86_64_msvc@0.52.6 + winnow@0.7.3 + wit-bindgen-rt@0.33.0 + xz2@0.1.7 + zlib-rs@0.6.8 + zstd-safe@7.3.0 + zstd-sys@2.1.0+zstd.1.5.7 + zstd@0.13.3 +" + +inherit cargo distutils-r1 pypi + +DESCRIPTION="Thin Python bindings to de/compression algorithms in Rust" +HOMEPAGE=" + https://github.com/milesgranger/cramjam/ + https://pypi.org/project/cramjam/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0-with-LLVM-exceptions BSD MIT MPL-2.0 Unicode-3.0 ZLIB + || ( Apache-2.0 Boost-1.0 ) +" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~sparc ~x86" + +DEPEND=" + app-arch/bzip2:= + app-arch/lz4:= + app-arch/xz-utils:= + app-arch/zstd:= + dev-libs/isa-l:= +" +# dev-libs/c-blosc2:= +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + test? ( + dev-python/numpy[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( hypothesis ) +# horrible workaround for https://github.com/milesgranger/cramjam/issues/201 +EPYTEST_RERUNS=5 +distutils_enable_tests pytest + +QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/cramjam/cramjam.*.so" + +src_unpack() { + pypi_src_unpack + cargo_crate_unpack + cargo_gen_config +} + +src_prepare() { + sed -i -e '/strip/d' pyproject.toml || die + distutils-r1_src_prepare + export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 + + # strip all the bundled C libraries + find "${ECARGO_VENDOR}"/*-sys-* \ + -name '*.c' -delete || die + + # https://github.com/10XGenomics/lz4-rs/pull/39 + pushd "${ECARGO_VENDOR}"/lz4-sys* >/dev/null || Die + eapply -p2 "${FILESDIR}/lz4-sys-unbundle-lz4.patch" + popd >/dev/null || die + + # https://github.com/milesgranger/isal-rs/pull/25 (cheap workaround) + sed -i -e '/default/d' "${ECARGO_VENDOR}"/isal-sys*/Cargo.toml || die + + # enable system libraries where supported + export ZSTD_SYS_USE_PKG_CONFIG=1 + + # bzip2-sys requires a pkg-config file + # https://github.com/alexcrichton/bzip2-rs/issues/104 + mkdir "${T}/pkg-config" || die + export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}} + cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die + Name: bzip2 + Version: 9999 + Description: + Libs: -lbz2 + EOF + + local features=( + extension-module + + snappy + lz4 + bzip2 + brotli + zstd + + xz-shared + igzip-shared + ideflate-shared + izlib-shared + use-system-isal-shared + gzip-shared + zlib-shared + deflate-shared + ) + local features_s=${features[*]} + + DISTUTILS_ARGS=( + --no-default-features + --features="${features_s// /,}" + ) +} diff --git a/dev-python/dissononce/Manifest b/dev-python/dissononce/Manifest deleted file mode 100644 index 1239824160f9..000000000000 --- a/dev-python/dissononce/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST dissononce-0.34.3.gh.tar.gz 594227 BLAKE2B e37ce7a41aa71f36a60b14b3da50df5c387aa64c472a48fe76d66f05ee495673b2719fb0ca0fab196992c4920eeba72701d47defceb70c2d85f5f894d13d40dd SHA512 f192c3f6abc3943fa8fffe959d3db74e810483c9f5868cc128a851ffc42069d084c0d935ca74fd45d5bcce3fe2cfeeb788094dc34f0567ed709ddfb57275fa18 diff --git a/dev-python/dissononce/dissononce-0.34.3-r3.ebuild b/dev-python/dissononce/dissononce-0.34.3-r3.ebuild deleted file mode 100644 index ea9939e944c5..000000000000 --- a/dev-python/dissononce/dissononce-0.34.3-r3.ebuild +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517="setuptools" -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 - -DESCRIPTION="A python implementation for Noise Protocol Framework" -HOMEPAGE=" - https://github.com/tgalal/dissononce/ - https://pypi.org/project/dissononce/ -" -SRC_URI=" - https://github.com/tgalal/dissononce/archive/${PV}.tar.gz - -> ${P}.gh.tar.gz -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="examples test" - -RDEPEND=" - dev-python/cryptography[${PYTHON_USEDEP}] - dev-python/transitions[${PYTHON_USEDEP}] -" -BDEPEND=" - ${RDEPEND} -" - -PATCHES=( - "${FILESDIR}/${P}-fix-test-requirements.patch" -) - -EPYTEST_PLUGINS=() -distutils_enable_tests pytest - -src_install() { - distutils-r1_src_install - - use examples && dodoc examples/patterns/*.py -} diff --git a/dev-python/dissononce/files/dissononce-0.34.3-fix-test-requirements.patch b/dev-python/dissononce/files/dissononce-0.34.3-fix-test-requirements.patch deleted file mode 100644 index 037706f4866d..000000000000 --- a/dev-python/dissononce/files/dissononce-0.34.3-fix-test-requirements.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 4fad01ef1689380b6de685aef5e85ebb1696cce5 Mon Sep 17 00:00:00 2001 -From: Conrad Kostecki <conrad@kostecki.com> -Date: Sun, 2 Jun 2019 01:19:16 +0200 -Subject: [PATCH] setup.py: fix test requirements - -/usr/lib64/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'test_requires' -Package installs 'tests' package which is forbidden and likely a bug in the build system. - -Signed-off-by: Conrad Kostecki <conrad@kostecki.com> ---- - setup.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/setup.py b/setup.py -index 77cd54b..4d4423f 100644 ---- a/setup.py -+++ b/setup.py -@@ -5,12 +5,12 @@ - setup( - name='dissononce', - version=dissononce.__version__, -- packages=find_packages(exclude=['tests', 'examples']), -+ packages=find_packages(exclude=['tests*', 'examples']), - install_requires=['cryptography>=2.5'], - extras_require={ - 'GuardedHandshakeState': ['transitions'] - }, -- test_requires=['pytest'], -+ tests_require=['pytest'], - license='MIT', - author='Tarek Galal', - author_email='tare2.galal@gmail.com', diff --git a/dev-python/dissononce/metadata.xml b/dev-python/dissononce/metadata.xml deleted file mode 100644 index 5464bf4b09e1..000000000000 --- a/dev-python/dissononce/metadata.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://srcux.com/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="person"> - <email>conikost@gentoo.org</email> - <name>Conrad Kostecki</name> - </maintainer> - <longdescription> - Dissononce is a python implementation for Noise Protocol Framework. - A main goal of this project is to provide a simple, - easy to read and understand practical reference for Noise enthusiasts, - implementers and users. - </longdescription> - <upstream> - <bugs-to>https://github.com/tgalal/dissononce/issues</bugs-to> - </upstream> - <origin>srcux</origin> -</pkgmetadata> diff --git a/dev-python/faust-cchardet/Manifest b/dev-python/faust-cchardet/Manifest deleted file mode 100644 index 41d63da7ee82..000000000000 --- a/dev-python/faust-cchardet/Manifest +++ /dev/null @@ -1,4 +0,0 @@ -DIST faust-cchardet-2.1.19.tar.gz 678871 BLAKE2B e87389ef602bc5e69ae2037aff1000b9caacfd91a44c5eb8fb2084d4ac33772eb8e480b05109ff83ebfcb2b9a57e215b4bc9cc5558f4f7e1a19b58dd1dfca8b5 SHA512 bd75ddf8b2e9891fe6ecdfd687a6903342a24b93f35a3d9a1b20da9abc77684e73840db73da97689636e3412e33da25b68cfafad114186681d0dec98880ffe95 -DIST faust_cchardet-2.1.20.tar.gz 695215 BLAKE2B b57d8980298cd7992eff00b13db745cceba3459e16f6f2e28ddedea959868142bb62632f20f09b21d6f628399dbfc0dd0f89272e47ff059ec3d1e551f50c574f SHA512 c2513955dc19541a55cb1b745a4b2d58ea0a0e525797a4e205a3c95c80743ace37ce77bbd4df0a2828d1a5c733c9b1d71b04e05ae760e3a95aec1af3873d85c5 -DIST faust_cchardet-2.2.1.tar.gz 642133 BLAKE2B ca1afa718f74c859ba53a1b668b95b162aad977cfd2df92d1a9156c1e145579de9509479a9aa99ea726038f8b3c9228c0266c45cb968e0ecd28ca819fbd2a94e SHA512 20b22d52cb1d3da17e70c9ec2854ef69ddfbdbb49903c00e92b9b921826ed4b13060ea4ee2cd9748fc17852cb0591eeeff21f96ceda866f0acbda480ddbe3b84 -DIST faust_cchardet-3.0.0.tar.gz 785788 BLAKE2B 204410fe550dcd79b37e8aa61447585df686367e3e91a4792451bb752e87c3d3ec03a58980c06a38f83829ad24f5a95d286710bb2871528904297e1af5409624 SHA512 682ebaed4bf749c613ce7ee821a76b1f6ae4f67d274685c5c7365629d579e32e216918db1bd20dcde6e144a38a92037c6c3f6158ddf0938d5142478cb48e7cba diff --git a/dev-python/faust-cchardet/faust-cchardet-2.1.19.ebuild b/dev-python/faust-cchardet/faust-cchardet-2.1.19.ebuild deleted file mode 100644 index de3bc471f889..000000000000 --- a/dev-python/faust-cchardet/faust-cchardet-2.1.19.ebuild +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright 2021-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=setuptools -PYPI_NO_NORMALIZE=1 -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="High speed universal character encoding detector" -HOMEPAGE=" - https://github.com/faust-streaming/cChardet/ - https://pypi.org/project/faust-cchardet/ -" - -LICENSE="MPL-1.1" -SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 x86" - -BDEPEND=" - dev-python/cython[${PYTHON_USEDEP}] -" - -EPYTEST_PLUGINS=() -distutils_enable_tests pytest diff --git a/dev-python/faust-cchardet/faust-cchardet-2.1.20.ebuild b/dev-python/faust-cchardet/faust-cchardet-2.1.20.ebuild deleted file mode 100644 index f7c72f8f0d04..000000000000 --- a/dev-python/faust-cchardet/faust-cchardet-2.1.20.ebuild +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright 2021-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="High speed universal character encoding detector" -HOMEPAGE=" - https://github.com/faust-streaming/cChardet/ - https://pypi.org/project/faust-cchardet/ -" - -LICENSE="|| ( MPL-1.1 GPL-2+ LGPL-2.1+ )" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~x86" - -BDEPEND=" - >=dev-python/cython-3.0.10[${PYTHON_USEDEP}] -" - -EPYTEST_PLUGINS=() -distutils_enable_tests pytest diff --git a/dev-python/faust-cchardet/faust-cchardet-2.2.1.ebuild b/dev-python/faust-cchardet/faust-cchardet-2.2.1.ebuild deleted file mode 100644 index 2bee8aa6cb1a..000000000000 --- a/dev-python/faust-cchardet/faust-cchardet-2.2.1.ebuild +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright 2021-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=meson-python -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="High speed universal character encoding detector" -HOMEPAGE=" - https://github.com/faust-streaming/cChardet/ - https://pypi.org/project/faust-cchardet/ -" - -LICENSE="|| ( MPL-1.1 GPL-2+ LGPL-2.1+ )" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~x86" - -BDEPEND=" - >=dev-python/cython-3.0.10[${PYTHON_USEDEP}] -" - -EPYTEST_PLUGINS=() -distutils_enable_tests pytest diff --git a/dev-python/faust-cchardet/faust-cchardet-3.0.0-r1.ebuild b/dev-python/faust-cchardet/faust-cchardet-3.0.0-r1.ebuild deleted file mode 100644 index 71b7558b61a1..000000000000 --- a/dev-python/faust-cchardet/faust-cchardet-3.0.0-r1.ebuild +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright 2021-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=meson-python -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="High speed universal character encoding detector" -HOMEPAGE=" - https://github.com/faust-streaming/cChardet/ - https://pypi.org/project/faust-cchardet/ -" - -LICENSE="|| ( MPL-1.1 GPL-2+ LGPL-2.1+ )" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~x86" - -DEPEND=" - >=app-i18n/uchardet-0.0.8_p20250825:= -" -RDEPEND=" - ${DEPEND} -" -BDEPEND=" - >=dev-python/cython-3.0.10[${PYTHON_USEDEP}] -" - -EPYTEST_PLUGINS=() -distutils_enable_tests pytest - -PATCHES=( - "${FILESDIR}/${P}-system-uchardet.patch" -) - -DISTUTILS_ARGS=( - -Dsystem-uchardet=true -) diff --git a/dev-python/faust-cchardet/faust-cchardet-3.0.0.ebuild b/dev-python/faust-cchardet/faust-cchardet-3.0.0.ebuild deleted file mode 100644 index 2bee8aa6cb1a..000000000000 --- a/dev-python/faust-cchardet/faust-cchardet-3.0.0.ebuild +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright 2021-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=meson-python -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="High speed universal character encoding detector" -HOMEPAGE=" - https://github.com/faust-streaming/cChardet/ - https://pypi.org/project/faust-cchardet/ -" - -LICENSE="|| ( MPL-1.1 GPL-2+ LGPL-2.1+ )" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~x86" - -BDEPEND=" - >=dev-python/cython-3.0.10[${PYTHON_USEDEP}] -" - -EPYTEST_PLUGINS=() -distutils_enable_tests pytest diff --git a/dev-python/faust-cchardet/files/faust-cchardet-3.0.0-system-uchardet.patch b/dev-python/faust-cchardet/files/faust-cchardet-3.0.0-system-uchardet.patch deleted file mode 100644 index 9d69c9b33847..000000000000 --- a/dev-python/faust-cchardet/files/faust-cchardet-3.0.0-system-uchardet.patch +++ /dev/null @@ -1,64 +0,0 @@ -From d89a156ea76185295e380f4ecd30b6f0c25846bc Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> -Date: Tue, 21 Jul 2026 11:55:29 +0200 -Subject: [PATCH] Support building against a system uchardet library -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Add a `system-uchardet` option to build against the system installed -`uchardet` library instead of building a bundled copy. This requires -a git version of `uchardet` right now, and upstream did not increment -the version yet, so the code is explicitly checking whether -`uchardet_get_n_candidates` is available. - -Signed-off-by: Michał Górny <mgorny@gentoo.org> ---- - meson.options | 2 ++ - src/cchardet/meson.build | 17 +++++++++++++++-- - 2 files changed, 17 insertions(+), 2 deletions(-) - create mode 100644 meson.options - -diff --git a/meson.options b/meson.options -new file mode 100644 -index 0000000..c46ecab ---- /dev/null -+++ b/meson.options -@@ -0,0 +1,2 @@ -+option('system-uchardet', type: 'boolean', value: false, -+ description: 'Build against the system uchardet library (requires chardet from git)') -diff --git a/src/cchardet/meson.build b/src/cchardet/meson.build -index 58bc3aa..4562211 100644 ---- a/src/cchardet/meson.build -+++ b/src/cchardet/meson.build -@@ -67,15 +67,28 @@ uchardet_sources = files( - - uchardet_inc = include_directories('../ext/uchardet/src') - -+if get_option('system-uchardet') -+ uchardet = dependency('uchardet') -+ # TODO: replace with a version constraint once new uchardet is released -+ cpp = meson.get_compiler('cpp') -+ if not cpp.has_function('uchardet_get_n_candidates', dependencies: [uchardet]) -+ error('system-uchardet requires git version of uchardet from https://gitlab.freedesktop.org/uchardet/uchardet.git') -+ endif -+else -+ uchardet = declare_dependency( -+ sources: uchardet_sources, -+ include_directories: uchardet_inc, -+ ) -+endif -+ - py.extension_module( - '_cchardet', - '_cchardet.pyx', -- uchardet_sources, -+ dependencies: [uchardet], - # Build the Cython output as C++ (the module wraps a C++ library). Meson then - # links the C++ runtime that matches the active compiler (libstdc++ or - # libc++), so no manual `-lstdc++` is needed. - override_options: ['cython_language=cpp'], -- include_directories: uchardet_inc, - install: true, - subdir: 'cchardet', - ) diff --git a/dev-python/faust-cchardet/metadata.xml b/dev-python/faust-cchardet/metadata.xml deleted file mode 100644 index f36de363f17a..000000000000 --- a/dev-python/faust-cchardet/metadata.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://srcux.com/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="person"> - <email>zmedico@gentoo.org</email> - </maintainer> - <maintainer type="project"> - <email>python@gentoo.org</email> - <name>Python</name> - </maintainer> - <origin>srcux</origin> -</pkgmetadata> diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest index 24ead8eec37c..6e97c14189b2 100644 --- a/dev-python/hypothesis/Manifest +++ b/dev-python/hypothesis/Manifest @@ -9,6 +9,7 @@ DIST hypothesis-6.168.2.gh.tar.gz 9712765 BLAKE2B d3fc44380250a737fd78e6dd469648 DIST hypothesis-6.168.4.gh.tar.gz 9712927 BLAKE2B 7eb0492041769b05668cbdc847c27dfbeecaf04238ce728cfc8c2d2dba83e906b96f6ea481ad63a2feb9858289bd274b58d4c28ca8da711cb4550d97ecd5aa86 SHA512 c3deeb889951ac216b0253d129c0b97baaa2a10ead9565b85c79e747c9732f1bf2c4becb2ee5766e38c91ec416df92aada3485641fd192ad063b24e059af9bff DIST hypothesis-6.168.5.gh.tar.gz 9713032 BLAKE2B a6c90a5f65a551f6378e5d98b604f401fb795ff7f9c6a6c94d2789e69b4fc8435dce1338d807f1a85392335c8219956aa7af56bbf735e3499aba3587ae461c25 SHA512 2ccf3bcb0a2cbfb3073003e6c6df56c02a4745f1b4b94627732d1977c50642abf2ca41ad7808c218aa75d4dceff965b6c5de4d0dab836ddb55e82f0b32fe11fd DIST hypothesis-6.169.0.gh.tar.gz 9710358 BLAKE2B fb65497c921687a5e1a3b551528b38c2c96d1c1e2280770bf279d46005ae2baae8e9adb1d84f5cf7e17ea57972c96d57699f64140e94261b12fb6b473ac2260a SHA512 c42efd6d1c5345281babccca909d18cebb65c74a0c3aa7c03e7d6944f9004e752fd2e6f4f29cb581ea38577f40479387835627fbeeac3bf972014891665009f0 +DIST hypothesis-6.169.1.gh.tar.gz 9710711 BLAKE2B 8abedcdcba8a1d32e424a951047450be5ee33d8fa4fd8cd66e152c89abf60d7fb39fc0573e5778bf09442af2e30a648e4621208c7fe285a8fed670b9c37e15c2 SHA512 f1da6e1709e8e5eccf337cfeece87a197b402d62175a869b1ba4d1e1b06429d438cdf8b9ef8dc99c4928a0f24f8a7991d52272dc748bd2ccfe8655aae62556b0 DIST libc-0.2.186.crate 821883 BLAKE2B ebe7aac5f8937a8064c64a0d4dc72e5fc794080e09b96c6d245bdec0fd9a19d49ab38e25306e22e47564764cf5dcde45855237cffc70230a143eca2626bd5c3c SHA512 6a58e671ec6811dff9a0d7d4db8f37d38bcbca9efff20dad4706190e5cdb77b426567754bcf0ef0f2d0c31d6506401f724f3ca500b9bed57bb8605b1141ed690 DIST once_cell-1.21.4.crate 35010 BLAKE2B 9117ed1d478e626b7b7be2e3ff8b68a382b051112c7ca4425367bdae86977671f8b5c576131c82fb437740b6d98b72501f718f4172d39781decac2385e8fbd4d SHA512 af67669b0107f44268ba74c355200cb2ed1aab235a6989a8bc54323eb2c9a45677010f8672e7790edadd4c981e939436e0c3a099d33c06dce9c14fd5ede86155 DIST portable-atomic-1.13.1.crate 197001 BLAKE2B 6d0898c2a537a9bf204b7749cca5f5fddf280772b56eb7ce8fdd9cf7d71561137b26ef89f415c40277a1c89981333eef78e5bb4624515a294ba28fdaeb4c70ea SHA512 2a1b31ac9814af884640b3398ab824a9795c72d260527a0966b193113808cfbb3345d50cd1beaebb45863437c3d06c8706d34b26efecceefc649319a4bc274a3 diff --git a/dev-python/hypothesis/hypothesis-6.169.1.ebuild b/dev-python/hypothesis/hypothesis-6.169.1.ebuild new file mode 100644 index 000000000000..d6e8b8e38d1c --- /dev/null +++ b/dev-python/hypothesis/hypothesis-6.169.1.ebuild @@ -0,0 +1,143 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +CLI_COMPAT=( python3_{12..15} ) +PYTHON_COMPAT=( python3_{13..14} ) +PYTHON_REQ_USE="threads(+),sqlite" + +RUST_MIN_VER="1.91.0" +CRATES=" + cfg-if@1.0.4 + crunchy@0.2.4 + getrandom@0.3.4 + half@2.7.1 + heck@0.5.0 + libc@0.2.186 + once_cell@1.21.4 + portable-atomic@1.13.1 + ppv-lite86@0.2.21 + proc-macro2@1.0.106 + pyo3-build-config@0.29.3 + pyo3-ffi@0.29.3 + pyo3-macros-backend@0.29.3 + pyo3-macros@0.29.3 + pyo3@0.29.3 + quote@1.0.46 + r-efi@5.3.0 + rand@0.9.4 + rand_chacha@0.9.0 + rand_core@0.9.5 + syn@2.0.118 + target-lexicon@0.13.5 + unicode-ident@1.0.24 + wasip2@1.0.4+wasi-0.2.12 + wit-bindgen@0.57.1 + zerocopy-derive@0.8.53 + zerocopy@0.8.53 +" + +inherit cargo distutils-r1 optfeature + +DESCRIPTION="A library for property based testing" +HOMEPAGE=" + https://github.com/HypothesisWorks/hypothesis/ + https://pypi.org/project/hypothesis/ +" +SRC_URI=" + https://github.com/HypothesisWorks/hypothesis/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" +S="${WORKDIR}/${P}/hypothesis" + +LICENSE="MPL-2.0" +# Dependent crate licenses +LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="cli" + +RDEPEND=" + >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}] + cli? ( + $(python_gen_cond_dep ' + dev-python/black[${PYTHON_USEDEP}] + dev-python/click[${PYTHON_USEDEP}] + ' "${CLI_COMPAT[@]}") + ) +" +BDEPEND=" + test? ( + >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}] + dev-python/pexpect[${PYTHON_USEDEP}] + >=dev-python/pytest-8[${PYTHON_USEDEP}] + ) +" +PDEPEND=" + dev-python/hypothesis-gentoo[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGIN_LOAD_VIA_ENV=1 +EPYTEST_PLUGINS=( "${PN}" pytest-xdist ) +EPYTEST_RERUNS=5 +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +QA_PREBUILT="usr/lib/python.*/site-packages/hypothesis/_native.*" + +python_test() { + # NB: paths need to be relative to pytest.ini, i.e. start with hypothesis/ + local EPYTEST_DESELECT=( + # broken somehow (xdist?) + 'hypothesis/tests/pytest/test_constant_collection_timing.py::test_constant_collection_timing[True]' + ) + local EPYTEST_IGNORE=( + # require syrupy + tests/cover/test_custom_reprs.py + ) + + case ${EPYTHON} in + python3.15*) + EPYTEST_DESELECT+=( + 'hypothesis/tests/cover/test_lookup.py::test_resolves_forwardrefs_to_builtin_types[sentinel]' + 'hypothesis/tests/cover/test_lookup.py::test_resolves_builtin_types[sentinel]' + 'hypothesis/tests/cover/test_lambda_formatting.py::test_modifying_lambda_source_code_returns_unknown[False]' + ) + ;; + esac + + local -x HYPOTHESIS_NO_PLUGINS=1 + epytest tests/{cover,pytest,quality} +} + +src_install() { + local HAD_CLI= + + distutils-r1_src_install + + if [[ ! ${HAD_CLI} ]]; then + rm -r "${ED}/usr/bin" || die + fi +} + +python_install() { + distutils-r1_python_install + if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then + HAD_CLI=1 + else + rm -r "${D}$(python_get_scriptdir)" || die + fi +} + +pkg_postinst() { + optfeature "datetime support" dev-python/pytz + optfeature "dateutil support" dev-python/python-dateutil + optfeature "numpy support" dev-python/numpy + optfeature "django support" dev-python/django dev-python/pytz + optfeature "pandas support" dev-python/pandas + optfeature "pytest support" dev-python/pytest +} diff --git a/dev-python/ioflo/Manifest b/dev-python/ioflo/Manifest deleted file mode 100644 index 5240af164d8a..000000000000 --- a/dev-python/ioflo/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST ioflo-2.0.3.gh.tar.gz 837379 BLAKE2B c10105c9ccff5377d14182fdecce293b213a180da1ce3214c1797c43bd36c0e322ee004505d09dac0ebf8875bcc4beb30da32f6a41bf702cf45c84a5a7819167 SHA512 b2d8c0a2504df87366b373d40d2536d6a75bc682aa72aaa20235893eed4725acf027fecf7263395a38141314d3b24435939f3e69db8f8bd8bc56ca8038b9ed8a diff --git a/dev-python/ioflo/ioflo-2.0.3.ebuild b/dev-python/ioflo/ioflo-2.0.3.ebuild deleted file mode 100644 index 35c83404db90..000000000000 --- a/dev-python/ioflo/ioflo-2.0.3.ebuild +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 - -DESCRIPTION="Automated Reasoning Engine and Flow Based Programming Framework" -HOMEPAGE=" - https://github.com/ioflo/ioflo/ - https://pypi.org/project/ioflo/ -" -SRC_URI=" - https://github.com/ioflo/ioflo/archive/v${PV}.tar.gz - -> ${P}.gh.tar.gz -" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~riscv x86" - -EPYTEST_PLUGINS=() -distutils_enable_tests pytest - -EPYTEST_DESELECT=( - # some random mismatch that breaks other tests by leaving the server - # hanging - ioflo/aio/http/test/test_serving.py::BasicTestCase::testValetServiceBottle - # unhappy about SSL-something - ioflo/aio/tcp/test/test_tcping.py::BasicTestCase::testTLSConnectionVerifyBothTLSv1 - # requires a fancy network interface - ioflo/aio/udp/test/test_udping.py::BasicTestCase::testBroadcast -) - -python_prepare_all() { - distutils-r1_python_prepare_all - sed -i -e '/setuptools_git/d' setup.py || die -} diff --git a/dev-python/ioflo/metadata.xml b/dev-python/ioflo/metadata.xml deleted file mode 100644 index fe9a69b0926b..000000000000 --- a/dev-python/ioflo/metadata.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://srcux.com/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="person"> - <email>chutzpah@gentoo.org</email> - <name>Patrick McLean</name> - </maintainer> - <maintainer type="project"> - <email>python@gentoo.org</email> - <name>Python</name> - </maintainer> - <stabilize-allarches /> - <origin>srcux</origin> -</pkgmetadata> diff --git a/dev-python/markdown/Manifest b/dev-python/markdown/Manifest index 5d63124f0b7b..7d7194568ad4 100644 --- a/dev-python/markdown/Manifest +++ b/dev-python/markdown/Manifest @@ -1,2 +1,3 @@ DIST markdown-3.10.3.tar.gz 372596 BLAKE2B 3f5ad04979c29234964928e436d4523ac0abbbbd9e4f1816652ca889d82993bc324f3d8d855f47b1be9291c3a4f97b9fbef1df0772af24af7aa3b920089cc26a SHA512 64e5e5f27a2aa0297e316c20796969e802acc3ffcf5e8c266fcf0eda2d188f30458adf1f0420508b104dfdb2a8b153d58b10a5b20f48d8327df5318b784307f9 +DIST markdown-3.11.1.tar.gz 492927 BLAKE2B 4549b36918b981b96520aabba53061d80fa5a3eace8d4467bda4e654e18f1c99f1a5653f8e3eb8fc1bd926a909d597e605a9249362c93d9e354e913ec11d015d SHA512 d62f4568149bf3b656a0b47eb354b8bd7dea414b04035e5f08ff80696270ce749093a5b4c6843e09f5ffd3a9e2be464c440821202d0c0d9d6d49a657683ad870 DIST markdown-3.11.tar.gz 485623 BLAKE2B d3bf9cc73ec427810c33a233cdc46ed97261e582d526c1aa667d16d6c06c84f6a65367d4c337bc7ac1fc8e13c9cb69b8d9393c9c1d38d49ff0ed84785df64187 SHA512 4368f4527c8af676c3d4df0e3c8fe0a7742a0f2468fcce74a5ca90cce42a19fe526b31b2325ad872ca9b7197a64d418da8c7599d94635bce0a25940cb337c5f3 diff --git a/dev-python/markdown/markdown-3.11.1.ebuild b/dev-python/markdown/markdown-3.11.1.ebuild new file mode 100644 index 000000000000..5a1dd7ba2712 --- /dev/null +++ b/dev-python/markdown/markdown-3.11.1.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_PN=${PN^} +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Python implementation of the markdown markup language" +HOMEPAGE=" + https://python-markdown.github.io/ + https://pypi.org/project/Markdown/ + https://github.com/Python-Markdown/markdown/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +IUSE="doc test" +RESTRICT="!test? ( test )" + +BDEPEND=" + test? ( + dev-python/pygments[${PYTHON_USEDEP}] + dev-python/pytidylib[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests unittest + +python_install_all() { + use doc && dodoc -r docs/ + + distutils-r1_python_install_all +} diff --git a/dev-python/pudb/Manifest b/dev-python/pudb/Manifest index 5dc0b712df51..9cb32373c5a1 100644 --- a/dev-python/pudb/Manifest +++ b/dev-python/pudb/Manifest @@ -1,2 +1,4 @@ DIST pudb-2025.1.5.tar.gz 225714 BLAKE2B ea01971cb4a3e0be4777cf049a1d69165ebdb6d4d9d3b79da3c6c648aaab22d3bad16d052de1cc9ea46202e81fc4596e333f1bb0c43a61e3618617e5ea1118da SHA512 576fe317600f925c17edbcd41842e6ef651ba3c005eb1f7fd498751a9c5ad4bfef6304ed02d5e148cef7aecb0413e83e4f6f4f377a658d5384b9c3ac2122c379 DIST pudb-2025.1.5.tar.gz.provenance 9398 BLAKE2B 1a7f35eafc7d85cd55862b0fd869b1e7bfb0c15e6012a1bebac8bd0daaf549b664dd3148b4fa5bf29ebcd3dae118dded3592970212dc6414c6ecfaa60239c6af SHA512 31c209e64c077f6745d7283dfbaae6f5396a2355dc05ce5c4036030d6d492b48e6abab020cc9bb7dcc7b91b4d64affa97db16f4980a9d72591329e18459fc8ad +DIST pudb-2026.1.tar.gz 226013 BLAKE2B 2bdf6ca59addc780790740aac10313ff3c3c6cca36a58a3ffb9eeef5091b1fcce4a1cfee3d143111747b1db9b4b5b96e413a4b6499a020f3fd2a5b9d13d1a68e SHA512 44d8e546d4af9b2f0232efa81e07c88f1c9592e3544e898a5ba91478d6352c5e19a721748cf80d3de395594cc39139e3dff9fffbbf8c1d90276aec6ff28a40c7 +DIST pudb-2026.1.tar.gz.provenance 9683 BLAKE2B 26b1f7a0923896cc5199606ccfe6e38a40be089e27f656d7ce78f8a8cac8f5e04a28564e1e95ddc1d454425258bab4417688c335ca8a32b7a5dd054f2b04ea0d SHA512 b2bf2ca744662f315173fe376600f4f332f927241bc1f4a67f989e7d8fba23d31b3932776f22b89db58e72b0a99d46a514550f098a9c54e46a8c1c14a38d05d7 diff --git a/dev-python/pudb/pudb-2026.1.ebuild b/dev-python/pudb/pudb-2026.1.ebuild new file mode 100644 index 000000000000..8725abbd4629 --- /dev/null +++ b/dev-python/pudb/pudb-2026.1.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYPI_VERIFY_REPO=https://github.com/inducer/pudb +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi optfeature + +DESCRIPTION="A full-screen, console-based Python debugger" +HOMEPAGE=" + https://documen.tician.de/pudb/ + https://github.com/inducer/pudb/ + https://pypi.org/project/pudb/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +RDEPEND=" + >=dev-python/jedi-0.18[${PYTHON_USEDEP}] + >=dev-python/packaging-20.0[${PYTHON_USEDEP}] + >=dev-python/pygments-2.19[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.13[${PYTHON_USEDEP}] + >=dev-python/urwid-2.5.1[${PYTHON_USEDEP}] + dev-python/urwid-readline[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=( pytest-mock ) +distutils_enable_tests pytest + +pkg_postinst() { + optfeature_header "Install the following packages for additional functionality:" + optfeature "Auto-complete support" dev-python/jedi +} diff --git a/dev-python/pyformance/Manifest b/dev-python/pyformance/Manifest deleted file mode 100644 index 675193548324..000000000000 --- a/dev-python/pyformance/Manifest +++ /dev/null @@ -1,2 +0,0 @@ -DIST pyformance-0.4-patches.tar.xz 3500 BLAKE2B 511001e9011db5ef25b802739dca51337d039193a9d3322bbf94bcb120bbbeff2e1a818217970a1a97d77cd8d7da462792248910acbb3ef586704596276b7056 SHA512 858cefd6c8b151db10c63e0d8117cd6c226bd153103993040909e8fd2ab7a41a7770a2ae6de0f395a4f9f6cce3213d7ecabc0bf647657ee04fc10d76f51e07e3 -DIST pyformance-0.4.tar.gz 20683 BLAKE2B d818832b7ff43a7e1db888bdb7dc333a532c7d3365dd472f9dbb3300f676cd3cc8f82f8d1c444aa277404ff8e72843eca35e3905542700ea37b1dad3e05c8b4c SHA512 a03324977b40f5097ae4608dd7c36bdbd2a20b261c9d3e32d1be19e5fca50e17fcc24df781b6c3ab60314534368c5e9cf08bc3863d4d2d7ecc59f9af26f8d20e diff --git a/dev-python/pyformance/metadata.xml b/dev-python/pyformance/metadata.xml deleted file mode 100644 index f36de363f17a..000000000000 --- a/dev-python/pyformance/metadata.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://srcux.com/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="person"> - <email>zmedico@gentoo.org</email> - </maintainer> - <maintainer type="project"> - <email>python@gentoo.org</email> - <name>Python</name> - </maintainer> - <origin>srcux</origin> -</pkgmetadata> diff --git a/dev-python/pyformance/pyformance-0.4-r2.ebuild b/dev-python/pyformance/pyformance-0.4-r2.ebuild deleted file mode 100644 index b9fe04887ba7..000000000000 --- a/dev-python/pyformance/pyformance-0.4-r2.ebuild +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Performance metrics, based on Coda Hale's Yammer metrics" -HOMEPAGE=" - https://pyformance.readthedocs.io/ - https://github.com/omergertel/pyformance/ - https://pypi.org/project/pyformance/ -" -SRC_URI+=" - https://dev.gentoo.org/~chutzpah/dist/python/${P}-patches.tar.xz -" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~x86" - -RDEPEND=" - dev-python/six[${PYTHON_USEDEP}] -" -BDEPEND=" - test? ( - dev-python/mock[${PYTHON_USEDEP}] - ) -" - -EPYTEST_PLUGINS=() -distutils_enable_tests pytest - -PATCHES=( - "${WORKDIR}/${P}-patches" -) - -src_prepare() { - sed -e "s/find_packages()/find_packages(exclude=['tests'])/" \ - -i setup.py || die - distutils-r1_src_prepare -} diff --git a/dev-python/pyproject-fmt/Manifest b/dev-python/pyproject-fmt/Manifest deleted file mode 100644 index 8621e9c917bd..000000000000 --- a/dev-python/pyproject-fmt/Manifest +++ /dev/null @@ -1,16 +0,0 @@ -DIST pyproject_fmt-2.21.2.tar.gz 155067 BLAKE2B e1d5ed9ad538c934d176d54c64030312f430746e3450d383c9bce7156bb953cefeb1976b81825e8dd108ccd5c5c4b5f0af2c6986a838b9b8c206132ed5b738a1 SHA512 6e13de792660c3dcb01f4857df08c12e099a3c6ce411886f0d63d66aff126980f283428dd1de322f0f1d5fc4dcde8d23b1490bedf6e580340542895d315bd39a -DIST pyproject_fmt-2.21.2.tar.gz.provenance 9899 BLAKE2B dd64f16733cdceab98a70dd4680d3ef603976ba1d2a7e088c2906cd0ec05f3081586dd4d09a56c772106ff3dd8d3d81ffda497e34bd205aec0eec5ec5f0b108b SHA512 2585c2ab36baa9a1fce11e11d1468c990a736c543ce4de6c7476dd7df6f754b107795c238762110555eec284aefaa53e6eddc5733fce5b5ee701344baae5d086 -DIST pyproject_fmt-2.26.0.tar.gz 296642 BLAKE2B 210375e5c5caaa7b6c43ede00a627f25e1cf81aef7c62200ce9be0c041b37cee3f1247077699361e64556d26436774f6b2ebcf4093b1a8db2ae72fcf2cb9b310 SHA512 18ed375973adddcfd36882f0e69cb13bb7c12d3e06a91dd4249de86959aaf320d0e6de364b8d9dd396e24e82aec3364c138ae2031777bed9ee05de0bd2440d7a -DIST pyproject_fmt-2.26.0.tar.gz.provenance 10017 BLAKE2B 032a743e5ba685bfb34bcf6d509162d0afd38b280a3d92b38ed4c630625bd8f287d0dd2fdf9f90782b31ad5040ccd3eded9375f57ba55f3c57632d196eaf3abb SHA512 aec802a25f29ca55593f5bf343c310d1b5ec7890be620e98efa4438fb2d11493158455d67a4f73daed363e1388bc299deeb590310e77ea810126dd0ff5ce852b -DIST pyproject_fmt-2.27.1.tar.gz 299527 BLAKE2B 2aab29267a4163c6250e3d86bc750b25ae7844fbef67b6812e71240757945d2f8bed5f01e41027703562b9b2c2b7dd13f054ca0f2a40d73725572ca93d6e4439 SHA512 18a4f7509936ed401aa492cc6aeaf59ab05feddd8d44606610b4fb98972ff4face8a9c93dd2546ca1dc82c616e000ec8d6916dce668e503a9c8572ba354f6974 -DIST pyproject_fmt-2.27.1.tar.gz.provenance 9925 BLAKE2B 0612e6088bb5374a7bb823de6ad12d5c470125f65f8fd04b2b2b402f138a14ccdb8bb612a0479491f9ea80702dcc66ff6aa79feec3a1fa4bf87b675cc99c0b12 SHA512 2742ebcab02153802afa3e45411a1982baf3fb63d29463fc114cf592e471f222a878793791bfe9d506dd35034993ff9fb3a2065ef8d86706cb6a1cab2c40c37f -DIST pyproject_fmt-2.28.2.tar.gz 303257 BLAKE2B cd927fa2860794efd31571ae70c9a1b16de3cbe780ec0e59643f70ad92709b27c709e4494879784d18592a40418c56f468ac510c7185e83d3499864e5d9e1b6b SHA512 e7261d1d6dedc4f798c4862ad55ea5cf9afaa02534461c51fc275f2aeb46cd983948a554007adb7053ae6d7875801af0fe5373cf20aeccc7bebed770d467e79b -DIST pyproject_fmt-2.28.2.tar.gz.provenance 10066 BLAKE2B 21846d92fa94ba184b707ec2ffb03849fab1f393c3fcaf004e74720bf3cab0079f091d89ae6ade1330c5da2e64ded9530c6becd99aca534feca5a574c38f004b SHA512 d46bdf675317d0108accad0181a4b40375ee48e4f83d9888b011d55d70980e4ba04a04806aacb8b5408ef6ca4142028696fa3298759a880ac7b02db455cb4ce8 -DIST tombi-0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b.gh.tar.gz 10564681 BLAKE2B 1cc4e307d89ae978c8022aed63ad7a7c08e71f810e42743589a6bf44499051250102ca3a60aa2cea65292dfd187240da96f6fb963511b6d4c06559c20bbc67a3 SHA512 e398e14c9b092f2378dfa848c697ea5cb0af705bcb801f288d2ca98b8c0d4aa3abf7a71f2f5a10a4a6a77e1e8d1f7089a0359b2a3ec9b226a19bbb40f0aa0a14 -DIST tombi-2c1f7bfc0b36f106eb50821fe41f25cc90e75427.gh.tar.gz 10689465 BLAKE2B 074bb5b9d631056fe7ee3e3b605eba2f2a8065eaa4f06f950df84b6045db8f157d9575044a5fb061ebfe41b7fbb5ff837f790b04f21341f2a0c99b119ff9ac78 SHA512 0daad5c26c8ba44d7dd98c0620dfeb6c821149fce7efb5b0fbfb30ffb543b7af06ba30d5b2c3a40df5e2e289ec5ee7eabf39d3fbbd4d965a13aa84be7874c573 -DIST tombi-447bbe853ac15d1149976e9bbf85dd11fb55359e.gh.tar.gz 10635118 BLAKE2B 76bdc1d7e4704af8891309afbd5ceaba8e4d04ccc6bf4fcb4b021949e8774a613fd3530824407968066b046b455cb63ee754b1a5948a090a5e52b1f83c3d06e1 SHA512 d0aac41e3a7265d2eba5b64cc5815d2cbcc0ade1e055d57821afe4f399079f677c7b7964ffedfbffd8be8429a9ed01987c1446f7eabcedd6ba273fe7ae7d774c -DIST tombi-b46e34c8555e1b98d695ceec30cfa9c0227878ed.gh.tar.gz 10619752 BLAKE2B aef751b54ff252c35c216980d55561d409e76e71379a5d537835db1475bdaa277fd95b233f22af43644fb5a23a2621859706981a78ff7c79e768735f4b071ab4 SHA512 a4b7f71b5ca6f8bc9b64eda3f0048fb372ec44b8b4ab77e3d50bd4ef938de632e3a3837891baa98b4f44a311a743373e5ac92a0c7167ac32cdcbf1e180c7315c -DIST toml-fmt-pyproject-fmt-2.21.2-crates.tar.xz 18776904 BLAKE2B ae748ae98a2769a78b34a2051e3237c40bc6714d88c58a22aec5af85caa86e4690e9749ddd1f87d2ebe0908a1a3f24a01a48e4abcf107fcdbd5d8322a0738c6a SHA512 474d707babc9a3f98a933ae645ffb951062491158c6863ff9dea7fee065b19f440501e092fbc28e62e4e67dce435689096a27b96c6acde3b8128b76b5890ca3e -DIST toml-fmt-pyproject-fmt-2.26.0-crates.tar.xz 16547296 BLAKE2B 90d85bfcb1652e61911bed8b89b787569fb45b00b6202335e6106ea427ecca78e24c508f030259b67388a4ea149cbc1bcdc87ad2083eb9c63613dfd0d684bb1a SHA512 e89213e82e7cfef3a61e38f027c85571044c6c7f3acc218722d056756b09221b0425d021ae6ae9392c123768dcd0e05fa5eff1b281f0f15fed15e69416b23d00 -DIST toml-fmt-pyproject-fmt-2.27.1-crates.tar.xz 16632708 BLAKE2B 510359aae2b351b8a1e5a73e77bb39b68732453ff4624a9424721f3c1de5aa00ef1e8c06a1858f38ee5ee9ae07fe76304dbe14722611b3b564b51d1b26038c55 SHA512 b41bd7a614426126d6b82b72af12d3b1750ad037145430d0f5f1be5bf097101470f9757ba448ea539b14f155bd31f4800a95172db8616d3214df28f6115d0e9d -DIST toml-fmt-pyproject-fmt-2.28.2-crates.tar.xz 16369840 BLAKE2B d47722d8d60399653d5ade9b4af37f5b932c41aee14b587201e0c2f17e12cf9e7285dbf395c577fa503508840c2f79add423494cb3363b5eedbb7b06395ef905 SHA512 e7a0a67adc943462f3299b8d459231642905a86ad70b8fadc4e37c01d2a569948f2546f0dc481136ff3a9750c5a128a4189e24707e0cc43a70cc25352b41967a diff --git a/dev-python/pyproject-fmt/metadata.xml b/dev-python/pyproject-fmt/metadata.xml deleted file mode 100644 index 4f1bc5124342..000000000000 --- a/dev-python/pyproject-fmt/metadata.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://srcux.com/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="project"> - <email>python@gentoo.org</email> - </maintainer> - <origin>srcux</origin> -</pkgmetadata> diff --git a/dev-python/pyproject-fmt/pyproject-fmt-2.21.2.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-2.21.2.ebuild deleted file mode 100644 index ad96238f1e36..000000000000 --- a/dev-python/pyproject-fmt/pyproject-fmt-2.21.2.ebuild +++ /dev/null @@ -1,102 +0,0 @@ -# Copyright 2022-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYPI_VERIFY_REPO=https://github.com/tox-dev/toml-fmt -PYTHON_COMPAT=( python3_{13..14} ) - -RUST_MIN_VER="1.87.0" -CRATES=" -" - -declare -A GIT_CRATES=( - [tombi-accessor]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-accessor' - [tombi-ast-editor]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-ast-editor' - [tombi-ast]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-ast' - [tombi-cache]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-cache' - [tombi-comment-directive-serde]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-comment-directive-serde' - [tombi-comment-directive-store]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-comment-directive-store' - [tombi-comment-directive]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-comment-directive' - [tombi-config]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-config' - [tombi-date-time]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-date-time' - [tombi-diagnostic]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-diagnostic' - [tombi-document-tree]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-document-tree' - [tombi-document]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-document' - [tombi-formatter]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-formatter' - [tombi-future]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-future' - [tombi-hashmap]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-hashmap' - [tombi-json-lexer]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-json-lexer' - [tombi-json-syntax]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-json-syntax' - [tombi-json-value]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-json-value' - [tombi-json]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-json' - [tombi-lexer]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-lexer' - [tombi-parser]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-parser' - [tombi-regex]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-regex' - [tombi-rg-tree]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-rg-tree' - [tombi-schema-store]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-schema-store' - [tombi-severity-level]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-severity-level' - [tombi-syntax]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-syntax' - [tombi-text]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-text' - [tombi-toml-text]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-toml-text' - [tombi-toml-version]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-toml-version' - [tombi-uri]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-uri' - [tombi-validator]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-validator' - [tombi-version-sort]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-version-sort' - [tombi-x-keyword]='https://github.com/tombi-toml/tombi;0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b;tombi-%commit%/crates/tombi-x-keyword' -) - -inherit cargo distutils-r1 pypi - -DESCRIPTION="Format your pyproject.toml file" -HOMEPAGE=" - https://github.com/tox-dev/toml-fmt/ - https://pypi.org/project/pyproject-fmt/ -" -SRC_URI+=" - ${CARGO_CRATE_URIS} - https://github.com/gentoo-crate-dist/toml-fmt/releases/download/pyproject-fmt%2F${PV}/toml-fmt-${P}-crates.tar.xz -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT MPL-2.0 - Unicode-3.0 ZLIB -" -SLOT="0" -KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 ~x86" - -RDEPEND=" - dev-python/toml-fmt-common[${PYTHON_USEDEP}] -" -# tox is called as a subprocess, to get targets from tox.ini -BDEPEND=" - test? ( - dev-python/tox - ) -" - -EPYTEST_PLUGINS=( pytest-mock ) -distutils_enable_tests pytest - -QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/pyproject_fmt/_lib.*.so" - -src_unpack() { - pypi_src_unpack - cargo_src_unpack -} - -src_prepare() { - distutils-r1_src_prepare - sed -i -e '/strip/d' pyproject.toml || die -} - -python_test_all() { - # default features cause linking errors because they make pyo3 - # wrongly assume it's compiling a Python extension - # https://github.com/tox-dev/toml-fmt/issues/23 - cargo_src_test --no-default-features -} diff --git a/dev-python/pyproject-fmt/pyproject-fmt-2.26.0.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-2.26.0.ebuild deleted file mode 100644 index 625ea7aa8d4c..000000000000 --- a/dev-python/pyproject-fmt/pyproject-fmt-2.26.0.ebuild +++ /dev/null @@ -1,113 +0,0 @@ -# Copyright 2022-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -DISTUTILS_UPSTREAM_PEP517=standalone -PYPI_VERIFY_REPO=https://github.com/tox-dev/toml-fmt -PYTHON_COMPAT=( python3_{13..14} ) - -RUST_MIN_VER="1.87.0" -CRATES=" -" - -declare -A GIT_CRATES=( - [tombi-accessor]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-accessor' - [tombi-ast-editor]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-ast-editor' - [tombi-ast]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-ast' - [tombi-cache]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-cache' - [tombi-comment-directive-serde]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-comment-directive-serde' - [tombi-comment-directive-store]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-comment-directive-store' - [tombi-comment-directive]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-comment-directive' - [tombi-config]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-config' - [tombi-date-time]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-date-time' - [tombi-diagnostic]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-diagnostic' - [tombi-document-tree]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-document-tree' - [tombi-document]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-document' - [tombi-formatter]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-formatter' - [tombi-future]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-future' - [tombi-hashmap]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-hashmap' - [tombi-json-lexer]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-json-lexer' - [tombi-json-syntax]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-json-syntax' - [tombi-json-value]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-json-value' - [tombi-json]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-json' - [tombi-lexer]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-lexer' - [tombi-parser]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-parser' - [tombi-regex]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-regex' - [tombi-rg-tree]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-rg-tree' - [tombi-schema-store]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-schema-store' - [tombi-severity-level]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-severity-level' - [tombi-syntax]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-syntax' - [tombi-text]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-text' - [tombi-toml-text]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-toml-text' - [tombi-toml-version]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-toml-version' - [tombi-uri]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-uri' - [tombi-validator]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-validator' - [tombi-version-sort]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-version-sort' - [tombi-x-keyword]='https://github.com/tombi-toml/tombi;b46e34c8555e1b98d695ceec30cfa9c0227878ed;tombi-%commit%/crates/tombi-x-keyword' -) - -inherit cargo distutils-r1 pypi - -DESCRIPTION="Format your pyproject.toml file" -HOMEPAGE=" - https://github.com/tox-dev/toml-fmt/ - https://pypi.org/project/pyproject-fmt/ -" -SRC_URI+=" - ${CARGO_CRATE_URIS} - https://github.com/gentoo-crate-dist/toml-fmt/releases/download/pyproject-fmt%2F${PV}/toml-fmt-${P}-crates.tar.xz -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT MPL-2.0 - Unicode-3.0 ZLIB -" -SLOT="0" -KEYWORDS="amd64 ~arm arm64 ppc ppc64 ~riscv ~s390 x86" - -RDEPEND=" - dev-python/toml-fmt-common[${PYTHON_USEDEP}] -" -# tox is called as a subprocess, to get targets from tox.ini -BDEPEND=" - test? ( - dev-python/tox - ) -" - -EPYTEST_PLUGINS=( pytest-mock ) -distutils_enable_tests pytest - -QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/pyproject_fmt/_lib.*.so" - -src_unpack() { - pypi_src_unpack - cargo_src_unpack -} - -src_prepare() { - distutils-r1_src_prepare - sed -i -e '/strip/d' pyproject.toml || die -} - -python_test() { - local EPYTEST_DESELECT=( - # something about ANSI codes, no clue - pyproject-fmt/tests/test_main.py::test_main[format-absolute-no_check-in_place] - pyproject-fmt/tests/test_main.py::test_main[format-cwd-no_check-in_place] - ) - - epytest pyproject-fmt -} - -python_test_all() { - # default features cause linking errors because they make pyo3 - # wrongly assume it's compiling a Python extension - # https://github.com/tox-dev/toml-fmt/issues/23 - cargo_src_test --no-default-features -} diff --git a/dev-python/pyproject-fmt/pyproject-fmt-2.27.1.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-2.27.1.ebuild deleted file mode 100644 index aa7739a58f5f..000000000000 --- a/dev-python/pyproject-fmt/pyproject-fmt-2.27.1.ebuild +++ /dev/null @@ -1,115 +0,0 @@ -# Copyright 2022-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -DISTUTILS_UPSTREAM_PEP517=standalone -PYPI_VERIFY_REPO=https://github.com/tox-dev/toml-fmt -PYTHON_COMPAT=( python3_{13..14} ) - -RUST_MIN_VER="1.87.0" -CRATES=" -" - -declare -A GIT_CRATES=( - [tombi-accessor]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-accessor' - [tombi-ast-editor]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-ast-editor' - [tombi-ast]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-ast' - [tombi-cache]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-cache' - [tombi-comment-directive-serde]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-comment-directive-serde' - [tombi-comment-directive-store]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-comment-directive-store' - [tombi-comment-directive]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-comment-directive' - [tombi-config]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-config' - [tombi-date-time]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-date-time' - [tombi-diagnostic]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-diagnostic' - [tombi-document-tree]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-document-tree' - [tombi-document]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-document' - [tombi-formatter]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-formatter' - [tombi-future]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-future' - [tombi-hashmap]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-hashmap' - [tombi-json-lexer]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-json-lexer' - [tombi-json-syntax]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-json-syntax' - [tombi-json-value]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-json-value' - [tombi-json]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-json' - [tombi-lexer]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-lexer' - [tombi-parser]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-parser' - [tombi-regex]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-regex' - [tombi-rg-tree]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-rg-tree' - [tombi-schema-store]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-schema-store' - [tombi-severity-level]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-severity-level' - [tombi-syntax]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-syntax' - [tombi-text]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-text' - [tombi-toml-text]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-toml-text' - [tombi-toml-version]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-toml-version' - [tombi-uri]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-uri' - [tombi-validator]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-validator' - [tombi-version-sort]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-version-sort' - [tombi-x-keyword]='https://github.com/tombi-toml/tombi;447bbe853ac15d1149976e9bbf85dd11fb55359e;tombi-%commit%/crates/tombi-x-keyword' -) - -inherit cargo distutils-r1 pypi - -DESCRIPTION="Format your pyproject.toml file" -HOMEPAGE=" - https://github.com/tox-dev/toml-fmt/ - https://pypi.org/project/pyproject-fmt/ -" -SRC_URI+=" - ${CARGO_CRATE_URIS} - https://github.com/gentoo-crate-dist/toml-fmt/releases/download/pyproject-fmt%2F${PV}/toml-fmt-${P}-crates.tar.xz -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT MPL-2.0 - Unicode-3.0 ZLIB -" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~x86" - -RDEPEND=" - dev-python/toml-fmt-common[${PYTHON_USEDEP}] -" -# tox is called as a subprocess, to get targets from tox.ini -BDEPEND=" - test? ( - dev-python/tox - ) -" - -EPYTEST_PLUGINS=( pytest-mock ) -distutils_enable_tests pytest - -QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/pyproject_fmt/_lib.*.so" - -src_unpack() { - pypi_src_unpack - cargo_src_unpack -} - -src_prepare() { - distutils-r1_src_prepare - sed -i -e '/strip/d' pyproject.toml || die -} - -python_test() { - local EPYTEST_DESELECT=( - # something about ANSI codes, no clue - 'pyproject-fmt/tests/test_main.py::test_main[format-absolute-no_check-in_place]' - 'pyproject-fmt/tests/test_main.py::test_main[format-cwd-no_check-in_place]' - # broken CLI test, expects exit status, gets an exception directly - pyproject-fmt/tests/test_main.py::test_invalid_project_version - ) - - epytest pyproject-fmt -} - -python_test_all() { - # default features cause linking errors because they make pyo3 - # wrongly assume it's compiling a Python extension - # https://github.com/tox-dev/toml-fmt/issues/23 - cargo_src_test --no-default-features -} diff --git a/dev-python/pyproject-fmt/pyproject-fmt-2.28.2.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-2.28.2.ebuild deleted file mode 100644 index df0cc494ccf3..000000000000 --- a/dev-python/pyproject-fmt/pyproject-fmt-2.28.2.ebuild +++ /dev/null @@ -1,116 +0,0 @@ -# Copyright 2022-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -DISTUTILS_UPSTREAM_PEP517=standalone -PYPI_VERIFY_REPO=https://github.com/tox-dev/toml-fmt -PYTHON_COMPAT=( python3_{13..14} ) - -RUST_MIN_VER="1.88.0" -CRATES=" -" - -declare -A GIT_CRATES=( - [tombi-accessor]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-accessor' - [tombi-ast-editor]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-ast-editor' - [tombi-ast]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-ast' - [tombi-cache]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-cache' - [tombi-comment-directive-serde]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-comment-directive-serde' - [tombi-comment-directive-store]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-comment-directive-store' - [tombi-comment-directive]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-comment-directive' - [tombi-config]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-config' - [tombi-date-time]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-date-time' - [tombi-diagnostic]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-diagnostic' - [tombi-document-tree]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-document-tree' - [tombi-document]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-document' - [tombi-formatter]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-formatter' - [tombi-future]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-future' - [tombi-hashmap]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-hashmap' - [tombi-json-lexer]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-json-lexer' - [tombi-json-syntax]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-json-syntax' - [tombi-json-value]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-json-value' - [tombi-json]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-json' - [tombi-lexer]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-lexer' - [tombi-parser]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-parser' - [tombi-regex]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-regex' - [tombi-rg-tree]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-rg-tree' - [tombi-schema-store]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-schema-store' - [tombi-schema-type]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-schema-type' - [tombi-severity-level]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-severity-level' - [tombi-syntax]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-syntax' - [tombi-text]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-text' - [tombi-toml-text]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-toml-text' - [tombi-toml-version]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-toml-version' - [tombi-uri]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-uri' - [tombi-validator]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-validator' - [tombi-version-sort]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-version-sort' - [tombi-x-keyword]='https://github.com/tombi-toml/tombi;2c1f7bfc0b36f106eb50821fe41f25cc90e75427;tombi-%commit%/crates/tombi-x-keyword' -) - -inherit cargo distutils-r1 pypi - -DESCRIPTION="Format your pyproject.toml file" -HOMEPAGE=" - https://github.com/tox-dev/toml-fmt/ - https://pypi.org/project/pyproject-fmt/ -" -SRC_URI+=" - ${CARGO_CRATE_URIS} - https://github.com/gentoo-crate-dist/toml-fmt/releases/download/pyproject-fmt%2F${PV}/toml-fmt-${P}-crates.tar.xz -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT MPL-2.0 - Unicode-3.0 ZLIB -" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~x86" - -RDEPEND=" - dev-python/toml-fmt-common[${PYTHON_USEDEP}] -" -# tox is called as a subprocess, to get targets from tox.ini -BDEPEND=" - test? ( - dev-python/tox - ) -" - -EPYTEST_PLUGINS=( pytest-mock ) -distutils_enable_tests pytest - -QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/pyproject_fmt/_lib.*.so" - -src_unpack() { - pypi_src_unpack - cargo_src_unpack -} - -src_prepare() { - distutils-r1_src_prepare - sed -i -e '/strip/d' pyproject.toml || die -} - -python_test() { - local EPYTEST_DESELECT=( - # something about ANSI codes, no clue - 'pyproject-fmt/tests/test_main.py::test_main[format-absolute-no_check-in_place]' - 'pyproject-fmt/tests/test_main.py::test_main[format-cwd-no_check-in_place]' - # broken CLI test, expects exit status, gets an exception directly - pyproject-fmt/tests/test_main.py::test_invalid_project_version - ) - - epytest pyproject-fmt -} - -python_test_all() { - # default features cause linking errors because they make pyo3 - # wrongly assume it's compiling a Python extension - # https://github.com/tox-dev/toml-fmt/issues/23 - cargo_src_test --no-default-features -} diff --git a/dev-python/pyte/pyte-0.8.2.ebuild b/dev-python/pyte/pyte-0.8.2.ebuild index 7025cf39494c..a0cc2ab22445 100644 --- a/dev-python/pyte/pyte-0.8.2.ebuild +++ b/dev-python/pyte/pyte-0.8.2.ebuild @@ -20,7 +20,7 @@ SRC_URI=" LICENSE="LGPL-3" SLOT="0" -KEYWORDS="amd64 arm64 ~riscv x86" +KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86" RDEPEND=" dev-python/wcwidth[${PYTHON_USEDEP}] diff --git a/dev-python/python-axolotl-curve25519/Manifest b/dev-python/python-axolotl-curve25519/Manifest deleted file mode 100644 index e488ad0bf951..000000000000 --- a/dev-python/python-axolotl-curve25519/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST python-axolotl-curve25519-0.4.1-2.gh.tar.gz 100957 BLAKE2B cda4fb7ad7c78df7465a952e2b5f3c6616849876bc1c8b72dde08042a655c2b86233329d311f6bee1bfc6d2b32926968aafc7e6204320209c2c1bd008f1aa361 SHA512 cbc7c6caa47a9a811640c247a1be727d7b1b68bcdb4c5336e02b4d1eaf9fd2c57b7438b0da466a379a1c0f3f146756b9b7eea3c9b7945ce88478d4bf0b8a1e0d diff --git a/dev-python/python-axolotl-curve25519/files/python-axolotl-curve25519-0.4.1_p2-fix-setuptools-warning.diff b/dev-python/python-axolotl-curve25519/files/python-axolotl-curve25519-0.4.1_p2-fix-setuptools-warning.diff deleted file mode 100644 index b62111a0b7c3..000000000000 --- a/dev-python/python-axolotl-curve25519/files/python-axolotl-curve25519-0.4.1_p2-fix-setuptools-warning.diff +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naurp a/setup.py b/setup.py ---- a/setup.py 2018-04-14 12:44:43.000000000 +0200 -+++ b/setup.py 2023-04-01 18:39:19.732484796 +0200 -@@ -18,7 +18,7 @@ module_curve = Extension('axolotl_curve2 - ) - setup( - name='python-axolotl-curve25519', -- version="0.4.1-2", -+ version="0.4.1.post2", - license='GPLv3 License', - author='Tarek Galal', - ext_modules = [module_curve], diff --git a/dev-python/python-axolotl-curve25519/files/python-axolotl-curve25519-fix-type.patch b/dev-python/python-axolotl-curve25519/files/python-axolotl-curve25519-fix-type.patch deleted file mode 100644 index dc30fff8d911..000000000000 --- a/dev-python/python-axolotl-curve25519/files/python-axolotl-curve25519-fix-type.patch +++ /dev/null @@ -1,15 +0,0 @@ -See https://github.com/tgalal/python-axolotl-curve25519/pull/26 - -diff --git a/curve25519module.c b/curve25519module.c -index f4bd3d7..cf8bb45 100644 ---- a/curve25519module.c -+++ b/curve25519module.c -@@ -158,7 +158,7 @@ curve25519_functions[] = { - PyModuleDef_HEAD_INIT, - "axolotl_curve25519", - NULL, -- NULL, -+ 0, - curve25519_functions, - }; - diff --git a/dev-python/python-axolotl-curve25519/metadata.xml b/dev-python/python-axolotl-curve25519/metadata.xml deleted file mode 100644 index ccc97aeb4800..000000000000 --- a/dev-python/python-axolotl-curve25519/metadata.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://srcux.com/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="person"> - <email>conikost@gentoo.org</email> - <name>Conrad Kostecki</name> - </maintainer> - <longdescription> - This is a python wrapper for the curve25519 library with ed25519 signatures. - The C code was pulled from libaxolotl-android. - At the moment this wrapper is meant for use by <pkg>dev-python/python-axolotl</pkg>. - </longdescription> - <upstream> - <bugs-to>https://github.com/tgalal/python-axolotl-curve25519/issues</bugs-to> - </upstream> - <origin>srcux</origin> -</pkgmetadata> diff --git a/dev-python/python-axolotl-curve25519/python-axolotl-curve25519-0.4.1_p2-r4.ebuild b/dev-python/python-axolotl-curve25519/python-axolotl-curve25519-0.4.1_p2-r4.ebuild deleted file mode 100644 index f200c2b2f838..000000000000 --- a/dev-python/python-axolotl-curve25519/python-axolotl-curve25519-0.4.1_p2-r4.ebuild +++ /dev/null @@ -1,26 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517="setuptools" -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 - -MY_PV="${PV/_p/-}" - -DESCRIPTION="A python wrapper for the curve25519 library with ed25519 signatures" -HOMEPAGE="https://github.com/tgalal/python-axolotl-curve25519" -SRC_URI="https://github.com/tgalal/${PN}/archive/${MY_PV}.tar.gz -> ${PN}-${MY_PV}.gh.tar.gz" -S="${WORKDIR}/${PN}-${MY_PV}" - -LICENSE="BSD GPL-3" -SLOT="0" -KEYWORDS="amd64 ~arm64 ~loong ~riscv x86" - -PATCHES=( - "${FILESDIR}/python-axolotl-curve25519-fix-type.patch" - "${FILESDIR}/${P}-fix-setuptools-warning.diff" -) diff --git a/dev-python/python-axolotl/Manifest b/dev-python/python-axolotl/Manifest deleted file mode 100644 index 43fb35fe67ae..000000000000 --- a/dev-python/python-axolotl/Manifest +++ /dev/null @@ -1,2 +0,0 @@ -DIST python-axolotl-0.2.3-update-proto.patch 63323 BLAKE2B 2d922584ed0f92c115b1eca8dee26ed27ae91c31702dd91d81c80495712f70cc96a9c1c1332358f2c70d5331378609fcfb09350862cf07eeec37fc63fe5e9759 SHA512 3d2457af683b073450587b61076e09704036f8081b2ce5150e1be347b2a0081bb8b338169c111e6416770d6c3aed7251dd225a7d8b1c58409756e3176aa96c6f -DIST python-axolotl-0.2.3.gh.tar.gz 52139 BLAKE2B 8539f4ff6d9d7e57965cdbbd510f499cf344490091fe56b013d1ab60986092ac8a7a76248624993692077020043ea21c1d9448ecf9b76a698b43da4e014f37ab SHA512 1a10dc9df2f95d19b49909d4d136b5266aae19e24ac84f8b263ae7d4de18f77353c737616ac0648b600e05699a90d348f95c6c1659849986becefb4a0277fc80 diff --git a/dev-python/python-axolotl/metadata.xml b/dev-python/python-axolotl/metadata.xml deleted file mode 100644 index b8f9329a9a3e..000000000000 --- a/dev-python/python-axolotl/metadata.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://srcux.com/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="person"> - <email>conikost@gentoo.org</email> - <name>Conrad Kostecki</name> - </maintainer> - <longdescription> - This is a python port of libsignal-protocol-java. - It's a ratcheting forward secrecy protocol that works - in synchronous and asynchronous messaging environments. - Originally written by Moxie Marlinspike. - </longdescription> - <upstream> - <bugs-to>https://github.com/tgalal/python-axolotl/issues</bugs-to> - </upstream> - <origin>srcux</origin> -</pkgmetadata> diff --git a/dev-python/python-axolotl/python-axolotl-0.2.3-r4.ebuild b/dev-python/python-axolotl/python-axolotl-0.2.3-r4.ebuild deleted file mode 100644 index da00ab2cb664..000000000000 --- a/dev-python/python-axolotl/python-axolotl-0.2.3-r4.ebuild +++ /dev/null @@ -1,40 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517="setuptools" -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 - -DESCRIPTION="A python module for the axolotl protocol" -HOMEPAGE=" - https://github.com/tgalal/python-axolotl/ - https://pypi.org/project/python-axolotl/ -" -SRC_URI=" - https://github.com/tgalal/python-axolotl/archive/${PV}.tar.gz - -> ${P}.gh.tar.gz - https://github.com/parona-source/python-axolotl/commit/f23e151c2f27043c7261eb07dd50f269abf51dce.patch - -> python-axolotl-0.2.3-update-proto.patch -" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="amd64 ~arm64 ~loong ~riscv x86" - -PATCHES=( - # https://bugs.gentoo.org/936053 - # https://github.com/tgalal/python-axolotl/pull/46 - "${DISTDIR}"/python-axolotl-0.2.3-update-proto.patch -) - -RDEPEND=" - dev-python/cryptography[${PYTHON_USEDEP}] - >=dev-python/protobuf-3.20[${PYTHON_USEDEP}] - dev-python/python-axolotl-curve25519[${PYTHON_USEDEP}] -" - -EPYTEST_PLUGINS=() -distutils_enable_tests pytest diff --git a/dev-python/python-tests/Manifest b/dev-python/python-tests/Manifest index 540c5df317a2..703e04b30ac8 100644 --- a/dev-python/python-tests/Manifest +++ b/dev-python/python-tests/Manifest @@ -1,50 +1,25 @@ -DIST Python-3.12.13.tar.xz 20801708 BLAKE2B 94b99c75e3aba1d1a953b5447f8ad6b7ebec921bc8cf32a9dfd449e574e4b7e2a010f0f267c31c859acec0092669203c71c90386c80203968126d9dbfb6ae85d SHA512 e1eb66f0b34581f0155e3ce25ba72cf0b4b1107672ed0ad3e86bcfe616945c9204c41ffc492f32b1066b9154913ff88343038967ad8711dd05e6f2332fdb735b -DIST Python-3.12.13.tar.xz.asc 963 BLAKE2B e6bc572fd207fe203cf8018bca89777c7033e46d25cc598b5715658f556d26b6f3b1652f13518850ad62a37254ab4ecf5f770197cb847306ffef96b747840e88 SHA512 903fd3baa7e29891bb00fb159ec9c43804a71002c4cd38902d25bf4e5167f856b37d211a5b1098ee60e1ea41f8a10a1596dd2382edc6d7367d55dd4154807fc7 DIST Python-3.12.14.tar.xz 20820300 BLAKE2B 3ef16b62edfe1aca66180a31eaa8b05059563acf9e83669b705dc7ce58417d72e04a156d6cc6130127fb54bfdf4a390d6a2f2961f228ba3d3a5de1a2340bab7e SHA512 9007399ffdd3a493c91a98cd7a6cb93acfb8de80f3be2f5480cda36f134d49b5043a60bc6b5c62ed18cc6a2e4e3c81cb7556ac5f337e2cd58ff3449a8099ed22 DIST Python-3.12.14.tar.xz.asc 833 BLAKE2B 5531fd3eff81a3177b70659c8853330d6e613c0ce8888b24666367d6c25a22aaf59b3ae375b199b1d4ef76933842e602b74daabb001e0fc9516768d2c59c78dc SHA512 69cc4757f5d79ea46f9b632d5b34f9f16855cb1f767f77c827ad65546ba8f77b68e75a661ebc4e4f453edd7a98a73d916491597f67d4fed9c891aa599a869324 DIST Python-3.12.15.tar.xz 20829824 BLAKE2B 9bdc03059b0f0de6691a0ab250279f9dac30cfa4e6d9ad81826ceec26218fd21048ba4a26a83175beece3d5754ff972ee065570244786c129c160df6ac8c3ca3 SHA512 def68bdc3e3aba4d285ae8b305c90f2319297b5a7b1888f582b3cef979bf7f43db0d3047b23312935904576982336f9f78506183b109f388905bf4db33e6abea DIST Python-3.12.15.tar.xz.asc 833 BLAKE2B f59a0f7098cf83a35e22a96fd6f980266c29f0ee27c0408f3dc6616af6bede3941a398b0f055928edcd8a1396dc31fee865e136c93eb7a21e69ab2d740f9f595 SHA512 c985540a712f6bb1ea1bd74a68fe020735f57b74e14404dda0d30a16146c27464c828c356f9e6593d25e1dc142aa73cbb44bcd6bdc201791dcf46ba2593e2408 -DIST Python-3.13.14.tar.xz 23021880 BLAKE2B 8f60f704c06fbfc2ee8ae3b2aa5c74cb5941f609baf74b3625eb37929933d2a3c806e9257c7d7f860d775a94454ed3ad90f50402ddd110b8bb32c40879bf66ec SHA512 0790da65f8ce88a13b06d3b287ace5a1f36b0a8f630a3af00fbbdf93b6ef0944dea05173a20c9e1336d280ef9a97ae2b95a44a4b487a7bbb71fda53b6331c0eb -DIST Python-3.13.14.tar.xz.asc 963 BLAKE2B d500bc16d5a1a1fb999b6c98ed076077a7fa8ab55b437a676c5f20f4665d27ee4644653e55a82ab78f2be18bb38b2cfa95efe5f39d7d39db3fe6c4b227c5d6ad SHA512 a5cfab862ac03447838d13c4d1a9b085a8c8a947c958fd42cecb42929817b1448c1b23a124c87456abd43a1cadfcfb427f394eead9eaf0b84f3296fa263dba6c DIST Python-3.13.15.tar.xz 23160540 BLAKE2B 919260666d5e641fa174de3f9ce4dace7bc2944446d11bf2a954a77acfc8f8b18ce2517b805887d78ed970486e5c893715f4252c96bf09943044d773a05d7279 SHA512 b0ab766a3de0b4cfdbf0b93300d7330c734d3f7057577bb03e95e39da4cdade81993e769c7fa6dfdcc13b9d43a3b399d9cd89b5477b413662e9e691c1b7886b8 DIST Python-3.13.15.tar.xz.asc 833 BLAKE2B daba95f5977f80a155effdfba3e1a8a744a739f0aa0d1f4f7d2e410cd91833c1faad1186ef50d1979ec061e4a9f0c71444955612a75b4874898c9cf571019a01 SHA512 662c00be95f62e80db43cf42099fef91f764ff7a4433cadf7eb19dedb5e4775adb12878d5ed2295fcea187731de186163ad9672ab72cde62a2335ca58ec1ad86 DIST Python-3.13.16.tar.xz 23225704 BLAKE2B 1a3912f93d51e86ae7c2ab6478a7286121a0e3410e2f6b67028aafb3e5bf49289e2c79d0f7af9264ee09374fdcfec136554f15e979330904a37b57c37f60a618 SHA512 7283884583b181161aff5ce523c0cdf03904a1d7a172db2727f7d3f42ae6e4d44f1ac86f7960df4a0203740cc04ab5adba3f404aafd562afe761d9052cc4f32c DIST Python-3.13.16.tar.xz.asc 833 BLAKE2B efa3967a6164038003e30f9c6300a2a72fa0a2b65227064df8d9bd93ac84b84730f29c3a5ea10ac0385188ca22fa3b12cd2bdec19876ec75b49ca0033c397b27 SHA512 14f2ff2a5820d9e4410d4ac5a56aafa2a7e2b2ca8a9f5f6517bc839d61837a27522950999de4a422de4f6499fcec91015f27d940d88b3766bd0ad5d90d46ee92 -DIST Python-3.14.6.tar.xz 23921184 BLAKE2B d3038309c02fb260ee54a4151c67999930099455a993e8b712ec5d7cac97fcd8fc847288b0c93ca8c30d5acbf79325e6d54d16019b7daf51ade982208548386e SHA512 90a82f46c28f0fca613b67358fdc57c145ab05d20fb56bf3bc0c9e4e54947c7d30fbaa6856c41a41909237a9e601d1a7d19579d4b25c7a784ebcfe9012defc41 -DIST Python-3.14.6.tar.xz.sigstore 5539 BLAKE2B f48bd02fb1588306063d2a05b905bb640b23d73a404f39c6b1100b457d71bac296aaf753f24eb25c7bf060cf73972179d6e8b123f6931e69067480ded50e5d01 SHA512 461b8b4b8af0af507681fd1dd684c3559edfcc6cd79454ee0635f8e2d1606e87528ad24c9142bca2eb1ba4a70aeb123750cb9e6c181de6675205849d8cb58a48 DIST Python-3.14.7.tar.xz 24053924 BLAKE2B 7d6988f906a402dbfc87b690f228b5fc53de024602bb459360e0482c1e323e212c71ff389b2c37bcc35248df9d9aa3bf710d3745484048cce7d4a41e5b3ea937 SHA512 3d4e2e2f983b320dec47005c408d7178d3656a6de0c4430ce21514797174b972f461200898b25d3dfac2a455019ef87e45d0fb2bb6ec2ca887124d10037a2a07 DIST Python-3.14.7.tar.xz.sigstore 7101 BLAKE2B 9c016780aad594596b5f4782e755f211bf6c635026c2c854d6594aba2254c84eeb78f0e90eae4b0ba218168c2162999b2e9327184031c43d8b111fb72e95f888 SHA512 6e56084d4c45712d2ce21c4f16008513e4daa22f2a6174b4d715c2bcf80a2fa9a1356ea6c4ecb8470ab2f08117ef79301da666b53b264bac53ae0801e410d189 DIST Python-3.14.8.tar.xz 24130644 BLAKE2B c357ff7ad35ed9daac86cf8b9ba05c2735104aaedd3b4e942e16f4f76ea4990d678f932da11b7d3e8677df5e3e848ed28d89b172844c53675cf09c86b2289903 SHA512 f9e6809b0c45d90fcc174b8051e15058a3037981c9136c598d110a118a22cbbb8263fbd677e07b2b9d93e1aa83cd9cb835b61b6af898fd301d1080a29c2156fe DIST Python-3.14.8.tar.xz.sigstore 7489 BLAKE2B 9815b29e63c481ecb5bdd37f2f8da2d1a363adb1fc138ac00fec37732ecd5dcb34e010c2aaed4dea3aa688543768870aad17cd7999006b8b7974ed05e125e4e2 SHA512 cc030677f2b22287ed42974cd5d2654d1eadec38d66080b04b4a5bf468e9055aeff127dbd5cce508d31c977a38d84a0e87eb3c6375b2b924e03f7883e1d602a9 DIST Python-3.15.0.tar.xz 35688820 BLAKE2B fd061cceb89dc512b0e68f32189ba6d89e5707b633d5606215bdfa173ed67918127c195cbde6c0d759cb1197ebbbb030129f0520ef59eec83554d5d810257983 SHA512 293cbdbb20076c8d9f1ddfb9b72796974b00802f96691843af3924e55e2a7cbd89c1cd85ebd8e35a474eda9e7a878b6622238178ef2de4427e4e34ef70d04265 DIST Python-3.15.0.tar.xz.sigstore 7310 BLAKE2B dc13104044018b770628b085b3baabba2e06decfb0f5d31573fc847c6ca0f933a5a8bf3ff8241fe948009c6a190ea1b3aaf9d787c8b6b8a89dd15bade6a60096 SHA512 995e0bc6732c27a8c18a4f8d0db957fbe6b8e777d7e0b92669e03918aeabbade5443429ff5070bf02a5e03f8c873db1e92fa83e5bf63340b10d8653550ee4bd6 -DIST Python-3.15.0b2.tar.xz 35381676 BLAKE2B 59834dc8301dcc9d7e25fd3faf6060a6755443f3782fd3f035d82896468013d01be1b558f7d5c7099b32d49256b09055fde324660d66a52900f519f75acb5556 SHA512 fae17efc3bd2604fdff2d63e0afeac47562165a5da2e1e027f4126b4f8bbb4957f3a2f406d6db23a20c8881fad108385b4b2afb53482075dbe16a690778ccd4a -DIST Python-3.15.0b2.tar.xz.sigstore 5583 BLAKE2B a766583eb8340ac3bef93ac0bde0ffa66f4680361bb369b3baccd715eb24a8a1f2e5f1ba049e1e8d3c7c53f41a2fe4b0402104156f7c0609355a18dbb24c99e2 SHA512 78f437419f67b10d556ec2304e9f46af4ee0114434e1c51594ccf202aa98ae3b733f4022aeac8fc1afdeeb29fda9328f855dd4914d38318c9ec965b45358153c -DIST Python-3.15.0b3.tar.xz 35459584 BLAKE2B 613f3609775df8b899603363a5e6cce39d3e1e56451c626cf87adc6149d9bbe5d1cddce86e3d86eb521747f4f0ada226322d0d737f881d107adccfd7b8533098 SHA512 a8c73a8e373ca921c87778d011072c1a0602cc203c65acda69117189cf5bd6c277c54044af381f27c243b187bbbb7b3ef47b9318bc89e2c044de9723175d7dca -DIST Python-3.15.0b3.tar.xz.sigstore 5687 BLAKE2B fd74f7eae99854979980740fb5af2f75fcd4a37548667706fe3f301d213244af987afc7a5395d85df48a04f42f0f660ab6c2b717085c43077f7da5b0413aabc3 SHA512 0f9241d114a1b390f547fbd0768be1375d1500c2e9b8d851a3ba87a5d8df1c0963e69c8798dd5576298f0e535860b5faa69ead5f41549d1a4b0e6228603b5a26 -DIST Python-3.15.0b4.tar.xz 35509544 BLAKE2B d7fb1fb55cb75ab28971dc4ce575a61213b2041d12224b387ca6e2c176c818d37f4db07c4064cecdefae794befbd2247cacda43b33dd28485e9a6e547e9b6865 SHA512 ea668ea51334338aa44ee6ab20d9acb958fb7c41c1bd8ef3b91048d80a27f7aa2b2bc7b4c4928714b22c86a7a7719e7c09ae2ac82fc3f3ad01ca3a736f85e067 -DIST Python-3.15.0b4.tar.xz.sigstore 7105 BLAKE2B 78f8667ab32ae1353cb1475a9318e669922d475e0c31fd5e5bd86f944dc318d33299b9fbb6d00eb833cfa0f33dd0f043a6301f3e09f25fb1af892f3bb3a633b2 SHA512 df6545bc6899bcaafa056066b25a35de010a64587af223060f14ae35313b18c9e221f8bced7e256d2b3f9f13fa56c86a1cb8feefe0e24c7ad2efc41e4bf115b9 -DIST Python-3.15.0rc1.tar.xz 35516700 BLAKE2B 97bcfd712f442c0811591c4e23b29840de9755893f5ac03c3a10eaf68682a9620b39d147cf857c319b047b1d816b521b9e1e9b7cb21321974d50bbc1b8ce8c3b SHA512 70dfe0b18bf769206d50d1efa2d3c5d3da7b8333139d9d7f8f404bc8273cdf86348714a7c94869b4af4a38c0ee45559ad0bac6e90e434f11f1ee07ebbda0618a -DIST Python-3.15.0rc1.tar.xz.sigstore 7297 BLAKE2B bc1c314774909316c1860e3bb947740ed9beaa00821416459b9f66eb681a2467a19ca0187ab515f54829a3df8fb3214ac2bf8c68d1b6ead09b5c810c96253fd4 SHA512 1ce9eebc29918a5a74378f3af893104b957a5565cd7f3878e099b799787cc731caccd70f6e8fc450bc4f6a6690e1e1570fdc9ee6722b67fad455e3b075881f7b -DIST Python-3.15.0rc2.tar.xz 35544464 BLAKE2B bd5e1203f2c65bd6cb20f822927b77b65b1f13e2cfd08b295e966f92f3c6c7d9ad9178224fe6cc6d07900c41b5083ce25a8cd1fd896bf50a905b699da4a37fe2 SHA512 afef5f1aa89e7cd875ec99a7b6681c9f1ce18474955b7bbd1cc0def9a3cf69163bc028d06263a008b48b12361d67943289967914a1503e2ccc4e724be7e06c6f -DIST Python-3.15.0rc2.tar.xz.sigstore 7011 BLAKE2B 1a48036e37fc1cc218e9be491303239953b83259947a6ca76241f1a16af3626edefdec270666c0ba6f7835578486872b171e75fbedc24171188609e1b8caa230 SHA512 dcec0764b89abc84e3220448b17d3612c4ddf2ab8dddd282860faf8159cda1b4fae2e7583f4936ed3c62e752289f561efd9cbef9c3f42df71fddfbe17fa9e8a9 -DIST Python-3.15.0rc3.tar.xz 35587476 BLAKE2B b931ee63558909ac94f705912b114a90a4a272c75e475ad203e471d13b500dcff37b8b049b76155e6cbf0ce4d3fe12f5904b4fcd87e982faa31b4f3e5bdf5ea4 SHA512 a6f28aece66e51f8f38c44b0d479fd7b80ef75db6a49862ddcff6a08c34b68ae83aba8fb5987fca3c40929be6a5d4bc21f25a2e9e742681ff8f11ed0a5c4b5ca -DIST Python-3.15.0rc3.tar.xz.sigstore 7481 BLAKE2B 5702b773b8139f862b586c04c8d7c55fc2f2617fbf4f672d8440aedee4cbc98be5079e6bfc9cc5eb1c295dd286da958c83d886f7f8067132006651ba5374cd0f SHA512 b23f297054185ce92d643643a05a58952bf5bb503c6c7659199fa3d0771c3a8c0698f1aa94d763578ecde0063baba47dcad2a8b039b9d906a633c1fccebd1e3d DIST python-gentoo-patches-3.12.13_p1.tar.xz 12408 BLAKE2B 2b232c2742eafcb803713c837b4ddaa38f45c88e707ec272571739570f9e2e5c94644681369d887992eadf5f0c1178489f1aa3a7d8163a2aa4ce6a86732e73da SHA512 e06d78ad24c9fbc3fa9c47b25ba722342ddd140aa30f624b41d605dae40d00ab956d879a247db2d7980c063a1472de40587a0d3cd6947e560aa7e8d0e4f89309 DIST python-gentoo-patches-3.12.14.tar.xz 14296 BLAKE2B aa38928fedcdca5b681f5b1d7cb227038a60202c91c561f2dd3dd40e80167e683676670b7a3fb791ad37f92801d23a429b5adc869eb5566f4223057e932d2f2f SHA512 aafa1c59b54c131efa7fc7db5e64ab01f6c15b4d9d6bedf44bed747b3b06610dc731c4d527b91b321205e83eba944da4b687f23628155468cfc4c8b531a822c0 DIST python-gentoo-patches-3.12.15.tar.xz 14288 BLAKE2B 7542fe0812f67d5b77e22c8af05468960695d1581469d3aee8a8aa569b0a56f75dc264242c8e90f4be5c47488389263f4a61a847448862e253926744055101c3 SHA512 f8e78c98ce383045aedf4d637fb4ae0c435db115c30eb96dafc0150a813e6849ca23b0fc5cb04f9530d92dafd604ee41b50e1edae228f7ed32c8b62ce623e252 DIST python-gentoo-patches-3.13.14.tar.xz 9360 BLAKE2B 257a43992b857d44881174b36b0940fab3f879060938fe6e6464ae671832a3af624a0cc6f012e44ee344a34d0a8da0c898a29176029bfab70086434fbd3c3b99 SHA512 0084ffc35ff81a7056dd7a3624083ed957fbe482b1cbca9e401ef5851e0046b82b9102f4cf358f2974d7a7dfb3e21e96dcafe6c207417fa01834b9d10a2ee8d6 DIST python-gentoo-patches-3.13.15.tar.xz 9364 BLAKE2B 03cc93d5d89db0fedf92dc80e1a758b408fea4d718c7ef653b5068b791327a0d416870a362a652f21066abf17b15f682850f71473adf8e2bfc86ede4677738e5 SHA512 319805f8dad220b89c6d52bd76ba031f1c8c780c7338fdbe7fd35af685a8ee75ca2568d77863a67de64398e92c4b73beb581481846f81c24eb9f0317b81a848a DIST python-gentoo-patches-3.13.16.tar.xz 9364 BLAKE2B 7eb7072f782955041d5d1284a66312269671a4ef38b38d4b9e3e9fe65f6f4ae2fc1aaa3dae623743903acf38b99b6e15c3a11dd1a7892d6f1d34c3f33c81b7de SHA512 2ba2b6bb9c785ea78a88326ca4185d171a8f5c209a41269e0a70c244d037cae871be60a76c237d54f78720882cefe9fee8f8d3b132fed725b2beaf18765d3ed4 -DIST python-gentoo-patches-3.14.6.tar.xz 10312 BLAKE2B 3415bb7859cdd8754987afdc7d0c793833755698a9a6b7e7b7c75d2c203109640cf5c1aff49ea38419273959479fb745cf956cae263515d82c0e7e67155be5c2 SHA512 19cb6f1424165153d2834b310ef6f8a0ac047351126191457fc0ce49238a6b21fe8a427897a5ce19bdd20076abc2189c71175981a67ab07dcbdec759b80005ab DIST python-gentoo-patches-3.14.6_p1.tar.xz 12032 BLAKE2B 315de6cb5f346c6406e12d4cb6ccbc986e6a39dc334e5ceb4d1ba4922a336d77f0bd0167fb7ef4d1c40ce0829e03248e838dbfbd0a46c0e4e0f6cf9e999e09e8 SHA512 2ac689aa6cff138782440ce1104bf21eace756fd1a72e22590c14157390937f7f50cd1e1ca774bb5a1ff08404b74901fb55d703c39a6ff9c9165e420d1b045e9 DIST python-gentoo-patches-3.14.7.tar.xz 10304 BLAKE2B df9214b27caaef53da93e5468faae24186d5f37b675a86289ae0161539935a509d60635cde4569efd03769e228fb7d450e396bf731db2b49d4a46e0f70df4a87 SHA512 d8313edbf5126df6ed59d4e06fb813574e4dd672ccd433e6de776a06757deda0e0495bb92e59508d86bb5ee84d2fab8141c5446f6541104b1bd80c8647a1f705 DIST python-gentoo-patches-3.14.8.tar.xz 10300 BLAKE2B d03992cf3aa224c03bdff6bb837879fac6c935265a384170c4139d09a9e3fb246cd7822ae171ed88999d6120512e7f49bd04c1d3f7ccee1967e194e1186ce7b3 SHA512 9d05432b04718ddaa5d09a0fc99d2498078398e94f00470b48f19c1779cc86997917825a1d2ac539e2170d8f0a9ade82a9b8909ae221db395a6f9fdbde3a24f6 DIST python-gentoo-patches-3.15.0.tar.xz 4624 BLAKE2B 844b76e97fe4564613e4a00d02f77b18ef63a1b731ee7112789f9067d973decbcab05aeca2da32945b2c1f03e81705e7b102d4281b43287db948a3483e702f35 SHA512 0b0df753ab876f579e59b351d72b80279562236a1f5b36016eff133e4e3a7bdac7705af53a2f3a8ec4a0836c9357ceb5ea236047e3b12ceedb8ed593267f6cfe -DIST python-gentoo-patches-3.15.0b2.tar.xz 3436 BLAKE2B fa2128b899f2d93078058ccd3e47b780bd092a841b07add94da61a55bb1f9846ec1fa5e00bcd78fcdd1d7da80fdf1dbabcc5d644a70cebce2018c457b186c74a SHA512 e92e87c027c8d777faae20b264cd83353dbb23d15679e99465f014277d02078b8c68fce3723e176cbebd94ac2057e5a9703f0ae5f5691e934b74947735ec3a86 DIST python-gentoo-patches-3.15.0b3.tar.xz 3432 BLAKE2B 994e9339e00dfa4b40395e763f25dde4813d791151787028dafcf2e5159c38bbe88d4b56d07fc4c7454a09bd55edfda94b9cb8cf5c0ff0ffe7db4bb1a8eea8b6 SHA512 8c3a8dea43fc42179679b1f6811979dabb4e1c34821b4aecd894d661842df26e7592f5c74787157f36ccddf9ce233994c774fbe8381dc0ccaff3dfcff0c6c572 -DIST python-gentoo-patches-3.15.0b4.tar.xz 3436 BLAKE2B 82a8b6a3467613229b938313f69dca219793fe5e4a16266483705f00062eec30f775bbaf4b50aa38062a96377a44071f2d29b5ae7926a003d3b70094ddc0db5e SHA512 0858432978d85453ca136c4b54737c6df8ca536852723f0625984ca7cb4aef623286d94e34b8ac80f2f7547a8fe95390972e569bdcdb30c93f4466eab586022b -DIST python-gentoo-patches-3.15.0rc1.tar.xz 3432 BLAKE2B ecd250cefb140de9b9072e4fc256a21c0f2b0a372a4fc715cf954e04c8b5ed8932f9729e14fa1c31edbca3db72b6c9fade2bb4571544e26425bfa841cbd9acad SHA512 2d587b31bafe712f87b79c93fc197e7232da29a14df218ec495a57a50a92d1543dc5fb32214a5ef83dc2b0dac22dad493a03cac39b25566f1b4688d810dacefa -DIST python-gentoo-patches-3.15.0rc1_p1.tar.xz 5204 BLAKE2B 088022af757ebcb93a6fed65211147f5e1b4fc3cf319aa4fd6ca18998a96a579711cc18ba392e91a58cbea44fc71facca47ace333fc79957ae779876b30e0349 SHA512 c72a2a312c97e67962b06a2fa2da6292b11fa19cb8fe237e9a100c85672a230acf2f74b47832a601513a100358bcfd70296501652a9692e86a53447f5962fdfa -DIST python-gentoo-patches-3.15.0rc2.tar.xz 3428 BLAKE2B 9bd66e1faff64ddf07367e22c606ea893d073ff6641f443e6dcca88455ae3b9fbca0eaaedfd99a0359eef4ff9b335351dc9b27ac70c4635dfeeaad208d5b2867 SHA512 fe24da1974f6bf25d65c39051584b6b8463d3aad19a7841ee6d16534ab06825acba02842b56e4e93871da6c046d6e5cfa23bad9e1e7b0d23e1a7047c13eb1b97 -DIST python-gentoo-patches-3.15.0rc3.tar.xz 4620 BLAKE2B 23f760b68afb9282a29b15d216df8a9a29600a284d65b666a742713648d003a87a9821b01701ca9db44c16eb1e37bfbf7298b37d4ee2281b4b7880f7c4f681b8 SHA512 71124246679c54e34c69eab426e8b55902e9dcd439af0f1388146bfaf5f0eb2ebda13e134047fb55f18020a610f09452bbcac97c8d48d6b6d1e5e86f4c11d33d diff --git a/dev-python/python-tests/python-tests-0.3.14.6.ebuild b/dev-python/python-tests/python-tests-0.3.14.6.ebuild deleted file mode 100644 index 5eb635e5eab7..000000000000 --- a/dev-python/python-tests/python-tests-0.3.14.6.ebuild +++ /dev/null @@ -1,75 +0,0 @@ -# Copyright 2024-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) -VERIFY_SIG_METHOD=sigstore - -inherit python-r1 verify-sig - -REAL_PV=${PV#0.} -MY_PV=${REAL_PV/_/} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 2-3)t -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="Test modules from dev-lang/python" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}/Lib" - -LICENSE="PSF-2" -SLOT="${PYVER}" -if [[ ${PV} != *_rc* ]]; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi -# enable by default to help CI handle it (we have no additional deps) -IUSE="+python_targets_${PYTHON_COMPAT[0]}" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -RDEPEND=" - ${PYTHON_DEPS} - ~dev-lang/python-${PV}:${PYVER} -" -BDEPEND=" - ${PYTHON_DEPS} -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - cd .. || die - default -} - -src_install() { - python_setup - # keep in sync with TESTSUBDIRS in Makefile.pre.in - python_moduleinto "/usr/lib/python${PYVER}" - python_domodule test - python_moduleinto "/usr/lib/python${PYVER}/idlelib" - python_domodule idlelib/idle_test -} diff --git a/dev-python/python-tests/python-tests-0.3.14.6_p1.ebuild b/dev-python/python-tests/python-tests-0.3.14.6_p1.ebuild deleted file mode 100644 index b33fbdeb259b..000000000000 --- a/dev-python/python-tests/python-tests-0.3.14.6_p1.ebuild +++ /dev/null @@ -1,75 +0,0 @@ -# Copyright 2024-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) -VERIFY_SIG_METHOD=sigstore - -inherit python-r1 verify-sig - -REAL_PV=${PV#0.} -MY_PV=${REAL_PV} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 2-3)t -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="Test modules from dev-lang/python" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}/Lib" - -LICENSE="PSF-2" -SLOT="${PYVER}" -if [[ ${PV} != *_rc* ]]; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi -# enable by default to help CI handle it (we have no additional deps) -IUSE="+python_targets_${PYTHON_COMPAT[0]}" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -RDEPEND=" - ${PYTHON_DEPS} - ~dev-lang/python-${PV}:${PYVER} -" -BDEPEND=" - ${PYTHON_DEPS} -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - cd .. || die - default -} - -src_install() { - python_setup - # keep in sync with TESTSUBDIRS in Makefile.pre.in - python_moduleinto "/usr/lib/python${PYVER}" - python_domodule test - python_moduleinto "/usr/lib/python${PYVER}/idlelib" - python_domodule idlelib/idle_test -} diff --git a/dev-python/python-tests/python-tests-0.3.15.0_beta2.ebuild b/dev-python/python-tests/python-tests-0.3.15.0_beta2.ebuild deleted file mode 100644 index 5d64b5152fd6..000000000000 --- a/dev-python/python-tests/python-tests-0.3.15.0_beta2.ebuild +++ /dev/null @@ -1,75 +0,0 @@ -# Copyright 2024-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) -VERIFY_SIG_METHOD=sigstore - -inherit python-r1 verify-sig - -REAL_PV=${PV#0.} -MY_PV=${REAL_PV/_beta/b} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 2-3)t -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="Test modules from dev-lang/python" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}/Lib" - -LICENSE="PSF-2" -SLOT="${PYVER}" -if [[ ${PV} != *_* ]]; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi -# enable by default to help CI handle it (we have no additional deps) -IUSE="+python_targets_${PYTHON_COMPAT[0]}" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -RDEPEND=" - ${PYTHON_DEPS} - ~dev-lang/python-${PV}:${PYVER} -" -BDEPEND=" - ${PYTHON_DEPS} -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - cd .. || die - default -} - -src_install() { - python_setup - # keep in sync with TESTSUBDIRS in Makefile.pre.in - python_moduleinto "/usr/lib/python${PYVER}" - python_domodule test - python_moduleinto "/usr/lib/python${PYVER}/idlelib" - python_domodule idlelib/idle_test -} diff --git a/dev-python/python-tests/python-tests-0.3.15.0_beta3.ebuild b/dev-python/python-tests/python-tests-0.3.15.0_beta3.ebuild deleted file mode 100644 index 5d64b5152fd6..000000000000 --- a/dev-python/python-tests/python-tests-0.3.15.0_beta3.ebuild +++ /dev/null @@ -1,75 +0,0 @@ -# Copyright 2024-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) -VERIFY_SIG_METHOD=sigstore - -inherit python-r1 verify-sig - -REAL_PV=${PV#0.} -MY_PV=${REAL_PV/_beta/b} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 2-3)t -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="Test modules from dev-lang/python" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}/Lib" - -LICENSE="PSF-2" -SLOT="${PYVER}" -if [[ ${PV} != *_* ]]; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi -# enable by default to help CI handle it (we have no additional deps) -IUSE="+python_targets_${PYTHON_COMPAT[0]}" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -RDEPEND=" - ${PYTHON_DEPS} - ~dev-lang/python-${PV}:${PYVER} -" -BDEPEND=" - ${PYTHON_DEPS} -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - cd .. || die - default -} - -src_install() { - python_setup - # keep in sync with TESTSUBDIRS in Makefile.pre.in - python_moduleinto "/usr/lib/python${PYVER}" - python_domodule test - python_moduleinto "/usr/lib/python${PYVER}/idlelib" - python_domodule idlelib/idle_test -} diff --git a/dev-python/python-tests/python-tests-0.3.15.0_beta4.ebuild b/dev-python/python-tests/python-tests-0.3.15.0_beta4.ebuild deleted file mode 100644 index 5d64b5152fd6..000000000000 --- a/dev-python/python-tests/python-tests-0.3.15.0_beta4.ebuild +++ /dev/null @@ -1,75 +0,0 @@ -# Copyright 2024-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) -VERIFY_SIG_METHOD=sigstore - -inherit python-r1 verify-sig - -REAL_PV=${PV#0.} -MY_PV=${REAL_PV/_beta/b} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 2-3)t -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="Test modules from dev-lang/python" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}/Lib" - -LICENSE="PSF-2" -SLOT="${PYVER}" -if [[ ${PV} != *_* ]]; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi -# enable by default to help CI handle it (we have no additional deps) -IUSE="+python_targets_${PYTHON_COMPAT[0]}" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -RDEPEND=" - ${PYTHON_DEPS} - ~dev-lang/python-${PV}:${PYVER} -" -BDEPEND=" - ${PYTHON_DEPS} -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - cd .. || die - default -} - -src_install() { - python_setup - # keep in sync with TESTSUBDIRS in Makefile.pre.in - python_moduleinto "/usr/lib/python${PYVER}" - python_domodule test - python_moduleinto "/usr/lib/python${PYVER}/idlelib" - python_domodule idlelib/idle_test -} diff --git a/dev-python/python-tests/python-tests-0.3.15.0_rc1.ebuild b/dev-python/python-tests/python-tests-0.3.15.0_rc1.ebuild deleted file mode 100644 index f3a756fe9c02..000000000000 --- a/dev-python/python-tests/python-tests-0.3.15.0_rc1.ebuild +++ /dev/null @@ -1,75 +0,0 @@ -# Copyright 2024-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) -VERIFY_SIG_METHOD=sigstore - -inherit python-r1 verify-sig - -REAL_PV=${PV#0.} -MY_PV=${REAL_PV/_} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 2-3)t -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="Test modules from dev-lang/python" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}/Lib" - -LICENSE="PSF-2" -SLOT="${PYVER}" -if [[ ${PV} != *_* ]]; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi -# enable by default to help CI handle it (we have no additional deps) -IUSE="+python_targets_${PYTHON_COMPAT[0]}" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -RDEPEND=" - ${PYTHON_DEPS} - ~dev-lang/python-${PV}:${PYVER} -" -BDEPEND=" - ${PYTHON_DEPS} -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - cd .. || die - default -} - -src_install() { - python_setup - # keep in sync with TESTSUBDIRS in Makefile.pre.in - python_moduleinto "/usr/lib/python${PYVER}" - python_domodule test - python_moduleinto "/usr/lib/python${PYVER}/idlelib" - python_domodule idlelib/idle_test -} diff --git a/dev-python/python-tests/python-tests-0.3.15.0_rc2.ebuild b/dev-python/python-tests/python-tests-0.3.15.0_rc2.ebuild deleted file mode 100644 index f3a756fe9c02..000000000000 --- a/dev-python/python-tests/python-tests-0.3.15.0_rc2.ebuild +++ /dev/null @@ -1,75 +0,0 @@ -# Copyright 2024-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) -VERIFY_SIG_METHOD=sigstore - -inherit python-r1 verify-sig - -REAL_PV=${PV#0.} -MY_PV=${REAL_PV/_} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 2-3)t -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="Test modules from dev-lang/python" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}/Lib" - -LICENSE="PSF-2" -SLOT="${PYVER}" -if [[ ${PV} != *_* ]]; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi -# enable by default to help CI handle it (we have no additional deps) -IUSE="+python_targets_${PYTHON_COMPAT[0]}" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -RDEPEND=" - ${PYTHON_DEPS} - ~dev-lang/python-${PV}:${PYVER} -" -BDEPEND=" - ${PYTHON_DEPS} -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - cd .. || die - default -} - -src_install() { - python_setup - # keep in sync with TESTSUBDIRS in Makefile.pre.in - python_moduleinto "/usr/lib/python${PYVER}" - python_domodule test - python_moduleinto "/usr/lib/python${PYVER}/idlelib" - python_domodule idlelib/idle_test -} diff --git a/dev-python/python-tests/python-tests-0.3.15.0_rc3.ebuild b/dev-python/python-tests/python-tests-0.3.15.0_rc3.ebuild deleted file mode 100644 index f3a756fe9c02..000000000000 --- a/dev-python/python-tests/python-tests-0.3.15.0_rc3.ebuild +++ /dev/null @@ -1,75 +0,0 @@ -# Copyright 2024-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) -VERIFY_SIG_METHOD=sigstore - -inherit python-r1 verify-sig - -REAL_PV=${PV#0.} -MY_PV=${REAL_PV/_} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 2-3)t -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="Test modules from dev-lang/python" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}/Lib" - -LICENSE="PSF-2" -SLOT="${PYVER}" -if [[ ${PV} != *_* ]]; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi -# enable by default to help CI handle it (we have no additional deps) -IUSE="+python_targets_${PYTHON_COMPAT[0]}" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -RDEPEND=" - ${PYTHON_DEPS} - ~dev-lang/python-${PV}:${PYVER} -" -BDEPEND=" - ${PYTHON_DEPS} -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - cd .. || die - default -} - -src_install() { - python_setup - # keep in sync with TESTSUBDIRS in Makefile.pre.in - python_moduleinto "/usr/lib/python${PYVER}" - python_domodule test - python_moduleinto "/usr/lib/python${PYVER}/idlelib" - python_domodule idlelib/idle_test -} diff --git a/dev-python/python-tests/python-tests-3.12.13_p1.ebuild b/dev-python/python-tests/python-tests-3.12.13_p1.ebuild deleted file mode 100644 index 624bf7f19f6a..000000000000 --- a/dev-python/python-tests/python-tests-3.12.13_p1.ebuild +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright 2024-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) - -inherit python-r1 verify-sig - -MY_PV=${PV} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="Test modules from dev-lang/python" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc - ) -" -S="${WORKDIR}/${MY_P}/Lib" - -LICENSE="PSF-2" -SLOT="${PYVER}" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -# enable by default to help CI handle it (we have no additional deps) -IUSE="+python_targets_${PYTHON_COMPAT[0]}" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -RDEPEND=" - ${PYTHON_DEPS} - ~dev-lang/python-${PV}:${PYVER} - !<dev-lang/python-3.12.5_p1-r1:${PYVER} -" -BDEPEND=" - ${PYTHON_DEPS} - verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) -" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} - fi - default -} - -src_prepare() { - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - cd .. || die - default -} - -src_install() { - python_setup - # keep in sync with TESTSUBDIRS in Makefile.pre.in - python_moduleinto "/usr/lib/python${PYVER}" - python_domodule test - python_moduleinto "/usr/lib/python${PYVER}/idlelib" - python_domodule idlelib/idle_test -} diff --git a/dev-python/python-tests/python-tests-3.13.14.ebuild b/dev-python/python-tests/python-tests-3.13.14.ebuild deleted file mode 100644 index 3830e23ddcf7..000000000000 --- a/dev-python/python-tests/python-tests-3.13.14.ebuild +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright 2024-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) - -inherit python-r1 verify-sig - -MY_PV=${PV} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="Test modules from dev-lang/python" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc - ) -" -S="${WORKDIR}/${MY_P}/Lib" - -LICENSE="PSF-2" -SLOT="${PYVER}" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -# enable by default to help CI handle it (we have no additional deps) -IUSE="+python_targets_${PYTHON_COMPAT[0]}" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -RDEPEND=" - ${PYTHON_DEPS} - ~dev-lang/python-${PV}:${PYVER} - !<dev-lang/python-3.13.0_rc1_p3-r1:${PYVER} -" -BDEPEND=" - ${PYTHON_DEPS} - verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) -" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} - fi - default -} - -src_prepare() { - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - cd .. || die - default -} - -src_install() { - python_setup - # keep in sync with TESTSUBDIRS in Makefile.pre.in - python_moduleinto "/usr/lib/python${PYVER}" - python_domodule test - python_moduleinto "/usr/lib/python${PYVER}/idlelib" - python_domodule idlelib/idle_test -} diff --git a/dev-python/python-tests/python-tests-3.14.6.ebuild b/dev-python/python-tests/python-tests-3.14.6.ebuild deleted file mode 100644 index d1e4c9df1e24..000000000000 --- a/dev-python/python-tests/python-tests-3.14.6.ebuild +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright 2024-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) -VERIFY_SIG_METHOD=sigstore - -inherit python-r1 verify-sig - -MY_PV=${PV/_/} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="Test modules from dev-lang/python" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}/Lib" - -LICENSE="PSF-2" -SLOT="${PYVER}" -if [[ ${PV} != *_rc* ]]; then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -fi -# enable by default to help CI handle it (we have no additional deps) -IUSE="+python_targets_${PYTHON_COMPAT[0]}" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -RDEPEND=" - ${PYTHON_DEPS} - ~dev-lang/python-${PV}:${PYVER} -" -BDEPEND=" - ${PYTHON_DEPS} -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - cd .. || die - default -} - -src_install() { - python_setup - # keep in sync with TESTSUBDIRS in Makefile.pre.in - python_moduleinto "/usr/lib/python${PYVER}" - python_domodule test - python_moduleinto "/usr/lib/python${PYVER}/idlelib" - python_domodule idlelib/idle_test -} diff --git a/dev-python/python-tests/python-tests-3.14.6_p1.ebuild b/dev-python/python-tests/python-tests-3.14.6_p1.ebuild deleted file mode 100644 index 71f32eb4a08c..000000000000 --- a/dev-python/python-tests/python-tests-3.14.6_p1.ebuild +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright 2024-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) -VERIFY_SIG_METHOD=sigstore - -inherit python-r1 verify-sig - -MY_PV=${PV} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="Test modules from dev-lang/python" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}/Lib" - -LICENSE="PSF-2" -SLOT="${PYVER}" -if [[ ${PV} != *_rc* ]]; then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -fi -# enable by default to help CI handle it (we have no additional deps) -IUSE="+python_targets_${PYTHON_COMPAT[0]}" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -RDEPEND=" - ${PYTHON_DEPS} - ~dev-lang/python-${PV}:${PYVER} -" -BDEPEND=" - ${PYTHON_DEPS} -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - cd .. || die - default -} - -src_install() { - python_setup - # keep in sync with TESTSUBDIRS in Makefile.pre.in - python_moduleinto "/usr/lib/python${PYVER}" - python_domodule test - python_moduleinto "/usr/lib/python${PYVER}/idlelib" - python_domodule idlelib/idle_test -} diff --git a/dev-python/python-tests/python-tests-3.15.0_beta2.ebuild b/dev-python/python-tests/python-tests-3.15.0_beta2.ebuild deleted file mode 100644 index 5ed96d1087f8..000000000000 --- a/dev-python/python-tests/python-tests-3.15.0_beta2.ebuild +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright 2024-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) -VERIFY_SIG_METHOD=sigstore - -inherit python-r1 verify-sig - -MY_PV=${PV/_beta/b} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="Test modules from dev-lang/python" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}/Lib" - -LICENSE="PSF-2" -SLOT="${PYVER}" -if [[ ${PV} != *_* ]]; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi -# enable by default to help CI handle it (we have no additional deps) -IUSE="+python_targets_${PYTHON_COMPAT[0]}" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -RDEPEND=" - ${PYTHON_DEPS} - ~dev-lang/python-${PV}:${PYVER} -" -BDEPEND=" - ${PYTHON_DEPS} -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - cd .. || die - default -} - -src_install() { - python_setup - # keep in sync with TESTSUBDIRS in Makefile.pre.in - python_moduleinto "/usr/lib/python${PYVER}" - python_domodule test - python_moduleinto "/usr/lib/python${PYVER}/idlelib" - python_domodule idlelib/idle_test -} diff --git a/dev-python/python-tests/python-tests-3.15.0_beta3.ebuild b/dev-python/python-tests/python-tests-3.15.0_beta3.ebuild deleted file mode 100644 index 5ed96d1087f8..000000000000 --- a/dev-python/python-tests/python-tests-3.15.0_beta3.ebuild +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright 2024-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) -VERIFY_SIG_METHOD=sigstore - -inherit python-r1 verify-sig - -MY_PV=${PV/_beta/b} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="Test modules from dev-lang/python" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}/Lib" - -LICENSE="PSF-2" -SLOT="${PYVER}" -if [[ ${PV} != *_* ]]; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi -# enable by default to help CI handle it (we have no additional deps) -IUSE="+python_targets_${PYTHON_COMPAT[0]}" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -RDEPEND=" - ${PYTHON_DEPS} - ~dev-lang/python-${PV}:${PYVER} -" -BDEPEND=" - ${PYTHON_DEPS} -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - cd .. || die - default -} - -src_install() { - python_setup - # keep in sync with TESTSUBDIRS in Makefile.pre.in - python_moduleinto "/usr/lib/python${PYVER}" - python_domodule test - python_moduleinto "/usr/lib/python${PYVER}/idlelib" - python_domodule idlelib/idle_test -} diff --git a/dev-python/python-tests/python-tests-3.15.0_beta4.ebuild b/dev-python/python-tests/python-tests-3.15.0_beta4.ebuild deleted file mode 100644 index 5ed96d1087f8..000000000000 --- a/dev-python/python-tests/python-tests-3.15.0_beta4.ebuild +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright 2024-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) -VERIFY_SIG_METHOD=sigstore - -inherit python-r1 verify-sig - -MY_PV=${PV/_beta/b} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="Test modules from dev-lang/python" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}/Lib" - -LICENSE="PSF-2" -SLOT="${PYVER}" -if [[ ${PV} != *_* ]]; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi -# enable by default to help CI handle it (we have no additional deps) -IUSE="+python_targets_${PYTHON_COMPAT[0]}" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -RDEPEND=" - ${PYTHON_DEPS} - ~dev-lang/python-${PV}:${PYVER} -" -BDEPEND=" - ${PYTHON_DEPS} -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - cd .. || die - default -} - -src_install() { - python_setup - # keep in sync with TESTSUBDIRS in Makefile.pre.in - python_moduleinto "/usr/lib/python${PYVER}" - python_domodule test - python_moduleinto "/usr/lib/python${PYVER}/idlelib" - python_domodule idlelib/idle_test -} diff --git a/dev-python/python-tests/python-tests-3.15.0_rc1.ebuild b/dev-python/python-tests/python-tests-3.15.0_rc1.ebuild deleted file mode 100644 index b7e5d0c7a099..000000000000 --- a/dev-python/python-tests/python-tests-3.15.0_rc1.ebuild +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright 2024-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) -VERIFY_SIG_METHOD=sigstore - -inherit python-r1 verify-sig - -MY_PV=${PV/_} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="Test modules from dev-lang/python" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}/Lib" - -LICENSE="PSF-2" -SLOT="${PYVER}" -if [[ ${PV} != *_* ]]; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi -# enable by default to help CI handle it (we have no additional deps) -IUSE="+python_targets_${PYTHON_COMPAT[0]}" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -RDEPEND=" - ${PYTHON_DEPS} - ~dev-lang/python-${PV}:${PYVER} -" -BDEPEND=" - ${PYTHON_DEPS} -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - cd .. || die - default -} - -src_install() { - python_setup - # keep in sync with TESTSUBDIRS in Makefile.pre.in - python_moduleinto "/usr/lib/python${PYVER}" - python_domodule test - python_moduleinto "/usr/lib/python${PYVER}/idlelib" - python_domodule idlelib/idle_test -} diff --git a/dev-python/python-tests/python-tests-3.15.0_rc1_p1.ebuild b/dev-python/python-tests/python-tests-3.15.0_rc1_p1.ebuild deleted file mode 100644 index b7e5d0c7a099..000000000000 --- a/dev-python/python-tests/python-tests-3.15.0_rc1_p1.ebuild +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright 2024-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) -VERIFY_SIG_METHOD=sigstore - -inherit python-r1 verify-sig - -MY_PV=${PV/_} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="Test modules from dev-lang/python" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}/Lib" - -LICENSE="PSF-2" -SLOT="${PYVER}" -if [[ ${PV} != *_* ]]; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi -# enable by default to help CI handle it (we have no additional deps) -IUSE="+python_targets_${PYTHON_COMPAT[0]}" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -RDEPEND=" - ${PYTHON_DEPS} - ~dev-lang/python-${PV}:${PYVER} -" -BDEPEND=" - ${PYTHON_DEPS} -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - cd .. || die - default -} - -src_install() { - python_setup - # keep in sync with TESTSUBDIRS in Makefile.pre.in - python_moduleinto "/usr/lib/python${PYVER}" - python_domodule test - python_moduleinto "/usr/lib/python${PYVER}/idlelib" - python_domodule idlelib/idle_test -} diff --git a/dev-python/python-tests/python-tests-3.15.0_rc2.ebuild b/dev-python/python-tests/python-tests-3.15.0_rc2.ebuild deleted file mode 100644 index b7e5d0c7a099..000000000000 --- a/dev-python/python-tests/python-tests-3.15.0_rc2.ebuild +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright 2024-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) -VERIFY_SIG_METHOD=sigstore - -inherit python-r1 verify-sig - -MY_PV=${PV/_} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="Test modules from dev-lang/python" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}/Lib" - -LICENSE="PSF-2" -SLOT="${PYVER}" -if [[ ${PV} != *_* ]]; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi -# enable by default to help CI handle it (we have no additional deps) -IUSE="+python_targets_${PYTHON_COMPAT[0]}" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -RDEPEND=" - ${PYTHON_DEPS} - ~dev-lang/python-${PV}:${PYVER} -" -BDEPEND=" - ${PYTHON_DEPS} -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - cd .. || die - default -} - -src_install() { - python_setup - # keep in sync with TESTSUBDIRS in Makefile.pre.in - python_moduleinto "/usr/lib/python${PYVER}" - python_domodule test - python_moduleinto "/usr/lib/python${PYVER}/idlelib" - python_domodule idlelib/idle_test -} diff --git a/dev-python/python-tests/python-tests-3.15.0_rc3.ebuild b/dev-python/python-tests/python-tests-3.15.0_rc3.ebuild deleted file mode 100644 index b7e5d0c7a099..000000000000 --- a/dev-python/python-tests/python-tests-3.15.0_rc3.ebuild +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright 2024-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) -VERIFY_SIG_METHOD=sigstore - -inherit python-r1 verify-sig - -MY_PV=${PV/_} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}" - -DESCRIPTION="Test modules from dev-lang/python" -HOMEPAGE=" - https://www.python.org/ - https://github.com/python/cpython/ -" -SRC_URI=" - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz - https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -S="${WORKDIR}/${MY_P}/Lib" - -LICENSE="PSF-2" -SLOT="${PYVER}" -if [[ ${PV} != *_* ]]; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi -# enable by default to help CI handle it (we have no additional deps) -IUSE="+python_targets_${PYTHON_COMPAT[0]}" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -RDEPEND=" - ${PYTHON_DEPS} - ~dev-lang/python-${PV}:${PYVER} -" -BDEPEND=" - ${PYTHON_DEPS} -" - -# https://www.python.org/downloads/metadata/sigstore/ -VERIFY_SIG_CERT_IDENTITY=hugo@python.org -VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} - fi - default -} - -src_prepare() { - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - cd .. || die - default -} - -src_install() { - python_setup - # keep in sync with TESTSUBDIRS in Makefile.pre.in - python_moduleinto "/usr/lib/python${PYVER}" - python_domodule test - python_moduleinto "/usr/lib/python${PYVER}/idlelib" - python_domodule idlelib/idle_test -} diff --git a/dev-python/python-utils/Manifest b/dev-python/python-utils/Manifest index c7917ff91dbb..6e7207191656 100644 --- a/dev-python/python-utils/Manifest +++ b/dev-python/python-utils/Manifest @@ -4,3 +4,5 @@ DIST python_utils-4.1.0.tar.gz 70942 BLAKE2B eabe65eb66b557af23437308dfe92632060 DIST python_utils-4.1.0.tar.gz.provenance 9698 BLAKE2B 1cab51eb2fed3be792b00fa157a1ea3f873ac6a417d54986ad7870db38f5e3a4085f632769e273b9c0e5f15b4c2f2ff8988608f60056da562af380320e49ba18 SHA512 271cfc9612df9842ce193d1052564ac1fb3d91d80e851fc931f1eafe2de8b557f72ebcd6ccfdf2fabe8d9f92e9af27defbe7daf5935ce635cdc106327a12b79a DIST python_utils-4.1.1.tar.gz 77721 BLAKE2B 530de67b178393c338e37dbd392a5300b1069307793c3a78dd327f2f457e9935ae8fafcfe1cab1d5012125824a68b4ea93b6e4f513332070cb71cf1ff7de6d59 SHA512 5150527ddc85af218a9b91b4b905a61b78f17cf8507419b2bc6e62c041838346499d35beb55c139f44cf7471a1ef78644a4fc527038a74829a29e59d0c8c3150 DIST python_utils-4.1.1.tar.gz.provenance 9727 BLAKE2B 4be8d63bf851012d2c587f1030d161ef9b5a86bb81088ccc824006b27453cd4eac0968e25d5204c004455d12d9748d4ffbeec7409ae920874f25e2c0a46f88b4 SHA512 a42a5fc3a5002c466d1eead08456d1ec3af80778d0f1a41de8447c83ba15ead24504111fd9672f2102c421d964b2ca9460781b16fd66d2b7b899a911b378826e +DIST python_utils-4.1.2.tar.gz 79647 BLAKE2B ef5df83d75ee7991832cb8b9a6273e94281a3feac0a94eae07e848433c6124d28dcf295f04b50d844705fe449e83a897e3660a59ece4b59d61522fc32c880838 SHA512 3fd24ffcf85fa5fb422e31f4646bbe15b09a2dc32d8c2cbf1cf85090e6c4980498eae51fe6fa434e9b4e2b7c10f243597bafc21bdd1fb0e8430bfff25c0f4dd5 +DIST python_utils-4.1.2.tar.gz.provenance 9629 BLAKE2B f73f96ad9f6b88446a83798e554afe1171d68308dab6df060ba69d43a01b9ada1c7d8a32acdf0713b2ae651a5b053d15ab1850695b2f4f8a98685cb9b9d099a7 SHA512 7e146619a3f0d83f39cb37b34a87145023ce29becbb4263855b8a83160393eac1f0789bd56632d3a3ce69be37ff610125dab07097d39949d416c7257ca058223 diff --git a/dev-python/python-utils/python-utils-4.1.2.ebuild b/dev-python/python-utils/python-utils-4.1.2.ebuild new file mode 100644 index 000000000000..05d102d2521e --- /dev/null +++ b/dev-python/python-utils/python-utils-4.1.2.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=uv-build +PYPI_VERIFY_REPO=https://github.com/wolph/python-utils +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Collection of small Python functions & classes" +HOMEPAGE=" + https://github.com/WoLpH/python-utils/ + https://pypi.org/project/python-utils/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +RDEPEND=" + dev-python/typing-extensions[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=( pytest-asyncio ) +distutils_enable_tests pytest + +EPYTEST_IGNORE=( + docs + _python_utils_tests/test_logger.py + python_utils/loguru.py +) + +EPYTEST_DESELECT=( + # fragile + _python_utils_tests/test_time.py::test_timeout_generator +) + +python_prepare_all() { + sed -i -e '/--cov/d' pyproject.toml || die + distutils-r1_python_prepare_all +} diff --git a/dev-python/python3-saml/Manifest b/dev-python/python3-saml/Manifest deleted file mode 100644 index b6371b767e0f..000000000000 --- a/dev-python/python3-saml/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST python3-saml-1.16.0.gh.tar.gz 3578998 BLAKE2B 94fc65caf978aeb30577ff435ce874c1fbb15dac0c5028e15a8adb21631496b9382d538c80ae77e1ba4166d2fbf22c7ac96bce7b6e3533589a6b8654f5be35ee SHA512 77e779a3d3190f3164105bbc2943b54729dfef12c71b0303a523acada95da291bc77b331a83726f00c503ef09040a05180c234620e5a65d4ea4fd88da24eeade diff --git a/dev-python/python3-saml/metadata.xml b/dev-python/python3-saml/metadata.xml deleted file mode 100644 index cc81ca3e2346..000000000000 --- a/dev-python/python3-saml/metadata.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://srcux.com/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="person"> - <email>chutzpah@gentoo.org</email> - <name>Patrick McLean</name> - </maintainer> - <maintainer type="project"> - <email>python@gentoo.org</email> - <name>Python</name> - </maintainer> - <origin>srcux</origin> -</pkgmetadata> diff --git a/dev-python/python3-saml/python3-saml-1.16.0.ebuild b/dev-python/python3-saml/python3-saml-1.16.0.ebuild deleted file mode 100644 index e5c5e1c2318d..000000000000 --- a/dev-python/python3-saml/python3-saml-1.16.0.ebuild +++ /dev/null @@ -1,51 +0,0 @@ -# Copyright 2020-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=poetry -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 - -DESCRIPTION="OneLogin's SAML Python Toolkit" -HOMEPAGE=" - https://github.com/SAML-Toolkits/python3-saml/ - https://pypi.org/project/python3-saml/ -" -SRC_URI=" - https://github.com/SAML-Toolkits/python3-saml/archive/v${PV}.tar.gz - -> ${P}.gh.tar.gz -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~ppc64 ~x86" - -RDEPEND=" - >=dev-python/isodate-0.6.1[${PYTHON_USEDEP}] - >=dev-python/lxml-4.9.0[${PYTHON_USEDEP}] - >=dev-python/xmlsec-1.3.9[${PYTHON_USEDEP}] -" -# next release >1.16.0 should be able to drop freezegun: -# https://github.com/SAML-Toolkits/python3-saml/commit/6c1fbd84ed498841b252ba7eb3a7d81a9ea77d15 -BDEPEND=" - test? ( - dev-python/freezegun[${PYTHON_USEDEP}] - dev-python/pytest[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -python_test() { - local EPYTEST_DESELECT=( - # Internet - tests/src/OneLogin/saml2_tests/idp_metadata_parser_test.py::OneLogin_Saml2_IdPMetadataParser_Test::testGetMetadataWithHeaders - tests/src/OneLogin/saml2_tests/idp_metadata_parser_test.py::OneLogin_Saml2_IdPMetadataParser_Test::testParseRemoteWithHeaders - ) - - # The tests are horribly fragile to paths. - local -x PYTHONPATH=src - epytest -o 'python_files=*_test.py' -} diff --git a/dev-python/pywlroots/Manifest b/dev-python/pywlroots/Manifest deleted file mode 100644 index 3d84f9bb70e7..000000000000 --- a/dev-python/pywlroots/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST pywlroots-0.17.0.tar.gz 99439 BLAKE2B 0f4153e5d4e7786d52d2a66614c4c92d29d0ef57be74ce8e7b23ed244c361a551b84606493296b99b4b1f48f5c862911f48aa32f3e7d5bd1c0fcedcfb1240474 SHA512 20b93845f26f1942bc111d12de24acc17af24cd70abd644a66a4b43e3622fa2cb9323c7dc846a5708c5cb63631e77020350231a67d3b6702ac5882fcd31411df diff --git a/dev-python/pywlroots/files/pywlroots-0.15.24-no-import-version-check.patch b/dev-python/pywlroots/files/pywlroots-0.15.24-no-import-version-check.patch deleted file mode 100644 index eb0cce91ac35..000000000000 --- a/dev-python/pywlroots/files/pywlroots-0.15.24-no-import-version-check.patch +++ /dev/null @@ -1,13 +0,0 @@ -https://github.com/flacjacket/gentoo-overlay/blob/master/dev-python/pywlroots/files/pywlroots-no_version_check.patch - -This causes sandbox failures in e.g. qtile on importing pywlroots. ---- a/wlroots/ffi_build.py -+++ b/wlroots/ffi_build.py -@@ -44,6 +44,7 @@ def load_wlroots_version(): - - def check_version(): - """Check for wlroots version compatibility""" -+ return - # When importing a system-level installed package, we may not be able to - # create neighboring files, which is done by the `.verify` step. If this - # error is hit, we check with the compiled `wlroots.lib`. diff --git a/dev-python/pywlroots/metadata.xml b/dev-python/pywlroots/metadata.xml deleted file mode 100644 index 4f1bc5124342..000000000000 --- a/dev-python/pywlroots/metadata.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://srcux.com/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="project"> - <email>python@gentoo.org</email> - </maintainer> - <origin>srcux</origin> -</pkgmetadata> diff --git a/dev-python/pywlroots/pywlroots-0.17.0.ebuild b/dev-python/pywlroots/pywlroots-0.17.0.ebuild deleted file mode 100644 index 5f5d3df9f078..000000000000 --- a/dev-python/pywlroots/pywlroots-0.17.0.ebuild +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Python binding to the wlroots library using cffi" -HOMEPAGE=" - https://github.com/flacjacket/pywlroots/ - https://pypi.org/project/pywlroots/ -" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="amd64 ~riscv ~x86" -IUSE="X" - -# See README for wlroots dep -DEPEND=" - dev-python/cffi:=[${PYTHON_USEDEP}] - >=dev-python/pywayland-0.4.14[${PYTHON_USEDEP}] - >=dev-python/xkbcommon-0.2[${PYTHON_USEDEP}] - =gui-libs/wlroots-$(ver_cut 1-2)*:=[X?] -" -RDEPEND=" - ${DEPEND} -" - -distutils_enable_tests pytest - -src_prepare() { - local PATCHES=( - "${FILESDIR}"/${PN}-0.15.24-no-import-version-check.patch - ) - - # override automagic detection and caching that's completely broken - # by design; https://github.com/flacjacket/pywlroots/issues/132 - cat > wlroots/_build.py <<-EOF || die - has_xwayland = $(usex X True False) - EOF - sed -e "s:return.*has_xwayland$:return $(usex X True False):" \ - -i wlroots/ffi_build.py || die - - distutils-r1_src_prepare -} - -python_test() { - rm -rf wlroots || die - epytest -} diff --git a/dev-python/pyzotero/Manifest b/dev-python/pyzotero/Manifest index 102feb99aa77..44f5b2e26c63 100644 --- a/dev-python/pyzotero/Manifest +++ b/dev-python/pyzotero/Manifest @@ -1,4 +1,4 @@ -DIST pyzotero-1.15.1.tar.gz 589183 BLAKE2B 7f4a76782ab3b9cdb0a85bddf6b306fb4a5b50a77467ad30a613ff2de5c047289474a9dd189034ed98445be4ea135f3f76f2d4cc20e414b8cf23ba31892c3dcc SHA512 d431ca7065b42aa9762d2e55fe52e9926607c96193d26bdda8c9d5e64b6e552107b374946f557468c74b7c333a77d2fee1548deb891e4d08bd69ec13accf4037 -DIST pyzotero-1.15.1.tar.gz.provenance 9835 BLAKE2B 125b435f812fdf14f5ce47b4fe4aff529909ba94a25212abfcf7477ff477170a0c0f5f3179172a4e1913d92808237478e1da4adae0723d525927bf68375de034 SHA512 d4f03c3e578f631e69b490f2e0f2338ac5d77a7a3ffd1dcb3aa7b4afdca3fd3473fb674aa89ce09b6500b5548768e139e544faac3e5dc5061be6b67204019124 DIST pyzotero-1.15.2.tar.gz 589281 BLAKE2B cc8a1a0ff190df071f458fc1322c390776e75399cf92c8021142e64f58382273592f12d02a16f8b30e33d312acc051c30a9d5d5fd01fe676267f097a7d72e5bd SHA512 874dcf31979c850345644f551f3e46a8769a8a10d4fca131938574ec517b4869fcedc1745be6b1f60d1f16152923419b95ea962beac3b3733d34f2c6f5b9818d DIST pyzotero-1.15.2.tar.gz.provenance 9745 BLAKE2B 394affcfe251aa052348ba5d77393e054c1fa7bbdb7aa19850a4b34365a57fa15912044d567b2fb124fcb97e8b37777aa823773f665bd7a781d916971fbd54ce SHA512 c872c53b0ef1b9c0912a49b0d690155fd64f084766fdff1da93ad27d5c9b237b81aa58b25927caab986c135d2304a51ba052a54ba0d9ef199ed6c22f79dfcfc2 +DIST pyzotero-1.16.0.tar.gz 629384 BLAKE2B 87c1d56750ba335ec81b9ead7a57d43de01a08825d1951685b423401645399f19f0f2229b7f6050aaa0f94567122733793fd961e18c81ba2ae9b8c6a86776f78 SHA512 1b6e5fc8da38cc9ae54a5fb1645e4ee2420fe14bdbc630113afb0cdf6a24bc4a4266da97cfba5e016ef4bf875e8396c964c2aed580ddba821ca78bcc344adb3c +DIST pyzotero-1.16.0.tar.gz.provenance 9488 BLAKE2B 411355914093f67697a27d74ad5262a0575f6b883b61366c96b33affa763a25239f8d68189d54d79d68abc2cbefc41a0473ad59fe42fb10cd8611e06fae5f8c2 SHA512 7391f94a4ef5855732a524c6848fad6a66940299554b6055793c12c7e9c2d37fe3ba86003d11624ea83f3fc438e414be295f92c35e96d17debc9fc2b3925ae75 diff --git a/dev-python/pyzotero/pyzotero-1.15.1.ebuild b/dev-python/pyzotero/pyzotero-1.16.0.ebuild index 38b5ef2e9bb2..854d4cb0822a 100644 --- a/dev-python/pyzotero/pyzotero-1.15.1.ebuild +++ b/dev-python/pyzotero/pyzotero-1.16.0.ebuild @@ -25,7 +25,7 @@ RDEPEND=" >=dev-python/bibtexparser-1.4.3[${PYTHON_USEDEP}] >=dev-python/feedparser-6.0.12[${PYTHON_USEDEP}] >=dev-python/httpx2-2.12.0[${PYTHON_USEDEP}] - >=dev-python/whenever-0.8.8[${PYTHON_USEDEP}] + >=dev-python/whenever-0.10.0[${PYTHON_USEDEP}] " BDEPEND=" diff --git a/dev-python/raet/Manifest b/dev-python/raet/Manifest deleted file mode 100644 index 719ea8c1cbba..000000000000 --- a/dev-python/raet/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST raet-0.6.8.tar.gz 807419 BLAKE2B 2370eb55b76a52cf89363f9891a411ea7fa2f27b84bd216c44010fd9afb5dcd9261570f916db00ff7bd922c485cd6123b3a6522154b6e05f7869d7e790177f7b SHA512 01279e7414ec3edc9f2bc0641cb9e0606ebf5700b5ce37a05fd5919f3274b3b43aad64110baf4c4b1fda3843cb1a87b6be4ab592a8f62e82b3a716a86ae61b20 diff --git a/dev-python/raet/files/raet-0.6.8-msgpack-1.0.patch b/dev-python/raet/files/raet-0.6.8-msgpack-1.0.patch deleted file mode 100644 index 732d64091523..000000000000 --- a/dev-python/raet/files/raet-0.6.8-msgpack-1.0.patch +++ /dev/null @@ -1,128 +0,0 @@ -From 34e87f76daff2b0c898ff544cddad04a46784dfe Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Mat=C4=9Bj=20Cepl?= <mcepl@cepl.eu> -Date: Thu, 23 Apr 2020 19:06:54 +0200 -Subject: [PATCH] Make the package compatible with msgpack 1.0.0. - -Also, a wee bit of cleanup. ---- - raet/keeping.py | 4 ++-- - raet/lane/paging.py | 8 +++----- - raet/road/packeting.py | 11 ++++------- - raet/road/test/test_packeting.py | 6 +++--- - 4 files changed, 12 insertions(+), 17 deletions(-) - -diff --git a/raet/keeping.py b/raet/keeping.py -index fad41b2..d7270d9 100644 ---- a/raet/keeping.py -+++ b/raet/keeping.py -@@ -127,7 +127,7 @@ def dump(data, filepath): - raise raeting.KeepError("Invalid filepath ext '{0}' " - "needs msgpack installed".format(filepath)) - with ocfn(filepath, "w+b", binary=True) as f: -- msgpack.dump(data, f, encoding='utf-8') -+ msgpack.dump(data, f) - f.flush() - os.fsync(f.fileno()) - else: -@@ -154,7 +154,7 @@ def load(filepath): - raise raeting.KeepError("Invalid filepath ext '{0}' " - "needs msgpack installed".format(filepath)) - with ocfn(filepath, "rb", binary=True) as f: -- it = msgpack.load(f, object_pairs_hook=odict, encoding='utf-8') -+ it = msgpack.load(f, object_pairs_hook=odict) - else: - it = None - except EOFError: -diff --git a/raet/lane/paging.py b/raet/lane/paging.py -index eeff2b3..9a98af7 100644 ---- a/raet/lane/paging.py -+++ b/raet/lane/paging.py -@@ -162,8 +162,7 @@ def pack(self): - if not msgpack: - emsg = "Msgpack not installed." - raise raeting.PacketError(emsg) -- self.packed = msgpack.dumps(self.data, -- encoding='utf-8') -+ self.packed = msgpack.dumps(self.data) - else: - emsg = "Unrecognized message pack kind '{0}'\n".format(pk) - console.terse(emsg) -@@ -192,7 +191,7 @@ def parse(self): - - if pk == PackKind.json: - if self.packed: -- self.data = json.loads(self.packed.decode(encoding='utf-8'), -+ self.data = json.loads(self.packed.decode(), - object_pairs_hook=odict) - elif pk == PackKind.pack: - if self.packed: -@@ -200,8 +199,7 @@ def parse(self): - emsg = "Msgpack not installed." - raise raeting.PacketError(emsg) - self.data = msgpack.loads(self.packed, -- object_pairs_hook=odict, -- encoding='utf-8') -+ object_pairs_hook=odict) - - if not isinstance(self.data, Mapping): - emsg = "Message body not a mapping\n" -diff --git a/raet/road/packeting.py b/raet/road/packeting.py -index 918d479..33a7ac8 100644 ---- a/raet/road/packeting.py -+++ b/raet/road/packeting.py -@@ -283,8 +283,7 @@ def pack(self): - if not msgpack: - emsg = "Msgpack not installed." - raise raeting.PacketError(emsg) -- self.packed = msgpack.dumps(self.data, -- encoding='utf-8') -+ self.packed = msgpack.dumps(self.data) - elif bk == BodyKind.raw: - self.packed = self.data # data is already formatted string - -@@ -308,9 +307,8 @@ def parse(self): - - if bk == BodyKind.json: - if self.packed: -- kit = json.loads(self.packed.decode(encoding='utf-8'), -- object_pairs_hook=odict, -- encoding='utf-8') -+ kit = json.loads(self.packed.decode(), -+ object_pairs_hook=odict) - if not isinstance(kit, Mapping): - emsg = "Packet body not a mapping." - raise raeting.PacketError(emsg) -@@ -321,8 +319,7 @@ def parse(self): - emsg = "Msgpack not installed." - raise raeting.PacketError(emsg) - kit = msgpack.loads(self.packed, -- object_pairs_hook=odict, -- encoding='utf-8') -+ object_pairs_hook=odict) - if not isinstance(kit, Mapping): - emsg = "Packet body not a mapping." - raise raeting.PacketError(emsg) -diff --git a/raet/road/test/test_packeting.py b/raet/road/test/test_packeting.py -index da88c01..6089ffe 100644 ---- a/raet/road/test/test_packeting.py -+++ b/raet/road/test/test_packeting.py -@@ -375,8 +375,8 @@ def testSegmentation(self): - - tray0 = packeting.TxTray(stack=stack, data=data, body=stuff) - tray0.pack() -- self.assertEquals(tray0.packed, b' 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299') -- self.assertEquals(len(tray0.packets), 2) -+ self.assertEqual(tray0.packed, b' 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299') -+ self.assertEqual(len(tray0.packets), 2) - - tray1 = packeting.RxTray(stack=stack) - for packet in tray0.packets: -@@ -416,7 +416,7 @@ def testSegmentation(self): - 'fk': 0, - 'fl': 0, - 'fg': '08'}) -- self.assertEquals( tray1.body, stuff) -+ self.assertEqual( tray1.body, stuff) - - class StackTestCase(unittest.TestCase): - ''' diff --git a/dev-python/raet/files/raet-0.6.8-py310.patch b/dev-python/raet/files/raet-0.6.8-py310.patch deleted file mode 100644 index 94e5287db0b6..000000000000 --- a/dev-python/raet/files/raet-0.6.8-py310.patch +++ /dev/null @@ -1,69 +0,0 @@ -diff --git a/raet/lane/paging.py b/raet/lane/paging.py -index 5a2f480..e33d95c 100644 ---- a/raet/lane/paging.py -+++ b/raet/lane/paging.py -@@ -6,7 +6,7 @@ paging module provides classes for RAET UXD messaging management - ''' - - # Import python libs --from collections import Mapping -+from collections.abc import Mapping - try: - import simplejson as json - except ImportError: -diff --git a/raet/lane/stacking.py b/raet/lane/stacking.py -index 3969cd9..be88111 100644 ---- a/raet/lane/stacking.py -+++ b/raet/lane/stacking.py -@@ -11,7 +11,8 @@ import sys - import os - import errno - --from collections import deque, Mapping -+from collections import deque -+from collections.abc import Mapping - try: - import simplejson as json - except ImportError: -diff --git a/raet/road/packeting.py b/raet/road/packeting.py -index 0675912..078d76d 100644 ---- a/raet/road/packeting.py -+++ b/raet/road/packeting.py -@@ -6,7 +6,8 @@ packeting module provides classes for Raet packets - ''' - - # Import python libs --from collections import Mapping, deque -+from collections import deque -+from collections.abc import Mapping - try: - import simplejson as json - except ImportError: -diff --git a/raet/road/stacking.py b/raet/road/stacking.py -index 924ae52..4d8670b 100644 ---- a/raet/road/stacking.py -+++ b/raet/road/stacking.py -@@ -10,7 +10,8 @@ import socket - import os - import errno - --from collections import deque, Mapping -+from collections import deque -+from collections.abc import Mapping - try: - import simplejson as json - except ImportError: -diff --git a/raet/stacking.py b/raet/stacking.py -index 0a1743a..9244b66 100644 ---- a/raet/stacking.py -+++ b/raet/stacking.py -@@ -13,7 +13,8 @@ import sys - if sys.version_info > (3,): - long = int - --from collections import deque, Mapping -+from collections import deque -+from collections.abc import Mapping - try: - import simplejson as json - except ImportError: diff --git a/dev-python/raet/metadata.xml b/dev-python/raet/metadata.xml deleted file mode 100644 index cc81ca3e2346..000000000000 --- a/dev-python/raet/metadata.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://srcux.com/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="person"> - <email>chutzpah@gentoo.org</email> - <name>Patrick McLean</name> - </maintainer> - <maintainer type="project"> - <email>python@gentoo.org</email> - <name>Python</name> - </maintainer> - <origin>srcux</origin> -</pkgmetadata> diff --git a/dev-python/raet/raet-0.6.8-r6.ebuild b/dev-python/raet/raet-0.6.8-r6.ebuild deleted file mode 100644 index c848abc2cc5e..000000000000 --- a/dev-python/raet/raet-0.6.8-r6.ebuild +++ /dev/null @@ -1,48 +0,0 @@ -# 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_{13..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Reliable Asynchronous Event Transport Protocol" -HOMEPAGE=" - https://github.com/RaetProtocol/raet/ - https://pypi.org/project/raet/ -" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~riscv x86" -IUSE="test" -RESTRICT="!test? ( test )" - -RDEPEND=" - >=dev-python/six-1.6.1[${PYTHON_USEDEP}] - >=dev-python/libnacl-1.4.3[${PYTHON_USEDEP}] - >=dev-python/ioflo-2.0[${PYTHON_USEDEP}] -" -BDEPEND=" - test? ( - >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}] - ) -" - -PATCHES=( - "${FILESDIR}/raet-0.6.8-msgpack-1.0.patch" - "${FILESDIR}/raet-0.6.8-py310.patch" -) - -python_prepare_all() { - distutils-r1_python_prepare_all - sed -e "/setuptools_git/d" -i setup.py || die -} - -python_test() { - pushd "${BUILD_DIR}/install$(python_get_sitedir)" >/dev/null || die - "${EPYTHON}" raet/test/__init__.py || die "tests failed for ${EPYTHON}" - popd >/dev/null || die -} diff --git a/dev-python/signature-dispatch/Manifest b/dev-python/signature-dispatch/Manifest deleted file mode 100644 index 8fff41ba4459..000000000000 --- a/dev-python/signature-dispatch/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST signature_dispatch-1.0.1.tar.gz 15348 BLAKE2B 35356caae5f6f7ba28494c02142addb581a36520b8becd2e0e132f1e4a37002870c981475688b758a4733341d67cc4cb30b2a7b69b3d106570766eeed36104fc SHA512 656fb47c50d865d1afec53f389154e783792bcedd7443442a142d19bcbd352fe0eff41ae9ef74378bafc164bb386a8e9a6f57d762f34ad23557a44a5d0d0f5de diff --git a/dev-python/signature-dispatch/metadata.xml b/dev-python/signature-dispatch/metadata.xml deleted file mode 100644 index 6c0694f7b302..000000000000 --- a/dev-python/signature-dispatch/metadata.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://srcux.com/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="project"> - <email>python@gentoo.org</email> - </maintainer> - <stabilize-allarches /> - <origin>srcux</origin> -</pkgmetadata> diff --git a/dev-python/signature-dispatch/signature-dispatch-1.0.1-r1.ebuild b/dev-python/signature-dispatch/signature-dispatch-1.0.1-r1.ebuild deleted file mode 100644 index 6aac25184d00..000000000000 --- a/dev-python/signature-dispatch/signature-dispatch-1.0.1-r1.ebuild +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 2021-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=flit -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Execute the first function that matches the given arguments" -HOMEPAGE=" - https://github.com/kalekundert/signature_dispatch/ - https://pypi.org/project/signature-dispatch/ -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" - -EPYTEST_PLUGINS=() -distutils_enable_tests pytest - -RDEPEND=" - >=dev-python/typeguard-3.0.0[${PYTHON_USEDEP}] -" - -src_prepare() { - # unpin deps - sed -i -e 's:~=:>=:' pyproject.toml || die - distutils-r1_src_prepare -} - -python_test() { - epytest -o addopts= -} diff --git a/dev-python/sphinx-autodoc-typehints/Manifest b/dev-python/sphinx-autodoc-typehints/Manifest index 346da2f69122..02fa5ffd12cb 100644 --- a/dev-python/sphinx-autodoc-typehints/Manifest +++ b/dev-python/sphinx-autodoc-typehints/Manifest @@ -1,5 +1,5 @@ -DIST sphinx_autodoc_typehints-3.13.5.tar.gz 92932 BLAKE2B 20c8d262aa0458f2e153314d50799cade2a8d37ad8923d1d5dea463c12b4507688acdcb1e8ddb5b9136fc9e8c6b38f776425c2e1ca52cc89ea5aebf0ffd48386 SHA512 b09a7a9599cc4b3f1ed2938c7abc06128c87813e0a83192bb50e7eb36f8346583493740a3c83aee768f441d996ae21c05c6c20db676bb791aac02e7cf78756bb -DIST sphinx_autodoc_typehints-3.13.5.tar.gz.provenance 10227 BLAKE2B 8bc6b35c9f3ff8c4e5087b346524371aa8a6511da7d3ad776f5fb89f1c529695beea84d845ed246816a871b6f48c46d7423f7330b62c93de88f0cdc9b51fd1d2 SHA512 05b8a43e687bdd9fb6011bd556744bf2c69719c00ca3453882108c298637a0a4b7b4390217fdbb62fe13ee1cf60b862018e311d09bedc51a92c3e9f7e4ff3c5e +DIST sphinx_autodoc_typehints-3.13.10.tar.gz 100076 BLAKE2B a3cd612ee32e78920461d32c0a42e337c76ef5257f3e8ddb8484d6776a6a3aab77c9612102aef6bfbbad4da64efe808c935c2ef3835fac548080e8dc57533c80 SHA512 4f36fbc66b79c7fa80886af119210ab38d5171d503395a7c23fb3b2d17842f236fc44b7d066120259f38c3df30215bb5cd27094dcd29d3ed60fbcb73880f84b5 +DIST sphinx_autodoc_typehints-3.13.10.tar.gz.provenance 9810 BLAKE2B d5a048d784052749c399ee9cdd932846c21a5130f1262edbbc8ff226898f15693b71ae9c76e6c38989aac6999dbdda40b58922d75705300e3543dcf6320ee8fd SHA512 80f97d4516bae5dae93facd16d74af90d6b204d73b8467e5a9c46b7bf3e00072534c7bd22195d83924d3e00644964b5620b3c26e1c9ae08ceb934a5c8cc05c5f DIST sphinx_autodoc_typehints-3.13.6.tar.gz 95235 BLAKE2B e9574881509897dd4822ac70612ef46fb6203812bf1508c0a3939874ecab4e538b5960b58ecc4922f8d23bf4a409453acf826f15cf63de8f048d06afdf6004d2 SHA512 2f3d314a6bb69271468b45ce4e12aef4f888c37d416dfa09e2539d73d016766a7af128f40cb1a747c41085fbd9f8d40e6775bd7f011084b5c66f7b86742681e9 DIST sphinx_autodoc_typehints-3.13.6.tar.gz.provenance 10227 BLAKE2B c5e584dfa6b6dc7045aa791af8dcc0340713e818bf519f897db85cb46910c580d69415a869f3d32762809fb92ee51303dfc3e87e72c6d071d7bbb62b196e3145 SHA512 235d2185f022e080d47e938fefd8f4f962c48fa6e5582219ca65f43a0a30e757b5b4b1d661f0a1a2867519ec0b9bf0984b4a0eb1d861333728b0ccfcdd502c52 DIST sphinx_autodoc_typehints-3.13.7.tar.gz 96990 BLAKE2B 3f81fd81ce6e041e68d0e8bc9a7d65eaba70aa63b84513033845a3453345a1d495207663639e591c543ad9b343c9105c153c2b864e7d1a3fdca3025da6ac1360 SHA512 01f069cb1a005037621299983d1c4b2cff62cec5d7e7726e50713797535dc4dd1d64cde8ff40acae312a458a61bf4f7793a771a8102f7ca79e40f82a617380a9 diff --git a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-3.13.5.ebuild b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-3.13.10.ebuild index fc631287b941..238733c448a1 100644 --- a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-3.13.5.ebuild +++ b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-3.13.10.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" RDEPEND=" >=dev-python/sphinx-9.0.4[${PYTHON_USEDEP}] diff --git a/dev-python/sphinxcontrib-httpdomain/Manifest b/dev-python/sphinxcontrib-httpdomain/Manifest index cc1bdc761b16..baf1e7cc32f4 100644 --- a/dev-python/sphinxcontrib-httpdomain/Manifest +++ b/dev-python/sphinxcontrib-httpdomain/Manifest @@ -1,2 +1,3 @@ DIST sphinxcontrib-httpdomain-2.0.0.gh.tar.gz 94266 BLAKE2B c41a58d108b0f86200b371b05b52e13ee9c7ad9f8e3ce6b67aa02cf884ff92c8a5e739e5072c316eebef8814f40ee0bae8045d9fa79f475b407716aba0c77418 SHA512 1dcc4b7cc072953ec8fd82b32370815b15a9a9f4da7db2b0ef499e325a85acf181fe232429c2b296155d1da74d11a1b128abbab505bec4640d690635aa8e1889 DIST sphinxcontrib-httpdomain-2.1.0.gh.tar.gz 123627 BLAKE2B 6b9982d200b359e41775ea7dbc7f99eb5b6031dcbf7def55bf91963568ae32421f6349609aeea957da88c08f4ed6dcec31d5c88f1fc6afe81fbf1de8347ddb9a SHA512 30503c70b876bec89bc5fd022b682b01f5f591ec2912ce9dec80300590d134eeab867e27ad98d89c3889532760a6b87de0260457e359ef79a218c713e3e2d80f +DIST sphinxcontrib-httpdomain-2.2.0.gh.tar.gz 123703 BLAKE2B 7bbf2bcaf0684f2aab57893e7bb5f61b84e991466c40f0475ddf6df2ce73a5a9cf8fcfc07ba73182a4e0ff9de687a77fd7c3979b6bc77dd95e2034afb57b10e5 SHA512 e8f3b3258134feeaaaec0765f3dc9450d147ea2b6d4ff471284e274db9ccde4c961a100a9c37d90e48ae790818cce887d3289b1f502ec7bd55715fede95412a4 diff --git a/dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-2.2.0.ebuild b/dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-2.2.0.ebuild new file mode 100644 index 000000000000..557a28a4cc7f --- /dev/null +++ b/dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-2.2.0.ebuild @@ -0,0 +1,43 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=uv-build +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 + +DESCRIPTION="Sphinx domain for documenting HTTP APIs" +HOMEPAGE=" + https://pypi.org/project/sphinxcontrib-httpdomain/ + https://github.com/sphinx-contrib/httpdomain/ +" +SRC_URI=" + https://github.com/sphinx-contrib/httpdomain/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" +S="${WORKDIR}/httpdomain-${PV}" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86" + +RDEPEND=" + >=dev-python/sphinx-6.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + >=dev-python/bottle-0.13.4[${PYTHON_USEDEP}] + >=dev-python/flask-3.1.2[${PYTHON_USEDEP}] + >=dev-python/tornado-6.5.4[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +python_test() { + cd "${T}" || die + epytest "${S}"/tests +} diff --git a/dev-python/starlette/Manifest b/dev-python/starlette/Manifest index e4c1d62d1417..64f7b99087dd 100644 --- a/dev-python/starlette/Manifest +++ b/dev-python/starlette/Manifest @@ -1,3 +1,3 @@ -DIST starlette-1.2.1.gh.tar.gz 2704768 BLAKE2B 6d50be60483f50a025f0a37f35d39c2a8f230628edd9b19706d99cb13b6fdb98ea680637108c15c52073fddb02ac2839554e0db55cd4e6cb86867e230dfc7dcc SHA512 92e3230af0082aeb4dcd9eb733f14b71613b1be01857d7642455d29539b3bbc97301a2fb801415ce9c106af77ef1f3baaf36dd44812d5e95460498cdf51b7c60 DIST starlette-1.6.0.gh.tar.gz 2720742 BLAKE2B d8e72166045fdafdced1367b2f42ca4117c891577b9b0008590bd62b2d32a61eecf00f406c510511602a88d72908cb94ec3b6bb63f03027b99e7c31ab5b2a9cc SHA512 b415a5fde7572a1ee1965c7fdaeb0cb5a9b5f7ab8471f3085de730141f531302e7eb0fb61546c65af54f7d8a7a5a49ff2e2f03b544b99358dcaa499082b5d3bd DIST starlette-1.7.0.gh.tar.gz 2738875 BLAKE2B aba95d92ed3f6b9b0f684fc2b0c7181c8deb90dd7a736785cc10a5de9fd955894031aee8be3192d69716dc0ea47cccfe077e1a7157d4ff05282f7e35db3304f9 SHA512 cb599db97c50a75a343ed264c9296900db76b3677e3149938b33c457c6190a3493506d016d66db03adb1f7bc74980dda28b19cb02034fd590762848dacbc5924 +DIST starlette-1.8.0.gh.tar.gz 2733341 BLAKE2B 629b48a85001962af0aac9555a2fca1b979779cc4dda9efd93fb2a5df3e9fb0964255e656ce4094d8caea00d9633aaebdf5a3a9860d3e63baf2a5b0a3d9638bc SHA512 fda29f1af0233dee6f1be3c535cf57d3a695045931af31792c64c6c1cd51972d2ade4fe90d8f2d58146803c48b3b479cf6c90d9869236f8acba7048ad699d812 diff --git a/dev-python/starlette/starlette-1.2.1.ebuild b/dev-python/starlette/starlette-1.8.0.ebuild index 5500b82f9815..032fc6fce554 100644 --- a/dev-python/starlette/starlette-1.2.1.ebuild +++ b/dev-python/starlette/starlette-1.8.0.ebuild @@ -11,7 +11,6 @@ inherit distutils-r1 MY_P=${P/_p/.post} DESCRIPTION="The little ASGI framework that shines" HOMEPAGE=" - https://www.starlette.io/ https://github.com/Kludex/starlette/ https://pypi.org/project/starlette/ " @@ -24,24 +23,24 @@ S=${WORKDIR}/${MY_P} LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +# TODO: default to httpx2? add some flags? RDEPEND=" <dev-python/anyio-5[${PYTHON_USEDEP}] - >=dev-python/anyio-3.6.2[${PYTHON_USEDEP}] + >=dev-python/anyio-4.0.0[${PYTHON_USEDEP}] <dev-python/httpx-0.29[${PYTHON_USEDEP}] >=dev-python/httpx-0.22.0[${PYTHON_USEDEP}] dev-python/itsdangerous[${PYTHON_USEDEP}] dev-python/jinja2[${PYTHON_USEDEP}] >=dev-python/python-multipart-0.0.18[${PYTHON_USEDEP}] dev-python/pyyaml[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - >=dev-python/typing-extensions-3.10.0[${PYTHON_USEDEP}] - ' 3.11) " BDEPEND=" test? ( - >=dev-python/pytest-8[${PYTHON_USEDEP}] + dev-python/blockbuster[${PYTHON_USEDEP}] + dev-python/httpx2[${PYTHON_USEDEP}] + dev-python/opentelemetry-sdk[${PYTHON_USEDEP}] dev-python/trio[${PYTHON_USEDEP}] ) " diff --git a/dev-python/tox/Manifest b/dev-python/tox/Manifest index 0dace917b238..2177d04c1232 100644 --- a/dev-python/tox/Manifest +++ b/dev-python/tox/Manifest @@ -24,3 +24,5 @@ DIST tox-4.65.3.tar.gz 343641 BLAKE2B cebbd34e606c1ae7690bba2111761179052e8850a7 DIST tox-4.65.3.tar.gz.provenance 9467 BLAKE2B 1555b83212e604e195969c0af68057937f3e68e722d9bf459e60078339789fe004974e8957dc0634f08d5c407dc66987b0ccd7128c087e34085b12b908d16c33 SHA512 aff924722aa30a455ec424f4d508ed4cf60f695da4a6e0e78a57ac6af868c1814378a7162d28e1899f2abaf2e0873a113bf175ead66ded58ba66017891dba94d DIST tox-4.65.4.tar.gz 343656 BLAKE2B ff3c154f470349da244bbdd60de07fd78ad44abe06f3493451e32545b9c1d85308d1716306e76732cdfe1daa1242f4ed79e5e7c45a5675b5521a8262fbb3ba98 SHA512 24945c9a7450a7ec0ed2068e989f006cba8dc0abbb975c61bbca73f4cb0f6484c279d0945167cb8617da71a708c66f5928e5f13360cb8c06a4c927d775bac49d DIST tox-4.65.4.tar.gz.provenance 9561 BLAKE2B 92e8a09667c8dacaa0a680f4b18cbdf1beed988e0a86523772b67d9cbd570bf3c790a26e01a290cf32b1a593a25eb8fb62452009ef55c5466a4d01f562372771 SHA512 0d86c78d1bb6211090ead4e342b91b0999b456dbedfd669a3fe0a7a23882f51e1a7295eb3f6c4cd057c20e2fc8c8b3bff1ab9b2e49d55ef45416bffeef4c9c64 +DIST tox-4.65.5.tar.gz 343779 BLAKE2B 1a18c2c8e92c706d58794dda4f1b658aa0a1e2b29f2018890a5a300245912fd3c5ec23cebaaab28ebfc5b758922449c6d6e035b4a42b54978013f52a3bc33a07 SHA512 a3e10d897f9c12211b4276703fb117ce6d44be7961d9a2c778d66fa92306423b35c3adbb16976859da6784554dfbe4918105c7fd5fc7958656dd36b77fe39a3c +DIST tox-4.65.5.tar.gz.provenance 9326 BLAKE2B b82af0b9ffccf77af8a1153f53e03baaad102a725ec608bace4da08d3804b443e50d0e447b951e15aaef00890ee2b870e7ba158b7d8a66379853d49043f9469b SHA512 4bc521a31fac6c0a4800b4a60efa23926393ef871e2b9c42388e5ec73aa9edbd03d9873268c6dd622d6990115e8d06ab00e734918dd8f0ea06b49a47dd29dab3 diff --git a/dev-python/tox/tox-4.65.5.ebuild b/dev-python/tox/tox-4.65.5.ebuild new file mode 100644 index 000000000000..9d80c8ee22b8 --- /dev/null +++ b/dev-python/tox/tox-4.65.5.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYPI_VERIFY_REPO=https://github.com/tox-dev/tox +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="virtualenv-based automation of test activities" +HOMEPAGE=" + https://tox.readthedocs.io/ + https://github.com/tox-dev/tox/ + https://pypi.org/project/tox/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc64 ~riscv ~s390 ~x86" + +RDEPEND=" + dev-python/cachetools[${PYTHON_USEDEP}] + dev-python/colorama[${PYTHON_USEDEP}] + dev-python/filelock[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + dev-python/platformdirs[${PYTHON_USEDEP}] + dev-python/pluggy[${PYTHON_USEDEP}] + dev-python/pyproject-api[${PYTHON_USEDEP}] + dev-python/python-discovery[${PYTHON_USEDEP}] + dev-python/tomli-w[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/typing-extensions-4.15[${PYTHON_USEDEP}] + ' 3.12) +" +BDEPEND=" + dev-python/docutils[${PYTHON_USEDEP}] + dev-python/hatch-vcs[${PYTHON_USEDEP}] + test? ( + dev-python/argcomplete[${PYTHON_USEDEP}] + dev-python/build[${PYTHON_USEDEP}] + dev-python/distlib[${PYTHON_USEDEP}] + dev-python/psutil[${PYTHON_USEDEP}] + dev-python/re-assert[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-{mock,rerunfailures,timeout,xdist} time-machine ) +EPYTEST_RERUNS=3 +# upstream timeouts are quite short +: ${EPYTEST_TIMEOUT:=180} +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + # upstream lower bounds are meaningless + sed -i -e 's:>=[0-9.]*::' pyproject.toml || die + distutils-r1_src_prepare +} + +python_test() { + # devpi_process is not packaged, and has lots of dependencies + cat > "${T}"/devpi_process.py <<-EOF || die + def IndexServer(*args, **kwargs): raise NotImplementedError() + EOF + + local -x PYTHONPATH=${T}:${PYTHONPATH} + local EPYTEST_DESELECT=( + # Internet + tests/tox_env/python/virtual_env/package/test_package_cmd_builder.py::test_build_wheel_external + tests/tox_env/python/virtual_env/package/test_package_cmd_builder.py::test_run_installpkg_targz + tests/tox_env/python/virtual_env/package/test_package_pyproject.py::test_pyproject_installpkg_pep517_envs + # require tombi + tests/session/cmd/test_schema.py::test_schema_tombi_lint + ) + local EPYTEST_IGNORE=( + # requires devpi* + tests/test_provision.py + ) + + epytest -o addopts= +} diff --git a/dev-python/transitions/Manifest b/dev-python/transitions/Manifest deleted file mode 100644 index 987b1e3d7d24..000000000000 --- a/dev-python/transitions/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST transitions-0.9.3.gh.tar.gz 1136264 BLAKE2B b2d146ce4403e5e6bea89495ccaa8ad1fc024439d56446374f2221063e5b727acdce613adcc285934a03f61a79b1bbe7420e2db3a1c336520da97e755a3dfc72 SHA512 4c9aec72a7643d1188c2a1ea66252be90a7b76008c35102425204c3a7e2ff84e7cb3467e33b763536b59fba0a59e7737aa0293b6696c35a581ebd0ac02cc1744 diff --git a/dev-python/transitions/metadata.xml b/dev-python/transitions/metadata.xml deleted file mode 100644 index 8de948461e51..000000000000 --- a/dev-python/transitions/metadata.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://srcux.com/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="person"> - <email>conikost@gentoo.org</email> - <name>Conrad Kostecki</name> - </maintainer> - <maintainer type="project"> - <email>python@gentoo.org</email> - <name>Python</name> - </maintainer> - <longdescription> - A lightweight, object-oriented state machine implementation in Python. - A state machine is a mathematical model of computation. - It is an abstract machine that can be in exactly one of a - finite number of states at any given time. - </longdescription> - <stabilize-allarches /> - <upstream> - <bugs-to>https://github.com/pytransitions/transitions/issues</bugs-to> - </upstream> - <origin>srcux</origin> -</pkgmetadata> diff --git a/dev-python/transitions/transitions-0.9.3.ebuild b/dev-python/transitions/transitions-0.9.3.ebuild deleted file mode 100644 index 04d51981099c..000000000000 --- a/dev-python/transitions/transitions-0.9.3.ebuild +++ /dev/null @@ -1,47 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517="setuptools" -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 - -DESCRIPTION="A lightweight, object-oriented state machine implementation in Python" -HOMEPAGE="https://github.com/pytransitions/transitions" -SRC_URI=" - https://github.com/pytransitions/${PN}/archive/${PV}.tar.gz - -> ${P}.gh.tar.gz -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="amd64 ~arm64 x86" -IUSE="examples" - -RDEPEND=" - || ( - dev-python/pygraphviz[${PYTHON_USEDEP}] - dev-python/graphviz[${PYTHON_USEDEP}] - ) - dev-python/six[${PYTHON_USEDEP}] -" -BDEPEND=" - test? ( - dev-python/dill[${PYTHON_USEDEP}] - dev-python/mock[${PYTHON_USEDEP}] - ) -" - -EPYTEST_IGNORE=( - # pycodestyle, mypy, etc. - tests/test_codestyle.py -) -EPYTEST_PLUGINS=() -distutils_enable_tests pytest - -src_install() { - distutils-r1_src_install - use examples && dodoc examples/*.ipynb -} diff --git a/dev-python/vecrec/Manifest b/dev-python/vecrec/Manifest deleted file mode 100644 index ff0b0c80993b..000000000000 --- a/dev-python/vecrec/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST vecrec-0.3.1.tar.gz 18893 BLAKE2B 1b04e2ccda949d45aea083c03f963efbe3f52cf23e4c73b66b4bbe2084ad0d2690b13db9ccbd852f60e01384e85131aa36768bf26d7722f85db7856f0238fd5e SHA512 8fb8257036204efde07e739c698586e4cff81b391d21db79413002b35cffb9e02f5348acbbb374208be1c25eb96d1d8877b6a8b20be501a7541b46c43eb1dbfc diff --git a/dev-python/vecrec/metadata.xml b/dev-python/vecrec/metadata.xml deleted file mode 100644 index 1483c4aa8bfc..000000000000 --- a/dev-python/vecrec/metadata.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://srcux.com/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="project"> - <email>3dprint@gentoo.org</email> - <name>Gentoo 3D Printer Project</name> - </maintainer> - <longdescription> - Python-FCL is an (unofficial) Python interface for the Flexible Collision Library (FCL), an excellent C++ - library for performing proximity and collision queries on pairs of geometric models. - </longdescription> - <stabilize-allarches /> - <upstream> - <bugs-to>https://github.com/kxgames/vecrec/issues</bugs-to> - </upstream> - <origin>srcux</origin> -</pkgmetadata> diff --git a/dev-python/vecrec/vecrec-0.3.1-r1.ebuild b/dev-python/vecrec/vecrec-0.3.1-r1.ebuild deleted file mode 100644 index 49f5ecd5f281..000000000000 --- a/dev-python/vecrec/vecrec-0.3.1-r1.ebuild +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=flit -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="2D vector and rectangle classes" -HOMEPAGE=" - https://github.com/kxgames/vecrec/ - https://pypi.org/project/vecrec/ -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~arm64" - -RDEPEND=" - dev-python/autoprop[${PYTHON_USEDEP}] -" - -EPYTEST_PLUGINS=() -distutils_enable_tests pytest - -src_prepare() { - sed -e '/build-backend/s/flit.buildapi/flit_core.buildapi/' \ - -e '/requires/s/flit/flit_core/' -i pyproject.toml || die - distutils-r1_src_prepare -} - -python_test() { - epytest -o addopts= tests -} diff --git a/dev-python/wrapt/Manifest b/dev-python/wrapt/Manifest index e86a913b282f..7b6f2a7aacca 100644 --- a/dev-python/wrapt/Manifest +++ b/dev-python/wrapt/Manifest @@ -1,8 +1,8 @@ -DIST wrapt-2.3.0.tar.gz 131509 BLAKE2B 6cbc4c7af17e1dbaccaa0c9999331fe7219b9bd8dfd8059ab006e2d33ecdac9a051edc368171e245fee885384a1dd50f056409277e181669b88fbb6ab3fecc2f SHA512 60605992677fe99fdf3328197486b77ec55d1b22e0072c4ab03eff423b5e91a31007fd780cd20676040714f895d3f7cf26b324b6c74bf53a02ceee1224a4c0ea -DIST wrapt-2.3.0.tar.gz.provenance 10335 BLAKE2B f941e218d992f29ac5cf5027c17951f490482fdb7d3234faedde6d20e9a5ba54c290c66cd8d8bff336fd38c27cdb7573c3134891f0af206c508ce3339d8e2d6e SHA512 7e945775ace3936f825bd7f79b1bd58f2f0f8c40a2fc410e3ddfad18838fcbe0e35475f9af0240538fb3a76bbb257c02400b2d0db1375cb6539cd4bbf32ba1c4 DIST wrapt-2.4.0.tar.gz 161179 BLAKE2B 436b7709ba58271889ef7efd76ef52c4b5e0a12e445d3720e7c9ebdb0f3270bbd5e96327403665257e9e6a2ccdd8d3fc25c8b5f2463cfe1ac1074b184c374e1d SHA512 7d832d4600dfccf3813c19e37879688fe4bc136bdcb357f53ce3b32029b46a088dc8423328dd2bc875eee564618a5e078a4deaad8826c9f215c71d226fdfbb43 DIST wrapt-2.4.0.tar.gz.provenance 10106 BLAKE2B 70d792b847ca5413793015d6596710f729bc52c6b0837504d0416e9272d7d19f2ea9b45fb68b92ec6b3a3eafefa6c0062c80347d508f3f2a3e3a507d7fd75e0d SHA512 4ed5691a21d12fa1262a65f0d9f7759da01990944cdd986e88c7ae583165097ac72bd6944d3847bbc2c9a6d4fe8fec282c309e31989e97d4e68b1cfe5da20170 DIST wrapt-2.4.1.tar.gz 164597 BLAKE2B f57172218de2427dc80de48ee70a80f2494314508c6db94bd61af4042b9e3a26d387b18a8b3b875f4d92fd69d85d61f55b00b01755bd508b0b19ebecdccb81e3 SHA512 c996422b1dd73687609cfae475cf32d4ba2960686fb6a7ad28edd5314d62d944c13f4ec83e1cd6daa2542aac0d2b9e3fadaa1718da753dce4a8486a92688f880 DIST wrapt-2.4.1.tar.gz.provenance 10200 BLAKE2B 87a295822dc8b22c80f67adba6c2e0edb916062fe9a8a32b2ddca918d3fb6ac7b88a00a91c47a070a8a9939489129d3a52368d2186e42331e64a61f90acd433b SHA512 81db83085d80fa25dc8bb848dc196b3f1644734c24e4c050f6a2b5ced006b3db8890ef7d7887d05574546e2e3f6744d5c72e4ec4780469a574bf33a7c60d940b DIST wrapt-2.5.0.tar.gz 183288 BLAKE2B c5390f4fc37cfa960c552b5c71a7053dc86e2b6e8f73caefb9dbb98c43b75a37ffbfbee510a85a0d0b567da2adf68ab6586fb2c15b7375e5ceb8d397337b2dc5 SHA512 6ef568088e7f02bef41648fdd788c29b882526addf03241198d9146da1dcbd201fd9eecea98078b892d54eb6b819b35f4752443f8eca8a4301b6909c65321de9 DIST wrapt-2.5.0.tar.gz.provenance 10102 BLAKE2B 3750577ff9d659fb7123ebb9f371d238e58d1fb26c95e8bdf3a542170c1d2ce5944786f6b96d09d4888e8b76d0b76a72e89a5679e4e6a19aba8f49b085b2410d SHA512 3934ef0f579f2369f72fac0b354596913d5ac792d30ddaf5aefbca01101a21f64978a4853d99fa4ddc8bb93a6d61c955849767493ffacab8cca0294be63f5b62 +DIST wrapt-2.5.1.tar.gz 184455 BLAKE2B 9b9a8f100000652577d841c6e3be29cf2d24ef0b703d5a02e84e00abb3429a9a6959a405dbc4b3d61801a1138d17a891335b6179ecf537bf322ad3e0c6606b99 SHA512 16fe755feda833fda4263e5984d5229656970e02ddbc6458d3e2034d57d94102c4ad8df9569c4d4386897ea06a004374c82dc3c380a2690ff876b4098b38cf00 +DIST wrapt-2.5.1.tar.gz.provenance 10029 BLAKE2B ae750a31b411d50459dca91516f61640dd8c9b84a362133d6d0974068e6fabab02acd6532f25696ea1ff2f891c1d085338fa5af9a84a0ff0920abd554465d3aa SHA512 24880407317db771af0dde7bdf513f01ad70089f0956efdf0fc24809224f644d9cf78a26fd38a0f6acd2724e500c570fa83acee71d2f65eca7f06ea84a5efad8 diff --git a/dev-python/wrapt/wrapt-2.3.0.ebuild b/dev-python/wrapt/wrapt-2.5.1.ebuild index ab43c09d38d9..c0b172cb4e24 100644 --- a/dev-python/wrapt/wrapt-2.3.0.ebuild +++ b/dev-python/wrapt/wrapt-2.5.1.ebuild @@ -20,7 +20,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" if [[ ${PV} != *_rc* ]]; then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" fi IUSE="+native-extensions" diff --git a/dev-scheme/chicken/chicken-5.4.0.ebuild b/dev-scheme/chicken/chicken-5.4.0.ebuild index 8893792dac78..66b9d3882e4a 100644 --- a/dev-scheme/chicken/chicken-5.4.0.ebuild +++ b/dev-scheme/chicken/chicken-5.4.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -11,7 +11,7 @@ SRC_URI="https://code.call-cc.org/releases/${PV}/${P}.tar.gz" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha amd64 ~mips ppc ppc64 ~riscv x86" +KEYWORDS="~alpha amd64 ~arm64 ~mips ppc ppc64 ~riscv x86" IUSE="static-libs doc" src_prepare() { diff --git a/dev-util/bpf-linker/Manifest b/dev-util/bpf-linker/Manifest index d4b726715658..15d66c6b7e87 100644 --- a/dev-util/bpf-linker/Manifest +++ b/dev-util/bpf-linker/Manifest @@ -6,6 +6,8 @@ DIST bpf-linker-0.11.0-crates.tar.xz 12138812 BLAKE2B e5e68da232e4674ed7dc263721 DIST bpf-linker-0.11.0.gh.tar.gz 160986 BLAKE2B 4b2aff1c893b3b33e2b6aab4fd47b955b1e74f3e0a173f4be7e19e3bcc03fa45916f537b95223dde57117998142b7eba21f2793d4833c2d9728254ca1e06e4be SHA512 6d2b13f9a9fb0997f3abddc5dbf6133b381076d0222fa1983039560b791535cb50e5520b92128e321ca3615f057ffd21dca56d3844ab6ec05775f70b9e5beb41 DIST bpf-linker-0.11.1-crates.tar.xz 12118532 BLAKE2B 1c2dbdb0481161a518f0a2e21b9e03aeac08841803814d136d3f510faa315758366f5079ab684b3428d4a658a4aa811dd8b9d8b67a51ca89baf95026b5db5215 SHA512 df0e6f68c348e75bf0423ebdb731ffb3d79fae3da3a8736bf897b67f2cd3fb310ea07978813825252da6bdb3fbf571e200666baa7ba087f4d9ce912e0ee3bb8e DIST bpf-linker-0.11.1.gh.tar.gz 186430 BLAKE2B c4b68c6e95fe9725a1ef19c6d584ae7340279f51c96c4e9b3da1815224f27adbe92930e0ab741c45261a38b30cc44f92b9ba8f3710bd1d61fca43052f6c268fa SHA512 ba18354735f6756cba32ad5edf41c5b603b4eae53b2f3faa54edf6732599a4242f0f23d5d9b4335dde305657236ffe09b4e4c23361b076bb4caca7c6fc8cb8eb +DIST bpf-linker-0.12.0-crates.tar.xz 12932016 BLAKE2B 8151c22e6b2f75550cbb2602d48ad828f3043828d82dddf4f3c865d507bf856c3534e8f1347b72c3c5dfbbb87d3ba99f0000271a511dc42f23d37457c7b838f9 SHA512 25b94b94acd509318a071c5e39d46fc3704733fc9aad0f0092d2e2a5c409235ed3a828e3c85cf0274770582460a583d5f22ffc17f070291eb12697658eb7f3d5 +DIST bpf-linker-0.12.0.gh.tar.gz 184158 BLAKE2B 424e38004a047eaa87f069c55263c3a7be215228ff9d6f5152bdd2e638c365cbc4ad48505421acbd5265eecc1df55611a5aaa99615b6c3d5f6f0f43db228b0f4 SHA512 c80ee6620f98c42eeae2ce3456e80e65339d2c03120e2c882112655290019f44a7b3dddafdb8a03fcebead6749bbb68eacc89febe445cdad9bd60b4d5149a2b0 DIST bpf-linker-0.9.15-crates.tar.xz 16330432 BLAKE2B b22ecf0efe6a0dbcd76d4468f3ba674851fd41a9a3a2f71cc4f6c2f1cfcbb69043c49ae28fce441cb3972f6a7bcaa7d1aa51f78b3acb3ca67add23573c81de70 SHA512 32c172cb84999cbf9eed73bc2988fd805cf6e028349884e0af006e828374ffef3a2d47033501115dfd32641927fd7f679132c3a57c8dc475d709fab91a05b625 DIST bpf-linker-0.9.15.gh.tar.gz 53754 BLAKE2B 91554e366b4981a28a74a154258970702d8a259ea8ca3ce48d510e8b87978d8dd438505aec1a53a1c7b4d7c3e48ae3a996b03271f7e10f2dcf328e80188e432a SHA512 8c55eb0d46ca4229a1d23333b38a3d9b6dc2e21e3d720a9f7b57e0a1435c895e3829ed370d2d25fec8d5bf41fd75543a6cb493d78f4bddc1d903c831e13b9784 DIST compiler_builtins-0.1.146.crate 212475 BLAKE2B 9036a9e643ad310932c7943ce5e41c53029f08e604e8ed0a6255d49cf98ecea832dd19ffd109c34a83873880f1c281dc5991bf3f34b9e04f6e9562d40926fd48 SHA512 51db04a4e2b7fbc8a7b7407d57a9c82884f9950f5937cf422d14d4c53bc6b942d90e443857cf0c363b0365202713ecbaea3977e9c1cf534c54b041a1f6efd409 diff --git a/dev-util/bpf-linker/bpf-linker-0.12.0.ebuild b/dev-util/bpf-linker/bpf-linker-0.12.0.ebuild new file mode 100644 index 000000000000..e5eb41dc535e --- /dev/null +++ b/dev-util/bpf-linker/bpf-linker-0.12.0.ebuild @@ -0,0 +1,80 @@ +# Copyright 2025-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +RUST_MIN_VER=1.90.0 +CRATES=" +" + +declare -A GIT_CRATES=( + [compiletest_rs]='https://github.com/Manishearth/compiletest-rs;02b122626320f562914710bada39e637f051c7bb;compiletest-rs-%commit%' +) + +LLVM_COMPAT=( {21..23} ) +RUST_REQ_USE="llvm_targets_BPF(+),rust_sysroots_bpf(-)" +RUST_NEEDS_LLVM=1 + +inherit cargo llvm-r1 toolchain-funcs + +DESCRIPTION="Simple BPF static linker" +HOMEPAGE="https://github.com/aya-rs/bpf-linker/" +SRC_URI=" + https://github.com/aya-rs/bpf-linker/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz + https://github.com/gentoo-crate-dist/bpf-linker/releases/download/v${PV}/${P}-crates.tar.xz + ${CARGO_CRATE_URIS} +" + +LICENSE="|| ( MIT Apache-2.0 )" +# Dependent crate licenses +LICENSE+=" + ISC MIT Unicode-3.0 Unicode-DFS-2016 + || ( Apache-2.0 Boost-1.0 ) +" +SLOT="0" +KEYWORDS="~amd64 ~arm64" +IUSE="test" +RESTRICT="!test? ( test )" + +DEPEND=" + $(llvm_gen_dep ' + llvm-core/llvm:${LLVM_SLOT}=[llvm_targets_BPF] + ') +" +RDEPEND=" + ${DEPEND} + ${RUST_DEPEND} +" +BDEPEND=" + test? ( + dev-util/btfdump + ) +" + +QA_FLAGS_IGNORED=/usr/bin/bpf-linker + +pkg_setup() { + rust_pkg_setup +} + +src_prepare() { + default + + # replace upstream crate substitution with our crate substitution, sigh + local ct_dep=$(grep ^compiletest_rs "${ECARGO_HOME}"/config.toml || die) + sed -i -e "/compiletest_rs/s;^.*$;${ct_dep};" Cargo.toml || die +} + +src_configure() { + local myfeatures=( + "llvm-${LLVM_SLOT}" + ) + cargo_src_configure --no-default-features + + export "LLVM_PREFIX"="$(get_llvm_prefix -d)" + + if [[ $(tc-get-cxx-stdlib) == "libc++" ]]; then + export LLVM_SYS_LIBCPP=c++ + fi +} diff --git a/dev-util/gtest-parallel/gtest-parallel-20250716.ebuild b/dev-util/gtest-parallel/gtest-parallel-20250716.ebuild index a22da4a85534..cf8beffb5955 100644 --- a/dev-util/gtest-parallel/gtest-parallel-20250716.ebuild +++ b/dev-util/gtest-parallel/gtest-parallel-20250716.ebuild @@ -17,7 +17,7 @@ S="${WORKDIR}/${PN}-${MY_COMMIT}" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="amd64 ~arm arm64" +KEYWORDS="amd64 ~arm arm64 ~x86" REQUIRED_USE="${PYTHON_REQUIRED_USE}" diff --git a/dev-util/ruff/Manifest b/dev-util/ruff/Manifest index d9169775648e..48d6e62743fa 100644 --- a/dev-util/ruff/Manifest +++ b/dev-util/ruff/Manifest @@ -11,4 +11,6 @@ DIST ruff-0.16.7-crates.tar.xz 29020036 BLAKE2B 032e998658369c0c2dd15d4307b29a09 DIST ruff-0.16.7.gh.tar.gz 13601619 BLAKE2B d4a80f813d79b63b1bc9130654ea170ec6496e4bfa13afbeb2b3dc674227e2a8b0e67ab1f46b76394b47129487d3ec31226389dda9335e43257c6f2d44cf3b16 SHA512 221deb759aa9db4d3fc189a66011d6f763bbec60166e62fb935778966ec6f35e88b8ac94a31ed22412f6398100517f4f4e119d1aad884beba2a60e57c1e9662c DIST ruff-0.16.9-crates.tar.xz 29025912 BLAKE2B f22e30212d69b5d7d64ddbe3733792d812e6ada94d06248cb6f16252478cc1ae719f89b64fb2c2acac23316fc8ad92bce6f9ec9d0e1e5c64125ebe9901de7e6a SHA512 4be7e62a3c5bd5225b33cc171e95dec4c17a2ae7e9d2f95136d8dbde660726f8c00d03a1d4e78213802b2b2302c913bb85735dc108377c8cd1deef45c96850f3 DIST ruff-0.16.9.gh.tar.gz 13883648 BLAKE2B 7242343f55c28611a384981d1a2e37ee719070f2d5bf9e6db11eb85bf7cef410a5cc88e22052253208232074a0ba160f0796cf2bda3e5995588bcb01d124eb54 SHA512 89bc5578d0f9d260ffa45c9315d34d7b99e354a2b780600e5de4ab215aa70c313ecfd6ccbdb7f36058216e0d47be97b7bacc32383ef2398e5fc3acd08aa34e3a +DIST ruff-0.17.0-crates.tar.xz 29075976 BLAKE2B 0eb352df10a35185e8259d9a87742648ca0d425a43c54e8f99bd47174c8d0e73cc2dab1ba52ffcaeb841d9b3d249d7e51957b46110a902f335a723b83fbca10d SHA512 2e34caa1ab872190c0ab7f7405b3efccb18ccdbf41f3a36f577bff33e42fc1d0f5534d9b1aa0b42a6c221aa7163be389b441b5f9f1092a3c7e37a5da85eb6cf0 +DIST ruff-0.17.0.gh.tar.gz 14410551 BLAKE2B 9a47a80d188e85cfe94358e0fc1a47f08844624deccdba2e14f6391ae136ea7ca982fd1c34c8fac8e1caff0b86c062c416bafdd55202907dd9df30a2efd2e400 SHA512 98604d4f908b8e72026be825d2fe004ccb707f30c4a1fa5eaccce87528f4c29172deb3b92935bcd52e7f8a241c661251f01429f14eb9fbd7432b0f13f0ee71e4 DIST salsa-55e5e7d32fa3fc189276f35bb04c9438f9aedbd1.gh.tar.gz 731425 BLAKE2B ce720abaa295b46c7e1fa06a73e2ad9a48a6b9da7f2b4a91edba38a28bb9a63a1661886fc7c5d6dbc915f589f2e055731a544cdf18afb4dd7b3f6815c59e543b SHA512 91942cfc6bbfb7f07366cdd3d42e5296bff877ee723b24868ff3c278defd0ef247f03e957332bc0696553f0f1977a41c18d08efe7887f5bda3a1cb98543bddbd diff --git a/dev-util/ruff/ruff-0.17.0.ebuild b/dev-util/ruff/ruff-0.17.0.ebuild new file mode 100644 index 000000000000..034e035771a4 --- /dev/null +++ b/dev-util/ruff/ruff-0.17.0.ebuild @@ -0,0 +1,113 @@ +# Copyright 2024-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.15.1 + +EAPI=8 + +CRATES=" +" + +RUST_MIN_VER="1.97" + +inherit shell-completion cargo + +DESCRIPTION="An extremely fast Python linter, written in Rust" +HOMEPAGE=" + https://docs.astral.sh/ruff/ + https://github.com/astral-sh/ruff +" +SRC_URI=" + ${CARGO_CRATE_URIS} + https://github.com/astral-sh/ruff/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz + https://github.com/gentoo-crate-dist/${PN}/releases/download/${PV}/${P}-crates.tar.xz +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD CC0-1.0 ISC MIT + MPL-2.0 PSF-2 Unicode-3.0 WTFPL-2 ZLIB +" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~loong ~riscv" + +RDEPEND=" + !elibc_musl? ( !elibc_Darwin? ( !elibc_bionic? ( dev-libs/jemalloc:= ) ) ) + app-arch/zstd +" +DEPEND=" + ${RDEPEND} +" + +QA_FLAGS_IGNORED="usr/bin/.*" + +DOCS=( + BREAKING_CHANGES.md + CONTRIBUTING.md + README.md + assets + docs +) + +src_prepare() { + default + + # Experimental cruft cleaner. These crates are not used by the ruff binary, + # and when they are removed in the git repo, the lockfile is regenerated + # and gets quite a bit smaller. Hence pycargoebuild also produces much + # smaller CRATES= variables. Less for the user to download, fewer distfiles + # to mirror. + pushd crates >/dev/null || die + rm -r ruff_{benchmark,dev,mdtest,python_{ast,trivia}_integration_tests} \ + ty{,_{ide,project,server,completion_{bench,eval}}} \ + *_wasm || die + popd > /dev/null || die + + # tests that hang in the ebuild environment + rm crates/ruff_annotate_snippets/tests/examples.rs || die +} + +src_configure() { + export RUSTFLAGS="${RUSTFLAGS}" + cargo_src_configure +} + +src_compile() { + local -x ZSTD_SYS_USE_PKG_CONFIG=1 + # Gentoo bug #927338 + if use !elibc_musl && use !elibc_Darwin && use !elibc_bionic; then + local -x CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS=1 + local -x JEMALLOC_OVERRIDE="${ESYSROOT}/usr/$(get_libdir)"/libjemalloc.so + fi + cargo_src_compile --bin ruff + + local releasedir + releasedir=$(cargo_target_dir) + + ${releasedir}/ruff generate-shell-completion bash > ruff-completion.bash || die + ${releasedir}/ruff generate-shell-completion fish > ruff-completion.fish || die + ${releasedir}/ruff generate-shell-completion zsh > ruff-completion.zsh || die +} + +src_test() { + local -x ZSTD_SYS_USE_PKG_CONFIG=1 + # Gentoo bug #927338 + if use !elibc_musl && use !elibc_Darwin && use !elibc_bionic; then + local -x CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS=1 + local -x JEMALLOC_OVERRIDE="${ESYSROOT}/usr/$(get_libdir)"/libjemalloc.so + fi + cargo_src_test --target-dir "${PWD}"/tested-target/ +} + +src_install() { + local releasedir=$(cargo_target_dir) + + dobin ${releasedir}/ruff + + newbashcomp ruff-completion.bash ruff + newfishcomp ruff-completion.fish ruff.fish + newzshcomp ruff-completion.zsh _ruff + + dodoc -r "${DOCS[@]}" +} diff --git a/dev-vcs/git-delete-merged-branches/Manifest b/dev-vcs/git-delete-merged-branches/Manifest index 8e904893b3f6..c13b4e5a4129 100644 --- a/dev-vcs/git-delete-merged-branches/Manifest +++ b/dev-vcs/git-delete-merged-branches/Manifest @@ -1,3 +1,4 @@ DIST git_delete_merged_branches-7.5.1.tar.gz 39173 BLAKE2B adefd82fbddee8732bdc004bc37f5a99628a1cf96820fc9ff1b8eaf8389fa816916819e7433234438df7b5a768c7c9b03950f1bc191b5c20871d8d546b240a97 SHA512 c7fe8ab64f940742fcdb3b3ae72eeeb2aed43f576f938bb4d50b6021dbac8f014be470b21345df15598f51938d9ac7eed88cea8e95c9021035c848184a7973a7 DIST git_delete_merged_branches-7.6.0.tar.gz 40005 BLAKE2B 7fde8692ca7edea5d40797ff274a75d682ba0c410eba9d6a460658fafacb966a24d0b9a4248dafbad67e40b29b21286a471f998b522f38eb95943b761057fcb2 SHA512 0b59318f88482c90897546a5423bf762304a11ace76f16c47420f43476297c57073f67609ebbf07c2bfede453d1bc8945e9922264bd7fb0eb126b17d656f6cb9 DIST git_delete_merged_branches-7.6.1.tar.gz 40006 BLAKE2B 22bc3f6704a41796ba64258b5f675bffa690ed0759fee55967ee57b68417eb78ce2b8e9d8e2750bfb5248892dd930648e3c1e6227681b7ad8691f503c917ccb8 SHA512 c7c88a828059e805187d4c7187b0132f99b65c3c251f6b0e86c618321dcf7725e928652aa4f2ad93ea725a31c24f0ad1f23421139572acdaddabd28abf35f275 +DIST git_delete_merged_branches-7.7.0.tar.gz 43173 BLAKE2B 8268e1ae2c253db3ebbf974697cca0783b307b617a3c9e1ab19bbee96556d70fcc66b19fc4d15d22ef0e5622383aa13773e45c442481799f4f67832acb4248c0 SHA512 e858a8ed79ddd7589d92aea48aebb3626678e69601d6d485023a81c387a04925b1bda6be131215e7a20334d7f4973096da2726260326e32d069d64027f3d038d diff --git a/dev-vcs/git-delete-merged-branches/git-delete-merged-branches-7.7.0.ebuild b/dev-vcs/git-delete-merged-branches/git-delete-merged-branches-7.7.0.ebuild new file mode 100644 index 000000000000..628fb785d537 --- /dev/null +++ b/dev-vcs/git-delete-merged-branches/git-delete-merged-branches-7.7.0.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Command-line tool to delete merged Git branches" +HOMEPAGE="https://github.com/hartwork/git-delete-merged-branches" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="full-name-executable test" + +COMMON_DEPEND=" + >=dev-python/colorama-0.4.3[${PYTHON_USEDEP}] + >=dev-python/prompt-toolkit-3.0.18[${PYTHON_USEDEP}] +" +DEPEND="${COMMON_DEPEND} + test? ( dev-python/parameterized[${PYTHON_USEDEP}] ) +" +RDEPEND="${COMMON_DEPEND} + full-name-executable? ( !dev-vcs/git-extras ) + dev-vcs/git +" + +RESTRICT="!test? ( test )" + +distutils_enable_tests pytest + +src_install() { + distutils-r1_src_install + + if ! use full-name-executable; then + rm "${D}"/usr/bin/git-delete-merged-branches || die + rm "${D}"/usr/share/man/man1/git-delete-merged-branches.1* || die + fi +} diff --git a/dev-vcs/jj/Manifest b/dev-vcs/jj/Manifest index 9ad83bb7246a..bbe1819485ac 100644 --- a/dev-vcs/jj/Manifest +++ b/dev-vcs/jj/Manifest @@ -1,10 +1,6 @@ -DIST jj-0.40.0.tar.gz 2692470 BLAKE2B 90a40f9430cae4f017f41213d278075d3381c18c3453fb883c761b159a09f0f114c539f602ca5b2b7daabeecc92ff980be2bbdbb2b1c5917acdac0bc8c445a60 SHA512 1ac2ee46d0993f8013f9bfc79bbc40f0e92031966642d9fd7059a404fa1a14090b9ba74ba367c03bdf1bac291fc50c577525a1cf5b32e00b57c38ed287693257 -DIST jj-0.41.0-crates.tar.xz 29570468 BLAKE2B 2fcc9c9f4dd697f026548f7b2edf32adea49d95720ac9c37d8500d681ede4b200d40c768177f1cbd766b70ace0f9c03a5eb4569045fbdad451bd3dec690250d3 SHA512 39b2afbebc46863a83f33014c203c87e3cb1b1570c6532b6b35b4fa190c9b3c4cc080d4f0dd4c9a7bbf2ca620e17ecdeba23b0bb674b58eb2d0a7be929939160 -DIST jj-0.41.0.gh.tar.gz 2730413 BLAKE2B a01f32ddeced41d44351385503c5727c809eff1cc9635c21ed6634db66c27e78217b908ccca847b37ddc8637e3df76b16c4183469b226961f7a00872477c9925 SHA512 7e80ea4aa5583ae0e15bc8f19fa7d5617afeb4c5cf5b66dda035418cf99c1fce0724d99df9c6e94e51fc87297b373548e6c5bbb60dddfaf01f2ce9056cb5707e -DIST jj-0.42.0-crates.tar.xz 29760440 BLAKE2B e3d2d8929b832ac7a430f7347f69524252bcd69e5ac81ce1837282409fa7b2a4002f48f9a0193b0a1e4114bd3573a04e4f520f8a425002c9c55b9759ba9019e1 SHA512 9bb263e4b2643b2321c0114fded0ae6207879fd34f10a709058acc25f704cc4dec061f2572c1e19e6a251d582ba8fdcf4483b011946154b4930c33964bd0b346 -DIST jj-0.42.0.gh.tar.gz 2746246 BLAKE2B 1d42664126da77005c922dd25aa0c1f46a8dea15d3684198834e3a62486548a8cc061bc186564673179558209f0af24868e5a57ba8a4868735b860f63e214151 SHA512 fae17f11e2764025afea152eb4874a672c4229a3c204cb2fb5330d04f96ac67af9e82531d4690d39c5ebd87215b6b7473f55b9b4f9ce05217ef1f8701b6f827d DIST jj-0.44.0-crates.tar.xz 28865548 BLAKE2B ee5417bb7cebf78670b4846c68c9b2ce96b077e73e24d5525dad247600d98bf5d0f5d91d12b5cf43ee2e309de00291ce87d6d1e97e06ba36162979201ec9d8dd SHA512 363b9af32e0f944d62494e0f8a9689e9c0efa72d91dec7abc492216d557e894013eeefebec1c7974ce548902451032a7503af960e6d413cd9f0681bd70ddeb47 DIST jj-0.44.0.gh.tar.gz 2820280 BLAKE2B dad271be39fd9cc6bb89666953dacb461dab6589d06f6c5d4f5c11fcb488f8e91217050c776d86d1fcfcb47c07ac3c9f1adf272541f2452f854c70905226262d SHA512 24f0188a834eda568e3e620c9095dcea3d67a42ca4c80ebc31cef036e137828e99cdc5d6943bb0de3622b3c39e250367ce82f1af39fcdc99cc24fa22bf299af1 DIST jj-0.45.1-crates.tar.xz 29443156 BLAKE2B a6a05af3f10a0e933f6ce8e70eaf415b535f14c49d65de0630a73fb726f81620bb9804b97125e0cad36d540680ac1164eea262fb040e71d2be9d10cee1fd872f SHA512 a4d8743011b16dccfecc774ff2ea3055b3672774286409043e86d1d806ad123f266b4b70bf54720a445ab17713a5226daa7ab7fa416e6481ead9f4c589d1e897 DIST jj-0.45.1.gh.tar.gz 2863640 BLAKE2B 37a7ecf25045a5610e7862410bceef4838c2fdcd76784de6f98296a9f490db85c5016d422c49afd272e470ce772c2e7ec676b2b98f9571f5239d9eb3970d82d0 SHA512 aabaf5b3588236033be649f82ac24784fecfd222072fe1ab360e3ff7a56c6920c0610a3ff0087a84140a46c474cfcd69dfd7701e3f3fbe54efb5970a86151cdc -DIST jj-cli-0.40.0-crates.tar.xz 30315940 BLAKE2B 100195e1c28834126ef3be40e8d97a86d825eb0917466cccae30b153833cb120fb972054b09a7f37c723e8464b746b7ca32d8fcf34d2fc02993643759cffeb70 SHA512 1a7d7feb4f20066f6f3662c9273c56c0bb53c21f1296bad6374efdf2e1fcb5d0e8ab2a3fbef481132aae297b47f37515d3e81050503d7f808fc720814d8b2ee8 +DIST jj-0.46.0-crates.tar.xz 32702456 BLAKE2B 3574f5fe8d5c25667a056e0c915cfce68697623e9f5f9654819f047897fc67240ed647f65898625006645ba4e01260b4fe88440327625d089c6c2d9fae5b8f23 SHA512 9891a4ed3740ca885e1b888c0e88fd904b0a60632fc374c66c6765a483b7462f78f99bb720aa7593b75267f45a4162301904d62050ca3e8461a28bc9eef286cc +DIST jj-0.46.0.gh.tar.gz 2924053 BLAKE2B df602489b480ad0a9fbe643309aa3f5e486d11217441793e2aaf2d46b0e3ed9cb66662db66443c947823509b03677e3221c854ff4fe6ec493abc7cdc155b6605 SHA512 f4c4da14f83700925efde5ab86ad2157a9e0dfe406d0035d6906b2743997b940bbf31bfd7ef5ca89307d074b929ede1cbb40211072b19eae4e260abb53c68bd1 diff --git a/dev-vcs/jj/jj-0.40.0.ebuild b/dev-vcs/jj/jj-0.40.0.ebuild deleted file mode 100644 index 96850fadbc66..000000000000 --- a/dev-vcs/jj/jj-0.40.0.ebuild +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright 2025-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.15.1 - -EAPI=8 - -CRATES=" -" - -RUST_MIN_VER="1.89.0" - -inherit cargo - -DESCRIPTION="Jujutsu - an experimental version control system" -HOMEPAGE="https://www.jj-vcs.dev/" -SRC_URI=" - ${CARGO_CRATE_URIS} - https://github.com/jj-vcs/jj/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - mirror://gentoo/jj-cli-${PV}-crates.tar.xz -" - -LICENSE="Apache-2.0" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 BSD MIT MIT-0 MPL-2.0 Unicode-3.0 Unicode-DFS-2016 - WTFPL-2 ZLIB -" -SLOT="0" -KEYWORDS="~amd64" - -QA_PREBUILT="/usr/bin/jj" - -DOCS=( - CHANGELOG.md - GOVERNANCE.md - README.md - SECURITY.md - docs/ - demos/ -) - -src_test() { - local -a cargo_skip_tests=( - # skip tests that fail in sandbox environment - test_gpg::gpgsm_signing_roundtrip - test_gpg::gpgsm_signing_roundtrip_explicit_key - test_gpg::gpgsm_unknown_key - ) - - local -a skip_params - readarray -t skip_params < <(printf -- '--skip\n%s\n' "${cargo_skip_tests[@]}") - - cargo_src_test -- "${skip_params[@]}" -} - -src_install() { - pushd cli >/dev/null || die - cargo_src_install - popd >/dev/null || die - - dodoc -r "${DOCS[@]}" -} diff --git a/dev-vcs/jj/jj-0.41.0.ebuild b/dev-vcs/jj/jj-0.41.0.ebuild deleted file mode 100644 index 1a8cce6d8800..000000000000 --- a/dev-vcs/jj/jj-0.41.0.ebuild +++ /dev/null @@ -1,48 +0,0 @@ -# Copyright 2025-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.15.1 - -EAPI=8 - -CRATES="" - -RUST_MIN_VER="1.89.0" - -inherit cargo - -DESCRIPTION="Jujutsu - an experimental version control system" -HOMEPAGE="https://www.jj-vcs.dev/" -SRC_URI=" - https://github.com/jj-vcs/jj/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz - https://github.com/gentoo-crate-dist/${PN}/releases/download/v${PV}/${P}-crates.tar.xz - ${CARGO_CRATE_URIS} -" - -LICENSE="Apache-2.0" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 BSD MIT MIT-0 MPL-2.0 Unicode-3.0 Unicode-DFS-2016 - WTFPL-2 ZLIB -" -SLOT="0" -KEYWORDS="~amd64" -IUSE="test" -RESTRICT="!test? ( test )" - -QA_FLAGS_IGNORED="usr/bin/${PN}" - -DOCS=( - CHANGELOG.md - GOVERNANCE.md - README.md - SECURITY.md - demos/ - docs/ -) - -src_install() { - cargo_src_install --path cli - - einstalldocs -} diff --git a/dev-vcs/jj/jj-0.42.0.ebuild b/dev-vcs/jj/jj-0.46.0.ebuild index d9cc9005cfdd..2bdeaf636093 100644 --- a/dev-vcs/jj/jj-0.42.0.ebuild +++ b/dev-vcs/jj/jj-0.46.0.ebuild @@ -10,7 +10,7 @@ CRATES=" RUST_MIN_VER="1.89.0" -inherit cargo +inherit cargo eapi9-pipestatus shell-completion toolchain-funcs DESCRIPTION="Jujutsu - an experimental version control system" HOMEPAGE="https://www.jj-vcs.dev/" @@ -28,8 +28,6 @@ LICENSE+=" " SLOT="0" KEYWORDS="~amd64" -IUSE="test" -RESTRICT="!test? ( test )" QA_FLAGS_IGNORED="usr/bin/${PN}" @@ -42,8 +40,25 @@ DOCS=( docs/ ) +src_test() { + local CARGO_SKIP_TESTS=( + test_converge_command::test_converge_description_changed_inconsistently::invoke_text_editor + test_gpg::gpgsm_unknown_key + ) + + cargo_src_test +} + src_install() { cargo_src_install --path cli einstalldocs + + if ! tc-is-cross-compiler ; then + PATH="${ED}/usr/bin:${PATH}" COMPLETE=zsh jj | sed -e 's/_clap_dynamic_completer_jj/_jj/' > jj-zsh.comp + pipestatus || die + PATH="${ED}/usr/bin:${PATH}" COMPLETE=bash jj > jj-bash.comp || die + newzshcomp jj-zsh.comp _jj + newbashcomp jj-bash.comp jj + fi } diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 3ee818fde559..1e240f7ec280 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -25,7 +25,8 @@ esac DESCRIPTION="The GNU Compiler Collection" HOMEPAGE="https://gcc.gnu.org/" -inherit edo flag-o-matic gnuconfig libtool multilib pax-utils rust toolchain-funcs prefix +inherit edo flag-o-matic gnuconfig libtool multilib multiprocessing +inherit pax-utils rust toolchain-funcs prefix [[ -n ${TOOLCHAIN_HAS_TESTS} ]] && inherit python-any-r1 @@ -2464,9 +2465,13 @@ toolchain_src_test() { # CFLAGS and so on are repeated here because of tests vs building test # deps like libbacktrace. # + # Explicit -jN for testsuite parallelisation, as it inspects MFLAGS + # for that, which breaks w/ jobservers (PR127807). + # # TODO: Should we try pass in the regular user flags for the non-RUNTESTFLAGS # instances below for building e.g. libbacktrace? nonfatal emake -C "${WORKDIR}"/build -k "${GCC_TESTS_CHECK_TARGET}" \ + -j$(get_makeopts_jobs) \ RUNTESTFLAGS=" \ ${GCC_TESTS_RUNTESTFLAGS} \ CFLAGS_FOR_TARGET='${GCC_TESTS_CFLAGS_FOR_TARGET:-${GCC_TESTS_CFLAGS}}' \ diff --git a/kde-plasma/union/union-6.7.5.ebuild b/kde-plasma/union/union-6.7.5.ebuild index 3841450cbf60..6a90df42077b 100644 --- a/kde-plasma/union/union-6.7.5.ebuild +++ b/kde-plasma/union/union-6.7.5.ebuild @@ -14,7 +14,7 @@ HOMEPAGE="https://quantumproductions.info/articles/2025-02/moving-kdes-styling-f LICENSE="|| ( LGPL-2.1 LGPL-3 ) GPL-3 BSD-2" SLOT="6" -KEYWORDS="~amd64 ~riscv ~x86" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" IUSE="tools widgets" # IUSE="svg" diff --git a/media-libs/libaom/libaom-3.14.1.ebuild b/media-libs/libaom/libaom-3.14.1.ebuild index 08d947b4a297..22d1e74fe797 100644 --- a/media-libs/libaom/libaom-3.14.1.ebuild +++ b/media-libs/libaom/libaom-3.14.1.ebuild @@ -16,7 +16,7 @@ else https://storage.googleapis.com/aom-releases/${P}.tar.gz test? ( https://gitlab.com/api/v4/projects/32909921/packages/generic/${PN}/${PV}/${P}-testdata.tar.xz ) " - KEYWORDS="~amd64 ~arm ~arm64" + KEYWORDS="~amd64 ~arm ~arm64 ~x86" fi DESCRIPTION="Alliance for Open Media AV1 Codec SDK" diff --git a/media-libs/libpng/Manifest b/media-libs/libpng/Manifest index 8a67c4890955..06b6758bd7da 100644 --- a/media-libs/libpng/Manifest +++ b/media-libs/libpng/Manifest @@ -1,2 +1,4 @@ DIST libpng-1.6.54-libpng-apng-apng.patch.gz 10604 BLAKE2B 8202b80755e6c18227e89567cdb087ac79b4f72862d9a23e29f1271310af4bcb4783a52090e1479724bd9c088a13a7a4e2f2cbda2e958e2c3180619b20ec8a1b SHA512 217449d76fab45707a696ee5926039c6091196abfc33b4e3bec0a5f63d5b17fd4a7e48af41c4cc2536edc527837dc10fe718092d5b1ffc89ee4dc66883e7267a DIST libpng-1.6.58.tar.xz 1070096 BLAKE2B 51042e8f2b56d469b516db9cbde6d4b6813a62d1b7117898ba32a9a5ac5cd73832c627d7377745e5d5154aade6ec6928fc6b9cd9b96885f64b7ca7df19ca40ec SHA512 5937d6409d7ad564c9dba7969c5d39eea8bbc01936f433bf5936c872ec290dea353783f89bded91e124b3b3b15518320097de365acd3b0bcc922a0e90c94adc8 +DIST libpng-1.6.59-libpng-apng-apng.patch.gz 10680 BLAKE2B c1af0a12c12ad0d022ee99b5ac05b5a0d84f3fc9936a747b509fd62680184f63147d6980f36b8c102fba9d70ac44cdcd641fa495faea4a62c524e66534cb569f SHA512 a27ed2769b3c8d1703267b807663aa8e543b62355237e223d7731662034dd126951b88117c1038dc976750cf515d7e0e26e4a9278bf951f96ec4ed8f74105db7 +DIST libpng-1.6.59.tar.xz 1074540 BLAKE2B f2656b0d9a3865faf957e8600a7617516d9139d15c6d7581c06b4829b4c9338ec5f747e4ccfcc49b6b9f5a96f0476121eda99457469c8e1cfecd8ecc3b1697ed SHA512 e7d9d1b5f7648213ff5daf20789eda9400da7a23af9c9b0a6668e72dae69bd8944fc71c76a5ff2ed70dcb2cb74bb680020763a0a5914120ee5a3910df575fbf6 diff --git a/media-libs/libpng/libpng-1.6.59-r1.ebuild b/media-libs/libpng/libpng-1.6.59-r1.ebuild new file mode 100644 index 000000000000..384cf2f6175e --- /dev/null +++ b/media-libs/libpng/libpng-1.6.59-r1.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit dot-a libtool multilib-minimal + +APNG_REPO=libpng-apng # sometimes libpng-apng is more up to date +APNG_VERSION="1.6.59" +DESCRIPTION="Portable Network Graphics library" +HOMEPAGE="https://www.libpng.org/" +SRC_URI=" + https://downloads.sourceforge.net/${PN}/${P}.tar.xz + apng? ( + https://downloads.sourceforge.net/${APNG_REPO}/${PN}$(ver_rs 1-2 '' $(ver_cut 1-2 ${APNG_VERSION}))/${APNG_VERSION}/${PN}-${APNG_VERSION}-apng.patch.gz -> ${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch.gz + https://downloads.sourceforge.net/${APNG_REPO}/${PN}$(ver_rs 1-2 '' $(ver_cut 1-2 ${APNG_VERSION}))/${PN}-${APNG_VERSION}-apng.patch.gz -> ${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch.gz + ) +" + +LICENSE="libpng2" +SLOT="0/16" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +IUSE="apng cpu_flags_x86_sse static-libs test" +RESTRICT="!test? ( test )" + +RDEPEND=">=virtual/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]" +DEPEND=" + ${RDEPEND} + riscv? ( sys-kernel/linux-headers ) +" + +DOCS=( ANNOUNCE CHANGES libpng-manual.txt README TODO ) + +src_prepare() { + default + + if use apng; then + case ${APNG_REPO} in + apng) + eapply -p0 "${WORKDIR}"/${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch + ;; + libpng-apng) + eapply "${WORKDIR}"/${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch + ;; + *) + die "Unknown APNG_REPO!" + ;; + esac + + # Don't execute symbols check with apng patch, bug #378111 + sed -i -e '/^check/s:scripts/symbols.chk::' Makefile.in || die + fi + + elibtoolize +} + +src_configure() { + lto-guarantee-fat + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myeconfargs=( + $(multilib_native_enable tools) + $(use_enable test tests) + $(use_enable cpu_flags_x86_sse intel-sse) + $(use_enable static-libs static) + ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_install_all() { + default + + strip-lto-bytecode + find "${ED}" \( -type f -o -type l \) -name '*.la' -delete || die +} diff --git a/media-libs/mesa/mesa-9999.ebuild b/media-libs/mesa/mesa-9999.ebuild index 51b130171aea..bd823fee012e 100644 --- a/media-libs/mesa/mesa-9999.ebuild +++ b/media-libs/mesa/mesa-9999.ebuild @@ -365,7 +365,7 @@ multilib_src_configure() { vulkan_enable video_cards_v3d broadcom vulkan_enable video_cards_vc4 broadcom vulkan_enable video_cards_virgl virtio - emesonargs+=(-Dvulkan-layers=anti-lag,device-select,overlay) + emesonargs+=(-Dvulkan-layers=device-select,overlay) fi driver_list() { diff --git a/media-sound/ardour/Manifest b/media-sound/ardour/Manifest index ccca4010693a..32dfbfe089de 100644 --- a/media-sound/ardour/Manifest +++ b/media-sound/ardour/Manifest @@ -1,2 +1 @@ -DIST Ardour-9.7.0.tar.bz2 18118247 BLAKE2B f49ba1a35fa24054e97aff584ab8d489e21e925f5db4b19befb3a44dfe11043f4cd3a5a209db50b03abe5e66e0d08272bf0b307d4f9837e4c64b437d161fa85f SHA512 4cb155c413cbc29687d303f8d666ac5ca0481b859ae868753ec57480ca957b4fb61ebb012066069b47195f990bcff66158e0ce9f7783ec7d882d818f4dfc484e DIST Ardour-9.8.0.tar.bz2 18134703 BLAKE2B ea0e5c70d7b6f2e10ddc0f32866c3b51b455736f18b4f07b4e16a89bc4d3c714569a2f14406fed3810560af9706d24f5ef085c7bc3883d3fdb8a53f0a011549b SHA512 b5d4fc63ca270c82bb9209c07bbe450209b70758257389a0dd17de87fc1628ef139f94d03f052b5ea7d3a856aaea1a60a1ad08b536a4a084c07dcac9a8f603fc diff --git a/media-sound/ardour/ardour-9.7.0-r1.ebuild b/media-sound/ardour/ardour-9.7.0-r1.ebuild deleted file mode 100644 index b76af5f5759b..000000000000 --- a/media-sound/ardour/ardour-9.7.0-r1.ebuild +++ /dev/null @@ -1,231 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) -PYTHON_REQ_USE='threads(+)' -inherit desktop edo flag-o-matic optfeature python-any-r1 waf-utils toolchain-funcs xdg - -DESCRIPTION="Digital Audio Workstation" -HOMEPAGE="https://ardour.org/" - -if [[ ${PV} == *9999* ]]; then - # Main repo not stable - #EGIT_REPO_URI="https://git.ardour.org/ardour/ardour.git" - EGIT_REPO_URI="https://github.com/Ardour/ardour.git" - inherit git-r3 -else - # upstream doesn't provide a release tarball in github repo - # see https://github.com/Ardour/ardour/blob/master/README-GITHUB.txt - # official link is available here, but with token/expiration: - # https://community.ardour.org/download?architecture=x86_64&type=source - SRC_URI="https://dev.gentoo.org/~fordfrog/distfiles/Ardour-${PV}.tar.bz2" - S="${WORKDIR}/Ardour-${PV}" - KEYWORDS="amd64 ~loong ~x86" -fi - -LICENSE="GPL-2" -SLOT="9" -IUSE="doc jack phonehome pulseaudio test" -CPU_USE=( - cpu_flags_x86_{avx,avx512f,fma3,sse} -) -IUSE+=" ${CPU_USE[@]}" -RESTRICT="!test? ( test )" - -RDEPEND=" - app-arch/libarchive:= - dev-cpp/cairomm:0[X] - dev-cpp/glibmm:2 - dev-cpp/pangomm:1.4 - dev-libs/glib:2 - dev-libs/libsigc++:2 - dev-libs/libxml2:2= - media-libs/alsa-lib - media-libs/aubio:= - media-libs/flac - media-libs/fontconfig - media-libs/freetype:2 - media-libs/liblo - media-libs/liblrdf - media-libs/libpng:= - media-libs/libsamplerate - media-libs/libsndfile - media-libs/lilv - media-libs/lv2 - media-libs/raptor:2 - media-libs/rubberband:= - media-libs/taglib:= - media-libs/vamp-plugin-sdk - net-libs/libwebsockets:= - net-misc/curl - sys-apps/dbus - sys-libs/readline:0= - sci-libs/fftw:3.0=[threads] - virtual/libusb:1 - x11-libs/cairo[X] - x11-libs/libX11 - x11-libs/libXext - x11-libs/libXinerama - x11-libs/libXrandr - x11-libs/pango - x11-themes/hicolor-icon-theme - jack? ( virtual/jack ) - pulseaudio? ( media-libs/libpulse ) -" -# media-libs/suil[X,gtk2] bundled suil is used, maybe probably because of ytk -# !bundled-libs? ( media-sound/fluidsynth ) at least libltc is missing to be able to unbundle... -DEPEND=" - ${RDEPEND} - dev-libs/boost - dev-libs/sord - media-libs/sratom - x11-libs/libXi - test? ( dev-util/cppunit ) -" -BDEPEND=" - ${PYTHON_DEPS} - dev-util/itstool - sys-devel/gettext - virtual/pkgconfig - doc? ( - app-text/doxygen - media-gfx/graphviz - ) -" - -PATCHES=( - "${FILESDIR}/${PN}-8.12-fix_fpu.patch" - # see bug #966219 - "${FILESDIR}/${PN}-8.12-fix_fftranscode.patch" -) - -src_prepare() { - default - - local optflags=( - $(usev cpu_flags_x86_sse sse) - ) - # these flags imply sse and avx - if use cpu_flags_x86_sse && use cpu_flags_x86_avx; then - optflags+=( - avx - $(usev cpu_flags_x86_avx512f avx512f) - $(usev cpu_flags_x86_fma3 fma) - ) - fi - - # use only flags defined by users - sed 's/flag_line = o.*/flag_line = \": '"${optflags[*]}"'\"/' \ - -i wscript || die - - # shebang - python_fix_shebang wscript - python_fix_shebang waf - - # fix hardcoded cpp, apply `gcc -E` needs patching but will fail w/ clang - tc-export CPP - sed -e "s@obj.command = 'cpp'@obj.command = '${CPP/-gcc -E/-cpp}'@" \ - -i gtk2_ardour/wscript || die - - # skip non-generic tests with failures - sed -e "\@'test/fpu_test.cc',@d" -i libs/ardour/wscript || die -} - -src_configure() { - # avoid bug https://bugs.gentoo.org/800067 - local -x AS="$(tc-getCC) -c" - - # -Werror=odr - # https://tracker.ardour.org/view.php?id=9649 - # https://bugs.gentoo.org/917095 - filter-lto - - append-ldflags -Wl,-rpath,"${EPREFIX}/usr/$(get_libdir)/ardour${SLOT}" - - local backends=( - alsa - dummy - $(usev jack) - $(usev pulseaudio) - ) - - # VST support is enabled by default given --no-lxvst is not called. - # But please keep in mind the README (obsolete?) made by upstream. - # https://github.com/Ardour/ardour/blob/master/PACKAGER_README - tc-export CC CXX - local myconf=( - --configdir="${EPREFIX}"/etc - --cxx17 - --freedesktop - --no-execstack - --noconfirm - --optimize - --with-backends=$(IFS=','; echo "${backends[*]}") - $(usev !cpu_flags_x86_sse --no-fpu-optimization) - $(usev !phonehome --no-phone-home) - $(usev test --test) - # not possible right now --use-external-libs - # missing dependency: https://github.com/c4dm/qm-dsp - ) - - waf-utils_src_configure "${myconf[@]}" -} - -src_compile() { - waf-utils_src_compile - waf-utils_src_compile i18n - if use doc; then - pushd doc >/dev/null || die - doxygen -u Doxyfile || die - doxygen Doxyfile || die - find . \( -iname '*.map' -o -iname '*.md5' \) -delete || die - popd >/dev/null || die - fi -} - -src_test() { - pushd "${S}"/libs/ardour/ >/dev/null || die - edo ./run-tests.sh - popd >/dev/null || die -} - -src_install() { - use doc && local HTML_DOCS=( doc/html/. ) - - waf-utils_src_install - - mv ${PN}.1 ${PN}${SLOT}.1 || die - doman ${PN}${SLOT}.1 - - local s - for s in 16 22 32 48 256 512; do - newicon -s ${s} gtk2_ardour/resources/Ardour-icon_${s}px.png ardour${SLOT}.png - done - - sed -i \ - -e "s/\(^Name=\).*/\1Ardour ${SLOT}/" \ - -e 's/;AudioEditing;/;X-AudioEditing;/' \ - build/gtk2_ardour/ardour${SLOT}.desktop || die - domenu build/gtk2_ardour/ardour${SLOT}.desktop - - insinto /usr/share/mime/packages - newins build/gtk2_ardour/ardour.xml ardour${SLOT}.xml - rm "${D}/usr/share/mime/packages/ardour.xml" || die - - # the appdata directory is deprecated - # no patch because this causes the translation fail - mv "${ED}"/usr/share/{appdata,metainfo} || die -} - -pkg_postinst() { - xdg_pkg_postinst - - optfeature "another synth used by default if installed" media-plugins/gmsynth-lv2 - optfeature "exporting audio in mp3" media-video/ffmpeg[lame] - - elog "Please do _not_ report problems with the package to ${PN} upstream." - elog "If you think you've found a bug, check the upstream binary package" - elog "before you report anything to upstream." -} diff --git a/media-sound/ardour/ardour-9.8.0.ebuild b/media-sound/ardour/ardour-9.8.0.ebuild index 9343d0abffcc..b76af5f5759b 100644 --- a/media-sound/ardour/ardour-9.8.0.ebuild +++ b/media-sound/ardour/ardour-9.8.0.ebuild @@ -22,7 +22,7 @@ else # https://community.ardour.org/download?architecture=x86_64&type=source SRC_URI="https://dev.gentoo.org/~fordfrog/distfiles/Ardour-${PV}.tar.bz2" S="${WORKDIR}/Ardour-${PV}" - KEYWORDS="~amd64 ~loong ~x86" + KEYWORDS="amd64 ~loong ~x86" fi LICENSE="GPL-2" diff --git a/net-analyzer/vnstat/files/vnstat-2.13-unit_as_user.patch b/net-analyzer/vnstat/files/vnstat-2.13-unit_as_user.patch new file mode 100644 index 000000000000..bcb0f4791ccd --- /dev/null +++ b/net-analyzer/vnstat/files/vnstat-2.13-unit_as_user.patch @@ -0,0 +1,11 @@ +launch the unit service as the unprivileged user vnstat +--- a/examples/systemd/simple/vnstat.service ++++ b/examples/systemd/simple/vnstat.service +@@ -4,6 +4,7 @@ + After=network.target + + [Service] ++User=vnstat + ExecStart=/usr/sbin/vnstatd --nodaemon + ExecReload=/bin/kill -HUP $MAINPID + Restart=on-failure diff --git a/net-analyzer/vnstat/files/vnstat.cron-r1 b/net-analyzer/vnstat/files/vnstat.cron-r1 deleted file mode 100644 index 178133675c6f..000000000000 --- a/net-analyzer/vnstat/files/vnstat.cron-r1 +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -# run vnstat if installed and at least one database exists - -if [ -x /usr/bin/vnstat ] && [ `ls /var/lib/vnstat/ | wc -l` -ge 1 ] ; then - exec /usr/bin/vnstat -u -fi diff --git a/net-analyzer/vnstat/files/vnstatd.confd-r2 b/net-analyzer/vnstat/files/vnstatd.confd-r2 new file mode 100644 index 000000000000..fa238c3ed7a7 --- /dev/null +++ b/net-analyzer/vnstat/files/vnstatd.confd-r2 @@ -0,0 +1,10 @@ +# /etc/conf.d/vnstatd: config file for /etc/init.d/vnstatd + +#VNSTATD_USER="vnstat" +#VNSTATD_CONFIGFILE="/etc/vnstat.conf" + +# Options to vnstatd +# See vnstatd(8) for more details +# Notes: +# * Do not specify another CONFIGFILE but use the variable above to change the location +VNSTATD_OPTS="" diff --git a/net-analyzer/vnstat/files/vnstatd.initd-r2 b/net-analyzer/vnstat/files/vnstatd.initd-r2 deleted file mode 100644 index 2b4a9336c2a5..000000000000 --- a/net-analyzer/vnstat/files/vnstatd.initd-r2 +++ /dev/null @@ -1,29 +0,0 @@ -#!/sbin/openrc-run -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -extra_started_commands="reload" - -VNSTATD_CONFIGFILE=${VNSTATD_CONFIGFILE:-"/etc/vnstat.conf"} -VNSTATD_PIDFILE=${VNSTATD_PIDFILE:-"/run/vnstat/vnstatd.pid"} - -pidfile="${VNSTATD_PIDFILE}" -command="/usr/bin/vnstatd" -command_args="${VNSTATD_OPTS} --daemon --config \"${VNSTATD_CONFIGFILE}\" --pidfile \"${pidfile}\"" -start_stop_daemon_args="--wait ${SSD_STARTWAIT:-500}" -name="vnStat daemon" - -description="vnstatd updates vnStat databases." -description_reload="Reload ${name}'s configuration" - -required_files="${VNSTATD_CONFIGFILE}" - -start_pre() { - checkpath --directory --mode 0775 --owner vnstat:vnstat $(dirname "${pidfile}") -} - -reload() { - ebegin "Reloading ${name} configuration" - start-stop-daemon --signal HUP --pidfile "${pidfile}" - eend $? -} diff --git a/net-analyzer/vnstat/files/vnstatd.initd-r4 b/net-analyzer/vnstat/files/vnstatd.initd-r4 new file mode 100644 index 000000000000..b83ca843dd62 --- /dev/null +++ b/net-analyzer/vnstat/files/vnstatd.initd-r4 @@ -0,0 +1,23 @@ +#!/sbin/openrc-run +# Copyright 1999-2026 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +: ${VNSTATD_USER:=vnstat} +: ${VNSTATD_CONFIGFILE:=/etc/vnstat.conf} + +name="vnStat daemon" +description="vnstatd updates vnStat databases" +command="/usr/sbin/vnstatd" +command_args="${VNSTATD_OPTS} --nodaemon --config ${VNSTATD_CONFIGFILE}" +command_background=true +command_user="${VNSTATD_USER}" +pidfile="/run/${RC_SVCNAME}.pid" +required_files="${VNSTATD_CONFIGFILE}" + +extra_started_commands="reload" + +reload() { + ebegin "Reloading ${name} configuration" + start-stop-daemon --signal HUP --pidfile "${pidfile}" + eend $? +} diff --git a/net-analyzer/vnstat/files/vnstatd.systemd b/net-analyzer/vnstat/files/vnstatd.systemd deleted file mode 100644 index 51b079c5a9fb..000000000000 --- a/net-analyzer/vnstat/files/vnstatd.systemd +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=vnStat network traffic monitor -Documentation=man:vnstatd(1) man:vnstat(1) man:vnstat.conf(5) -After=network-online.target - -[Service] -ExecStart=/usr/bin/vnstatd --nodaemon -ExecReload=/bin/kill -HUP $MAINPID - -[Install] -WantedBy=multi-user.target diff --git a/net-analyzer/vnstat/vnstat-2.13-r3.ebuild b/net-analyzer/vnstat/vnstat-2.13-r3.ebuild new file mode 100644 index 000000000000..2c6e27ea0a66 --- /dev/null +++ b/net-analyzer/vnstat/vnstat-2.13-r3.ebuild @@ -0,0 +1,89 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit eapi9-ver systemd + +DESCRIPTION="Console-based network traffic monitor that keeps statistics of network usage" +HOMEPAGE="https://humdi.net/vnstat/" + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/vergoh/vnstat" + inherit git-r3 +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/teemutoivola.asc + inherit verify-sig + + SRC_URI=" + https://humdi.net/vnstat/${P}.tar.gz + https://github.com/vergoh/vnstat/releases/download/v${PV}/${P}.tar.gz + verify-sig? ( + https://humdi.net/vnstat/${P}.tar.gz.asc + https://github.com/vergoh/vnstat/releases/download/v${PV}/${P}.tar.gz.asc + ) + " + + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + + BDEPEND="verify-sig? ( sec-keys/openpgp-keys-teemutoivola )" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="gd selinux test" +RESTRICT="!test? ( test )" + +RDEPEND=" + acct-group/vnstat + acct-user/vnstat + dev-db/sqlite:3 + gd? ( media-libs/gd:2=[png] ) +" +DEPEND=" + ${RDEPEND} + test? ( dev-libs/check ) +" +RDEPEND+=" selinux? ( sec-policy/selinux-vnstatd )" + +PATCHES=( + "${FILESDIR}"/${PN}-2.13-unit_as_user.patch +) + +src_configure() { + local myeconfargs=( + # do not pass /usr/local + --disable-extra-paths + $(use_enable gd image-output) + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + + # `vnstat --showconfig` generates the configfile if not crosscompiling + # use the same file in anycase + insinto /etc/ + doins cfg/vnstat.conf + + keepdir /var/lib/${PN} + fowners -R vnstat:vnstat /var/lib/${PN} + + newconfd "${FILESDIR}"/vnstatd.confd-r2 vnstatd + newinitd "${FILESDIR}"/vnstatd.initd-r4 vnstatd + + systemd_newunit examples/systemd/simple/vnstat.service vnstatd.service + + dodoc examples/*.{cgi,php} +} + +pkg_postinst() { + if ver_replacing -lt 2.13-r3; then + ewarn "The daemon is now started directly as an unprivileged user." + ewarn "Update VNSTATD_USER in ${EROOT}/etc/conf.d/vnstatd to override the default user 'vnstat'." + ewarn "Please adjust permissions on ${EROOT}/var/lib/vnstat to be owned by vnstat:vnstat" + ewarn "e.g. chown -R vnstat:vnstat ${EROOT}/var/lib/vnstat" + fi +} diff --git a/net-analyzer/vnstat/vnstat-2.13.ebuild b/net-analyzer/vnstat/vnstat-2.13.ebuild deleted file mode 100644 index b16076ca2552..000000000000 --- a/net-analyzer/vnstat/vnstat-2.13.ebuild +++ /dev/null @@ -1,90 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit systemd tmpfiles - -DESCRIPTION="Console-based network traffic monitor that keeps statistics of network usage" -HOMEPAGE="https://humdi.net/vnstat/" - -if [[ ${PV} == *9999 ]] ; then - EGIT_REPO_URI="https://github.com/vergoh/vnstat" - inherit git-r3 -else - VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/teemutoivola.asc - inherit verify-sig - - SRC_URI=" - https://humdi.net/vnstat/${P}.tar.gz - https://github.com/vergoh/vnstat/releases/download/v${PV}/${P}.tar.gz - verify-sig? ( - https://humdi.net/vnstat/${P}.tar.gz.asc - https://github.com/vergoh/vnstat/releases/download/v${PV}/${P}.tar.gz.asc - ) - " - - KEYWORDS="amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~sparc x86" - - BDEPEND="verify-sig? ( sec-keys/openpgp-keys-teemutoivola )" -fi - -LICENSE="GPL-2" -SLOT="0" -IUSE="gd selinux test" -RESTRICT="!test? ( test )" - -RDEPEND=" - acct-group/vnstat - acct-user/vnstat - dev-db/sqlite - gd? ( media-libs/gd[png] ) -" -DEPEND=" - ${RDEPEND} - test? ( dev-libs/check ) -" -RDEPEND+=" selinux? ( sec-policy/selinux-vnstatd )" - -PATCHES=( - "${FILESDIR}"/${PN}-2.9-conf.patch -) - -src_compile() { - emake \ - ${PN} \ - ${PN}d \ - $(usev gd ${PN}i) -} - -src_install() { - use gd && dobin vnstati - dobin vnstat vnstatd - - exeinto /usr/share/${PN} - newexe "${FILESDIR}"/vnstat.cron-r1 vnstat.cron - - insinto /etc - doins cfg/vnstat.conf - fowners root:vnstat /etc/vnstat.conf - - keepdir /var/lib/vnstat - fowners vnstat:vnstat /var/lib/vnstat - - newconfd "${FILESDIR}"/vnstatd.confd-r1 vnstatd - newinitd "${FILESDIR}"/vnstatd.initd-r2 vnstatd - - systemd_newunit "${FILESDIR}"/vnstatd.systemd vnstatd.service - newtmpfiles "${FILESDIR}"/vnstatd.tmpfile vnstatd.conf - - use gd && doman man/vnstati.1 - - doman man/vnstat.1 man/vnstatd.8 - - newdoc INSTALL README.setup - dodoc CHANGES README UPGRADE FAQ examples/vnstat.cgi -} - -pkg_postinst() { - tmpfiles_process vnstatd.conf -} diff --git a/net-analyzer/vnstat/vnstat-9999.ebuild b/net-analyzer/vnstat/vnstat-9999.ebuild index cbd84ff3a5d6..719b82a3a719 100644 --- a/net-analyzer/vnstat/vnstat-9999.ebuild +++ b/net-analyzer/vnstat/vnstat-9999.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -inherit systemd tmpfiles +inherit eapi9-ver systemd DESCRIPTION="Console-based network traffic monitor that keeps statistics of network usage" HOMEPAGE="https://humdi.net/vnstat/" @@ -24,21 +24,21 @@ else ) " - KEYWORDS="~amd64 arm arm64 ~hppa ~mips ppc ~ppc64 ~riscv ~sparc ~x86" + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" BDEPEND="verify-sig? ( sec-keys/openpgp-keys-teemutoivola )" fi LICENSE="GPL-2" SLOT="0" -IUSE="gd selinux test" +IUSE="gd selinux test truetype" RESTRICT="!test? ( test )" RDEPEND=" acct-group/vnstat acct-user/vnstat - dev-db/sqlite - gd? ( media-libs/gd[png] ) + dev-db/sqlite:3 + gd? ( media-libs/gd:2=[png,truetype?] ) " DEPEND=" ${RDEPEND} @@ -47,11 +47,14 @@ DEPEND=" RDEPEND+=" selinux? ( sec-policy/selinux-vnstatd )" PATCHES=( - "${FILESDIR}"/${PN}-2.9-conf.patch + "${FILESDIR}"/${PN}-2.13-unit_as_user.patch ) src_configure() { + use truetype || export ac_cv_have_decl_gdImageStringFT=no local myeconfargs=( + # do not pass /usr/local + --disable-extra-paths $(use_enable gd image-output) ) @@ -61,19 +64,27 @@ src_configure() { src_install() { default - exeinto /usr/share/${PN} - newexe "${FILESDIR}"/vnstat.cron-r2 vnstat.cron + # `vnstat --showconfig` generates the configfile if not crosscompiling + # use the same file in anycase + insinto /etc/ + doins cfg/vnstat.conf - newconfd "${FILESDIR}"/vnstatd.confd-r1 vnstatd - newinitd "${FILESDIR}"/vnstatd.initd-r3 vnstatd + keepdir /var/lib/${PN} + fowners -R vnstat:vnstat /var/lib/${PN} - systemd_newunit "${FILESDIR}"/vnstatd.systemd-r1 vnstatd.service - newtmpfiles "${FILESDIR}"/vnstatd.tmpfile vnstatd.conf + newconfd "${FILESDIR}"/vnstatd.confd-r2 vnstatd + newinitd "${FILESDIR}"/vnstatd.initd-r4 vnstatd - newdoc INSTALL README.setup - dodoc CHANGES README UPGRADE FAQ examples/vnstat.cgi + systemd_newunit examples/systemd/simple/vnstat.service vnstatd.service + + dodoc examples/*.{cgi,php} } pkg_postinst() { - tmpfiles_process vnstatd.conf + if ver_replacing -lt 2.13-r3; then + ewarn "The daemon is now started directly as an unprivileged user." + ewarn "Update VNSTATD_USER in ${EROOT}/etc/conf.d/vnstatd to override the default user 'vnstat'." + ewarn "Please adjust permissions on ${EROOT}/var/lib/vnstat to be owned by vnstat:vnstat" + ewarn "e.g. chown -R vnstat:vnstat ${EROOT}/var/lib/vnstat" + fi } diff --git a/net-fs/davfs2/davfs2-1.7.1.ebuild b/net-fs/davfs2/davfs2-1.7.1.ebuild index c3457ab3040a..fddbc0e602c4 100644 --- a/net-fs/davfs2/davfs2-1.7.1.ebuild +++ b/net-fs/davfs2/davfs2-1.7.1.ebuild @@ -41,6 +41,9 @@ PATCHES=( src_prepare() { default + + sed -i 's/\(-D_FORTIFY_SOURCE=2\)/-U_FORTIFY_SOURCE \1/g' src/Makefile.am || die + eautoreconf } diff --git a/net-fs/davfs2/davfs2-1.7.3.ebuild b/net-fs/davfs2/davfs2-1.7.3.ebuild index a3024bcb2cef..2ec790dfb8f5 100644 --- a/net-fs/davfs2/davfs2-1.7.3.ebuild +++ b/net-fs/davfs2/davfs2-1.7.3.ebuild @@ -37,6 +37,8 @@ BDEPEND=" src_prepare() { default + sed -i 's/\(-D_FORTIFY_SOURCE=2\)/-U_FORTIFY_SOURCE \1/g' src/Makefile.am || die + # apply the patch by sed, upstream uses meson now # see https://github.com/alisarctl/davfs2/pull/28 sed -i -E '/AC_CHECK_HEADERS\(\[error.h/{ diff --git a/net-irc/unrealircd/unrealircd-6.2.7.ebuild b/net-irc/unrealircd/unrealircd-6.2.7.ebuild index 234aebe36488..3415d28556b1 100644 --- a/net-irc/unrealircd/unrealircd-6.2.7.ebuild +++ b/net-irc/unrealircd/unrealircd-6.2.7.ebuild @@ -14,7 +14,7 @@ SRC_URI+=" verify-sig? ( https://www.unrealircd.org/downloads/${P}.tar.gz.asc )" LICENSE="GPL-2+" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 arm arm64 ppc ~ppc64 ~riscv x86" IUSE="class-nofakelag curl geoip geoip-classic +operoverride operoverride-verify" REQUIRED_USE="?? ( geoip geoip-classic )" diff --git a/net-libs/libpcap/libpcap-1.11.0.ebuild b/net-libs/libpcap/libpcap-1.11.0.ebuild index 1cea764e9ddf..10251e35808a 100644 --- a/net-libs/libpcap/libpcap-1.11.0.ebuild +++ b/net-libs/libpcap/libpcap-1.11.0.ebuild @@ -18,7 +18,7 @@ else SRC_URI="https://www.tcpdump.org/release/${P}.tar.gz" SRC_URI+=" verify-sig? ( https://www.tcpdump.org/release/${P}.tar.gz.sig )" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" fi # The project itself has COPYING with BSD, but the files used for diff --git a/net-libs/nghttp3/nghttp3-1.18.0.ebuild b/net-libs/nghttp3/nghttp3-1.18.0.ebuild index 9c846355c14f..d79f9dbba6a0 100644 --- a/net-libs/nghttp3/nghttp3-1.18.0.ebuild +++ b/net-libs/nghttp3/nghttp3-1.18.0.ebuild @@ -18,7 +18,7 @@ else verify-sig? ( https://github.com/ngtcp2/nghttp3/releases/download/v${PV}/${P}.tar.xz.asc ) " - KEYWORDS="~amd64 arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + KEYWORDS="amd64 arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" BDEPEND="verify-sig? ( sec-keys/openpgp-keys-nghttp3 )" fi diff --git a/net-libs/ngtcp2/ngtcp2-1.25.0.ebuild b/net-libs/ngtcp2/ngtcp2-1.25.0.ebuild index 06fa403c5137..5370db8223ce 100644 --- a/net-libs/ngtcp2/ngtcp2-1.25.0.ebuild +++ b/net-libs/ngtcp2/ngtcp2-1.25.0.ebuild @@ -18,7 +18,7 @@ else verify-sig? ( https://github.com/ngtcp2/ngtcp2/releases/download/v${PV}/${P}.tar.xz.asc ) " - KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~sparc ~x86 ~arm64-macos ~x64-macos" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~sparc ~x86 ~arm64-macos ~x64-macos" BDEPEND="verify-sig? ( sec-keys/openpgp-keys-ngtcp2 )" fi diff --git a/net-libs/nodejs/nodejs-26.11.1-r1.ebuild b/net-libs/nodejs/nodejs-26.11.1-r1.ebuild new file mode 100644 index 000000000000..febdb9e46cfc --- /dev/null +++ b/net-libs/nodejs/nodejs-26.11.1-r1.ebuild @@ -0,0 +1,348 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CONFIG_CHECK="~ADVISE_SYSCALLS" +PYTHON_COMPAT=( python3_{13..14} ) +PYTHON_REQ_USE="threads(+)" +RUST_OPTIONAL=1 +RUST_MIN_VER="1.86.0" + +inherit check-reqs flag-o-matic linux-info ninja-utils pax-utils +inherit python-any-r1 rust shell-completion toolchain-funcs xdg-utils + +DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine" +HOMEPAGE="https://nodejs.org/" +LICENSE="Apache-1.1 Apache-2.0 BlueOak-1.0.0 BSD BSD-2 MIT npm? ( Artistic-2 )" + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/nodejs/node" + SLOT="0" +else + SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz" + SLOT="0/$(ver_cut 1)" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~x64-macos" + S="${WORKDIR}/node-v${PV}" +fi + +IUSE="cpu_flags_x86_sse2 debug doc +icu +inspector lto +npm pax-kernel +snapshot +ssl system-icu +system-ssl test temporal" +REQUIRED_USE="inspector? ( icu ssl ) + npm? ( ssl ) + system-icu? ( icu ) + system-ssl? ( ssl ) + temporal? ( icu !system-icu ) + x86? ( cpu_flags_x86_sse2 )" + +RESTRICT="!test? ( test )" + +COMMON_DEPEND=">=app-arch/brotli-1.1.0:= + dev-db/sqlite:3 + >=dev-cpp/ada-4.0.0:= + >=dev-cpp/simdutf-9.2.1:=[atomic-base64] + >=dev-libs/libuv-1.52.1:= + >=dev-libs/simdjson-4.6.11:= + >=net-dns/c-ares-1.34.8:= + >=net-libs/nghttp2-1.70.0:= + >=net-libs/nghttp3-1.18.0:= + virtual/zlib:= + system-icu? ( >=dev-libs/icu-78:= ) + system-ssl? ( + >=net-libs/ngtcp2-1.25.0:= + >=dev-libs/openssl-3.5.9:0= + ) + !system-ssl? ( >=net-libs/ngtcp2-1.25.0:=[-gnutls] ) + || ( + sys-devel/gcc:* + llvm-runtimes/libatomic-stub + )" +BDEPEND="${PYTHON_DEPS} + app-alternatives/ninja + pax-kernel? ( sys-apps/elfix ) + sys-apps/coreutils + temporal? ( ${RUST_DEPEND} ) + test? ( net-misc/curl ) + virtual/pkgconfig" +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND}" + +# These are measured on a loong machine with -ggdb on, and only checked +# if debugging flags are present in CFLAGS. +# +# The final link consumed a little more than 7GiB alone, so 8GiB is the lower +# limit for memory usage. Disk usage was 19.1GiB for the build directory and +# 1.2GiB for the installed image, so we leave some room for architectures with +# fatter binaries and set the disk requirement to 22GiB. +CHECKREQS_MEMORY="8G" +CHECKREQS_DISK_BUILD="22G" + +PATCHES=( + "${FILESDIR}"/${PN}-26.6.0-format-cstdlib.patch + "${FILESDIR}"/${PN}-26.6.0-v8-climits.patch + "${FILESDIR}"/${PN}-26.11.1-add-missing-funcational-inc.patch + "${FILESDIR}"/${PN}-26.10.0-x86-SSE2-fix.patch + "${FILESDIR}"/${PN}-26.10.0-simdutf-use-system-header.patch + "${FILESDIR}"/${PN}-26.11.1-include-EACCES-in-mkdir-test.patch +) + +pkg_pretend() { + if [[ ${MERGE_TYPE} != "binary" ]]; then + if is-flagq "-g*" && ! is-flagq "-g*0" ; then + einfo "Checking for sufficient disk space and memory to build ${PN} with debugging CFLAGS" + check-reqs_pkg_pretend + fi + fi +} + +pkg_setup() { + python-any-r1_pkg_setup + linux-info_pkg_setup + # https://github.com/nodejs/node/issues/62676 - Can't build Temporal with system ICU. + if use system-icu; then + ewarn "The ES2026 'Temporal' datetime feature/object is not available when using system-icu." + ewarn "Please consider whether this is desirable for your use case." + ewarn "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal" + fi + + use temporal && rust_pkg_setup +} + +src_prepare() { + tc-export AR CC CXX PKG_CONFIG + export V=1 + export BUILDTYPE=Release + + # fix compilation on Darwin + # https://code.google.com/p/gyp/issues/detail?id=260 + sed -i -e '/append("-arch")/{N;d;}' tools/gyp/pylib/gyp/xcode_emulation.py || die + + # proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504 + local LIBDIR=$(get_libdir) + sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die + sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die + + # Avoid writing a depfile, not useful + sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die + + sed -i -e "/'-O3'/d" common.gypi node.gypi || die + + # debug builds. change install path, remove optimisations and override buildtype + if use debug; then + sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die + BUILDTYPE=Debug + fi + + # We need to disable mprotect on two files when it builds Bug 694100. + use pax-kernel && + PATCHES+=( "${FILESDIR}"/${PN}-24.1.0-paxmarking.patch ) + + use ppc64 && + PATCHES+=( "${FILESDIR}/${PN}-24.11.1-restore-ppc64be.patch" ) + + default +} + +src_configure() { + xdg_environment_reset + + # LTO compiler flags are handled by configure.py itself + filter-lto + # The warnings are *so* noisy and make build.logs massive + append-cxxflags $(test-flags-CXX -Wno-template-id-cdtor) + # https://bugs.gentoo.org/931514 + use arm64 && append-flags $(test-flags-CXX -mbranch-protection=none) + + # Highway compilation error on riscv + # See: https://bugs.gentoo.org/983938 + # + # Upstream Highway fixed the issue, but V8 has not picked up a Highway + # version that includes it, so Node still hits the old headers. + # this workaround will stop Highway from compiling RVV, and stop the host + # compiler from emitting RVV in non-V8 code. V8 can still emit RVV at runtime + # on machines that have it. + # + # Additionally, force the EMU128 (128-bit scalar emulation) for boards + # without RVV (VisionFive V2 / JH7110). + # This will ensure V8's FixedTag<..., 16> in the JSON stringifier is legal. + use riscv && append-cxxflags -DHWY_DISABLED_TARGETS=HWY_RVV -DHWY_BROKEN_EMU128=0 + + local myconf=( + --ninja + --shared-ada + --shared-brotli + --shared-cares + --shared-libuv + --shared-nghttp2 + --shared-nghttp3 + --shared-ngtcp2 + --shared-simdjson + --shared-simdutf + --shared-sqlite + --shared-zlib + ) + use debug && myconf+=( --debug ) + use lto && myconf+=( --enable-lto ) + if use system-icu; then + # No Temporal support: https://github.com/nodejs/node/issues/62676 + myconf+=( --with-intl=system-icu ) + elif use icu; then + # Full embedded ICU (Temporal works) + myconf+=( --with-intl=full-icu ) + else + # Default embedded subset (Temporal works, saves space over full-icu) + myconf+=( --with-intl=small-icu ) + fi + use inspector || myconf+=( --without-inspector ) + use npm || myconf+=( --without-npm ) + use snapshot || myconf+=( --without-node-snapshot ) + if use ssl; then + use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store ) + else + myconf+=( --without-ssl ) + fi + ! use temporal && myconf+=( --v8-disable-temporal-support ) + + local myarch="" + case "${ARCH}:${ABI}" in + *:amd64) myarch="x64";; + *:arm) myarch="arm";; + *:arm64) myarch="arm64";; + loong:lp64*) myarch="loong64";; + riscv:lp64*) myarch="riscv64";; + *:ppc64) myarch="ppc64";; + *:x32) myarch="x32";; + *:x86) myarch="ia32";; + *) myarch="${ABI}";; + esac + + GYP_DEFINES="linux_use_gold_flags=0 + linux_use_bundled_binutils=0 + linux_use_bundled_gold=0" \ + "${EPYTHON}" configure.py \ + --prefix="${EPREFIX}"/usr \ + --dest-cpu=${myarch} \ + "${myconf[@]}" || die +} + +src_compile() { + eninja -C out/Release + # There's just a plain make target for the FFI tests, and it doesn't support ninja. + use test && emake build-ffi-tests +} + +src_install() { + local LIBDIR="${ED}/usr/$(get_libdir)" + default + + pax-mark -m "${ED}"/usr/bin/node + + if use doc; then + docinto html + dodoc -r "${S}"/doc/* + fi + + if use npm; then + keepdir /etc/npm + echo "NPM_CONFIG_GLOBALCONFIG=${EPREFIX}/etc/npm/npmrc" > "${T}"/50npm + doenvd "${T}"/50npm + + # Install bash completion for `npm` + local tmp_npm_completion_file="$(TMPDIR="${T}" mktemp -t npm.XXXXXXXXXX)" + "${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}" + newbashcomp "${tmp_npm_completion_file}" npm + + # Move man pages + doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/* + + # Clean up + rm -f "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} + + local find_exp="-or -name" + local find_name=() + for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \ + ".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \ + "*.bat" "*.cmd"; do + find_name+=( ${find_exp} "${match}" ) + done + + # Remove various development and/or inappropriate files and + # useless docs of dependend packages. + # Strict match for LICENSE files to avoid purging actual logic (e.g. license.js) + # which breaks npm. + find "${LIBDIR}"/node_modules \ + \( -type d -name examples \) -or \( -type f \( \ + \( -iname "LICEN?E*" -not -name "*.js" -not -name "*.json" \) \ + "${find_name[@]}" \ + \) \) -exec rm -rf "{}" \; + fi + + mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die +} + +src_test() { + local drop_tests=( + test/parallel/test-dns.js + test/parallel/test-dns-resolveany-bad-ancount.js + test/parallel/test-dns-setserver-when-querying.js + test/parallel/test-dotenv.js + test/parallel/test-fs-mkdir.js + test/parallel/test-fs-read-stream.js + test/parallel/test-fs-utimes-y2K38.js + test/parallel/test-fs-watch-recursive-add-file.js + test/parallel/test-http2-client-set-priority.js + test/parallel/test-http2-priority-event.js + test/parallel/test-process-euid-egid.js + test/parallel/test-process-get-builtin.mjs + test/parallel/test-process-initgroups.js + test/parallel/test-process-setgroups.js + test/parallel/test-process-uid-gid.js + test/parallel/test-release-npm.js + # Unreliable when using system libraries and ASLR. + # The variations between snapshot generation passes appear limited to memory + # allocation pointers leaking into the serialised V8 blob array; the actual + # bytecode and engine structures remain consistently... consistent. + test/parallel/test-snapshot-reproducible.js + test/parallel/test-socket-write-after-fin-error.js + test/parallel/test-strace-openat-openssl.js + test/sequential/test-tls-session-timeout.js + test/sequential/test-util-debug.js + ) + + if has_version "sys-libs/zlib-ng" ; then + elog "Some tests will be skipped due to being known to fail with sys-libs/zlib-ng" + elog + drop_tests+=( test/parallel/test-process-versions.js ) + drop_tests+=( test/parallel/test-zlib-zip-interop.js ) + elog + fi + + use inspector || + drop_tests+=( + test/parallel/test-inspector-emit-protocol-event.js + test/parallel/test-inspector-network-arbitrary-data.js + test/parallel/test-inspector-network-domain.js + test/parallel/test-inspector-network-fetch.js + test/parallel/test-inspector-network-http.js + test/sequential/test-watch-mode.mjs + ) + rm -f "${drop_tests[@]}" || die "disabling tests failed" + + out/${BUILDTYPE}/cctest || die + "${EPYTHON}" tools/test.py --mode=${BUILDTYPE,,} --flaky-tests=dontcare -J message parallel sequential || die +} + +pkg_postinst() { + if use npm; then + ewarn "remember to run: source /etc/profile if you plan to use nodejs" + ewarn " in your current shell" + fi + + if use system-icu; then + ewarn "" + ewarn "Node.js was built with USE='system-icu'." + ewarn "The JavaScript 'Temporal' API has been disabled." + ewarn "If you need full ES2026+ compliance, rebuild with USE='-system-icu'." + ewarn "" + fi +} diff --git a/net-libs/qxmpp/qxmpp-1.16.3.ebuild b/net-libs/qxmpp/qxmpp-1.16.3.ebuild index 12230d2f42e7..96991e531ca2 100644 --- a/net-libs/qxmpp/qxmpp-1.16.3.ebuild +++ b/net-libs/qxmpp/qxmpp-1.16.3.ebuild @@ -3,7 +3,7 @@ EAPI=8 -inherit cmake kde.org +inherit cmake flag-o-matic kde.org DESCRIPTION="Cross-platform C++ XMPP client and server library" HOMEPAGE="https://invent.kde.org/libraries/qxmpp" @@ -34,6 +34,11 @@ DEPEND="${RDEPEND}" BDEPEND="virtual/pkgconfig" src_configure() { + # -Werror=odr + # https://bugs.gentoo.org/982113 + # https://invent.kde.org/libraries/qxmpp/-/work_items/723 + filter-lto + local mycmakeargs=( -DCMAKE_DISABLE_FIND_PACKAGE_ECM=ON # clang-format only -DBUILD_DOCUMENTATION=OFF # $(usex doc) TODO: Port to ECMGenerateQDoc diff --git a/net-misc/curl/Manifest b/net-misc/curl/Manifest index f23ba876934a..fa865c229b6f 100644 --- a/net-misc/curl/Manifest +++ b/net-misc/curl/Manifest @@ -3,3 +3,5 @@ DIST curl-8.21.0.tar.xz 2882336 BLAKE2B 230989e586a592b2aee768a1a6d48f1c8247e4d2 DIST curl-8.21.0.tar.xz.asc 488 BLAKE2B 6b61b1e55ff198f2c614dd7c099ffde84e0b22f469c6bd688797333af3b7c83f38da1a819d3acdd5b6a8c24c2d6c4175daabbe20c826d5d112d0258aa30b86bc SHA512 bb860d59a7117b0a484c06be80f305897af2b2f6d6c64b763b20e71073d8c36f74c3de85c1e449e65ead832903369b76ee0afc382932e3d9a1cc7253f00afb69 DIST curl-8.22.0.tar.xz 2953092 BLAKE2B 1efe036ae4ba6bc1e2bcf7bae2229e2c3be8e9d72a0f32f6c1f192d277f625f77786cf538593ad59a7873b477ff3566412d3404d6ccd202c0f7055b6d3a45d25 SHA512 d6badf794e7a72760a353db73adb8b671804ce41619b401265b22dc8f6770ebeaa5adb3c4d1312722082c56013612a382884e025cca49397a8ab47577dd659f7 DIST curl-8.22.0.tar.xz.asc 488 BLAKE2B fd59df965c8802f6a0a7d8f12fac011e169022a709ce03393b2e3c585131e58dbcee649139bc8448b88641535b641a847a8b293dd230f75971fb518afa79553c SHA512 8db55bc5d9464572f2de38a0d5bb69f2ea843bfd5b83998ab3bb4f5a818ab8a61526ccc3c589204035a8d37376414096f88206bec7ac4661b7e7bd5049f82914 +DIST curl-8.23.0.tar.xz 2990916 BLAKE2B ecfabdf0327114aff21430e2f4de788fd8fdc36db606ac70b45241225babac374c2f0334430f31dbc366f2d3a0c7e405b30d973da9b11ae84e6a0da396a4cf87 SHA512 69cf0feafdc79fbad007cf2fc977b777ce6ccb05d01afd17b5a42f8bedbfcc342fc3a48193faa7f3eafe6800cd7d07948916e8733db1b9de60287ed06219b840 +DIST curl-8.23.0.tar.xz.asc 488 BLAKE2B 0a9d2e6db1c04752db6ebd06ca362daddf6b2dc7c8c5430d6ca6fa53997e675f558c8bd9015e9c9bd0456f79af43f1c404257ddfea08348ee2990e2431cea6d3 SHA512 5f971d815ae0ecf863d7dad8a60d6b867e46dc2222e8b1c24bc3980b607649f678d47e8937623abb66b60eb2b0c1ebf309855c6e1d93d70e2a8916fb75441575 diff --git a/net-misc/curl/curl-8.23.0.ebuild b/net-misc/curl/curl-8.23.0.ebuild new file mode 100644 index 000000000000..83c3857772d4 --- /dev/null +++ b/net-misc/curl/curl-8.23.0.ebuild @@ -0,0 +1,436 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintainers should subscribe to the 'curl-distros' ML for backports etc +# https://daniel.haxx.se/blog/2024/03/25/curl-distro-report/ +# https://lists.haxx.se/listinfo/curl-distros + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/danielstenberg.asc +inherit dot-a autotools multilib-minimal multiprocessing prefix toolchain-funcs verify-sig + +DESCRIPTION="A Client that groks URLs" +HOMEPAGE="https://curl.se/" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/curl/curl.git" +else + if [[ ${P} == *rc* ]]; then + CURL_URI="https://curl.se/rc/" + S="${WORKDIR}/${P//_/-}" + else + CURL_URI="https://curl.se/download/" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + fi + SRC_URI=" + ${CURL_URI}${P//_/-}.tar.xz + verify-sig? ( ${CURL_URI}${P//_/-}.tar.xz.asc ) + " +fi + +LICENSE="BSD curl ISC test? ( BSD-4 )" +SLOT="0" +IUSE="+adns +alt-svc brotli debug ech +ftp gnutls gopher +hsts +http2 +http3 +httpsrr idn +imap kerberos ldap" +IUSE+=" mbedtls +openssl +pop3 +psl +quic rustls sasl-scram +smtp ssh ssl static-libs test" +IUSE+=" telnet +tftp +websockets zstd" +# These select the default tls implementation / which quic impl to use +IUSE+=" curl_ssl_gnutls curl_ssl_mbedtls +curl_ssl_openssl curl_ssl_rustls" +RESTRICT="!test? ( test )" + +# HTTPS RR is technically usable with the threaded resolver, but it still uses c-ares to +# ask for the HTTPS RR record type; if DoH is in use the HTTPS record will be requested +# in addition to A and AAAA records. + +# To simplify dependency management in the ebuild we'll require c-ares for HTTPS RR (for now?). +# HTTPS RR in cURL is a dependency for: +# - ECH (enabled with rustls, ossl 4.0+) +# - Fetching the ALPN list which should provide a better HTTP/3 experience. +# Only one default ssl / quic provider can be enabled +# The default provider needs its USE satisfied +# HTTP/3 and MultiSSL are mutually exclusive; it's not clear if MultiSSL offers any benefit at all in the modern day. +# https://github.com/curl/curl/commit/65ece771f4602107d9cdd339dff4b420280a2c2e +REQUIRED_USE=" + ech? ( + || ( + openssl + rustls + ) + ) + httpsrr? ( adns ) + quic? ( + ^^ ( + openssl + gnutls + ) + !mbedtls + !rustls + http3 + ssl + ) + ssl? ( + ^^ ( + curl_ssl_gnutls + curl_ssl_mbedtls + curl_ssl_openssl + curl_ssl_rustls + ) + ) + curl_ssl_gnutls? ( gnutls ) + curl_ssl_mbedtls? ( mbedtls ) + curl_ssl_openssl? ( openssl ) + curl_ssl_rustls? ( rustls ) + http3? ( alt-svc httpsrr quic ) +" + +# cURL's docs and CI/CD are great resources for confirming supported versions +# particulary for fast-moving targets like HTTP/2 and TCP/2 e.g.: +# - https://github.com/curl/curl/blob/master/docs/DEPENDENCIES.md (core dependencies + minimum versions) +# - https://github.com/curl/curl/blob/master/docs/HTTP3.md (example of a feature that moves quickly) +# - https://github.com/curl/curl/blob/master/.github/workflows/http3-linux.yml (CI/CD for TCP/2) +# - https://curl.se/dev/deprecate.html - good source of deprecation timelines, e.g. for OpenSSL 1.1.1 +# However 'supported' vs 'works' are two entirely different things; be sane but +# don't be afraid to require a later version. +# ngtcp2 = https://bugs.gentoo.org/912029 - can only build with one tls backend at a time. +RDEPEND=" + >=virtual/zlib-1.2.5:=[${MULTILIB_USEDEP}] + adns? ( >=net-dns/c-ares-1.16.0:=[${MULTILIB_USEDEP}] ) + brotli? ( >=app-arch/brotli-1.0.0:=[${MULTILIB_USEDEP}] ) + http2? ( >=net-libs/nghttp2-1.15.0:=[${MULTILIB_USEDEP}] ) + http3? ( >=net-libs/nghttp3-1.1.0[${MULTILIB_USEDEP}] ) + idn? ( >=net-dns/libidn2-2.0.0:=[static-libs?,${MULTILIB_USEDEP}] ) + kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] ) + ldap? ( >=net-nds/openldap-2.0.0:=[static-libs?,${MULTILIB_USEDEP}] ) + psl? ( >=net-libs/libpsl-0.16.0[${MULTILIB_USEDEP}] ) + quic? ( + gnutls? ( >=net-libs/ngtcp2-1.20.0-r1[gnutls,ssl,${MULTILIB_USEDEP}] ) + openssl? ( >=net-libs/ngtcp2-1.20.0-r1[openssl,ssl,${MULTILIB_USEDEP}] ) + ) + ssh? ( >=net-libs/libssh2-1.9.0[${MULTILIB_USEDEP}] ) + sasl-scram? ( >=net-misc/gsasl-2.2.0[static-libs?,${MULTILIB_USEDEP}] ) + ssl? ( + gnutls? ( + app-misc/ca-certificates + >=net-libs/gnutls-3.6.5:=[static-libs?,${MULTILIB_USEDEP}] + >=dev-libs/nettle-3.4.1:=[${MULTILIB_USEDEP}] + ) + mbedtls? ( + app-misc/ca-certificates + net-libs/mbedtls:3=[${MULTILIB_USEDEP}] + ) + openssl? ( + ech? ( >=dev-libs/openssl-4.0.0_beta1:=[static-libs?,${MULTILIB_USEDEP}] ) + >=dev-libs/openssl-3.0.0:=[static-libs?,${MULTILIB_USEDEP}] + ) + rustls? ( + >=net-libs/rustls-ffi-0.15.0:=[${MULTILIB_USEDEP}] + ) + ) + zstd? ( >=app-arch/zstd-1.0:=[${MULTILIB_USEDEP}] ) +" + +DEPEND="${RDEPEND}" + +BDEPEND=" + dev-lang/perl + virtual/pkgconfig + test? ( + sys-apps/diffutils + http2? ( >=net-libs/nghttp2-1.15.0:=[utils,${MULTILIB_USEDEP}] ) + http3? ( >=net-libs/nghttp2-1.15.0:=[utils,${MULTILIB_USEDEP}] ) + ) + verify-sig? ( sec-keys/openpgp-keys-danielstenberg ) +" + +DOCS=( README docs/{FEATURES.md,FAQ.md,BUGS.md,CONTRIBUTE.md} ) + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/curl/curlbuild.h +) + +MULTILIB_CHOST_TOOLS=( + /usr/bin/curl-config +) + +QA_CONFIG_IMPL_DECL_SKIP=( + __builtin_available + closesocket + CloseSocket + getpass_r + ioctlsocket + IoctlSocket + mach_absolute_time + setmode + _fseeki64 + # custom AC_LINK_IFELSE code fails to link even without -Werror + OSSL_QUIC_client_method +) + +PATCHES=( + "${FILESDIR}/${PN}-prefix-6.patch" + "${FILESDIR}/${PN}-respect-cflags-3.patch" +) + +src_prepare() { + default + + eprefixify curl-config.in + eautoreconf +} + +# Generates TLS-related configure options based on USE flags. +# Outputs options suitable for appending to a configure options array. +_get_curl_tls_configure_opts() { + local tls_opts=() + + local backend flag_name + for backend in gnutls mbedtls openssl rustls; do + if [[ "$backend" == "openssl" ]]; then + flag_name="ssl" + tls_opts+=( "--with-ca-path=${EPREFIX}/etc/ssl/certs") + else + flag_name="$backend" + fi + + if use "$backend"; then + tls_opts+=( "--with-${flag_name}" ) + else + # If a single backend is enabled, 'ssl' is required, openssl is the default / fallback + if ! [[ "$backend" == "openssl" ]]; then + tls_opts+=( "--without-${flag_name}" ) + fi + fi + done + + if use curl_ssl_gnutls; then + multilib_is_native_abi && einfo "Default TLS backend: gnutls" + tls_opts+=( "--with-default-ssl-backend=gnutls" ) + elif use curl_ssl_mbedtls; then + multilib_is_native_abi && einfo "Default TLS backend: mbedtls" + tls_opts+=( "--with-default-ssl-backend=mbedtls" ) + elif use curl_ssl_openssl; then + multilib_is_native_abi && einfo "Default TLS backend: openssl" + tls_opts+=( "--with-default-ssl-backend=openssl" ) + elif use curl_ssl_rustls; then + multilib_is_native_abi && einfo "Default TLS backend: rustls" + tls_opts+=( "--with-default-ssl-backend=rustls" ) + else + eerror "We can't be here because of REQUIRED_USE." + die "Please file a bug, hit impossible condition w/ USE=ssl handling." + fi + + # Explicitly Disable unimplemented backends + tls_opts+=( + --without-amissl + --without-wolfssl + ) + + printf "%s\n" "${tls_opts[@]}" +} + +multilib_src_configure() { + use static-libs && lto-guarantee-fat + # We make use of the fact that later flags override earlier ones + # So start with all ssl providers off until proven otherwise + # TODO: in the future, we may want to add wolfssl (https://www.wolfssl.com/) + local myconf=() + + myconf+=( --without-ca-fallback --with-ca-bundle="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt ) + if use ssl; then + local -a tls_backend_opts + readarray -t tls_backend_opts < <(_get_curl_tls_configure_opts) + myconf+=( + "${tls_backend_opts[@]}" + $(use_with quic ngtcp2) + ) + else + myconf+=( --without-ssl ) + einfo "SSL disabled" + fi + + # These configuration options are organised alphabetically by category/type + + # Protocols + # `grep SUPPORT_PROTOCOLS=\" configure.ac | awk '{ print substr($2, 1, length($2)-1)}' | sort` + # Assume that anything omitted (that is not new!) is enabled by default with no deps + myconf+=( + --enable-file + $(use_enable ftp) + $(use_enable gopher) + --enable-http + $(use_enable imap) # Automatic IMAPS if TLS is enabled + $(use_enable ldap ldaps) + $(use_enable ldap) + $(use_enable pop3) + $(use_with ssh libssh2) # enables scp/sftp + --enable-rtsp + $(use_enable smtp) + $(use_enable telnet) + $(use_enable tftp) + $(use_enable websockets) + ) + + # Keep various 'HTTP-flavoured' options together + myconf+=( + $(use_enable alt-svc) + $(use_enable hsts) + $(use_enable httpsrr) + $(use_with http2 nghttp2) + $(use_with http3 nghttp3) + # TODO: --enable-proxy-http3? + --disable-proxy-http3 + ) + + # --enable/disable options + # `grep -- --enable configure | grep Check | awk '{ print $4 }' | sort` + myconf+=( + $(use_enable adns ares) + --enable-aws + --enable-basic-auth + --enable-bearer-auth + --enable-cookies + --enable-dateparse + --enable-dict + --enable-digest-auth + --enable-dnsshuffle + --enable-doh + $(use_enable ech) + --enable-http-auth + --enable-ipv6 + --enable-kerberos-auth + --enable-largefile + --enable-manual + --enable-mime + --enable-negotiate-auth + --enable-netrc + --disable-ntlm # To be removed late 2026 + --enable-progress-meter + --enable-proxy + --enable-rt + --enable-socketpair + --disable-sspi + $(use_enable static-libs static) + --enable-symbol-hiding + --disable-versioned-symbols + ) + + # --with/without options + # `grep -- --with configure | grep Check | awk '{ print $4 }' | sort` + myconf+=( + $(use_with brotli) + --with-fish-functions-dir="${EPREFIX}"/usr/share/fish/vendor_completions.d + $(use_with idn libidn2) + $(use_with kerberos gssapi "${EPREFIX}"/usr) + $(use_with sasl-scram libgsasl) + $(use_with psl libpsl) + --without-quiche + --without-schannel + --without-winidn + --with-zlib + --with-zsh-functions-dir="${EPREFIX}"/usr/share/zsh/site-functions + $(use_with zstd) + ) + + # Test deps (disabled) + myconf+=( + --without-test-caddy + --without-test-httpd + --without-test-nghttpx + --without-test-h2o + ) + + if use debug; then + myconf+=( + --enable-debug + ) + fi + + if use test && multilib_is_native_abi && ( use http2 || use http3 ); then + myconf+=( + --with-test-nghttpx="${BROOT}/usr/bin/nghttpx" + ) + fi + + # Since 8.12.0 adns/c-ares and the threaded resolver are mutually exclusive + # This is in support of some work to enable `httpsrr` to use adns and the rest + # of curl to use the threaded resolver; for us `httpsrr` is conditional on adns. + if use adns; then + myconf+=( + --disable-threaded-resolver + ) + else + myconf+=( + --enable-threaded-resolver + ) + fi + + ECONF_SOURCE="${S}" econf "${myconf[@]}" + + if ! multilib_is_native_abi; then + # Avoid building the client (we just want libcurl for multilib) + sed -i -e '/SUBDIRS/s:src::' Makefile || die + sed -i -e '/SUBDIRS/s:scripts::' Makefile || die + fi + +} + +multilib_src_compile() { + default + + if multilib_is_native_abi; then + # Shell completions + ! tc-is-cross-compiler && emake -C scripts + fi +} + +# There is also a pytest harness that tests for bugs in some very specific +# situations; we can rely on upstream for this rather than adding additional test deps. +multilib_src_test() { + # See https://github.com/curl/curl/blob/master/tests/runtests.pl#L5721 + # -n: no valgrind (unreliable in sandbox and doesn't work correctly on all arches) + # -v: verbose + # -a: keep going on failure (so we see everything that breaks, not just 1st test) + # -am: automake style TAP output + # -p: print logs if test fails + # --retry: retry any failing tests up to 3 times; this is a band-aid for timing-dependent flakiness. + # + # Note: if needed, we can skip specific tests. See e.g. Fedora's packaging + # or just read https://github.com/curl/curl/tree/master/tests#run. + # + # Note: we don't run the testsuite for cross-compilation. + # + # Upstream recommend 7*nproc as a starting point for parallel tests, but + # this ends up breaking when nproc is huge (like -j80). + # + # The network sandbox causes tests 241 and 1083 to fail; these are typically skipped + # as most gentoo users don't have an 'ip6-localhost' + multilib_is_native_abi && emake test TFLAGS="-n -v -a -am -p -j$((2*$(get_makeopts_jobs))) --retry=3 !241 !1083" + # TODO: enable python tests (make pytest). +} + +multilib_src_install() { + emake DESTDIR="${D}" install + + if multilib_is_native_abi; then + # Shell completions + ! tc-is-cross-compiler && emake -C scripts DESTDIR="${D}" install + fi +} + +multilib_src_install_all() { + einstalldocs + find "${ED}" -type f -name '*.la' -delete || die + + use static-libs && strip-lto-bytecode + + rm -rf "${ED}"/etc/ || die +} + +pkg_postinst() { + if use debug; then + ewarn "USE=debug has been selected, enabling debug codepaths and making cURL extra verbose." + ewarn "Use this _only_ for testing. Debug builds should _not_ be used in anger." + ewarn "hic sunt dracones; you have been warned." + fi +} diff --git a/net-misc/curl/curl-9999.ebuild b/net-misc/curl/curl-9999.ebuild index 64acff5c01e5..83c3857772d4 100644 --- a/net-misc/curl/curl-9999.ebuild +++ b/net-misc/curl/curl-9999.ebuild @@ -263,7 +263,6 @@ multilib_src_configure() { $(use_enable ldap ldaps) $(use_enable ldap) $(use_enable pop3) - --disable-smb # Removed upstream in late 2026 $(use_with ssh libssh2) # enables scp/sftp --enable-rtsp $(use_enable smtp) diff --git a/net-misc/exabgp/Manifest b/net-misc/exabgp/Manifest index 02b8539919c5..35d5ec123ed8 100644 --- a/net-misc/exabgp/Manifest +++ b/net-misc/exabgp/Manifest @@ -1,4 +1,5 @@ DIST exabgp-4.2.23.tar.gz 2935267 BLAKE2B 85b861e5ee318ecd6533386f8a298fdeabec161db9cba17f48957d1379ba0b30c3d9ea6c136e400c0ddf62595f7275d885d019bd6690fc7c58b65a112e6ce9e9 SHA512 03968997958dd1241c616b675bbea1e65d2660658205cf51f2bff6198c497a1379c949a61f9b93de4b91af2c0045eed54a94aa243fbca89c6d908bcb5811dc20 DIST exabgp-4.2.25.tar.gz 2881687 BLAKE2B 15addb7761a25ebbb090299925c249c30d0ffbbdb6a9b4ea4fb04f2aa3253dcf36abc705b23b83fc46e0dffe3a6c899f789968e145e3abf2bdce02746c911d06 SHA512 24211bbde4657edf17d36d0109353b37db641e5412f51c360e337651e0a210082329451fdeed3952f824751229ccdec6fe86da99e575686ee484147a2bdf42aa DIST exabgp-5.0.12.tar.gz 3422847 BLAKE2B 2e6bd50ba39b2ccec970e45c066065f20644b1e4b6e530ad390bfabdc883791c0e204a02876c861852f3fc258b0b0361f6989d577b9e5d33d1daf972052f3469 SHA512 94f3f749875fa018333d0b948bfefd21e20acc42352678c356bbb7a7364ef76f2383e1c366c26189d22f57742db7bd7af5c25ecbb05dd0ab4324750ec0a23895 +DIST exabgp-5.0.14.tar.gz 3696383 BLAKE2B 3f1f9fefac330f57129e4b2158d9d90ab0ceda9ff5f0860181aed683d7d6f63557424795334fcfa85bde3c590140bf7bdab7fabb5b95fe46456e2bc1a86bdf5f SHA512 cad095f1bf3f94011d0579289bc1b28df75077015745cdcb77c3c6a8c335d296ea8302d2e970ca405cae7a2e7436308f9f2de3812f5e8b2183a8d0ef717c2fc4 DIST exabgp-5.0.8.tar.gz 3402753 BLAKE2B e8bd4144b62fc8000086207c9e59952ad973795077519fe20a5fce717e0d5597e595c350cf9024b09d45f10cee417f09bb3fb08d2a474cc2db4f03f9aee43423 SHA512 eeb7266509abec9ad365702036b4f5d9940f3e0bc192cc35b1a5daf4fe5fe176235cd910820f5b710c8c4b680ab422e9b2ce88ce19c2611732e12855ee678ffc diff --git a/net-misc/exabgp/exabgp-5.0.14.ebuild b/net-misc/exabgp/exabgp-5.0.14.ebuild new file mode 100644 index 000000000000..c92e2a03c45a --- /dev/null +++ b/net-misc/exabgp/exabgp-5.0.14.ebuild @@ -0,0 +1,101 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +DISTUTILS_USE_PEP517=setuptools +inherit tmpfiles systemd distutils-r1 + +DESCRIPTION="The BGP swiss army knife of networking" +HOMEPAGE="https://github.com/Exa-Networks/exabgp" +SRC_URI="https://github.com/Exa-Networks/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + acct-group/exabgp + acct-user/exabgp +" +BDEPEND=" + test? ( + dev-python/psutil[${PYTHON_USEDEP}] + dev-python/pytest-asyncio[${PYTHON_USEDEP}] + dev-python/hypothesis[${PYTHON_USEDEP}] + dev-python/pytest-timeout[${PYTHON_USEDEP}] + ) +" + +PATCHES=( + "${FILESDIR}/exabgp-5.0.8-paths.patch" + "${FILESDIR}/exabgp-5.0.8-ip-path.patch" + "${FILESDIR}/exabgp-5.0.8-healthcheck-allow-disable-metric.patch" + "${FILESDIR}/exabgp-5.0.8-less-verbose-logging.patch" +) + +EPYTEST_PLUGINS=( + hypothesis + pytest-asyncio + pytest-timeout +) + +distutils_enable_tests pytest + +python_prepare_all() { + # remove performance tests + rm -rf tests/performance || die + + # remove tests that need internet access + rm -f tests/unit/test_flow_needs_a_match.py || die + + distutils-r1_python_prepare_all +} + +python_install_all() { + distutils-r1_python_install_all + + newinitd "${FILESDIR}/${PN}.initd-r2" ${PN} + newconfd "${FILESDIR}/${PN}.confd" ${PN} + + newtmpfiles "${FILESDIR}/exabgp.tmpfiles" ${PN}.conf + systemd_dounit etc/systemd/* + + insinto /etc/logrotate.d + newins "${FILESDIR}/${PN}.logrotate" ${PN} + + keepdir /etc/exabgp + + doman doc/man/*.? +} + +python_test() { + local -a EPYTEST_DESELECT=( + # tests that need network access + tests/integration/test_connection_lifecycle.py::TestConnectionConcurrency::test_concurrent_read_write + tests/integration/test_connection_lifecycle.py::TestConnectionStateManagement::test_connection_cleanup_on_close + tests/integration/test_connection_lifecycle.py::TestConnectionStateManagement::test_multiple_close_calls + tests/integration/test_connection_lifecycle.py::TestOutgoingConnectionLifecycle::test_outgoing_connection_establishment + tests/integration/test_connection_lifecycle.py::TestOutgoingConnectionLifecycle::test_outgoing_full_message_exchange + tests/integration/test_connection_lifecycle.py::TestOutgoingConnectionLifecycle::test_outgoing_receive_keepalive + tests/integration/test_connection_lifecycle.py::TestOutgoingConnectionLifecycle::test_outgoing_send_keepalive + tests/integration/test_connection_lifecycle.py::TestConnectionStateManagement::test_file_descriptor_tracking + tests/unit/test_gates_are_wired.py::TestEveryTestDirectoryIsActuallyRun::test_the_walk_found_the_directories + tests/unit/test_gates_are_wired.py::TestEveryTestDirectoryIsActuallyRun::test_the_ones_that_were_unwired_are_among_them + tests/unit/test_network_tcp.py::TestSocketCreation::test_a_refused_setsockopt_is_reported_as_itself + tests/unit/test_network_tcp.py::TestSocketCreation::test_a_real_interface_is_bound_with_a_nul_terminated_name + tests/unit/test_validate_survives_a_route_with_no_nlri.py::test_a_route_which_reads_back_no_nlri_is_reported_not_raised + tests/unit/test_validate_survives_a_route_with_no_nlri.py::test_a_flow_route_with_a_match_still_validates + # unreliable test + tests/fuzz/test_update_split.py::test_update_split_withdrawn_length_fuzzing + ) + + epytest +} + +pkg_postinst() { + tmpfiles_process ${PN}.conf +} diff --git a/net-misc/openntpd/Manifest b/net-misc/openntpd/Manifest index 1c1f8ae16b82..36c24913142a 100644 --- a/net-misc/openntpd/Manifest +++ b/net-misc/openntpd/Manifest @@ -1,2 +1,3 @@ DIST openntpd-6.2p3.tar.gz 447586 BLAKE2B f81db876c01572f06b8fc24aabe8954b15287496e8c39c1ae81231ef01676fbe8c69c5cf517279e45510b6b1b5f4c5d0d09d7ce5fc220c7bf36763cf67623519 SHA512 56a04bfd8b161b365607673ac80086ff53ae943938fa49bf52edbc541432eca30730a46a4af581fe26ce3bbceb144cb25982a38959b7a3f9304c727fe60f9f50 DIST openntpd-6.8p1.tar.gz 443997 BLAKE2B 5b86c79ff2f822aba652da92325ad18803233c8b1548203c82603b99d2c41dce012dfb2be67828cc892559f323b764cc1711202fd85bc1d5d755b5e677406b98 SHA512 200056bedb9c757aae1ce5d3f6655175ec058cb479429fe4704955f3a3fa15e8a9cb578ae4898ddb4cfc08c9742bbab6a7c92b5e569f06a148e40c448360b58f +DIST openntpd-7.9p1.tar.gz 469499 BLAKE2B e1e2200890b74be4b4e62dd2c2ff51d300fc44392b5171dd9c48217a9729f2c176b3d4d300a3f65fcfd1885f5315bf7d6560b55d87ea08fdbdee62e4b65529a8 SHA512 a3418af778cc4de88923c912db8d3ba626bfadf3f6c4f487e74b7e214a0a636b8de20def7dd0479cbe33e30f781584195d2295abdd39e1cd9d9783f97ef82241 diff --git a/net-misc/openntpd/openntpd-7.9_p1.ebuild b/net-misc/openntpd/openntpd-7.9_p1.ebuild new file mode 100644 index 000000000000..4b8cac73a147 --- /dev/null +++ b/net-misc/openntpd/openntpd-7.9_p1.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools systemd + +MY_P="${P/_p/p}" + +DESCRIPTION="Lightweight NTP server ported from OpenBSD" +HOMEPAGE="https://www.openntpd.org/" +SRC_URI="mirror://openbsd/OpenNTPD/${MY_P}.tar.gz" + +LICENSE="BSD GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="constraints selinux" + +DEPEND=" + !net-misc/ntp[-openntpd] + constraints? ( dev-libs/libretls:= )" + +RDEPEND=" + ${DEPEND} + acct-group/openntpd + acct-user/openntpd + selinux? ( sec-policy/selinux-ntp )" + +S="${WORKDIR}/${MY_P}" + +src_prepare() { + default + eautoreconf + + # fix default config to use gentoo pool + sed -i 's:^server:#server:g' ntpd.conf || die + printf "\n# Choose servers announced from Gentoo NTP Pool\nservers 0.gentoo.pool.ntp.org\nservers 1.gentoo.pool.ntp.org\nservers 2.gentoo.pool.ntp.org\nservers 3.gentoo.pool.ntp.org\n" >> ntpd.conf || die + + use constraints || sed -ie 's/^constraints/#constraints/g' ntpd.conf || die +} + +src_configure() { + econf \ + --localstatedir="${EPREFIX}"/var/lib/openntpd \ + --runstatedir="${EPREFIX}"/run \ + --with-privsep-user=openntpd \ + $(use_enable constraints https-constraint) +} + +src_install() { + default + + rm -r "${ED}"/var "${ED}"/run || die + + newinitd "${FILESDIR}/${PN}.init.d-20080406-r6" ntpd + newconfd "${FILESDIR}/${PN}.conf.d-20080406-r6" ntpd + + systemd_newunit "${FILESDIR}/${PN}.service-20080406-r4" ntpd.service +} diff --git a/net-misc/pkixssh/Manifest b/net-misc/pkixssh/Manifest index 0b1723c8ec23..895bade626b6 100644 --- a/net-misc/pkixssh/Manifest +++ b/net-misc/pkixssh/Manifest @@ -3,3 +3,4 @@ DIST pkixssh-18.0.3.tar.xz 1310136 BLAKE2B 22aad88cb974861ca89f09c9d123dafbb4364 DIST pkixssh-19.0.1.tar.xz 1331816 BLAKE2B 3f52244f8aec9c83a8efb468ef940d43666f699a197e9e4865c579362dd55efef014e01a725f3c5a9f7f58e73a3caaea849645fc00473bccefc28944a7e6780a SHA512 84dc0bc0173885881f61969d8a8516a13d947b0febf1d824f9ff4fdeb6daa32f3589f77843c2082f7e6d22b30619c59155082889d1bdbe4d62a10bd41df1d50d DIST pkixssh-19.0.tar.xz 1332456 BLAKE2B 756199adb90d0ecaa9ae5909533c7cbd14bb3731ca1868cd5dfcab3b78042b1aada36427abe155598fefd27b278876a1a532b4f99832558ba363f9af69fb07cd SHA512 52bc131f0f73a4d139aa9a15d78cf4e0ea6f85ba016ead9b6ed7971ce9537215eac8fb1cb3cb41019799c6118d77304886e6f990e5fcf357780a3019c78bbe2f DIST pkixssh-19.1.tar.xz 1331108 BLAKE2B 8bf887b7ca9e166a8ed1e4cbab5a090ad285025feca9a0a7d09929303ceb31e7713db290f77f57e7aece127340e23cbd0a71a923d53e6de55a95aea7621015d6 SHA512 f1c755e7a9cf86016f36bc3adaaa07fe3341ee9e04d058c66249e847a67351c972422ac22d1c0c73b0a2be7ed65292434e317b45783b0f2e85283c1d0ea191a5 +DIST pkixssh-20.0.1.tar.xz 1337232 BLAKE2B b31e8e8a3b29bbb36f64a3b3ba03b04c5fd41b18fdebf77d62d009f6299753617302accf914ef04ae6e08392d4bba0dd79f9e4834f3d6858354876de69efe8a1 SHA512 0581ec83c28be09734d1e5d791c64b7317f9de682c1c19dedf46fc37558097a63c7b0befeb9df676a822a8d0ddd9fa97ce8f527beffde49683e876b70ef1e989 diff --git a/net-misc/pkixssh/pkixssh-20.0.1.ebuild b/net-misc/pkixssh/pkixssh-20.0.1.ebuild new file mode 100644 index 000000000000..8ac846888b6d --- /dev/null +++ b/net-misc/pkixssh/pkixssh-20.0.1.ebuild @@ -0,0 +1,371 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# not sure how to get the signing keys for this yet, but upstream provides a signature +inherit user-info flag-o-matic autotools optfeature pam systemd toolchain-funcs eapi9-ver + +DESCRIPTION="OpenSSH fork with X.509 v3 certificate support" +HOMEPAGE="https://roumenpetrov.info/secsh/" +SRC_URI=" + https://roumenpetrov.info/secsh/src/${P}.tar.xz +" +# verify-sig? ( https://roumenpetrov.info/secsh/src/${P}.tar.sig ) + +LICENSE="BSD GPL-2" +SLOT="0" +KEYWORDS="~amd64" +IUSE="abi_mips_n32 audit debug kerberos ldns libedit livecd pam selinux +ssl-engine static test" + +RESTRICT="!test? ( test )" + +REQUIRED_USE=" + static? ( !kerberos !pam ) + test? ( ssl-engine ) +" + +LIB_DEPEND=" + audit? ( sys-process/audit[static-libs(+)] ) + ldns? ( + net-libs/ldns[static-libs(+)] + net-libs/ldns[ecdsa(+),ssl(+)] + ) + libedit? ( dev-libs/libedit:=[static-libs(+)] ) + selinux? ( >=sys-libs/libselinux-1.28[static-libs(+)] ) + >=dev-libs/openssl-1.1.1l-r1:0=[static-libs(+)] + virtual/libcrypt:=[static-libs(+)] + >=virtual/zlib-1.2.3:=[static-libs(+)] +" +RDEPEND=" + acct-group/sshd + acct-user/sshd + !static? ( ${LIB_DEPEND//\[static-libs(+)]} ) + pam? ( sys-libs/pam ) + kerberos? ( virtual/krb5 ) + !net-misc/openssh + !net-misc/openssh-contrib +" +DEPEND=" + ${RDEPEND} + virtual/os-headers + kernel_linux? ( !prefix-guest? ( >=sys-kernel/linux-headers-5.1 ) ) + static? ( ${LIB_DEPEND} ) +" +RDEPEND=" + ${RDEPEND} + !net-misc/openssh-contrib + pam? ( >=sys-auth/pambase-20081028 ) + !prefix? ( sys-apps/shadow ) +" +BDEPEND=" + dev-build/autoconf + virtual/pkgconfig +" +# verify-sig? ( sec-keys/openpgp-keys-pkixssh ) + +PATCHES=( + "${FILESDIR}/pkixssh-17.0-no-rundir.patch" + "${FILESDIR}/openssh-9.7_p1-config-tweaks.patch" + # Backports from upstream release branch + #"${FILESDIR}/${PV}" + # Our own backports +) + +src_prepare() { + # don't break .ssh/authorized_keys2 for fun + sed -i '/^AuthorizedKeysFile/s:^:#:' sshd_config || die + + [[ -d ${WORKDIR}/patches ]] && PATCHES+=( "${WORKDIR}"/patches ) + + default + + # These tests are currently incompatible with PORTAGE_TMPDIR/sandbox + sed -e '/\t\tpercent \\/ d' \ + -i regress/Makefile || die + + tc-export PKG_CONFIG + local sed_args=( + -e "s:-lcrypto:$(${PKG_CONFIG} --libs openssl):" + # Disable fortify flags ... our gcc does this for us + -e 's:-D_FORTIFY_SOURCE=2::' + ) + + # _XOPEN_SOURCE causes header conflicts on Solaris + [[ ${CHOST} == *-solaris* ]] && sed_args+=( + -e 's/-D_XOPEN_SOURCE//' + ) + sed -i "${sed_args[@]}" configure{.ac,} || die + + eautoreconf +} + +src_configure() { + addwrite /dev/ptmx + + use debug && append-cppflags -DSANDBOX_SECCOMP_FILTER_DEBUG + use static && append-ldflags -static + + if [[ ${CHOST} == *-solaris* ]] ; then + # Solaris' glob.h doesn't have things like GLOB_TILDE, configure + # doesn't check for this, so force the replacement to be put in + # place + append-cppflags -DBROKEN_GLOB + fi + + # use replacement, RPF_ECHO_ON doesn't exist here + [[ ${CHOST} == *-darwin* ]] && export ac_cv_func_readpassphrase=no + + local myconf=( + --with-ldflags="${LDFLAGS}" + --disable-strip + --with-pid-dir="${EPREFIX}"$(usex kernel_linux '' '/var')/run + --sysconfdir="${EPREFIX}"/etc/ssh + --libexecdir="${EPREFIX}"/usr/$(get_libdir)/misc + --datadir="${EPREFIX}"/usr/share/openssh + --with-privsep-path="${EPREFIX}"/var/empty + --with-privsep-user=sshd + # optional at runtime; guarantee a known path + --with-xauth="${EPREFIX}"/usr/bin/xauth + + # --with-hardening adds the following in addition to flags we + # already set in our toolchain: + # * -ftrapv (which is broken with GCC anyway), + # * -ftrivial-auto-var-init=zero (which is nice, but not the end of + # the world to not have) + # * -fzero-call-used-regs=used (history of miscompilations with + # Clang (bug #872548), ICEs on m68k (bug #920350, gcc PR113086, + # gcc PR104820, gcc PR104817, gcc PR110934)). + # + # Furthermore, OSSH_CHECK_CFLAG_COMPILE did not use AC_CACHE_CHECK + # until 10.1_p1, so we couldn't disable -fzero-call-used-regs=used. + # + # Therefore, just pass --without-hardening, given it doesn't negate + # our already hardened toolchain defaults, and avoids adding flags + # which are known-broken in both Clang and GCC and haven't been + # proven reliable. + --without-hardening + --without-pie + --without-stackprotect + + # wtmpdb not yet packaged + --without-wtmpdb + + $(use_with audit audit linux) + $(use_with kerberos kerberos5 "${EPREFIX}"/usr) + $(use_with ldns) + $(use_with libedit) + $(use_with pam) + $(use_with selinux) + $(use_with ssl-engine ssl-engine) + ) + + if use elibc_musl; then + # musl defines bogus values for UTMP_FILE and WTMP_FILE (bug #753230) + myconf+=( --disable-utmp --disable-wtmp ) + fi + + econf "${myconf[@]}" +} + +create_config_dropins() { + local locale_vars=( + # These are language variables that POSIX defines. + # http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_02 + LANG LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME + + # These are the GNU extensions. + # https://www.gnu.org/software/autoconf/manual/html_node/Special-Shell-Variables.html + LANGUAGE LC_ADDRESS LC_IDENTIFICATION LC_MEASUREMENT LC_NAME LC_PAPER LC_TELEPHONE + ) + + mkdir -p "${WORKDIR}"/etc/ssh/ssh{,d}_config.d || die + + cat <<-EOF > "${WORKDIR}"/etc/ssh/ssh_config.d/9999999gentoo.conf || die + # Send locale environment variables (bug #367017) + SendEnv ${locale_vars[*]} + + # Send COLORTERM to match TERM (bug #658540) + SendEnv COLORTERM + EOF + + cat <<-EOF > "${WORKDIR}"/etc/ssh/ssh_config.d/9999999gentoo-security.conf || die + RevokedHostKeys "${EPREFIX}/etc/ssh/ssh_revoked_hosts" + EOF + + cat <<-EOF > "${WORKDIR}"/etc/ssh/ssh_revoked_hosts || die + # https://github.blog/2023-03-23-we-updated-our-rsa-ssh-host-key/ + ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ== + EOF + + cat <<-EOF > "${WORKDIR}"/etc/ssh/sshd_config.d/9999999gentoo.conf || die + # Allow client to pass locale environment variables (bug #367017) + AcceptEnv ${locale_vars[*]} + + # Allow client to pass COLORTERM to match TERM (bug #658540) + AcceptEnv COLORTERM + EOF + + cat <<-EOF > "${WORKDIR}"/etc/ssh/sshd_config.d/9999999gentoo-subsystem.conf || die + # override default of no subsystems + Subsystem sftp ${EPREFIX}/usr/$(get_libdir)/misc/sftp-server + EOF + + if use pam ; then + cat <<-EOF > "${WORKDIR}"/etc/ssh/sshd_config.d/9999999gentoo-pam.conf || die + UsePAM yes + # This interferes with PAM. + PasswordAuthentication no + # PAM can do its own handling of MOTD. + PrintMotd no + PrintLastLog no + EOF + fi + + if use livecd ; then + cat <<-EOF > "${WORKDIR}"/etc/ssh/sshd_config.d/9999999gentoo-livecd.conf || die + # Allow root login with password on livecds. + PermitRootLogin Yes + EOF + fi +} + +src_compile() { + default + create_config_dropins +} + +src_test() { + local tests=( compat-tests ) + local shell=$(egetshell "${UID}") + if [[ ${shell} == */nologin ]] || [[ ${shell} == */false ]] ; then + ewarn "Running the pkixssh testsuite requires a usable shell for the 'portage'" + ewarn "user, so we will skip testing" + return 0 + else + tests+=( tests ) + fi + + local -x SUDO= SSH_SK_PROVIDER= TEST_SSH_UNSAFE_PERMISSIONS=1 + mkdir -p "${HOME}"/.ssh || die + emake -j1 TEST_SHELL=/bin/bash "${tests[@]}" </dev/null +} + +src_install() { + emake install-nokeys DESTDIR="${D}" + fperms 600 /etc/ssh/sshd_config + dobin contrib/ssh-copy-id + newinitd "${FILESDIR}"/sshd-r2.initd sshd + newconfd "${FILESDIR}"/sshd-r2.confd sshd + exeinto /etc/user/init.d + newexe "${FILESDIR}"/ssh-agent.initd ssh-agent + + if use pam; then + newpamd "${FILESDIR}"/sshd.pam_include.2 sshd + fi + + doman contrib/ssh-copy-id.1 + dodoc CREDITS OVERVIEW README* TODO sshd_config + + rmdir "${ED}"/var/empty || die + + systemd_dounit "${FILESDIR}"/sshd.socket + systemd_newunit "${FILESDIR}"/sshd.service.2 sshd.service + systemd_newunit "${FILESDIR}"/sshd_at.service.1 'sshd@.service' + + # Install dropins with explicit mode, bug 906638, 915840 + diropts -m0755 + insopts -m0644 + insinto /etc/ssh + doins -r "${WORKDIR}"/etc/ssh/ssh_config.d + doins "${WORKDIR}"/etc/ssh/ssh_revoked_hosts + diropts -m0700 + insopts -m0600 + doins -r "${WORKDIR}"/etc/ssh/sshd_config.d +} + +pkg_postinst() { + # bug #139235 + optfeature "x11 forwarding" x11-apps/xauth + + if ver_replacing -lt "5.8_p1"; then + elog "Starting with openssh-5.8p1, the server will default to a newer key" + elog "algorithm (ECDSA). You are encouraged to manually update your stored" + elog "keys list as servers update theirs. See ssh-keyscan(1) for more info." + fi + if ver_replacing -lt "7.0_p1"; then + elog "Starting with openssh-6.7, support for USE=tcpd has been dropped by upstream." + elog "Make sure to update any configs that you might have. Note that xinetd might" + elog "be an alternative for you as it supports USE=tcpd." + fi + if ver_replacing -lt "7.1_p1"; then #557388 #555518 + elog "Starting with openssh-7.0, support for ssh-dss keys were disabled due to their" + elog "weak sizes. If you rely on these key types, you can re-enable the key types by" + elog "adding to your sshd_config or ~/.ssh/config files:" + elog " PubkeyAcceptedKeyTypes=+ssh-dss" + elog "You should however generate new keys using rsa or ed25519." + + elog "Starting with openssh-7.0, the default for PermitRootLogin changed from 'yes'" + elog "to 'prohibit-password'. That means password auth for root users no longer works" + elog "out of the box. If you need this, please update your sshd_config explicitly." + fi + if ver_replacing -lt "7.6_p1"; then + elog "Starting with openssh-7.6p1, openssh upstream has removed ssh1 support entirely." + elog "Furthermore, rsa keys with less than 1024 bits will be refused." + fi + if ver_replacing -lt "7.7_p1"; then + elog "Starting with openssh-7.7p1, we no longer patch openssh to provide LDAP functionality." + elog "Install sys-auth/ssh-ldap-pubkey and use OpenSSH's \"AuthorizedKeysCommand\" option" + elog "if you need to authenticate against LDAP." + elog "See https://wiki.gentoo.org/wiki/SSH/LDAP_migration for more details." + fi + if ver_replacing -lt "8.2_p1"; then + ewarn "After upgrading to openssh-8.2p1 please restart sshd, otherwise you" + ewarn "will not be able to establish new sessions. Restarting sshd over a ssh" + ewarn "connection is generally safe." + fi + if ver_replacing -lt "9.2_p1-r1" && systemd_is_booted; then + ewarn "From openssh-9.2_p1-r1 the supplied systemd unit file defaults to" + ewarn "'Restart=on-failure', which causes the service to automatically restart if it" + ewarn "terminates with an unclean exit code or signal. This feature is useful for most users," + ewarn "but it can increase the vulnerability of the system in the event of a future exploit." + ewarn "If you have a web-facing setup or are concerned about security, it is recommended to" + ewarn "set 'Restart=no' in your sshd unit file." + fi + + openssh_maybe_restart +} + +openssh_maybe_restart() { + local ver + declare -a versions + read -ra versions <<<"${REPLACING_VERSIONS}" + for ver in "${versions[@]}"; do + # Exclude 9.8_p1 because it didn't have the safety check + [[ ${ver} == 9.8_p1 ]] && break + + if [[ ${ver%_*} == "${PV%_*}" ]]; then + # No major version change has occurred + return + fi + done + + if [[ ${ROOT} ]]; then + return + elif [[ -d /run/systemd/system ]] && sshd -t >/dev/null 2>&1; then + ewarn "The ebuild will now attempt to restart OpenSSH to avoid" + ewarn "bricking the running instance. See bug #709748." + ebegin "Attempting to restart openssh via 'systemctl try-restart sshd'" + systemctl try-restart sshd + eend $? + elif [[ -d /run/openrc ]]; then + # We don't check for sshd -t here because the OpenRC init script + # has a stop_pre() which does checkconfig, i.e. we defer to it + # to give nicer output for a failed sanity check. + ewarn "The ebuild will now attempt to restart OpenSSH to avoid" + ewarn "bricking the running instance. See bug #709748." + ebegin "Attempting to restart openssh via 'rc-service -q --ifstarted --nodeps sshd restart'" + rc-service -q --ifstarted --nodeps sshd restart + eend $? + fi +} diff --git a/net-wireless/bluetui/Manifest b/net-wireless/bluetui/Manifest index f64365becbab..da8b6844bfa6 100644 --- a/net-wireless/bluetui/Manifest +++ b/net-wireless/bluetui/Manifest @@ -1,52 +1,77 @@ DIST aho-corasick-1.1.4.crate 184015 BLAKE2B 088766e505a828a221a9bca29cb1833ac3964a538cda62d12b723a263fe0e588406af0b710cf87ef67b0ccb9aa3bf69f42e0e5225ade47abe93c73fcaca69ec1 SHA512 c77e35191b00546f5e499fab154170cedd619599e7250f92db9fba0a41c833eb426f214e58b00c5c39f8757406b33492b3241cb8cb233ce384ad0683c3ee4b62 +DIST aho-corasick-1.1.5.crate 184315 BLAKE2B be0ca3cb1bd0d43d06e4d035b18068ad6cf167832ac4447dba8243d2241de3fe62cb7eeb2b03afa48ca31f415ee3b56afc541e7b4e0ccfc8768952a4f8ea89d0 SHA512 324012ebcb573740ce56c7ef217dcf2bb849d0040e022dcc39aa8a46750088a2c26271016bfb6b1bf7a558d0c4bcefc004811bd8f0afd7fd000dce9bf0206643 DIST allocator-api2-0.2.21.crate 63622 BLAKE2B 983897fc977118f220dc4af7e801ac08eba77bfde2a25d756bad3e77f849418e74e7c67eaed68e2d719ca7fc6e1e9ce151dd7dbe8707dc43d4a6400294c8fc8e SHA512 1bb5711ed6041b0d7eae2ec784b8aa9d215db0f49cf79c692946eeb0db545d358cbcaa8156ae34e51d05287c08574f1da251ee574f2392949e4ed26d04770d03 DIST anstream-0.6.21.crate 29516 BLAKE2B ddab9728a4824b1682a84339e2c5212904fcf878867c8ed7604ce045d4ba6bae0f129e73968e20d58a9b2e297ad1b6ddd5557907d3b6ae9253e3127ea901d40b SHA512 909059510b778f606df779d5f8ee69cf721072e81f933eb5f5fddaa4d1586a0040ba7456165d5db16c812dd654c2dda6b929ccb997310b507f1b79846ca1f402 +DIST anstream-1.0.0.crate 28916 BLAKE2B a9198a66bd3821349f83d7837ba7546a12a74a6f57e179e480bd6bf4a75848a45dac9a19a27c5e2cf01520c7e917d380b21ec16e4485f69bebe112383ba273f2 SHA512 36bf11821e8bc23607a54842b47950782806ebc7a56233e3c458345d79986745f6ba878e39964ed41404eb5be58f78d0bbcdceeb86d523ba40eedd15f7e1f29d DIST anstyle-1.0.13.crate 17651 BLAKE2B 026d4163f4bc8d1677d0830dbe46fd335d18e50420d2d809a675609c1e020f7e3c5e69b8d0a7baf5f42fa2321b6230c619a93aaf8e02ceaef638f8006dbf479b SHA512 1a92c4bf6ff7262c0f5fe72ff66eaf11f0c84e84a06746767918903c0416ba5d33ac54ff9a2c6cde37e26bb2287675d3f0a8a7efa95eb013c9be388b8139661e +DIST anstyle-1.0.14.crate 17787 BLAKE2B ebb3b3986c06628ebfe71665216de68f123840093013fa16c030c25e22ff0731cdcd7161737635c532d45ad0307a1b7f951859a40dbe1c812b3e905550b33b90 SHA512 2e7bbaf0794d209f0f19fb8709214c1b1109c27e14d91a8adc232a9bdfe76e653b2b86e341d71f63903e034c81f6ed63ffe7f123f6d631c0f8d41b56d70037b9 DIST anstyle-parse-0.2.7.crate 21707 BLAKE2B 41d51d4c026e548a9428f5fd8dc85fce964e3f1cf709820dd53d216af3065a4ee069de8c5bcec5eae19b99172f60e89034a2ded6bc787f3ea4159d5d30de3984 SHA512 3e0920594dfa15f16dd308d0da81d784e6a5d6fd7a3b12cc1512fb625369ea7b4550df549e3be961906e2d3105f72ecb86b89dd6f5817c2c982929ea26d605fa +DIST anstyle-parse-1.0.0.crate 22042 BLAKE2B 418cb53754b325354a76d75cd73652d2e41408911bcfbadf91f668e7d6942d92ae3c379194f1d38bc6aa26a9ad98c92801213ffddf544fd2ce29a1180179a8c4 SHA512 4394616b0aa7a591eb9b9bb758abd2f067a3fe673b060c02857f6d2210a2276c476f32512aa59aee6c5383e3261f2654058ff619d957bee93d62540e10d81085 DIST anstyle-query-1.1.4.crate 10192 BLAKE2B c5672d2982bef5702f5d592bea8b4336df3f24edad35656873accb4491c0b6f323189c6721a7f722e6aae31ea8c183a93e3d59a123dc1c150ad1c85640906e40 SHA512 b94c550b865d17c15b2ff1a41da4f7aaf3a5c0694b2188c7238cae8212d8390f759381a3ae5598c13396a728aed8bffd4e32fe06da51af0ba92c334124d26641 DIST anstyle-query-1.1.5.crate 10264 BLAKE2B e1c1bad89ad4c09e48f9d7c417713953f7f468f10f7f61e351137be801b5986ab3d21406411b0b23c42af4a2b5881b85aa68dfc66d23cafca7dfcb88180104b7 SHA512 3b7b888df0b678bd4560981dd94a51a6af9a535cc1a869bb4577e832492bb6de718a3ac80ecf61f8857b3d0ed7b95e444e85bd00ef65a46c6a244d0b0eadd95d DIST anstyle-wincon-3.0.10.crate 12558 BLAKE2B eddfdfd0bf8ec9520319c3bc54d627be3ecc4d931181e629f5ae4f1352a1662476060a25639f390825405691ef22befbc6f1b51d79047690fadbc90993b9ff5d SHA512 bee4e8a76185a359e6f6c0cca11ca322a8ff6eb92a1659986bbb2287c5e198f3e9cf3e48c9d980b18fa012b5d52f97cd017770736be27e550cf61be553982c8c DIST anstyle-wincon-3.0.11.crate 12638 BLAKE2B 01f1ce85205ed3e573daca145ae420e9f7d78867fc036133be74bbcc9b83231ecbc681b57eb98bec622bcbaaf4bb293d05d3021a29b49a0a71b8ab89b0ae9dfd SHA512 09c3215dc6cef75d6282078e68c5dbd51580b6c8db79a77932d2e74a51d29cb0ef23c31b8a73a71896a45eb5dc5f94aee209bd8f6e5df4c675dabe3cd304a96b DIST anyhow-1.0.100.crate 54059 BLAKE2B 3089cd4bac1a3ede11c5849fabf12735392ba2910f5d5c1117cbbc9fe2491855745879690522988ac343e210783f8d885f13593b4d0f3a3816b9a8c35ef2eb7d SHA512 1f0c072aab9490d68db3783f078c6f8a4d96360908fc6ee3e971b02fb72b9dd5e689dd385f0e93388a87e0dfbd8cff0e14a280b40d55f87646f3c0e558e779ca +DIST anyhow-1.0.104.crate 48819 BLAKE2B b74402bcb5c566403e7f768a8a240755997ba3cc2093e132b79b7a6ec17ffcce1aad44ad0d96a451d2ae7bdf5cef655762548dd30ed3121f7b6f3e65bb98d461 SHA512 5de699d3fffa67fad1be5cb632de87c8e8ca026e480ace9eece3065e879c7996ddfd5e11b9a0b0ce002a880616e6de1de71ee73b268660cf30525bdf3ea86ea4 +DIST approx-0.5.1.crate 15100 BLAKE2B 8fe84d52263521c0b72a1d1e82ed283828f680b8b56f532df2c14ea86ca09e793686d823c5d58ecfd7a829948543bb375e85223c866cf036e9432be5d6aa7399 SHA512 c6d768496c974b6ff4cf7ad8e65f3fc9faf29a1957da497968ee112c6a0b9d7a0ff9a2579206e864976c0f65ed2190bc9d2b63b31a09ced7b57879e207c46407 DIST async-channel-2.5.0.crate 18624 BLAKE2B d835b923d9c99100e499d72d34515bbd041bfd087572ba681f0a61c9237f5d2af1d4abbeb9572ada694a3609aa19a14ba1160deb0d6411a542ee73cb6234c5fd SHA512 621e9540972a4a5d1b6cc0fb02a507cf66d704dab5411b60c44c2b65ab21c3f7f7bdf9c093e7498a71ada6573e429a4b426506c96c5fd9e3e297a76930ca2f83 DIST atomic-0.6.1.crate 15243 BLAKE2B 68934373e2f7ec150a2d41ca1a3db23d01acc5caf43a55b72ac83dc03d5cad0a058c62369105db1901f60cd27b7a37ecaafd272d4904b802e0af61e00d25d316 SHA512 ece971998331bc4f552f7271e7a479555e8c0de2b5fd122b24c218743557c5bee05d49501313e64b5ce7dfc0221f8184b57ed449157812b11856452cfa8fbc19 DIST autocfg-1.5.0.crate 18729 BLAKE2B 27580e39b366c6fca02c9db09997b6415c409f12068f1249184268bf96fd85ba659e25ec730f99e10caf452f96c486f3d7442bf09c4552b5f39519b21d6f88cc SHA512 f279856f234d39d369623576acf9546a1ca24d7fe449f36d4fb93ea75a7efaf2c4015b9616a69bbbed358c5e5882e16b045352f046aa4c049b3d13b1e8257b08 +DIST autocfg-1.5.1.crate 18911 BLAKE2B 0547eaf76e14418f5cc105f1127ea6de3182e8960e808008aa536f5f85849dbfaec334fb8ace1ddfa95521ee289c494576eac7d57729f06385f911d16419872e SHA512 4d7c168dd8e98d74b09a2762dd95c9912b903e9785ecded165098fc58e20ff35c80facd7fe5a6a5523250fc34c1e5fc509ab93c7c68bc3b2334ec0dac3bcb840 DIST base64-0.22.1.crate 81597 BLAKE2B 6f216a560bd36e6e6b74e908344b457594cc768d9763070e269b56a14b150cbfc4b7f599d4c2a0a5f783638170ee132f0796fefb14fcac7fd73c58db0791007a SHA512 91cf2e4e7fc8815f9b8a86a7fa722a20eee3dc1dd57111b29e420de87ce7836bcdb1db01d3cafb9a977710ef63e7cc41b7772762323e68e0e832156858aace20 DIST bit-set-0.5.3.crate 14470 BLAKE2B f6525500a494236103df2b27e964bae0b2caf718156879f972b9972fa509794bcc663c2130e3d872ecadb7ead0982b415dfa4468ef12523ee248fb1bbec2559e SHA512 c5ce7ef71559706d996505e138ce95d9f008ac3375928012a36339bfec48986ad935b384e2d21fa0d505d4cf98bd3e93be15955ecd9607d253b8a276351334c6 DIST bit-vec-0.6.3.crate 19927 BLAKE2B f5bd3bb9c87fdf3b206739b74df20cab50a1a45af3a58b2642a5a061c26207884be58ef8369a3cd06dfd3615bff0ce15915fdd4b6b6f03facc4a0f86c0b7e910 SHA512 b4b4a82c80d0ff13527ae4fff449ac9c1c7bc519c013af6ea3428348e0e5b9306b725c0a13a42d7d9dcf0f895a9eee0c63695a2503eb7fd2200083c9ea3a9aa8 DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62 DIST bitflags-2.10.0.crate 48427 BLAKE2B 238a6da813eb2c5541ad470b97b9cf6ad8004095d2a8e865b88eb2301290b7bda22e5b062ba66a04ff0f3108a84d4799af0786b76f785fb5782bd847876549c9 SHA512 6fcdaf250ca6e74b65ecba755d62c3e78f6c02ce1a9562a3b17bb2d6068a0df480ad9c838ce427dc2d2869a9dd1f86f2fb1dc1e50a114def77fd24154b2b86b0 +DIST bitflags-2.13.2.crate 51678 BLAKE2B 8bbeb87f475eae13e691f12d3cf34f865dffbbaf44e400f99a406b487b59be9b08b3de07e7a3bfcf2a5d04d3ffd9af23386317e964d062973347279bd738ef25 SHA512 362553b15e7f09d30f9aca4c1f991f040c446aea4ae36f46ec9ea460a0cd2b98052fca4b56d2ef48147cf1c73f3f8782cb579aeadfbfdd2a22b55cd4b096022b DIST block-buffer-0.10.4.crate 10538 BLAKE2B d819c4f9c4be85868e8b105fb7e479d2e58d3ed85c3339bd677a3e111f85cb1ff624a54d7802ab79a6e1d9221115f66388568340480fe83eae1cb448f19f5b11 SHA512 b7d436d8e627e16e6ddc300ee8f706a6cef28ff6f09eff848eedee46f84bdcd03601303c92ab8996042e55922866a59259948177c0a4496eed723523e77f6fdb DIST bluer-0.17.4.crate 168365 BLAKE2B 04679ac8b7da267e2fe4de97ec9eaa3747fe52fb58c2e927fd196893c36f5586a3053395871d3b1f74671b90f9db4b3323cd09c48e6f1504affc49b674192191 SHA512 fa04072598479d9402d45b6995447aa7a655333989e751c658e866c996623ffe75d8120ae1ddaaef9f74ddac35b8ef7cd1b0e6a2281148cdb84fbc20c9b8d808 DIST bluetui-0.7.2.tar.gz 49616 BLAKE2B 7dc73dc8f4cfff6d9e1d5274b88816e588ee5fa864ade74e8d673516fe1b6ac9ceb88f2a99d98f7febd1c9dc2391e93065c428489b300c2bc8aa4fdfaacebf89 SHA512 7d0c0be33280bafab15e4826d7555cac477a80cef04be8df1528c30ad70777608f135da53bbaf4f1a80f125bede39eeb30c073ea551b5b8dd7379d06cfc80de5 DIST bluetui-0.8.0.tar.gz 52543 BLAKE2B 830a8dfb9e330bccaceb0f760ae15bca8fd33da523d0c241168c4bfbd504fd790d64507c48895e3b4651030ee4e1076085c708d712f3923475aafc08b480eed1 SHA512 f8fba48b2cfd8b696b7864c3298453f7d0f712787a451ea8ba3a6f4532ed2956f608c4b7a13eac7e10191b4eb46074d9cfe0803299efcdf8f54f84a120cbac62 DIST bluetui-0.8.1.tar.gz 53962 BLAKE2B efc49b079fbeea516d26f57e4d44eedabf17d8013dd1313fc48e554ee7b7f3f37300919564af22feb0b59112efde6a0c74ef6bd9728fcedf6cb24565147019c1 SHA512 d131fba89e65a1bbfbb67de3e3a0d0db262bf7cb9dc795de1a63af2cf47b2c8bd73f5da4604059991796442dcbfd1ea5e7063f5988b53bd03b8b2fd16d5756ad +DIST bluetui-0.8.2.tar.gz 58746 BLAKE2B f7ade76f92d62f39b57105ff077425aee7e9430c85ca56f3735951b4b25a0ee059032adc27afb2f7c1a3a40aca323e9425d3977c84afcb4cd7f8a6281ad98c34 SHA512 cfb966878df4ca3b3055eb404c943a4749da040a5f42846603768fa60c70045fa974efd0fad32ff5828212364f8c8c1f43465f9f7effa850d82f1eacff697a75 DIST bumpalo-3.19.0.crate 96414 BLAKE2B f8c155f77cf977d72749f3cb943a6b171dfc4f67135da345a935ba603f2b52b5feafbba908b31feff391128196c7b0088f6f62d5b37bc4d2277fc0fb9c560b54 SHA512 58db27a643c55adae07061100e3604dad0056bacd42ce1142bcc34249645e9313e886c3174a755593544684fcc632f134f9c6066752ac695254fb9ecd40878cf DIST bumpalo-3.19.1.crate 96477 BLAKE2B 8716eecc9918c69dd07d6840f9b55114e290de053fddd11c187e11fb396d8a8825422378ec7a2e131674546d158b909a1a4c3e29d52cf3ed001658333c153807 SHA512 105a84bbf8c2b8fc130055713eab7b598c67d34ac01fe95b4c9f10fe956130870c0d12ac237c5dad3a44991a1b8611e5028e749024b6497d6b2f8a2702a4f655 +DIST bumpalo-3.20.3.crate 98671 BLAKE2B 0b658a45105ef71b599d028f8ae735bb10e843c534eebfa35d156dcc0099d137bf24179ecb5cd7d334d60f1a735897e746041975c22a6877ce88831fba050e86 SHA512 c0e8ebd1c9eaf0a093370251a8a4993f73ed925a95ec852173649e6716741e38fbe1b1bbe15dd7704722fa67e3113f82a76b3e9edb5691f3b5c68a3a55b0c039 +DIST by_address-1.2.1.crate 8437 BLAKE2B c1dfdb111a7c9815bb084fc44f1216d45da6ab401b5b646a6eb93b2f7cd77843ac5559f0f390e006ef77645ac2fd814ba86b10e586798b96b02d928d0526ac3b SHA512 f19b8397386913892241cefb1ad71c152280a71e63d2b42e05579e10e3a54ac7a3fc4b706fc1e5e571da7b77b8d483057c9d76f91c88975a970d48f62d718ef0 DIST bytemuck-1.24.0.crate 53243 BLAKE2B 472563c13565b62378576597a98c8050117940842846f2fb711fe4fc251e3bab19ed8f0d7e8215c880f06638684f1b8090afee598c730dacfe536f53287dcd69 SHA512 4e3b8071b7dc3b88104786f007f2fb8930cf252fc6cc04ff0c1a13873cd272971edcedcc9231a2a44bbdeca9c831f4c732e6917581420f209003b47761a8ced8 +DIST bytemuck-1.25.2.crate 54075 BLAKE2B ba97ad8c515175148053e96d68edab1f83bfddf5d0bcd5104ea97f95fd18f451dbea727edf28f3ec9b10ddf7fd58d4e167b4aadb9646730c28d32b2a11e59e75 SHA512 ea5149a795eddd4580f1b0b2bbbc6f15ef5cb955d69f16840fd5ad2fb3194b006e410471f58f756f66c0e8255b2c1258a9de2a2bbd67a6cf78f5d32d63ce3dbb DIST bytes-1.10.1.crate 76779 BLAKE2B 96573ff7852cd2d4f37a68cb4d76bc43d2018dc25b7b7e2164df022de4e1974f22d4d3ea7cbfb280667650cdb5063d600f4f76cbdca43dae508f29ced449b0f7 SHA512 03429f01927b94ba6c958c46b2e5bf92a23b39ce9385689e21accd34a5d3be01fd0f665f4bbffb1f7c5bdf1edfb1bf11d5ccad00eff0f9388be39fe2f753d296 DIST bytes-1.11.0.crate 78391 BLAKE2B 9efcb5e5b93097d7405543fecb8962f5794c91b5e7186f4582e4d6886075a5bb5d3502c09ea0a3fc72c1381862f8700312a27607ff3534e7b476bac330924a4b SHA512 0f9315b9e6bc54b7339314c0ca2e01af61b4e59548f9e72ed54990e281266f614ec78917529779fb33cc2037a6ecc9595d531674a23eb3884e72759907b4a883 +DIST bytes-1.12.1.crate 75667 BLAKE2B 7d55894cac09ca8aaebf352e3e524d6a7f53f3f72f6944b8725c6972e944e27eef7e7f57dac432a3b89ceb8b01546e398771a297d0384f89cac5a4ea3a157a96 SHA512 1c548cfd8d65eeb84342c4678d0591470cf6ca80fc3f549313d2c937d7549de6ec2ec15e7def761c246870d81a55607c38faaad0d28f9701e408cda04f7152de DIST cassowary-0.3.0.crate 22876 BLAKE2B 7e74a08e02050548ade7dd1ebba7ce4e4360d258ea6acf126453889dbf16df433bed7b68789736881c957f4c09eead1f763a0c02f2474157b1650a1e77e6eca9 SHA512 0838c0b79ed31f0c514fe4ac82633976e34b0d6cb08616313cda0e00623514fc6498c6c308cfef54ea029f1fdbaafe2991ca8ac3c38437a113ac62e37f9397f8 DIST castaway-0.2.4.crate 12546 BLAKE2B 22f5199928387778df87086aa786bb25b79e77040d7408b601a2c5d07968ea79c018d3c69b3dbb6a785edbecab000621d5921b69d628ab6b3a9ce43c79615d51 SHA512 15b88016bbeae50146401607549b077b329c9bbae25768536360a964bd5c3b598feedce0365ca4b2662c7b94081062fc469f6a1049fc38187d79daac77b20481 DIST cc-1.2.53.crate 93555 BLAKE2B 1d76b368a2aa6b7e07db3a1c1050ecb9932f698d6870e436015649adc1744155ebfe0a25d1c5803bca024db5b39b9c6092779c9937a8fc89c0da11d6ecfa0a2f SHA512 a1759e2f5f43198f6084752600fed136f360d5722cd11466f5653f401eaf33371f31d0583112c122d58c81c4638afb856f23e1662f38ed97e98bc426cc87da0b +DIST cc-1.6.0.crate 116280 BLAKE2B 4ee09d40c50626ac4fa43c1f5345c097b5d86f787c06b42a1539f3d68a844c2172ba4fbd8d05df95a70aae74e36aaaaad45b2e1527f32dd787c675fba3909d57 SHA512 988b76ea41c94b3ded0289068802bd2a0b27ca2b44dc85a3cd04d686984ead081d754b86255bac9ec6baa05900b7cfc54d8902ef714284746f5bd5837326d5a0 DIST cfg-if-1.0.4.crate 9360 BLAKE2B beadbfb273ee97cbb6e3740891fbace57511399ad203459b66b397587d794677a9515cde4e9ec4320c3795518bf1551d72b9a889f8ac4b225168f493288b7c19 SHA512 176e04df7ba783b7143bb84397b777f5c5a1305c08a5c3a218d4a66830620be89ed68992ba27686165bcd3fb2f34b2daf80b2a1d4b481ecc267c988e84d28e9d +DIST cfg-if-1.0.5.crate 9578 BLAKE2B 34d99ee8193178424c3fe35b33990a621d88a5ce94e9166357a3a8b49fc73ad489f56dc52af5a21aa85a416b575db4e93819f3057e44022fcd6bc4fdedc2a8df SHA512 5f93906e4703366f5b064f44c5d834cd402240a7b48cd8f72a40bf198430501f5939507c8ec5235affbdb5004ab6fd13a5680f7716544c6ecc6ae9c19512d75d DIST cfg_aliases-0.2.1.crate 6355 BLAKE2B a758d9c88527f0e6e7cfd6d4c83eda1bcb4d6e2438189fe08e8ecbcaa78d56afc5a4873f3b82bf7da96afd690b44cdf1e44466b6da0f37c358b340481017103e SHA512 74969d12d5d24002a29e08d52e30fbce014dd481a7c35ee0162e69333c5f2d7755f3b02439b31522e12444cf1ac8e65880ce33fe6778dac03757e362cbf8a72c +DIST cfg_aliases-0.2.2.crate 6527 BLAKE2B 4e0899cfdd5a733df2b66ae16b9f4b427ca106cf68c566e46939b7207dbde153967f0fca7b2277b6ee1d0802deb1703022d946be80d32c9eb0286222bab3237a SHA512 20d2f19d63f5ffd82e289ca4832310ca86d1bba9d626e82f8c29c80dde566f2d895c9d1c08524c954575529556d1d6f466217da69d726c55f779e097216632d1 DIST clap-4.5.51.crate 62030 BLAKE2B d5f917b94fb1b565e7f8c546f10fa9f7703a576ad80dacc49cdaefe56cef2727167fe6bc1114db08bb7a82cbc9e3517a9996907558947b758b5870dd63de6b0a SHA512 8bd93b9b466d3508b376d6c8c0ae56bfab0d975b8ef8398861ff6cfbd133681c2bec6b224446f54cbbbd74e37c9079c14f90d798193726d59ce291f49a11d071 DIST clap-4.5.54.crate 62028 BLAKE2B eb0a5188ee58f582013cd9c46c92831ae8c8e21f0ada88ec4201a48d47cf2775df2c581c49e6119ca9ce97d2329d72aa1535165063c58dccda6bad9a83fbc85e SHA512 a97624ba82ae13a9f112f6c3d23a8eb4e6ab21304340553a2d34ef13e472f67685d68ebe2ff48e8b25d197bb7c3eeae0a3adfa69f2adc1ab4e6def3edf86d523 +DIST clap-4.6.7.crate 65831 BLAKE2B e4ae6a0985c452c2840711eff47611724485533f9ebe687b25f571d23a492d05f41adf520a75e5a2c364a18e3e1a8d3d90dba19409a197842d249a8ba78f17f0 SHA512 461ba233b8d6fcbba51b74a3954bd0c83cf4a29809f8cf73a56927a04b63e973506d42eab19db83ac2ecc4a381c265569665a7d8b81dd6753ecaa544095e6f2f DIST clap_builder-4.5.51.crate 171077 BLAKE2B 81acdf463aea8672c9a54339bc56d802f1cd6a64bbe85bb1b460423ce7d617fbc6ce5dc0aa890d53eb771e317a2d32f057e98fc0572a9df91a051c103b42caec SHA512 7adbaae4e4a01e0aa65908b13a1ccc072ba3711c56b20602b726e2e81c6923803dfa47607e61b662efd6dec6d93a070d2aed4664252eab97d5c80bb6550f9208 DIST clap_builder-4.5.54.crate 170854 BLAKE2B 68ccc19d273270913e282c71bab509e59d46038dfa38db68b99fb02c3e09752e04c2e98af279022fdbb19b29d621939a35049b460a91432bc10a37af2fe3c18f SHA512 6b567a2fea4e85b28d054b0432f527aadd735f730604534ab632ae7c70578bb46635d409d5cc28081d32bb6ca02ecdd17063115ad02996eff8006099d2dd838c +DIST clap_builder-4.6.7.crate 171709 BLAKE2B e0d4735f1b0d70a3f83af1555e06023a165e6dd0995e72f70d5df8a5bc2fcc2b1b4515c3257c319d983479b44925d3a3fb8253b6d928bf66e7bef99315d6b505 SHA512 b86750b56cae3f23fbece3b56a18b9c17f49b4564ffc0e3cc0d7f0af921a335f5c96f2ccb602032ca692d896d76ed2a47d72a0f10325861e69335ba8cf43eeaa DIST clap_derive-4.5.49.crate 33559 BLAKE2B 453aa3774705de9c8cd77a25931deecc085efc85f9e63dea413c9989e445cd79886bd05c8f871f0203ee3003fe48805151fc42e50c66a1e05e6f6f01c5fc5e48 SHA512 61d2b9597bb521cfd31a2c77af687832dd5e48f8b80dacce3079f165d6629d58f000c18a956fe948b1ad99776d75caf4e6b9004f63d861b8ab3b68b5260376dc +DIST clap_derive-4.6.7.crate 33942 BLAKE2B 0d6130cc5b7ca72e18e4451d284c7e77f6379f96b78dee1606438471e398e7995fc0b6ca94e9594a9c879430f968b3138c9a4c0b20095c153564e02f19caba45 SHA512 630d7d45654df92930db9e5bd39535f314ee4581e9a1dd7e2a067a6193828d00e7e286a14b269557d67afc9ed8f50361de8a0129673e2c478cfae66a992d9c04 DIST clap_lex-0.7.6.crate 13466 BLAKE2B 723f306a9ae6c1fedd6b85fade039cc2a1dba51aa4412972025e0ff1aa8f15742e090dec61df3ac17ea9aae426e96049a673f5b944cb164b649ec1809477ab88 SHA512 d248b65234f201b2cb867562ca3d8299e79d348874547639b31883c6eac8416d3d6394e5b0047ad74f1a2c37e7721375c76bcaed1e60d13c3f1937b20ad9c54e DIST clap_lex-0.7.7.crate 13474 BLAKE2B 609eeecb32aef3e1b3ee773af7f554867e8a06d4c5d1d2f42b0137c65825fa27d50a4438b6186bdfe790ad19abda6f32880e679361d9647b0dc197d3d3869392 SHA512 08dd03c26213527f3900a47b011b17de36c3cb50405adc0ea8ea6d06000d8d8b7fde1ea84bf9c426e6e8dfa8cb6b4396bf4291a9058815b93f546c069ac4ff66 +DIST clap_lex-1.1.1.crate 13572 BLAKE2B 9903f72059f27fc7cfa9cba6165a78f2efcfd413bae1c582364b85aa6f850d94c91bc1c5e200e4e4dd82a6aa1731c8cfb68c0385e95533cc077c0b63486996e5 SHA512 416d1f428e8fd275b6da84c77350b405c584883a96bde775a489782dfa3df2968a9988d528dbf05fa8acbe4cbda929f5a268e48e7c26b5563c63decc83fb114f DIST colorchoice-1.0.4.crate 8196 BLAKE2B be97be7d875cdd09cdf3f2594f0e7ed80601de62bc907ff70053317b9d48e889b3fd2fa0da5e6a681fcf80b24be5e16089289e3dbdb68255b486c18c517c55f1 SHA512 0bc6e55c3909e7bcfdf198d5d68ed8b588b82a72f53aaa41efeecf9dae2d31e6c172a7ba922e000fd7cdf6373c13371a98e7da08e6988fdcfbf20782dda8e4e5 +DIST colorchoice-1.0.5.crate 8187 BLAKE2B d6415c5b337e2f4f5176003082e6e8c52f55a45ff959376e7a3f30e5aab1ecd3f84f9cc5e7a8a720398c1b58f99a07cf042695adb0b35178931178cc8d77d2e8 SHA512 af3a5e7e837b280cd8f0578d2ba2a04443d4c5a445577f444af9edeef6cdb47de134f77b07ceda76ea6b2c73b9c10e1d7e3e1beabfd22b85869585c35db88bd5 DIST compact_str-0.8.1.crate 71371 BLAKE2B de7fd2b980a4b34b323010fe559a94e8b1aafa30456debc039aefcdaaefa48439353139a071e440b3bb136df166aabe096774bf3f6a7b91669cd5d80e4a24408 SHA512 146e2a6be6cf948981d51f9034f0aaa1a1563debef58ca7fd3110093b0f4333a9a6a3c5dc7cde25b936d8dfba72254bfacb7814f86167043431ded9c5797417a DIST compact_str-0.9.0.crate 72135 BLAKE2B 11b283ad67c3f70f0d311393f82e24751475a884b78c7055ea9a4708c8b2837a0fd6f1553436ead2f0994828235d6462e8d3b832f1f7fe1b5be5204ea2099321 SHA512 b5de4798ed088d4bf15d39bd57bd390f1cae946176b7a5d3576fc56493775eeed832d851c552d847c2f66717e15052b39ddebe6ca5ae68664dd759a226f5fbcf +DIST compact_str-0.9.1.crate 88299 BLAKE2B 5fce3177cace60b016ca3d36d0579072ea13622cabfe524101045317a9b927ca69184ff71688f2228667d86904f50adb86d5db63987dc0dee594065898e615d6 SHA512 0e277e6a6b8d026a111d45a602766f802ef63376dcc1bb0a6d1f7ab9a57ef4492e03ae51a57ba10c2907be8234a6b491383d7460f124f1330e897fcc3a20b870 DIST concurrent-queue-2.5.0.crate 22654 BLAKE2B b490e76804e45d6a7af6bb4ec074fb370d9ec7cd67c7ecfb55d5ed53b9b437c174e678add915303559e902ac81c8751dccb2c5ef0543d5961713372fd2b08d3c SHA512 235704f9161dfac60d2a6d2cf96425e39c097dcde2f005187c1f044704eec66d8303d59352cd414a81a3ed0eed60421054b0070a9b8f69065a79a2519e913e5a +DIST console-0.16.6.crate 38757 BLAKE2B 2776ec7c82f79e5b89f18a17703d6c60f5d333b2ebb9168a7d1e681f147793b8fb8839655530c933baa65f963fd2530ac7d576bb4c55bfdbe6491076e2427bae SHA512 a4a652bd3afa341dc86936041c2115d443f05feb6901b2569619e8ed2c02a547d13c1cdd7b74880a2635af326fae19a7cb0a65454d1fa04c0461ce030ef24fcd DIST convert_case-0.10.0.crate 24083 BLAKE2B 62d541eb28d7ee69664a4344d794e19adf27ab770c39a536cc490d6c91f3d6d522cb788bfe2cf694ecb02e1c8059f4df321ec2b52e8d722df02866e30f11b758 SHA512 f96a54fed1a158c007cf32d68e0ebdb94482c36e53cb5ac0af0ede5970094f2eeae76f161d56a7fd9766d0ada199c65d850d50dd2edd8db661cbfbf80903b9b4 DIST convert_case-0.7.1.crate 23816 BLAKE2B d2e0328f32b0a928e8dff24a3b6ec98d7675c0a7980071cdcc40ac7502448e50f34c6a4d5978cf15b1ab942c8b3bdf8b15e7ac9265f6d8ffe74979c8f6e5ffbb SHA512 1ab8fcda989f6f6c660be5f450b3bad594da4578f5aa2f067ebc3a132117dedb50d993f97ea11e3d6b31e6aff2dee0077d6f02782b5ce3e1efca7c1c96d420e9 DIST coolor-1.1.0.crate 137173 BLAKE2B 99f31ce8603bcd971f6807d7a8d99a8c11c5ddee5917d0324d6920cbfedd1df4f60e14ab6cbf748dae7fac5a01f5402c45496d13f41f5850a3bd35f506304ce6 SHA512 0e8a080b207c8f3ea4c9410ff5050aa759895aba56bf36afd9ae4edaeb967aaf2f8bb0423d39e84f10dc77251b0282259bcbbdce4d9383d9f2957d6eb288cf0d DIST cpufeatures-0.2.17.crate 13466 BLAKE2B c6392b635542a6fe29958fabe7ce725354a31e24f6f144718553218247881013f56659d2efc671d47394294373db2d4ff8f45c7cb520ac22f2ee5c462858a1dc SHA512 9ae64656a21cfdd0528d87ba95f6213860bf72ccdf866019e65ed6662633e73490f92c42c80125559b3dbb7822090b5faa8ea564c562e04041232809ec2f58a2 +DIST critical-section-1.2.0.crate 19133 BLAKE2B f9acf6f2a2798ee942eb50c7e3ddc194f0c5421c781edf96771b1c4b2b5b895d480cd898581113d23f0cdaf3f63f8ef6eb6c9175e0c2fc18163b05a9c47ffae1 SHA512 cdd6a107869122c9ad30449c4511f5ad3fd01458d2565a33d349478d71f19eabacffb26458e8a12b8892c3bc68f22a76717414ec6471d218130c8cf52cc641e4 DIST crossbeam-utils-0.8.21.crate 42691 BLAKE2B cd9015c41f532eb3c90101603f32d383f01e6880718b727d6d1fe46872ae276cda685e1b548cf77dd22bb1a05f0d4c4982332c2bde90e1743dbd7f51919022a7 SHA512 6f4aa7ca10c20da291c4714b56ceb1fab1c06b03b2f4e28e474e9aeb95ab6615a25462dc7819713652c3b5f6a06fa0f24ebc92c533fcf35dfcf2655857d975f8 +DIST crossbeam-utils-0.8.23.crate 47174 BLAKE2B 1a5ec35d66494cd04c1d35f13c95e5ef34e19597946882fe8baab13eca3da89bb6089c6c11f61d14214f4d1d54a3b6a81277f45460d120b61eff647bb3e436a6 SHA512 b6116e4440aa8e0012a3c67fba141ad76fb820fa56f4a76914da2c531b5c1dcd9bb7d8808f41379c67e2abdbf73268101fd6021d95cbcf9f1aee82e10aa5f18e DIST crossterm-0.28.1.crate 132275 BLAKE2B 30a5bf5b48a4bddbfb53726b675adfdf6d64cc387e027a69d6ab721f5ebe574abed3a862504f0db723a733662fbf0ed13163730a7ab49ac9c7fc05681a3545dd SHA512 0d53e328eb606cabc3e309cc6193b34a14c8746081a7b2c9645c1c03d66dbcda99656d629c0dcfcd43bada7a863df3e83fded6b642b2474035165ed7b16f7931 DIST crossterm-0.29.0.crate 136635 BLAKE2B 1a2e26ed0b04d4c712fcdbdda0c57eda292068fac60bbf65710de8b4ad9f0a59237bbdb010185cea65e913cd49b356f0072f75274b363b0b05d06aba640a61c6 SHA512 7dfac3f43b8a78573660efa2f87907ca00cead1fddab1edc9333277d8a2e83f50268859d0be979ae50106893047166c65aeee78fdf5fa941261698b1b66488d0 DIST crossterm_winapi-0.9.1.crate 16027 BLAKE2B ea63abf751aeab203f326e77260cfbd1de286be26acf714a083ae1262b0cc2a35b5cb6d0bd54f45b33c1942eb22f916141c5870aab34149fdb30faccf4d4642e SHA512 48eee242f477f43b69c00e3a5d4d255de2ce1774f6e73d869c5472b35d85af0b63f3a607097da8ace437b1e52a524ded4106767b83d4ec53c30c2e37ac4b46a7 @@ -57,230 +82,346 @@ DIST custom_debug-0.6.2.crate 3676 BLAKE2B dee7c086656bfd66b3d123c8f592098fe0a54 DIST custom_debug_derive-0.6.2.crate 4804 BLAKE2B 133e96ca73078f581d1d29992e65af1c0e368c532587f2e89aea2cd2cfe41a53eaa441b79a046ca3a9a5ca575c76120b97b569eec86b51d0b460635b22faa66c SHA512 3aea8af51649d3d4366943283c79f3a11c288ee295967178bca276293745ba693e3f625593ec41d8db56715f48e2efa47a5fd4683f07d8437c45df843f19cac3 DIST darling-0.20.11.crate 37614 BLAKE2B 9bec875e60dd2971ad97a3098ec6060d16ddae7b4f85c0daa1326ab2411516c2da2eff283fcdfd091087402643d1a8db5db151c7792b97f75ef9722ef8219eff SHA512 62532fb9ff5f63592ac61d55a3f899ab90bddd380212637f380ae49e4037c3a3058055f88a5b5fe9c707c2884dc1333756364ba7acff74b0184050d9a063d596 DIST darling-0.23.0.crate 43298 BLAKE2B a207ed640665664402ee07eda679af83e498c3de79a9e41c3fe1fec4b28071ba52acdb1f790d46b6c6c1744da96991c14f96002cf149e080a4982d5a74280b9e SHA512 6257756befa2e6a8b17ee21d64e8430071bfd1e8f72c680f67b3c15934e726ec24e30da37fcb5ea4f4b3d925f81cf4ea22d6c85788f101090b32d95f08bdb2e5 +DIST darling-0.24.1.crate 51607 BLAKE2B 1ac26b702945966837a03861921e6351c4c45150f481d7f73ea33d6e54f4a5ce555f23a9d06adf6fc8d7533eac5bfe5f72334f44eb8fd920d14ef9eb72e374fd SHA512 f46907701ec6e3b5cffbc3843b54d58a96ac586638c90f73aa540d35d182a05027e6bbced9907174a203ef56786a869fdbac0beefc7fe1d97686d435b6bdb486 DIST darling_core-0.20.11.crate 68006 BLAKE2B 7a112380a91d9e8bb5ab84ac50ee1e21e25aaee4757cd976e82fca912eb17941799f3367250af10ea36182c26ab4289d51bd003f6aa7fe686587c696f4e87910 SHA512 aa2a8ca52bf3513711ed97fda6825d9139e0bcc818d4bac7023455a96c035e7cd676d6e3ed9bf594a6725353923de7c2e8474de3081f6d35f0c5dd507b2ca1d2 DIST darling_core-0.23.0.crate 74564 BLAKE2B cb5d45b08fa8927d91f113a37a8eb77f632713e3feaa629d37a6a0fd20112a202bb8ad574a096f0ba7b3b870e7a9982c86641e1cb4f9e33fcee59a65524b5406 SHA512 52ac3dac977b7f1cbdc3c0ee545356495216af6d8a4f179cbb51c8bc80253cf028bd9b624b6f42d6354d913e7fc5ea980234aa2ccf383c8779ca70fde72591a9 +DIST darling_core-0.24.1.crate 83947 BLAKE2B 111f5007c056420dd6584b70584830b0699e191a44c1f78a766d7086218e455428b5ee64aac8f9e0bc8d093ce105fe049c54377612235367b17220c637a3af9a SHA512 5c5b9257d10b58b7cdcf4c7cb2c624d41b7da5926b8d1f34ca465347789af151b193626ec1362844bcac7f83eb89af49bdf42d2a98d34d8482b1b4116be0768e DIST darling_macro-0.20.11.crate 2532 BLAKE2B 18b7a038f1a3aa245f1089f5608d859982eb82f76c9085e96f21f42ba83a65a076d5810842a4fd952dd4ee65392fd5d4e478f067de31ffcbffa34db2ce933d64 SHA512 4884d05a87ba1638b7cdc0a3ee2718c38aa255aa19547388aa834abe95159a72128817494f4184dfd1aa811f1eda385ed4d4f3e65fc8735effa01769fbbacccd DIST darling_macro-0.23.0.crate 2480 BLAKE2B e81f6bb801e5fabf71fbaf966735e5388023f75e12b8f9bd32e2cd49608ce05625849ecea54db3d682a9d091f8f0348dd60777c316c91af5186aeb0b97e4cf1b SHA512 f6565876c9846b1295be23eda6decbba817c64c3e2ba56fb0009c2acb68d542481dbb033b0e753dfb1eb967f24f87b781869c8bd5018a7789066229a4919c8c3 +DIST darling_macro-0.24.1.crate 2481 BLAKE2B bc0daa29b2091310c81625f848d71ea3142773468264de47dd6c9abeee4c3fa0104ecf6525895c4e3da32e9e3e5c40631dbe6d33cfa59022d5ec82ffda888635 SHA512 085cb9b084d0f051c6f3e30e802bdb940563db3018177965c3439332dd9d0e02f0f4d47da9ee0f7f6b6f7082bfbf3abb08354bfe845b31d19ece22a273b53f74 DIST dbus-0.9.10.crate 106248 BLAKE2B 7824b53f2621bef9f041ffa57fe28402ab47c34e24c47662362e3ec54e6e6c6f0442cf25b8f31522716a5f542718e96e14a1e86b8dc88a5140c565f05b8fea42 SHA512 1f76ccf1140f612e79cb07ca878fedb263096ff9e07364bbb0b8a9dbf30e465e7e6896d4f863a030d262055cf2522b42556d201c945cb0c63e761aeecc824dde +DIST dbus-0.9.12.crate 105841 BLAKE2B c28b7c92b63b3f9170b2f5dd5343458cc4c9998fc19a8d35451858070c1ee406696ccb3fa344451411916e065a9fa92ada8c2671553f2ed3d6c5ddacb34ff556 SHA512 de3ebbcd3109cb03e16380bd373367ac7f55c915f99192019869f797d8a3f48de461b2d0875204a163781be72a646a70e0ad2c0acc6aaa41b27dec380fce8739 DIST dbus-0.9.9.crate 106151 BLAKE2B 213b47aac901b34f5c5dd6ada695e75460d29f999c67b8d8a5c03f4d92335b3f930efef49ba379b61b3ccd7ac882867f64858d2379ea4f9c3a5996f41fefa14a SHA512 86292e2843fbbdd34b73c1b386f347096520b18a33c13d201502aa2a98dd1587f5f145826a91840e9cbe65a53663a21f0fa19e1efee56b31c32380b93189d021 DIST dbus-crossroads-0.5.2.crate 44664 BLAKE2B 3f3e330dc7c93acc0566c20b44dcda01c36cc507cc7907fb1f730448e1648546fc3ce31fcc59283bf6b8b375cdcb49ae0f248df02e01f7430c590e8eca9c54f7 SHA512 987b80358831ff77392b622a5a86577e3e156bb793810185c432eb345ab99f98ef97ba8e483b9a1443307f3fba12d8d20ed8b570f55c6f1a5cbb511febb1cfd6 DIST dbus-crossroads-0.5.3.crate 45418 BLAKE2B c7e770700fdaf5ae6fcff8536867f07732454707dc867e7f39fe98231bdb3ea91cc85f7628b1ff74b219bb21e03056de4e0beac936cda4e182cf01598e8f320f SHA512 4f28afdf06f59bd69260501f98a822fe396446994d3804ee4eef08655535ebc85a17d5c318cd067dc079aa80f1c081b7be2604bb39240a73be2f1a0af37bd969 DIST dbus-tokio-0.7.6.crate 17545 BLAKE2B 67b874844d2120824101845d0022b4f75c1318658db52a1491bfccb462f476be7022bf3eb2c3fec1639eedb3ac0caf3c0468f034ab981d4c87f56cecc88f8709 SHA512 4c88cd8e88bcb86c519009150c2256a3b5cb129f75b762104536943201d387cde154ae26b75193f8156dcf85b745973a929c5b87ff70835e983995bb586cfec6 DIST deltae-0.3.2.crate 1918626 BLAKE2B cf9ea441e735b4d480ff2be16dbd120520e8c6d8fb62aef5e2593f8e4384a17582c61978f57a70b9452e5774e00e4a0189c6c7c399016766512610a3d50915fc SHA512 d48d5afe625168ca87af8a759b7245e0e324ab78b57714d55ae19363d9ba74d7eb7a6c641fe2a3af5567ad0b47be8aeaf2ddf48080be355561a2e9a03e1076ba DIST deranged-0.5.5.crate 24438 BLAKE2B e0e825fdae479fbfb057fa084882eb58836490b5158205d55b4adb593882fe70f10f9b1b6c2ebd3ab6a61673dbb3a56e4f5af32b154c645fff3b53a814e5e648 SHA512 c19b716727b904f1c3dcf4e0b5489ca3a7540925f2c633f827ce6fff7a2649bc22835b433fc06376dfd0fed48b232f70aa23b24fd0e834692f96f1d6a319f266 +DIST deranged-0.5.8.crate 26885 BLAKE2B 72b9b2025009a0c69a6678f079415937c39c4a4ad307eb8dbed1f8d2d6e125f0ef4e422b65a7d08c2b1043814acafc0c6a0e81b024fd8736930eb29793e000f1 SHA512 cba9189672275a2d46d61ec04ce8d08ed314d7dcd7671029f3d7099106e112879eddcbeed23b8e167467abc9e1f5211786b5a91a7b2c41720badc601e21a17ac DIST derive_more-2.0.1.crate 70127 BLAKE2B cf20f53528e07ea53a8ad4e0cd9698eb44dd95a711ae5a969322518e5b545d4355d1ef396584bac07e73805cb44443a737a3f21e279654faab79b29e6d19093f SHA512 eb80e75fa43bda291b1437dc4df48d39570c3d9f94c758be5560bddc29170ceac6d9a2b51bf414729b8b7331d60998caf930b905951156aee0d07a5b62eb8028 DIST derive_more-2.1.1.crate 88632 BLAKE2B c875dd4b0718ab1ee2e6faa74e1e1206b972f90dc0541dddd97dbcb6e3d2a7489ec55a7d4d6c27371a3d308e0e58d135ad5d0bb050777b5b60d75466a3a9e626 SHA512 cb4de4ead185ad40c6e9e0fe316f16ada2070d5ebc336dcb73dfd8def87605d8ef9beb454c9202096aa4da8da0c32307fd02054f290722b561d6fff83bb91dff DIST derive_more-impl-2.0.1.crate 78233 BLAKE2B 84d195fb78479ecde38abfb5311fb220835f4150a301ed01c0aae6058ac00f04ef5a9daf122ddeb180b18bd0eb714fd24a5ba72cf9100896a7bcc1787532ed01 SHA512 e776a931e98b1cd37a8410f6376831c7e3c5704deb57b8c21aa6ff6546b9764c32e705f9055b14cff6b0c802f19ddc7254c14b60082acc176f33ec33f781fdc4 DIST derive_more-impl-2.1.1.crate 99094 BLAKE2B 9fe9720e2cc9b66e849b8598e28d949bdf5422c34945227ca12c2626f80c564ff78edc59ab57863c18c11ef558c4b3e5629bbe037c4fcc0ba323679d04d26880 SHA512 07a6d6c5be2968ee0bc6847ba5bb4809a80a769743868068a71d72fc376516724df5855edb6ebc2ef569ac8f79bf632f34ca30640fa54f030d58ce301de44b89 DIST digest-0.10.7.crate 19557 BLAKE2B 61e69d78cb8d6850ae26ad7ff2d52dd6dce820d8c621230def11cc0e8aa6d883a6e1b25340fb45748db52a8ccf3c8d36a8aa0c8cdf4d4eeb4e3f870d86abe09a SHA512 0dd8c012468ab9011b89413ea4d3647d95b1f683b020a0e6274c95ed5148638b56fef19cd9044c837ad53715b582b88eed277fe96e917c27c5d7abdbf7c3794c DIST dirs-6.0.0.crate 14190 BLAKE2B e214cf0c4669fa149d1e3eda1f6ba5b10a4a4b7d13a9050e63c13a4b605aae5d545bb711fb659312dabad26028f190853764acf74c1f6f31014e57c0a53a2281 SHA512 f29f0f932aa627bada67db5bd9d2661b5fb3b18d07030f5d88da28de7049eb872a2f35756cf29c094aacbc2429a3a333b54fb94d70e470288d3ca091cf6d4aa8 +DIST dirs-7.0.0.crate 13798 BLAKE2B 688a0645625d7452d16176a67aa4c4d7cb14375a5a7040e77e10a5d7d61ad394532b0bafa544f7465a9055d2a59cfc8aa628d4bbfa866c5499ccc4b2b0238508 SHA512 d20133106a2ec405c576d64daab789ade72dbc87c179f62852bb1fa037f90dd46e211fd1006d4fcf0dac9ef8842d78a736b024dd228034727005bf7cfa9c992e DIST dirs-sys-0.5.0.crate 10157 BLAKE2B 0808bd5c7bfaceef00d62476ff459a8f3ab19fdd4d3a860b04698e51c390285ab8f01690fdec7faf01ccee5734b28c44e50a4358f30de1193a0d54ae5c6622c3 SHA512 c2ca362ad04e92c929e2cea4db359de689e512b7c76246c408f40d10f1d47c5dbbd49238e67edc0a251bd642ee292cae88992e5755035c632baec36cd77c10b2 DIST displaydoc-0.2.5.crate 24219 BLAKE2B ba3396c93d27a99a92ff4a0f01a8d192b419bad25e48d9427b76260ebf2f9982291d77f2eb24d239c0b1fbb097e866a20bc46dc1879fdfc6637ea49928444a92 SHA512 5ca35fa59f263162389c1180331e9df607d9374bcb056cb04bc46c98e4d87277162ddb2335ffa8a8c5f69218abc3eabccdcaa71c21b8dd9081cc4146f266b948 +DIST displaydoc-0.2.7.crate 21343 BLAKE2B 643d51db5685ac981fa0be998d8c597cf2b38303bd891da997d293382ad3de929f79fb951d514f2b13c42009d8dd882a706b32f5401127c497850c5ef661d611 SHA512 6e21a1572e71d12218a178fc9e6d22964be5cb4006eb4920229db35ff1391708cdcbe5ab2b8295cf3ceb9dd1b1bbc70e2bca1e6080c6e7b8878d0b430e4d45ae DIST document-features-0.2.12.crate 14739 BLAKE2B 75d279017eae0877aaecb3dd953ea9a19083f5affe9215e623a9235ca97b156484b1bef8e682b5e81859e914841c951be035a24ffe0afca419ef2721949d1411 SHA512 2991ae0f22656cde0aba8d8d76745a0316febe1d5ffa31e9d57ef5800fdbd10d7949d34b12024981610c7ff983c92f97f0fe432f8a75ff1b7da5e3531f01e677 DIST either-1.15.0.crate 20114 BLAKE2B 2f87cb6408b1e1a15ea19d930cfca3948d867d268c8ff18cbaf39dcb7f7fdc628811575ec87a7728940dfb2c26775995a3165ab9c17dd42880d56569b22c6f88 SHA512 d70c34d903e8e5088fd065a6da6673eadb569a20af183fa9bd6418940b37c8c2a777c44dbdab1b9960890cba5cb7464b805667ac42f4e05499ddcd4277d24e3f +DIST either-1.19.0.crate 22501 BLAKE2B 2b0b9bbb2b8b074bd55f65e9b70cc7aa0a7d760bf96a3642e162b8fd45b6e56a1013c06200c31758bee165e3f2f43f742a933006268268015cb34b519ed108b7 SHA512 41e15204729ca83ce973caebafda1bbbf8827ae7adc3b96ac7beb588739b73525550319c764ff25a59f86cf0d751c87f08e71166109e2bd1e6d667b88537d9f3 +DIST encode_unicode-1.0.0.crate 56986 BLAKE2B 76e8915408c26bdc909e9ff2d59a1655344dcb4ca0e6accaf038434b7518f1b86554954fda8c7874285924c7d16cc81f62e68afcb8b0efc639407b558df1470b SHA512 c9a21d48ba9d50750789cb6fbe32afd903c583c9ef05a9741007dcdf64b1344735f71dd882ad71ab9e5f96f8839578ca53bca14d13d57b9e27b8cce2cd507359 DIST equivalent-1.0.2.crate 7419 BLAKE2B 7ce4fb7b911961cd4ccfb48323eea4952110a069789c6bd177a63391c270df861afadd00c07db7b22768f0864f320e429e0200c433284f528336e2f81d071eff SHA512 8e0e2dc070794a85b276e93f9e4a65d3bbb8587b33fda211c34479a0b88504c913d8bef9e84d7996254aeabe1efe4ff1ef6259ff4fe3f9ccb90dd90070b3e4d4 DIST errno-0.3.14.crate 12002 BLAKE2B 57fd842a717086ffdcfa5102a8c52bf8210672820366d78aadb6f159055917477e6771e9fbda88787278bf3a116bc7253dcb705b601e54038a93a1820c3c287a SHA512 1de95c9806323d63e7cc95111e67b3ba1ee4b9d47b70cec33485194574d6b584d22ff877dfbc244317822721291d537d9509ae5e46f1b45169cb478a78322366 DIST euclid-0.22.11.crate 79261 BLAKE2B 4a8fb6c372b77eb871235b32ee2e6ec0c481efe6f2b84970078fab3a0260f8da0f5d12128605f2a97beb8b2cc1af0a743fedf0380e3d534131e4c730d9097483 SHA512 864e69a769e218a989bb83a5f4846a4b882d94eeb35cde24cc7ac715c8977c9d325ed070de00c32a564ee75246a860d47da6973e23e79d744c1520011d6e94d4 +DIST euclid-0.22.14.crate 88222 BLAKE2B 121a9b81b1d7e14b9f4673daebbd3e696c497c28c88cf07ec1f79637ebbefe3dea120e95656f1540c0a7e2870229a0f1f9d0f8657431501f1464e30dbbc997e9 SHA512 51580fda5f676396452fc25f5cafef561d80248ebc0efde8b311201772ce5cf8310b4158396e2283d258fec1683a4c2d1eced98a9e2f8936f70f949b68a7d8a0 DIST event-listener-5.4.1.crate 43782 BLAKE2B b43523d0166d1e89f4957d718a54af9c31a52ca860bc5cf645e093670e5d0e4bdbc5f8f57de9eabd8b8c5b54df4090bea68adc8bfde8b9d23203b737580e4fce SHA512 99677a81a7abc04d6386db78fbda40ce5a9e4b628d0a1b171150b5be12e336fad04f2f8ac94e62d732dc90b0c65279bf28904e77f19c5cb6f0cad6298d97c394 +DIST event-listener-5.4.2.crate 35131 BLAKE2B f371ea2c5e90040f8f46f5a32ad255a3ef92d27408032d2c768f3e7f2a56a8cbd6e1457951e58559892d87d7e0daa5296b2bda9b026a1c5dede2569ba3b62a7e SHA512 d678f550bb06283eb38d8f7b02bed2070a8a0c840ea89c4d4e8c2559f2cc85e7b525298bffbfbfddaf0a49a324b35363c9348730233176f99b5b1d698b4aa63c DIST event-listener-strategy-0.5.4.crate 16179 BLAKE2B b516f4b14bace1dcc9e7e6ad3c7b8ed1855530d0aecd1ed480b4392bc5e414a92634ca91b73e521e0344e264da2d7bb92ba6dc260cb38d532ac5b782569f7ea6 SHA512 bd5259083e87d6fe04fd0c3ff2b5a5ac3e6550ea05bf623b3c535465a2c1f2766bb66ee73444a80075efaa59a73b064def1f034e91e64c66aff4921eefc54caf DIST fancy-regex-0.11.0.crate 82918 BLAKE2B 55cff8d2ec3152fe46fc6ea2a6fcd13714b35a5c056739a9a15d7754badaf66873ca1093f96f61529f2b0ba0279a193754a053ed9d5dbbfcd72faef545f092c4 SHA512 7d35306e596543ac63a7b0fab145a401b8eceae08c6d7564dc46aa6f28269acabe59135b30dab20f3ffa6779f5a0d3fcd0264d8b5c19be56fd66dbf6e5c2092b +DIST fastrand-2.5.0.crate 20782 BLAKE2B 6c32deb12c2e946e8eff86a0bafc5a9c4b6ecbd3d0faa10b68fca876638766cbc4b866dfaf52014bb4a1cfe6b58189e8cbfbe2495e9cfda58f90ecbf0f821e68 SHA512 0c7369840393fbd8fe8c6fa94d47ddc8e8c709270d20c9ce81c3902ea6dc9cfaa5ee0cf2e9b5b865453748283545e206264446d905550c838c052534a6088ddd DIST filedescriptor-0.8.3.crate 12635 BLAKE2B 603c15f2a83bdfa190c882cb9dd6a84ef3617898fa0969f45d19a6448ce98b0a139708aed3441fc8b5de5ecd49de0b06404412a8f2e199488c4487dc5ca4e16b SHA512 1d403271dcbb846666acc8df2b2f738c35c1ff3f37af8a87c7c0cee3b73bef1b7b75885e426d27c5ec0ee1f3c4f1a31ba63b5a11eb3805eb675a399d1b5f9b40 +DIST find-msvc-tools-0.1.14.crate 31390 BLAKE2B 4f16341326d5ace165e087b3c24d1400f43693ce9378b9f70ccdf1174d92b588173c700107ece3466090113f145e7fe7b8eaf937ded7bdbfc2d14122c7ab1c3e SHA512 7257d40931c65d7dfe2a1147c0d3d472efdf17d4142c7660f0e4529d1d818562d66ae95d4e233c7e73749f7e842a2c38e4c43fca59db9bca8f1f21056e403ed0 DIST find-msvc-tools-0.1.8.crate 31151 BLAKE2B b2d29513fd7122b0c6a7d6044411a00afab33095e48ee1509eed6e10103d4ab60060f9495be4ac2eb0081707e8cc99624bd286258ca6a6b516c9100aa1584211 SHA512 cf103ee75e8f387904561fc75d03b9a29a7e81705bf6c11bc520e73e7f645937b8346c2854361f3325ffcbebf9874ce68df82d9cdca9b8f19d4d882548453d68 DIST finl_unicode-1.4.0.crate 66414 BLAKE2B 148990b59fc594571195bd9ff3482de9d286993564eaec065957cd7bad548613d4eb5a71574809cee3eed8384d95768e91a88569028fe0ce3de91cde3fa11055 SHA512 19a635185007adbb58bba2784887560d6fd9c7da8a991b3cb84d89a680a28ba9ac6de17f4e19396969efc1143eeaf0b3b5f09953d1e6f74e5e0e1dbd7b78011d +DIST finl_unicode-1.5.0.crate 80465 BLAKE2B 586fd7d70ec6af601ddd28c4e285a8bb1e468de8778e58d8a70d2e3fedf497cb6fcbdc20fd72a7a18e0047374bfd868887003188a74168644b2183660373a75d SHA512 3a33ed5ea35ee7d2e696e1bb6d227417825ef29596c0cb69a8d6ee3250bccfedf21caf28578a81d6445eb4334f9c98bce62916a63d1d246c2d6c2ecc260f872a DIST fixedbitset-0.4.2.crate 15954 BLAKE2B 91270883db5ad0e999ebbca1123d8729d3040eb936034ab8da3cda72a830e45fcb977b3fe3c2b94e870c1fbc366ee8602357bb77e8b9a40cc41a04afad1b266b SHA512 57c5d756b0a202b2506270f0d5e890f7617a1e0c015b6059ea23fab49cf7af47fd06927eb56feb03b37cb2b6c467e326b3f0da1e32cfcb6339cf11a130a3ccab DIST fnv-1.0.7.crate 11266 BLAKE2B 81da85889c91b6567e0f555e37dd915f1bd919719d1ca10c31a6861d7aec29a49ae9c1e8bc500791bf9d6b8dbb318c096d04872c5872a4b1f7d45fbd8e12842d SHA512 2195a4b34a78e2dd9838caf0ee556bf87cbb4a8ef5505aac663b614eb59dcfc0c40f432463ede41ecca57bfe7711f72673d39a85fe03d426f1324097d5628334 DIST foldhash-0.1.5.crate 21901 BLAKE2B 22c3a266becac17995ac996f5c9caa8dea77e36786c50464e4e7750d8f3f13321a0a1abd3a9abcfd6ff441ddea257066b2dfb7fc6fcf7468f537dbd1b0db737d SHA512 3a634fdec410d87ffced8aa1bf8dacd9316a04c51424563d60b4dd611617041f09085edfd0ec96e6bb0e0db74a0e950b0616d1fb94a31667af35af1637604c22 DIST foldhash-0.2.0.crate 23329 BLAKE2B 49af83a79ca7954f05d8a52566d7d20cbe057c89c2c767ef76b4c8d83bf099196d053054c8fbaac74da7fd5eb0224fe43731102f2f0bcb18ccdbc0c8150774c3 SHA512 1495281089a8a1b7bbacf8004a5e8051bb00bf37718e9ddce9d43e4e198f529135f864b6850ee4422456b0d4731ae58647f0a1aaae0d67921c389f5d108fc163 DIST futures-0.3.31.crate 54953 BLAKE2B 4b91470d3c85b9260c734dc6be8c985f78491b599d2a6ec0d1e824b82f684cd030be6f64179f7aa7c1d1fbc7cf0c5a1bc5bd045123b73461f490d7c2b9011f9a SHA512 a08d23cdac9e162d0e6ae72bd792201ff4e13d7ade6b498cc597149b3df2062b06814804c0750d941d8b5be5d2ab4cfebbe2d08a98d875d2092bf25e6e71a51d +DIST futures-0.3.34.crate 61966 BLAKE2B 6ed5d8cb22f8649a21a56def716e4dff740507373c79a7f43f8144fa5d1c4924e78adefc8fd3d360fa46a542eb0c1eb076539d32468caadb3b89c8f31b35a5f0 SHA512 e63851965939e666a825663c9a86bdae5f914e81f8675b2e1a2275e049e5ec5efd52710f13032ecf2c31dd044d5aeeb46b1e4e03e4e1d5e6faa75067df1f1624 DIST futures-channel-0.3.31.crate 31971 BLAKE2B 2a59ebb73f998ec307bef01e997bf2922556d6dea10e2e6e8da9e1b4cd05a8bcfeef01bc1cc57d79c39bbd98b8a0d26871dca5c7641a9d4e9c2bacbb3feb4eeb SHA512 87e49e661cb12c1e03a07d3c94ca9bf5954344a51fa11639a118f5a49877c883387343af54639ad80e7196062a77fa7c9b9aff9804fb1e6ea3d0eb09efc53c69 +DIST futures-channel-0.3.34.crate 33165 BLAKE2B a28cb51ce81e45d2fce112afd9711f410ca6679549b069cf42ef1db8b8e00e5b36d2cead4dea40276034ebbb7804367aeec8d24c720534ba07c9e435765d1bab SHA512 9fb24f58565bdf345f3efe1f61764da9e5df44f7949ce53c1de5e4d6d82d272e04e01b6bb3358c947d312a5a808287a18befda357adea2899337e939c26d9a19 DIST futures-core-0.3.31.crate 14318 BLAKE2B 613d16e4f18547e45ed0dd56a7b908306393e479c379ff64f358844eacb1f8d37008ffbbfe6b1a4ed184e501ee9214db149d9cca31651b7d353ab4a99c8f5ee1 SHA512 d2f4c2476c4f480f724a880ee16566fcdd545579d3cacd2f16745812eed9ac4a7a88d59d4a38b163ef466c6f6b612b9cb06308a09d52256506a8a90e358db935 +DIST futures-core-0.3.34.crate 14692 BLAKE2B bcec84e12b7979d5e10c8fec533d7eb8a49ba299461d4268ce77925f647bea4722312e59d001f5d5e779b376728f06d89ea5adb531cb672ab3ccdf897ebc0087 SHA512 05ac009da05e0d4cc41866a1ef95f7a3da03d037ac62dddc0df59c24cd3fb2d164982c95062f810982c3ed39e7130560ab58ea815db4235bb69c8809ba8e5566 DIST futures-executor-0.3.31.crate 17965 BLAKE2B e111467391cc99d1b6a1f5fd3aafdb86922a2d2d9e360112402d68489577527aa35f4f65e6c0dc8f48372927e6d7a6a4a97c7b9525c369cb14e34ca2dafbe64c SHA512 337e70bd3a3bd3075b51e2afe8f157902ebe486696587cc2706b6a5770478ee2ee4216aa9e155e9821ed1d02ba437cdd3abd0c05aa960378ea192e2ed39af564 +DIST futures-executor-0.3.34.crate 18560 BLAKE2B fcefc0926603a54620984efbb36abac31804fcc18eb277fe7ac0da3b44c77f723accf6caa5f077adc15191c6e3d7977ce6c928994f00ab510c3980764e8850ba SHA512 76c89dc491d6bcde3978ea947aa586551dd3e06cf2282156523963f70c48d12d9caba2414981caaa82f6a78842a7e63180fc90c8f39a80afb040524ea7864611 DIST futures-io-0.3.31.crate 9047 BLAKE2B 667e62b50be304b68b8437d93b734a0e2433d88a3b410010ed0b04eb2bbfbc9984454c3f0a591f720c9983582c6421d7f870f0733c31337c4c518112f52aea54 SHA512 16d21388f7ca083d2c618ec140cb2c0807ca621b8c338698c367d862b99133ec9edda828f051f3f666472c929e7bf7a5cb334fcf167109c7c392c5cc60b54fdf +DIST futures-io-0.3.34.crate 9189 BLAKE2B 41958b790d4cae75969e561726437428132c39df0de904a359f362416af927240ce85505b1abd3c94f097a8a9bc4696efd5c8d992ad4e0e1bdcec9a5a4469802 SHA512 d7dd8c610359a6edc11768d1183f38832047f3cb74eea3ee99a196fe3b58e170932b2526f906faea0af73c3e3c4d5379b1269bab20466bad435c99f7e5c076fa DIST futures-macro-0.3.31.crate 11341 BLAKE2B d91ace97b854cbfeba1df90468fabf6313721ef72bb408ca6bee1c110b0162fe91da18d371b628513644f9d3956540d93c3e13bc9917550338f797967acc3967 SHA512 26c45dd8c037831ce3c41a326ddfd581784c2e7aa2805ca4d93b91e439f4d8c078293cd328bcd66d0283cbd5a14724bc624ec607c343d15193b00bd644b86166 +DIST futures-macro-0.3.34.crate 11926 BLAKE2B c1e9e2866260cc6ea44235f0acbfa517e5cfac9fdd251a656f53d42f0af59e979da0abd7748d26a20354321097b4f63f9787866656e2ae7268e8cddec0e76076 SHA512 c77aad28eb741e0e9d5eb062034d57401297d9eca21bd05c24b267d5c0ca613255410b3d96288fb089b7478649834ab417bf27aec6efc19a477e1e4b51f86f80 DIST futures-sink-0.3.31.crate 7958 BLAKE2B 7d42180cfe19ae42e2ff486d83ed46f3aaa4b333256d4c30c5a2ce0e0d0b05ae93516b029e6d07105b4296bf23ba29e6fcce19f0e38ecf59b53c6ec9cfe2e188 SHA512 79a57dbee5cfe98f2c003bd463d252648743f70d13e2054af072978b758c7cb8e5fb652fd2f36c760df358ad23d2893cef24ca6ae3df44def28f1d39bcf348a9 +DIST futures-sink-0.3.34.crate 8107 BLAKE2B 3993bc6a59b76c6c280f5569229852402b7c68cc7acc6452004acc4b66ec680bb36ce43a49ecceca9127f068f71b514e7bf2b37fb8d3604c42747960c78dd3cd SHA512 cd1579b386bafeb1f3f698ec9003b101f636dddd67e458c5162b58f0041de877447d69ec3594cc7d8cbd795ccaf96c4bc4a8a10e41a88309d6dd99d7f0b86be6 DIST futures-task-0.3.31.crate 11217 BLAKE2B 8c0e0aa0aa14bfc28e668af00a3fcc2532950ca865a9f3935717a4a3770cb60477cd8f4cd080675379315b649fbdc5fee9dce49502f0f24f44db481a24c884bf SHA512 4872fd2f24b07c626efc6fd76c01b44d56efecb9697f972d0877307b38d3ccb06277ff029df38981470ba1f8ac5f93086123ab3af44d3c49bd9c10b6c9158a81 +DIST futures-task-0.3.34.crate 11376 BLAKE2B 6365acd677c141312a1211b95726d3834307797ddaed85df01892f0493bc2e28585a07aea7ed742f28592cc0b1906235b65bdf826276020f6731e2705b68e3e3 SHA512 84d31a3391ad47f4c5306f37e09ab32975967253c65af251f8a45daf9363e6dd95437b7ab0ff68160d34adebf2d09f49449d184d627b8f6548ef02c9155c7db3 +DIST futures-timer-3.0.4.crate 24860 BLAKE2B 3e37837d9a0a586c995eea9037feec62bb984e4001863b14646f9277bad22fd02bbcfc520ee995d3878ab1298adc8b8d23b0e1a092b45b1bc881addf6d6fd760 SHA512 9643200cadd07943f4671433bd8596e5fde7b4f79ebc264f9b12c0e4f2d92712b64a37edde4a1dc75d5940f68d3f31439bb863fdf0b33f4e0150bc73460d655f DIST futures-util-0.3.31.crate 162124 BLAKE2B 69ca647a261fe24f90a4221d8629169a8dc7eff9dd1c4e07cc700a52a8609ce9b8aa3974b9b09e1ee64d0121d7bcb3efeee6fc15983347aaa0b0b23b068afc34 SHA512 429b1de584546b931b17d475aacbdb0c14824a57d960c44e615aa808e8c0f9c126473e313a7150b3de87ea91b7eebebb1041509f61b3493fee8a9cd2c75c4df3 +DIST futures-util-0.3.34.crate 169782 BLAKE2B b71f64120f7cb304ddf8d6899ac3da21654ad0ef30803979b3c3583e5cb4f6484edbb411a5cb0c8fef33ec595aceee490dfc98ae0d8211faf90b1b57ceac7d91 SHA512 c5e6213da3767bd645cf27d91e5f8ae14040079e11ed30fc9332b404f058491687dbcf0a8fbfb3511ed463139db7879785bed0129e99de1fde6ee10c21aeb2aa DIST generic-array-0.14.7.crate 15950 BLAKE2B e74c785e3127095625951da192a018281ea9976aaeb11019f9088c3f27748c5fed1ef25d577150864486dc48b5138d6892e42f99979339f711a66fc70756c82b SHA512 363a7b04e4102f9ca63d429721c1ada6272be6bf0a2e97da681faf76381f73f0e3acb86623b9ce2dae441de9fda704088391779b9769ec02b3c8c9f9f35f897d DIST generic-array-0.14.9.crate 17439 BLAKE2B 881593869e9a357ecfa470b8c8aaf4038899d4ed5f5faaf8e167a108f62abc7a1a270cae8cb15d402537f2f837ff19b2e79e4e9cdc057fafb97be93074881c3a SHA512 113c841fb2c484f3a1f65be6a509738b530d0abf8952974e00225d2e031dc7e53256ddb650448e1e7dd069b786195ac2ff1eb0fcef6b3549ddc4014c1631b60d DIST getrandom-0.2.16.crate 40163 BLAKE2B cf95b380a610313eaf068fa210bdb4a9e0b9211321d708f9877cd9e1901df0f6b7f57462a4937da3419c7547ef300291deb5367f4dce4ff776e7f0d9d36dcd8d SHA512 6391d5322f8ce2ea7d14062d378ae2ffad66622afd58b9f1732e5314b27d3a554c8a008f6d0d133640f11d769ac51ea4acd24e40259e14e2ffce93d5c3c1eb1e DIST getrandom-0.2.17.crate 40780 BLAKE2B 49168490a12561828bb324273c1a2dcb98017577f8500fe08a8bb7c3accc37afdc459af264da7b95a4608e53c4edf8fcec3cb240741b2ee7b128012fab975ede SHA512 23033dde606eaeacc0557e21b3c5ef732e083b17ae086dc95ac7d1a8bc1b695a9a6a7073b8ae774ec62e7477a8ea0644d417fa5da7841a3c8118694c21813d1a DIST getrandom-0.3.4.crate 50932 BLAKE2B 34165a6994877aeaf3063affd48eb499512371a1fdc0d890feee598b5e22c14cb8347642a0e9374cd5d8a59a8281db839e45923769260312379321bef54c687d SHA512 43c44ec3ba0668f388519b2cefbee63f959f0e078730b3f7563742522e5f4b120472024b95fc94aeb90900a15d327c3573271bb26b2de4785e589a8bc1bc9da8 +DIST getrandom-0.4.3.crate 52437 BLAKE2B 35ddd9206b3fd127a823de4c3e69271df0096c5fcf3bf0a14eb7973968bfe0b28eaa0039867713bf7735eabd4766af1a80609d33c59856007c4c7e5c5a6d00dc SHA512 6faeff228c0aa2dd62612a0f42f6b69e9667ecb6d1627381102865de609796f202d4ae635bdc098764225c5d5f0a2dc5dd1334522692e8ec22d0c5426bc5344e +DIST glob-0.3.4.crate 23511 BLAKE2B fd5c4200c0c9c3bd388bc65b6146ab09a181b94ea3248f188f932760e75cc8406d3ceed07fd7ee20d72e98050405a396a58dc068887cae3203848ed51875783d SHA512 aa836d52b772c6bbd2c2749995720aa50b3e8360d9c89c7f5ca29dafb21543647a4b21dec4d05a26611255073bd7fd560549a9b42f55e6b8cf562049254d2184 DIST hashbrown-0.15.5.crate 140908 BLAKE2B 6a360eaa2e174ddd1e9761bc19edc4b57b80f84c36bb5d64003c7206755d4175a05f39c001acaf000ec69ced9e28c3853bd64702e2927aa7c38527a53abf2201 SHA512 654682535882733b56dad632851fed93a17ad0b2d3e13e3390d7802450781501e275b0e0b39fa32a6eae092132858ed79b305238cd5771c08987c5d26af6d692 DIST hashbrown-0.16.0.crate 141708 BLAKE2B 260b2ae46c2c376f32aba951ef562b41e40aa1159b170a966429263df5d81359d1d7861076e2b12a88fca612374fd9b3d7265af891d55c077dce041e180c854d SHA512 ad819a3eb38bd2939e08686789529172f146fa77911cc9dd61ddbde4600d49af79fbade6fd53187906a8b7766aff057187171e2dcb2d07e1079e4dde6104d615 DIST hashbrown-0.16.1.crate 147785 BLAKE2B c506e64340b65fb462545c52e85a192b21e33025c91adf1d8255e799e8a5743814c60be971db56c0b9b1208dff8147ed4a28d8e37caf8f5646fd367d8d0bc9d7 SHA512 0739f1b2101488f88778e221d86738ce557b8ae12470e2a4444099eb90d876382030d00e789dd4ee44dcd7833a87a6e570fa11ba5823beb1cab3a56784ec2669 +DIST hashbrown-0.17.1.crate 155512 BLAKE2B 748d3658bf40d6905b47f695e64b70a0c506b9fb0207e023cd50448d5febe92bcbdf19ad8b9be7588f12dad2aba82eab4c8a7a1815adf0a00e17c39f6188f4c6 SHA512 4b6a5a76ec2f020fe34cfa5f5bf4b518ab7d278ece657804663972b6a5ebd64f775bd75d229b7e202702bed9d5b63ddef4de6e274fafe3129809791c6802526a DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76 DIST hex-0.4.3.crate 13299 BLAKE2B deab49bf3d97f6fd7c0a0855b50232422443b226362bc7a4a19e57c2e662fff2cb046d4c5bd7618ddd523045f3d8c78754508f862f9a8ca29ca9247da6d6ec79 SHA512 fd8ff33b68eea2d6f2c6b02a6d82a2807cbcdc209ca5a76e3e3e5d006917ee151f236b6d18e2646cc9a9674bcdda1d6ce6ee363a89cadd99bef00d0eea9989e6 DIST ident_case-1.0.1.crate 3492 BLAKE2B bc79ebeefbb7e3ed1139e3f41d8d20fb175786bb123bdb9c1a92ea70effb4a0e5e798f24b068cd66a1bf20d53eea4bf24de495b5568c2d649ea804389a1327ab SHA512 81003a43f18da5997d644319274502e2066af9f9fd1400afda7cf2986b3ae0b7355b932302723cd3bda2d46b264340434d9279dea58425bad13785698d5808a9 DIST indexmap-2.12.0.crate 100446 BLAKE2B 3fad12a9daa3c5c8b3db1926391bc770c9b1b133455ddb9ff4157f212176351ac1d00c50c8fadf2afa0557487e5633648d8c6a1cdf80211b974d2ff0f773eb06 SHA512 3ceb00f2cadf667e6e7893178c43f68776c2d97ef899209ffc83cf4f536172cde52bf73f8d512a9bba8119bb77f6b6c2a920b8edbc1875b1ee31033830917c33 DIST indexmap-2.13.0.crate 102206 BLAKE2B 7f3d070b645741f5960647f64759840b1941c1e28f61ee04d44d7eba0d8f600949cf139bec5fddb1507e4d5a9e12fb709a16415aa014eaff8f5e87cce41a9394 SHA512 f5efe0010603a3f1da8955f5f97c9a39e4d2c5042c0829c057ad739687d990c100d1276022dec23e7cd70efecceca07ad735693bd8a1b21b507b8892110198ad +DIST indexmap-2.14.2.crate 103014 BLAKE2B e398c32cd8fa9a4cafaa0fb82f0111bbe4ec83b6413163b1fc716f4c9c446e4c5c53cd0519b5c20353cb8c7c478c970ea3b418ba856aed12f7d41f46bd91f27a SHA512 ecf5a1a132cda2be21cebf1c447e17213972cf6da1d0f73b25969dedd1d3c444d4124e01c0b31ca9a78c906a5ff68ddd04602b25be6db877f23ee6106e3a063e DIST indoc-2.0.7.crate 17184 BLAKE2B aae454874b44dbc908a75b64626e608e04017c1407daff9a2e2dd12a337ac04db594540d2f31bfc590d6f37f0d711ff2d3054352ff1b33e736c36620404be0a0 SHA512 6e80cf927001821606488a822fd0f67ae1a569b022c98e727e6b1571c88d87775166f088322bd5f17abb8fc1fde62c9d14fb2e99f1e50918487252d823e48f73 +DIST insta-1.49.0.crate 120986 BLAKE2B 2d992fed122881893673965d9462c28cc075d70860b6512a6f6acd3873532c40acec9f5e85754c97c185eb23acf978470ebae9a25a3245d23addcff173baef36 SHA512 3b4b69547e43e86d0eb6693b21cc32f88e425dae8f2ba082d55808c9136ca32de7b9d2f0949ee813e73011e9aef3484dc01e89b307b55e7d63234735eef43a6f DIST instability-0.3.11.crate 14472 BLAKE2B 9ceb89cd7e4e75076c421b64cdc1622f6a01010db76c73d15e11be849290dbb2e871c5a0ccc16146487b7a59ec57fcaf37af67d7b86fdecafb4d0f0fd7bf9a10 SHA512 d5a55c7e89fef192910528616a80a8b03898819e0c8561d4c3401432b117d1c4b3d921eef9e5eca34978bbe914aa2f67b8338402eda45ae90df982f3b0fffd59 +DIST instability-0.3.14.crate 14825 BLAKE2B 1d42840576abae052ef89c1299593760ebe7f9ddfefbecf095e266c2f5308043b4ed3f69ffd758e62a1f694f6d692e509b63f4c00c60a6e9c58249327d369967 SHA512 bc8268d84fafc625f74f0962a8043d818f7d220dc2632627499d93a6c695191878c883048ef3dd760718e4cc16b5465bfb9e1a67a40aafbe0e285e63bab350a5 DIST instability-0.3.9.crate 14451 BLAKE2B e45163b3d73ed63c3df11147f5540a94b2b67ae7e977d6ba1b9ec80544898082c948b7909f4a770f76b8e60bea7ebf52d81ed36b28366b458a34b6e68cb0e5c3 SHA512 1a710c6be8eadf481e505854d7fc614f983d410caf56516a35c36cbf637b04290c7d4ec9d4ab6398151a645a962b1af8824c69078a180856eebec1033fdffde0 DIST is_terminal_polyfill-1.70.2.crate 7548 BLAKE2B d84c45a94bc0ede333843ddb5206379f1a7d9df742c7f7940374d6b17b0a9c300e32fed5fe2bc58e6b3bc5d18b5fc58dd4e283c01c2f3b4f10f254b3cf7668c3 SHA512 d62f444e83950bdd441215c0ce681ff774692b35fec2af7181dfa243dd43fe42ff7e10a6e3b1d578712e4130dbfdf471ecdae73a3a584a2856a848d387b6c261 DIST itertools-0.13.0.crate 146261 BLAKE2B b23d59a87f80d24925bc868c0ac7abb6b9d05aad5ca08833634ef760ce228a1b753062ec4bd22237d0e74727edecd7ba3df9789cee896345b69780d7de66866c SHA512 c6cb8f93a93b6ac1a2cbb3033e66fc81a39f83be773b734bea3311332b96bc71bbb518aae3e6b40cb537590c23de1ca4964361c336795c3985bde63232d410c4 DIST itertools-0.14.0.crate 152715 BLAKE2B 3c075b735a6ae4b66980b1f7ca0ccf4237286b140268ea179e4ac01b1349105da227f03ea9ea721d3e762c3cf8b736cc48b6902148eae73addd864b9c79aa219 SHA512 bb168e21281ef3e43f9c93a079fc1938d79b6db2366fe17e26a90f7ce6fa55df73e54a06334cdb2a7b208b0a64473b5af9de76827a9ecb49378a5f9073d2e645 DIST itoa-1.0.15.crate 11231 BLAKE2B 17c261baf95bff2f6cf0dbc33ab78ebbab0cf5dc56aeb7f8977377af868deb5957918f1763c2fe8c080e931489ea89ebcc16b3ebd976eeeb7663ff74989a1071 SHA512 158ca5dd4b04cb12d9292a4df63c72443adaf5aab1bd9aacdb964dc58878d847a64251f84897cb25c34648d4c973b44fef5b4c175d7c04cabc2c13b4631c2e42 DIST itoa-1.0.17.crate 15905 BLAKE2B 105796a6438bfccbb4676cc0beefd89abb05dedf077794dae48dcebd63cc745bfa4664c0eaf7bacaf989ea9051c98703e7ce85683f5c8c234fd1639c391aa3fb SHA512 4f1b09fd0152a8c837c40045c46779c992b8b5a4737565b8ce3a92bf2fb884bc6609bc597c2b54c33855bd108311adf46471b5ed5ff7ce32549b8c72c8119c04 +DIST itoa-1.0.18.crate 15935 BLAKE2B 8e41446056ccd94979f6f5a8fe8c48d6c47abaab99a41715cca31816f859b56e0cbacb998f300b62be8b719a6470f8a087f1439b72f2f6662d1cdd3d552ede5b SHA512 8dbad156e2863c28e2b380901a92414ef00e39f1fcdb06d91a0f3fb73108c2f7f36b699ccd93287808c24c29cca7f1783d48d5ca95f2173502963c0abcb2d09c +DIST js-sys-0.3.106.crate 113772 BLAKE2B f005841ed62bb2885a2c0caf4bfa3ce736d78107e735713c6755b47c45721e33d4170f8c4d37b9c450052d1505e65712df1fea77b9ac8aa016c7504a5558240f SHA512 da648c817fb1a47ba93baa7f013482e606f90a18476a7d1e8daeea4ae0514bae9900da113dd16466374b03e87d2385bd77207bad0fa187ca5a531bb779fa2cf1 DIST js-sys-0.3.82.crate 56436 BLAKE2B 9f7b485177d1a3ade0f1c47becb114ba3dded7fe308420e56e1784199cd9cfcc1fd773a53fe4cc30132ec6579454936ae2be641ab3007c07658c9d525d73394a SHA512 ded31e414e3921c583358032b3e70895e570750f7b3913d685b2582a45b350e854acce64348f1c46692d910d4c7b366b6748574ec993c197b18e87870a52657b DIST js-sys-0.3.85.crate 56436 BLAKE2B a5c35cde1d01b7e5eac3bf59f360e9f8b418009a3b30c81af850a181f14596fca25a4cacec213844b4d59f9ac21e154531700f223fc6e3a22047a5f43833c6e9 SHA512 dc7361feebd63457e0e3aafac86653297994004bc61b3734d1b9ffd05312c2c9b2a2708ad07ad469b326811598925b7f07e49fce2e7c611c8138210bd70fecae DIST kasuari-0.4.10.crate 32339 BLAKE2B 4bee61dbc89be486e18449839b4bbaa5da58f80fecf3a864ab53723952a59c32f70827a3da52ea3db410354d740594640f62fd24f639172d88a031ee0709edcf SHA512 d3dd7ece8573ebe59b91887fe4b94d6e388caa4897260041c24f355777194424dd419d5b290f5c236c769dceb0b33f65d87c1e25c0641d58ba6538bd95ff6d17 DIST kasuari-0.4.11.crate 32486 BLAKE2B 7bfb415b80c6eccb66197f5cd48fb49cf3c98f49bd1135c0c8884a554b3af6fb2b9867fbb3835497cc497c87c9d084bc5787076007e5e99b333295214c90f971 SHA512 448ed2569fbce1dced170dbdd96310da3e5aacb1056303d3e9272f38bed31b391108b24c806985d42e8921cbbe559f1d5805d27da571d19818802bd32a684cdd +DIST kasuari-0.4.12.crate 32684 BLAKE2B 193bb30181417516b5c55285052f2653ee84f24885dc0daebf3454555d675ca5f66f816ad0f8d7981d91c3ba1c0d2c021175b23ed43ee68de4b60b22499ec595 SHA512 d71c169b138d473353e184d501ac23edaa7bc5bd24488f17497a7031c08740ae76dda8c969418b357e169c3aba131119c9d3000359cfe3a841ddbade5ff9aca8 DIST lab-0.11.0.crate 15140 BLAKE2B 28763aba9809eaf8ee5d90438ed973fbcde5861d78f51757a23840e5c1823ac30e53cfdcd88c6a8f0cc44c6b0d9ea7e8e50192f40c290c8ef1e93c9c58b35a7b SHA512 bb56ba0af097c5822f6e9ad51f0e4202ddd740953336f9da79af072feb0b40fcb18863f17df4ea8a076e5af719144037303b0fff4fcc0e5c37a018129a08fa91 DIST lazy_static-1.5.0.crate 14025 BLAKE2B df29e0e3d1c061815bdd608b41074436024dc407d454f32517705ab04b2fe06075e310086c5e4961df0b4885e91021589d0bca2c1cbe6f0aeffa3ff1b3fd4637 SHA512 6d2f9887cd7f34f019644e42f02f2bf0111accd73aeaa60973ba0b039b6774670debece1ea9a6978e923208ef5d3ab7326473ee3560c078817f0f7ab8ed0f65f +DIST lazy_static-1.5.1.crate 13937 BLAKE2B 9f494d192db8a1539799d1184ab471f96039fa2ef143b0ff4c4199d691357b332f2fb84273cb8156dffd1edb08c46a09567786ceec53ada0148776ab94676a46 SHA512 a704591611c60966140599ebb8e49dff157da2b7d6507ac580db65573b45ccc790bac19b980438e064db833f9e675b654a903f179ab6bb820bde6c7786a932d9 DIST libc-0.2.177.crate 792045 BLAKE2B ecea1ade26b0faa9cb5fb025e237f3a59dfb562e7b3de3682b42a41038b1d436e83b42b53158c1fc1cc4b1cc64ab55ba1497e869ae850a677c089fcce9138912 SHA512 9d737091dba80244137987d06a52ffcd44a968c96b59ae9af9cfa40c38cb9675d023f6324fbf25c436ce1b9592ebf26248f85b0a7c97ee02360ca624b0efb3e0 DIST libc-0.2.180.crate 812207 BLAKE2B 086681e1f488aa2ab8a477655e01bc27dc6c578fbf9eb2bb429828164825a5d450dee9bf1bc38afc8e1be5d849eddf384db75b9f4d3c64a0fde6cc37919c1b80 SHA512 5427ac2a7c03d02f14acc66c3a187fbb4e336a88e8cccf7f8281fe95f958b845c0205ec47aac2f6ba6ab8b8c4b5cd0d943205c3f78ad2830d44c3b7779c317ef +DIST libc-0.2.190.crate 853678 BLAKE2B e8810c1cb282621612a73900dd73500e1e4f5c7f46231b8871994e6e5ae758456706c0d483971cc9b0bec2a3a3a0c7b9bf638a9e98a27408ab3af1fe5e220486 SHA512 e1f4e04e82b81fc689e0a228d36553310e3a4e2d8976f157175d1585c434b45b4a96049bc2f183e520c30fa0636670d4706b5e04a549192c529328235f4517fb DIST libdbus-sys-0.2.6.crate 1105988 BLAKE2B 63452c0c239b32adda03f46d7495fbbda894611ffff15636f73b75f7d644fa9c71600dc6f3391914f4a4e269be2826c890503ce5d245082d3f8ee331a12d3a5b SHA512 b12a56cb3297b21d79dc6d63167db16c4955eb846b3470e7a7e46a696483d30e702b3c2a1642d0b4edbb81dbea570c7194208f8ab2ecc535dfbd297c6101434d DIST libdbus-sys-0.2.7.crate 1105992 BLAKE2B 3824453f436ccdd667a4c8dc993bda9f5ee7b2e16dd588e08679c90d50399a5317834d8433b927e80f73cecdc901105957adc20591546c7676edbbf5bd95d530 SHA512 85227b2afcc59d69bf581bc1e371802bbdcadc79aee67b7f9c70b7bab6046fa60eecd3ec529dc5e623d0c837d3a267fe2e49efbc171a57670761006bb9b67bbc +DIST libm-0.2.16.crate 164243 BLAKE2B 103d5eb2c94b0566068ceca366c1663ec5cb0a31af1afe8e3728a38769b27d4a60b83f31aa2bb66ca4cd2ee43caa0cf1807c6a6ad54a9ab3471487324ecef332 SHA512 9bc85e6cdb7fe39e5546c47f167d2ca2abcf0aefaa673eafd0dda6bb9ec03ce19433dd2b8c0e226a3c08340d5c005cdeab4c642b49ef926f2cb0681b1d9661f9 DIST libredox-0.1.10.crate 7332 BLAKE2B b3dec5511df635f98f1424d9765724a8313b85ed73bbc6fc736a57b5b0a49972cf02d546654c88562846dd6bb2eb3701d4e14312eda85b173336167104687899 SHA512 3cf139189f8ae2ff77fa9663d1a5405ac3047d5cbab76b6497038631e2070fc2b637f9aab5001756d2f0d2f34e820a909de19da68a59c903ecc3bf80d8e80680 DIST libredox-0.1.12.crate 7469 BLAKE2B 93ef90131d6de7b49f1c720f3b01f18856e825479f53fb173fec67d3b2c7d6eea86a8dd4789752dfd8f59b7668be82ba834c662a86c0196181f7822f418f323b SHA512 8206d0cd3faacccb681551d20d9cae977a9fbbb4801aa53daa124633925bae73d1967f6c75ac9718527cd567dc39239a8e97e12e0747bfb3d53b9bb33bcdbc4f +DIST libredox-0.1.25.crate 10671 BLAKE2B 75e47408ff14459f595c541e6132d1ec836378b8215c97a8a324a864172cd80d0eccdb9832c6f5eb384ac28b2398b2732aa951953d90074555d9198b0a051977 SHA512 d7e98ae7b566835fe13073f10999a7613671211f455a2cd7275c4df3a537916b1cdfd0be15a0710f75cd82e90bc850b2ec25f347c59eb697e5373e13ed1189d2 DIST line-clipping-0.3.4.crate 15214 BLAKE2B aff8709cb453105aad5247424eed0c606a05769140bfe9071c93db3fc11680c81b33bf54790af5aed06d95e23775733325b1f9a406aa0d8b267e16157182d9d6 SHA512 f6d1b80c222b89db3c5de95c60f0146bfeeeefbe0bd20812dd89a670c3f9ad6ccc89d4ff94fd9d689d7b8e1f447fffb26397db95646a96f454f4f981600a3cf6 DIST line-clipping-0.3.5.crate 15498 BLAKE2B 102f3f413fe020616e637afeb3d51d979853ac58397bd5f638ff67dc1c14a3017c23c36b14d293cff66e2c68566de36d29de94560946da89fb617186c02c67b2 SHA512 adc5b85d2bf9415f815bc93aae5e802572c2da63251fb0f6a441ac4b4e56110f35b3191fbe5c0a3ac76cea126a66be672a213031b067fce0bec6286c7b3977df +DIST line-clipping-0.3.8.crate 19377 BLAKE2B 5b21beedf5c97a9022d4af452e330f48956b4cf3cde3ab5ed433fd7cbc44492298719cdda832bf3c2854c90b809812b8b7d97960f063d42d0d83c4693494062e SHA512 cce714c5a30c0201cbafeae76cdcb445794a5ce5920a097a15bf9e9f7baba93df73e09c92574197d72ee7faf38d38890120d07bb9fba1ae707d26ca33feb5419 DIST linux-raw-sys-0.11.0.crate 2659624 BLAKE2B 0852bb981c64b8e70c7037a3da13a6a16b7a89190bc50a07159d28a797e6d1ef2f2010383df5a43cda19fa291ee5eb4c6365a51f5d9fd31f204544ac7e115129 SHA512 b16261142f3cbd1caa4e0a17ba06dea49f0d4514f583ca511d9c7ba6ef231f18322f37303b7ffacc73ae7f22b81dfd740584ef7bfaf67a9eaf43859d2de1f941 +DIST linux-raw-sys-0.12.1.crate 3006116 BLAKE2B e23efa27e6052034d41b2149f90d1ee7d6b905808605296ebed66f5fff210c4c18c51ee9c363bd0b93c8e17bc3b70857b594aaf51d44492051291c0e008f8cef SHA512 5cfe8f7e88a2125dda56a3f7a7213fb41cbdb51ddf4f7e44deec21f5b7aa05530e04f67d1b89b9d99d9fb204f27167d8c0e104e6ee6e62a780bcaa679155bb54 DIST linux-raw-sys-0.4.15.crate 2150898 BLAKE2B d1936eb74377d9bfddccef3830b56eb716c38ea3cb7e13b73325dfd00f9fc0df74bae49e4214dd7f27c257403b8b12cd1ef332d53336279d13f7e9497caf4135 SHA512 b5c39181fb6b901abddd8b2e7b449142e2e5691cddadb8e6b74ddc3b53076b1d410522cfa45af68dd18befd24ff12313c2494cf2cb0cf142e2228bfe42014309 DIST litrs-1.0.0.crate 46610 BLAKE2B 9ab4a7f701ff0c586fd59a3be684bc94fe27d159e5a44cc3268cf9957dc4dcb8bc7fe8b47d32ca60ad77e1b9024a192cb022a2bac64b1247bee9ab5710769b93 SHA512 8dd223e742e80cfb29ce49c93459ade63798e4977c028d85214ac439773a37a331e9ce375cb9f7f814ac2279770d0c3bb8b4e60a118585d6d0f9e7ae08539f0a DIST lock_api-0.4.14.crate 29249 BLAKE2B 52d2f3a3eb5c3cbb4e7f01a2932f90200e3361155f53f282228f436211c54d1e429bddfd9e305a78b9c26b022b3234ae8ad3bee209bd4feed5b64a86af5b3d85 SHA512 73164d411c9899323b3bbff4fd6824e2b9ff44971ddd267629ae5a70b456c1ca945716e952412790d35331993ae71600b0e6a2aeefcdda117b26a7222ed97bf0 DIST log-0.4.28.crate 51131 BLAKE2B 2911509cabe6a69b60945e798f2afee934d865d21efa22d150288de6a27a797fe00ee4f249fc6f6d7a02e2efb7377d2a7188a8ed8cb692f76b94a0df56d74d83 SHA512 cea74c92c80f291360a7cdf022e3ce2f509b9051b415840ab2a159585384f3fe606289da00a6def0c3d666416c5fcda865e2ae4ad48df07618818e8486cd0209 DIST log-0.4.29.crate 51515 BLAKE2B 3f5dc889e895428f27ef107a63004c1b321793b865c29b20293adca81db4e25443e24354af37018c9a60dff1d54897c3b7b2c014a64280523f4a3586a7eeed24 SHA512 31bcf1669c27980f0a8500082c4d0cc500f6cc943518a3dacacc3ad4d8a0c238517f23c2c1969e5a22dbb5d25614adbf4e914c0557e45e1ebc8e7385b2ed14b3 +DIST log-0.4.34.crate 53395 BLAKE2B c79adc36efcefc23b0d4419364e4f6e31850afe766081283b97b9b8fe1c99159b275aaea6a06ad4b57bb0ea0f440b72e88aeac8425d316009ade570b8e027baa SHA512 6f51dc492f808262a67b28a1a80055aee15eb9437d0b0e21e0478cb94db358f751a61172f0c303d94fa949a1874e3f25bd7bc29d9724e3d43849a9f3f4b55d6e DIST lru-0.12.5.crate 16047 BLAKE2B b5d7d77b4b29973fde0854f55c395edb6ea6e3a309fd33f0c43a6680955bdeb60fab624f02135b637d95e5a0e9da79890a71290c19d797f758c73d16c3d44a27 SHA512 a77230403b1ccb5aa3ed1ed89e7e6af53b3b34d4373e663c1a9789dada12c252e2b5d8b7ac78717c4c4909203c7ea2ce5743ee6cb414aa268c329b889d66a982 DIST lru-0.16.2.crate 16627 BLAKE2B c1e5e8c8458a5dea058ef128519c338b08b7c7246f163f41555da0423850a7c41d2c9ff2532612714ba884730f4faf47fe5c0c969dbc4ba2859303f33369db5e SHA512 e995c1c38489578668172c1650b90eaad36f63e9fee68a177079884c2bde617a27db1845ed44c6c439543b79211f23f0b002f57e10b4b272860e547e3df796d1 DIST lru-0.16.3.crate 16743 BLAKE2B 0574e82714425293593e399930903da1004062ce84e5b90126c66d004e872ac580c6f474f7c39e1a8eafc9f78c6fe7a3049b50f248e8f3a9ecd03e9f04133b9b SHA512 5092b87dfbb7666e224dc6d8ed01fb8276929a2d1a31173034155afadb90e0762dbe6d5ce263bbf0353c079bb249027eff71dcac87228514a5406ef67dd06c15 +DIST lru-0.18.5.crate 19761 BLAKE2B 844a71f61fd7e189961856d017e92a72595d61e6ed99fe6ec4e68b4c494d46e061054508178c361e3086bb0b1ed5d69f8940aad4c9831d73e3ea66fa94e8362f SHA512 dabe1ca6c1479692741774debd07328d1fa96b47184399d271827d77bdea0fff062197a89b66145d20a9282cab00fd9e0cfc2001beb92b3520ac3b2b5b0b931c DIST mac_address-1.1.8.crate 12876 BLAKE2B c0e91482dc2aa5697188b747fc4544dbc787ee203821f7c2651b996d5041c7ae80ba02ad87b8ac447b16191644e3633136bea22cc379c3edcb669be499703eee SHA512 bc267a2347aa81e479f831ac6a06830176c7d5e97d85ec213c2845b30824585fb240111d3a8fbc2aee6b53dc6941d51f57c08dc4461d0293e945fc51f9d7bb35 +DIST mac_address-1.2.0.crate 13324 BLAKE2B 1f6f1a87f49cd7867b83608d2c8844ffe0a8dc486ccbc85f5bc361fbeafecf574894bce28db8b75bc57692532b4c59b330c3e0ceb6585362f67849dd23852109 SHA512 3cb4892f447e27ca62a362661e677f9e412ffa6dd9e8e4d6ef2d942d47e9c0fae9dbf76bf71915ad1b5f3b48e35d68f7a63b4c59ee6ebb6a308010805d2847c5 DIST macaddr-1.0.1.crate 11162 BLAKE2B 7c3af87c657999f1f34974b9393391779f85e2ad778117ec33c11d116d83103fee965a72ef655b70d4c9ce8e21f3d76a2b44a961adbe7c0061d879b1105ead54 SHA512 268dce94149b78d3ca7988fea8906589c4f5c5cd7209b9c3b5e7850028296b70a959df0ebfc082476552f82b21c81e187e984aec545599e347dc7bc86c911e75 DIST memchr-2.7.6.crate 97616 BLAKE2B 3429786e97f1aa078892e417c8ed8198ec727969517309049b842e44097e58038583508aa974e6246888c18e11f9d23863c1bb012b542c5685250fe34e250d7b SHA512 38843817334da88ad74ce679b4401cf948cf8138815f3acc5eb0d005da3aabceb2216e20887e79344396569a2fa136e3aa1f7f3251a00d07dd6934cee79f4fad +DIST memchr-2.8.3.crate 99165 BLAKE2B 46e5fb49dbc9db3ab2f9a3f77d9e45f1a7dfc99f7bf0350a83e9a56599cbbc4fa6e4738407e177304d595b03727c9cc86969bbfe4e7b8ff5efda44a6c8861bc6 SHA512 2965717bb9e0451c8fcb3d81f509898918491a7b72a894bec5a0d48619cf24db4378e28c6f71f22dbb0f47f1e96662cd86adb0cf1ffad81a7efc2a973fbcd62f DIST memmem-0.1.1.crate 10665 BLAKE2B 430da33ee602a8aefb0a827afd288cbf0ec16f1d5377f38d17e44dd1d4cf5847b2123f50385c911423ad4b72721fa5b244e4bf093fb2fb1d3ceb53a3782a6152 SHA512 f4ee8123e0263c30898ff1e397bb3daf4e027aadf520977ccaf5bfc4ec8158b398a19bae6d48a85a084e43d80d5ddcbb3cbfdf986080041ce958d2c8f5eb897a DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa DIST minimal-lexical-0.2.1.crate 94841 BLAKE2B e6b8919b80d938d0b98d60d4f5f29ce43d77ebfcf8b18bde08909141915c6ef4f0d07a543538d4f3ba8527a9f55926d4a8e83473248469d087e80b274d701d61 SHA512 385fab51884bdcc7b0f2728a219ab164d0dc8efe42160b918f2c09f79ecf853fb12bda006d11e649f097bae1499dcd41ddf2a8784ee7d178cf2c28059e46078c DIST mio-1.1.0.crate 105232 BLAKE2B 22c96a2ef27327c27176651d957ba9e8f6159406e5f83aa39b1fc81efde17a60b4d5e5802382b45c51594d1f3361da99b5433518c096f6edc650bbfb7843c7e7 SHA512 7fb0d6ecc9c7d5854c0da8c2d683012a86a427f752b47592cd392c44a7a06bf84360f559198d685e47ec937ae6517c0a279c362d6b47fef6d4ab6edbd858e944 DIST mio-1.1.1.crate 105630 BLAKE2B db279c3e46108375f5391a5ebc3ae07e8ccbcc9f6a71aa41996adb862c5d2b965af3cb0da25becdadb16d401ae69ccf5a07e21b0b6fb36e07294633cdf690141 SHA512 0b1c82773f5cc3f33ccb80a2cfbd58e48ffac82934afa7d9ec632b36484f8a13a079802dd8a658dbc94fc158e597e4d7a2c02a799f7b506a7de98fe74e80e684 +DIST mio-1.2.4.crate 110437 BLAKE2B b9d0b6ac04f45907b431d448f710a9cbe498f632f70aa2fd796239da6f59dac398d214fd9ea2f780d8a51985d31a47639c06547db64e61297f9e34f1d0f0e9f9 SHA512 ee0403b024bcc4afe5685290e289facef59854235132a26114310ef8590659b943346fdbb190872946d72af968a9190ef1aac8c731ec457f67c54d16b5a2ba4d DIST nix-0.29.0.crate 318248 BLAKE2B 3a13a88375a359cf77b28d7f77f47f178bd31ef74b7627b6701bc6fc601024706be4e9ac1a076c7cba26b64d3bac4de17aab45fe3c045aa7a36e2d9232e872ca SHA512 86c05084aa0e6238f8d48df0f5ce6e6d7661b589f4f3fbdad43387c59c0d6afafea4badf25d31db1611615de19a0b9ef18ce614846b79a47cad4e2c9367dbe7f +DIST nix-0.30.1.crate 342015 BLAKE2B efe5faaf142fbf8d97366d11f28189167d3d22c1ed76b65e7887064f2fd146ae27282aeb230eb798d7c1b3850ea1502bcb325dc23536800690f0be3d66d37b63 SHA512 80df8102a3a387d9cd73cd8d756b9fad5c4c4b57f6e94d9acfa24ee07af51f28ba2db70b8d37ddd6c7eae883c7acf9fc366a0100659856939210ffde1b124d87 DIST nom-7.1.3.crate 117570 BLAKE2B 5643b67990b7305e101b16b8cd27c447e162a7adc6d0dfac00920b0cb50fea98c9d4edca63c34f6845cba05f8d0acb407cf3045cf64a4cb28e53c8b6bc9090cf SHA512 1ffce08dde299bc0e0367ad59c7b6a83e23decfa11115ee076ab91ec53cdd9ef37e4c2103c96eff23a7b6b8b5c3f67c83ce1917928c7d4c6462083bdfa0c9cad DIST num-conv-0.1.0.crate 7444 BLAKE2B 4f5c4695006aa3ae77aaf5c55999a07d8ddfab294584fe10d73eb6abbb3f551846646156581599f966a28c74d80d3ac4373c49d2099991f7ed9edb56d36feec4 SHA512 7884c0c6599c66e40b9a79435e1bbcec60aa7e68b59686922dfab19ccbcac6a6e54f208cfb3d5a8a12e86e4dd67e09977d60b69ef6940e308a28256733f36100 +DIST num-conv-0.2.2.crate 7441 BLAKE2B 6aba203f7f766894f4994ab581de4a58c43596254effa252aaedd3f819c651ca1502fca67ab86465eae78e2a0408c5b46c8f6aa4042cf7680c84c16d11fda779 SHA512 fff59f26558acb931a2e767b13c31df04078b6e46629c95480df710e7900094c09c5d69672cb50b1444a628c99cecdfdbfab78d728d02bdb803326bda25deaba DIST num-derive-0.4.2.crate 14709 BLAKE2B be4abc3c51647f2d4ebe0c0619948cdc994c6ef808d768dd2b9274410716f524ec73c75440f7a780e4871f33055c81f800b0171e4b7a4e2214da5a3007393dab SHA512 55b951470a07dbce489ee43e1540056123d3eb7b5240903cd348951b81ef5aa5b2b1db311d1219bec8ad191373d0079bf40861e3f45380f8d8132f39d33b4f4c DIST num-traits-0.2.19.crate 51631 BLAKE2B 78637360cbf32d172510a62bd9442708af9730c0296a2bb4ebd200c08facd49bc31bf8ddd58967e0df7273a938832b620265d9f8f4d26ad16049bf6dac1cb4e5 SHA512 180018a5eceb45085e4e8d103ff21bb4d5079cea874c42a0ad4c76c99d275d434bbc1cc289f0cdec172866daa89dbfe0871410b2cc3407233fe1129786905956 DIST num_threads-0.1.7.crate 7455 BLAKE2B 282514d1c6ebe67ab2c30f91efd5b6c8880baa078265e22d5d7200eca4f96702aad8b537ba772e5d4e680a6e90fa6919fecfcf37a060668b2a618bb01bbabf2a SHA512 60eecfe49c1afca8efa320c5f4d0cd794f6adf8924193682c903307f484ca0a1ddb56102a772232aca040f29651bbe26ddc1c4939e1f030e229d179837e06bda DIST once_cell-1.21.3.crate 34534 BLAKE2B 3578aaef305cad2fdffdc40c392775a3540bfab3f3aeafd22466d9507bf8346b9fcc200929d48525b051070c0aaa423ecbcaa12868b34dca007991effb224166 SHA512 32a87506c6f4598f3ca2c88556014ef2093d5db9a08602335e847caa537a866492fa74c894e7e1da2e4289a1d3dbffcb90a9e37a4a1453203832f434b8206990 +DIST once_cell-1.21.4.crate 35010 BLAKE2B 9117ed1d478e626b7b7be2e3ff8b68a382b051112c7ca4425367bdae86977671f8b5c576131c82fb437740b6d98b72501f718f4172d39781decac2385e8fbd4d SHA512 af67669b0107f44268ba74c355200cb2ed1aab235a6989a8bc54323eb2c9a45677010f8672e7790edadd4c981e939436e0c3a099d33c06dce9c14fd5ede86155 DIST once_cell_polyfill-1.70.2.crate 7448 BLAKE2B 5a90f8eeff25a555987b84b9800f9e0b2aa94fb4827f76678ef45d344c4baeae5a079a288fd02a570d0f0099e9b2842d32dd206dbd609212496e77ede47a4d21 SHA512 9e0d07bcd40e4a5c271646d6fce71677acbfa4439b4e818bb4df823eb31eff976ba78239e3a7e0ad21e80ea8d0d3af3e74a7d0a0a55b308d4c777b9b5e1ef8ad DIST option-ext-0.2.0.crate 7345 BLAKE2B cbfc03e7c960fe3023512a4ad816d657b4f54f8ecbde9f9c4df4c5fee3b36b68ab463c67ad650778279e01c7ffaa63a0dacbd0c080c8c3d15b1611de0e71f92d SHA512 f8539f97b01af97e0b80fc96556002251befa60f8ddd19613311e62f9dc9834d71c22f5d8e7c53c4925046e38cdcf834c3c28042a4da862d6f6a21ddff8d8e56 DIST ordered-float-4.6.0.crate 23633 BLAKE2B caf4d17734044d863fc4f3f1a7f140eb38a19e2d8503e77e163915383f971ad28ecaded594dbf345ef7e9b3c55104365160172c6c976dbf3de1b53c5821b556b SHA512 57282f48284630fd17d65727e54470e63f92ad83f7eeaf83a179747a3de3c635a91d6f3836d5e01355d0b2c1a33d4c0e4d931951495e3b8b838d8f058cbd2887 +DIST palette-0.7.7.crate 272608 BLAKE2B ef41a5695e8516fb69864b4ff4c59d450c1ffa1ed52253f38dccc5782fbc36b3d0f6ff274e79667d00b8491c26e11929e1a4523362944d7ff05331dd9beae2a5 SHA512 86f80738c5d720cad0e4fbbaba40e9c61690aa875ea7b2ed83d9c96ae6bd48979091e0a3e4ed552bdfcd0b141953ac34c48736366c079f0ec52c5e6bb5d70364 +DIST palette_derive-0.7.7.crate 18136 BLAKE2B 628f7e533015eaa3022d36d3388525245d94cd9f9b93b8ac90ab6aa39e498a64af62d5bdc25295c2a147ec322a48fb63429973435882145fb0ebda1e1b7b31cc SHA512 8e23ea9bb387baa45664b7e769b2e82252ca7b378b441b08d326c173e11b4a269ac1219dc5bc07c965016be2aed3f73acffecee42b25b306ccf6a2d448e7ce54 +DIST palette_math-0.7.7.crate 15423 BLAKE2B 9340471c2bdd5f006b0a2e1711eaf8b8e20c863833099d8d741c3a1dcf7cc5d32e383801717389fd3ffbedd805d46614e749d657ba5e22815905b408cf0bee42 SHA512 ddeb777ab55eb8ffea59bc241eafbb080e9447f94f4467e5f14e4bf32b62520843f5ecfaeea42502e3506fc9abd9299357c6c64c35f14bccaf05bbd559a79cbf DIST parking-2.2.1.crate 10685 BLAKE2B 3af8020bc27ea921d6023c14f20545f70a5a5a5a216d5f97458d76d3bfc8d9de937f3c92668d31a79de85ce08ed0236d440c64ca1e4fe0a7748f412b941c052b SHA512 2e49137b59000f0467aa9ee0648d53e06cd2b8319d6ea28bf04c621b873469739a34186840b02f08d770d109cca26e161b3de3e4341dd729701885307a6a8177 DIST parking_lot-0.12.5.crate 46735 BLAKE2B 36d82b682f7cd0a2c308fbc672f0c7023a3b6ba6ff0f9de75067bb26227d2ca460a09ba37a0a5b3867ed788d72a523a5900b99241bc30a67606481aaec30536c SHA512 432639d4a14acfa20127f03741e1101fa591fc63048b0b0369b44ad269d3dcb6fbab7947eb9995c7948f6fba90245abf82154a70df2b7a99aa7365b0b88666ca DIST parking_lot_core-0.9.12.crate 34110 BLAKE2B 4c1b3fe163c843c05effee9cd0a0461e39875040298b8a8b880c05a7db038c55ed84d1e4534417fa0e7a0395e06200d909fc16031514e3ba0ec03f011a86598e SHA512 6ce29df4aa9eb0ccfe9020b066832f2ba27afe41a48792d935d0051a595367f71d50f6862b921d91312a1ea80f087a416388d4b29a11de17373483e529f12d8d DIST paste-1.0.15.crate 18374 BLAKE2B 69ee7def55e658a9aa72405bad62325e8d6021a4989fbf11c88d1bf05fbac520f7b04d467bc3c6eb45043a41119f65aceecc4a6a1418a9192d73f33134545062 SHA512 5026d3ec7141ec4e2517a0b1283912d0801e9356f77b703d954b379439b8d85e3886d42fb28f7835edaeeac465582da14233564fb010c71425a59c9e1cbd46b4 DIST pest-2.8.3.crate 130311 BLAKE2B 4475198275da8598c5dc11e65de454e4b0d786bf5b70bdfa6c1e46289d541c9fd795c37a4ec74d5856cd8bcc6c0f52803bd1d72569d045e77b33b83448cd5bc8 SHA512 d82373f2d06adf4e0ec705fa946f9e4784add89afa5c4278e4912a6c1df3da6ff0be531ac1aa0a270f2598263399c8b0520b5711921fcc51c23479749580d4d7 DIST pest-2.8.5.crate 129838 BLAKE2B d0b000538ae6c74dcb4de6aed1a6fefd88e1cda6ce04dbbf0bc937fd1b11c1c4cc71ddd65aaa920767e9f3d8652b82fa0f412dd1c0ec87d6aa0c67941e534f60 SHA512 f53751f0c142771573341f4849db7cfe3e5d8f130ee8c78937c285bbc7ba46e153d896143e8d132e6617b2ebd3c36826e81f96a2ae3f24c255981bddbf8945ff +DIST pest-2.9.2.crate 138525 BLAKE2B b5165cee5951bfa1ba213180c0380fcc198091c5ffc062f976813a4a89c98dc2d3d1cabba9496814b2717aedf6fb6a9d4dedb515f887885b28136a0c4eb07def SHA512 0e1d79d44090d2a7c412e8675d01d469f18c3f288930f70ec66e164283aa463a72709e9a91d8291f36f052cbed1acf7d69a9bd5de6415ea0e03ce8ea09ca3881 DIST pest_derive-2.8.3.crate 43363 BLAKE2B d2fb3562dad273df1955afea43a38a925fa35bb5837deb1214c69fe2de88163537687261faebce293e63e04a320f847afb63ce1616c0164caf03360b8987bc6e SHA512 245867dc29ec381871fe8bb4535848ade4a0c6affa4208f1fcae8444ba0444a484de958b8f761ee4880bd42a72aef4b4e4f0c93e169eb3b01b2937387a6dcc6d DIST pest_derive-2.8.5.crate 43550 BLAKE2B e72db62bba6924b519bcf4c0c9f41ec306f4a954fce35bc0498b509f1d28542f33e9746fb0c55333fa61bb5612bebd2dd39bf99b5ac47992cdfc9463b716271e SHA512 bc36d726f9d8a5a64f1464fe914a02755301f4c1a78c5969d792f3f98285a34269a0fff1b8f5d3a5d79ce69cc2e02ec58edd1f4895b2d15e4d11c974bed42f08 +DIST pest_derive-2.9.2.crate 20096 BLAKE2B e1fd44838b8bb6a5683816f82ee588e6e38b787ed3e133f2830497a26ef3c14900e6fca8def5cf5b7b083ec00360d9b9b23c992a6a0fd3a7034020be744568b6 SHA512 e7c403fca617461f40f6545befc87d4089067e2551065893599bef749829b31bf54c94d3a0cc88381bd639a05016139e33574587ecd761c0c05350c04aba950e DIST pest_generator-2.8.3.crate 43010 BLAKE2B ccf41c8c89db9cc87b7ef50da302d5b77c37b533cf51a0e548e88f646cdd65b18da3a7dd21891e6f541ad33c10eaf4d72205dd497e5faf8078d2a85753402a48 SHA512 64fcde2cddff2d9794d90b5bb9406c69c67afd07586fe7d51e08bc6a158c4e05e94490a50900d6d9de48d36550ccdc2dbd5c5d8c8a874f811fabbbf7210a0eb6 DIST pest_generator-2.8.5.crate 18653 BLAKE2B 7564d43ea0de93db83eb468a3f871cd94e2e0da9cca5ee5ac210c0c052f5604e53fc4fdabfc30290c18b2b76bd08ad5eb04d1d110a8e735d2660fbf2632d5320 SHA512 a3714d32a19db7e65e3f0674656464a12317c589588505623706c35e43f7062feba0ceecd57873575629c73c47c02426c65799a991d1ceba372a06c07ee0009b +DIST pest_generator-2.9.2.crate 19428 BLAKE2B 9c66bfb25dec9cc7ce30359ab3207c6d0df75ee4a03b2ac9fcee10b40a6d56ebfa19fe497b051eab7cca42b4a1ea5e2dd8a4345959c1573d2af8d2de975b2587 SHA512 d9dbceef256a5bdc38c5258d2d606096d7f47edac775a391b51a35b2bdac261b395375e3edd63543aa07ba3c0c727026bc4fa3d0b2392075a241a833f096f84a DIST pest_meta-2.8.3.crate 67289 BLAKE2B 32678a85e4b2e7423be562519a603814d5b1d04c99f12e986aded858d78815b0738256b5f6346d17e5456ebce102630280a0cbba4f7c7872c281802acd993a6c SHA512 cd9670c418efa69386b80c2ff3a3816a79d72954c3db749428ef5f2911218f9c72b8c8f70bbc670d0551325ec7841e845a758efa372a652422e7d1858922d5af DIST pest_meta-2.8.5.crate 42953 BLAKE2B 15c8b602e75b1b888b90430fbd8a92b4813589844f9fb70f64eaf13a38a663b4fe5518a41551e59c856a8e84e0f9c3fede3a14431fff6e23173e5c94157cfaab SHA512 e740e05bd6ed1e6ce50c4699d567b0a4366913099d8b8a5e6f100d24e3c828720bf542c0dd07f5c96fb5f977a1750d8bf25f2eb92c48facb8d849064e1757cce +DIST pest_meta-2.9.2.crate 47453 BLAKE2B 4e27d8cfdaba1ebaa85d9279cb5d3755fe72e3487c825fc1866ad493f357472cb7df0c8d940b00d0b3dda9caa8abbc4b43188c831e747b254683c213b253b8e0 SHA512 5292b75ab979bad22757c32bb88804a2c341653446421a62db9a913bfbbf1ba54c91bf059c62ba5db47e73488bb63e08312852f00d133c3371265773cd373422 DIST phf-0.11.3.crate 23231 BLAKE2B 588ff9dfc05a3d2cbe223d97c36c8a596d89cd421b568a0526992a089958e4b4ae8f7d33b3f15cf935d20bffea8f60d39ef2d2e1904101f285ca9b8b8155ecb0 SHA512 20a834481bc43ac8c560b00e337294d3c14d1fe359e7f78ed08166b096305e40277f4cd3c179a740911b5c241aeb4e263afa1a50d37f383ef63da113bd6270a9 DIST phf_codegen-0.11.3.crate 13741 BLAKE2B 88b6f0c206a95945c115401a30ba1bbf6a74e3acd4458f892fcd1eae5312765ed4e17272a814b6242240b97cc0d4eaedbf8c1c37a090d9aeda6ab23bd2280e78 SHA512 e86c3b73de198aa0ac67beb6eeebb88865f77d075b9d7f290eb9b73bfdd6728d9479f796d56e4f3358226ee88b877d848017cd951a14804534e4cb656eed209e DIST phf_generator-0.11.3.crate 15431 BLAKE2B 0c8fa88e391141d36d6f128fdc3708a87e34ebd56e201ad56d62de8c05e9bff62258dd7f3a03b432ddcbd83c4f61fb9a57d93574a9f9a68e931720733ecfe1c6 SHA512 52998e20648b6ecd1eaafa407f7da4667fa829d48fe0c9f8f718377cc86a232a6261fc2f831ffc7051b62dbdb880654b1207ac314e57b23d2b70f634d07c2115 DIST phf_macros-0.11.3.crate 18436 BLAKE2B f52beba12088a40eb532da1dabab5d633c1c90fe143ea0367afd7ad8263c42336fa81974fb122ae0d30eb45f13a257c7fef85f03b0aee8de45d3cf3b9e903d30 SHA512 331d3392dfd3e48eab0e65c3daca469c3abaf902989ed912e394175876f36c14d06fd1ba4ed03e01234608faf1189743e6dcde75eccdf2f4fe0dc8ffb15e720f DIST phf_shared-0.11.3.crate 15199 BLAKE2B 82441a3f6db12e9021552b51ef4ad8b564532833dce782938d7d721e9f2d8b7015eee7483724552b8fcfeeed365259cdfd5044e9d2a999f42baf476df8141db4 SHA512 34bc3c0dff5568f0276777614d92d87882ca6be9e3d405c1e7de90ac16ec52a12acc30ea9ab2033074d0e988fa514247f37de1a21a3727de0ef43f42f477e27e DIST pin-project-1.1.10.crate 56348 BLAKE2B 2737430821b6f9552b224dc03273e56061ef732da90a14df477fb9a8c4ecc74bb4346ffc3f507297d4ae01014f2a1dd754ef76c0af2c3cea6cc889d77ed2fcd1 SHA512 6b99941a43287849a9c1b8fd09e3991cac3ab3f8811641d29ec4228bf1ec727cd8845fbf747859bc2bc7dde715af5b1129654336208b37a86b641a8765071d1e +DIST pin-project-1.1.13.crate 56345 BLAKE2B 19f30271c018d64630ae5dedd5056fa8f9a31b3fce4265d3c95abf2f9ce90b075a161cf6d9edb4ec9f2c0a99a6fbcdcf642bcd2d22e3139306ac2fd65daacf1a SHA512 5a78faef89908534f0b447948338354530701ea6cb4bce0fa5e5494fbe48fda39e1bef0974fc73c6c83eb9dc397b3d92dcb7bf2ae5df685e781063e1866d3563 DIST pin-project-internal-1.1.10.crate 29162 BLAKE2B 2f9175f5419c7995caff2e2a243cef44a724b8d94f4cbcb5c1378166d03950d77d054b75aaa6c90f991d1b4ec4ce3cf7b04b24e4ba44f3c1d633ff7d7f80980a SHA512 40799f5b9e3129859a50312e19e47b546c345e5fdde5b308dc07042afd28f66279fa936da5beb83a43721b698c913f2c487610b047459ee6b7211eb890b97e96 +DIST pin-project-internal-1.1.13.crate 29331 BLAKE2B ed5b1f78740dadf22935a880e30fbcf0bfeb94a07d0326d3521956624e557e9ddea530aa91554e144f84f898a9457609e50bac421475f923df1657dafdeca194 SHA512 00f35624ae3637d898302b5b6bdd248e5bb6976cc76acfc6888c5618b5e47f2bb5051cf68d715f522d8bee81b5191b95293019f1a74d097df68d8a84a126117a DIST pin-project-lite-0.2.16.crate 30504 BLAKE2B efd0b426fcc6ea8852bce499fac61f9755a11c6a2999cbec514f093ba7b3f94b1f2d437ee9abb243e31f3838ac1c74491a212851d7798eb249e209b35e015332 SHA512 971adfe54cfed304647fd944c1c915e78b37eaf0de3a582fb984a5e91f1b7d4db2cf0f53a9a64b64427062d4b41c0a36baddef782411a76ae3be0f8ca45f0718 +DIST pin-project-lite-0.2.17.crate 31034 BLAKE2B 1d3bb970100c2a27c456bf771b4884f3c91c048310d27608161d3a02adf2f9cdddbc8674257c6b58c4ad6c0953e11cddf2fdf5813d95e5ab8425e71032556159 SHA512 0cff4338e3c7b71600fb41db013efe0d01b9cb3fdf95192dc16c5bea58a0f157207ef285ceb01b6b30956f9e751577c5d2a3803103f89a8a0cc6ea728d97a4df DIST pin-utils-0.1.0.crate 7580 BLAKE2B 457e1287202f16d1873b24bf4f1de1828300128c4ba3131758e64f9784d36d47365f22d85493c3a85d854f0d8dbb4c6cef3a0f5b064014dc03943e58b7ba9178 SHA512 828422b8440cc82ac6b0743e0112fa7540d437aed457564999092b1462cd7672cd6b1f0201b67075431aeedd3d9c5127468a3dd028744109944f7f023c82fd70 DIST pkg-config-0.3.32.crate 21370 BLAKE2B 74ded191f066bc223739b3d4afec58f23de57566e7604e3dd62001d9a095a7b6a3633fdb01fdc46960c8134a694d6bf097d9ecec62b38c4f14acafbbabd6e893 SHA512 59569110185fa665f76a13e884a67ad1578c55246abacfc18cb9f037b2d2d9ec3f2078a3adfe5cc82a451892c9ad55f918ee01362a741f57dc9ff6846a4e32e5 +DIST pkg-config-0.3.34.crate 21370 BLAKE2B ec02a21dcd793ed4e69ba6d8c761a6c4daa8a3f2c5eeeb7077f8babbc14dfd7c0c7eb088eb9f61730fc6eb0d3f1f6271b72077d380d7304e1153feef532f118a SHA512 b8c63db0782b888e4be96a48102ace87f3a1ca496290f958c7835bc8bc8a9f00a8a2ea384bcb21c184b58238a65fdef96304d5598cea6cc55aeaeab085bab49e DIST portable-atomic-1.11.1.crate 185506 BLAKE2B 953bb1f2059dc1d891305eb89945f1f6a172fa50972725aee499de72b5dd9b4ad8ccefe4e891183ff8e6b64f4d1bb45ec33b06e0f5af34c940f817b290f746d9 SHA512 4c037ae0b4aef43077bdbf803389bc078d963f20d023e2e1d339a54f67fa9b27c174e7c1b6eca8881ecf301e30c431632d2c0dcedfb5b19552892fac0f81e2e1 DIST portable-atomic-1.13.0.crate 195086 BLAKE2B 232b1d78c459067819dd6662ed14d4aaa1bb8157cafdeb8a61b4726ecda05068350a6e53158d2eb321cea544c688e0b3d5ac05aea77f8259ee342430c91b01e6 SHA512 1eae32e2f45a3ab92a7aaa4914995927d99b7ae4c9d4e5bc817436a06583298a1557a94b4857649356d82178125493e6c5030750b5a489c3c4e6fc3f8d501bd7 +DIST portable-atomic-1.15.0.crate 202705 BLAKE2B bf956c2bf08953b0ae1384d5c1703edf12c4a9b9d1f035b49043f4fb5e0a1ad005263affaf02331a77f098471fe2da8eee7b16861c33df9ef0d76444c614e291 SHA512 257cd168d0362b7b1d5e6ed9032cde9b0ac6e69d90b7e27347c39702a5ea020159c271e37e8045cf10661170f9354638791cfc972587bff3cba01da137f5a2c0 DIST powerfmt-0.2.0.crate 15165 BLAKE2B a3e1ce63f5866f75526eeb749bec6607e42cb495bbb953082cde7e98e6aa429ecaa41889d98ff7ed4cf5031258b4f7e0553ff8fc435b3b6f8b4ef2b6d53d9b61 SHA512 0623f92e4d6ab284b3f6dae58220d79d9185df4a738999d68040c50d72fe0380d70358cb622f079c629bab53bb03c6e085e165d5bddfbeea84245864fed90029 +DIST powerfmt-0.2.1.crate 16184 BLAKE2B ebc24698e6928fa5e8db07fcbd52fe423e4a6a1b513e69e86aa0ac038e6469c0ffda6cce06eba3eec0287eeabe2a8a7e05e7cc128a4ad8dd57c6c8b5e9f106bb SHA512 526314c966a0fb946b9deb6812bac0049ef5b21c0871f070342cbd09e0eac5ac410b6675ea650483758575d65f5bf6dde1f1855d3ab9be9765918d72eb820a24 +DIST proc-macro-crate-3.5.0.crate 12709 BLAKE2B 693372efbded5ff45bfc4bd2dfe4bbc28ef939485e88b57076d92c99fce2824dca88373b1ce9e6517e313f2402885cf470028cf7e619eaa291519b8eacf697d5 SHA512 8848a2234e503414f9e5e90e7ae6e8141b743205c1bdf31cc5211781414c8619b617bf78b61d880178fa1d7e0d1cb172ac03695d9f8c611619e953a1fbd0353f DIST proc-macro2-1.0.103.crate 60024 BLAKE2B e5ce5f77838fd063b5615b1555db02175621135132de6aa7479d67fd0a34c15e8235290112a728f3251cf913a835bf0aafaf6930880511427143b63152047259 SHA512 9a6964a2ad24dbb1108b7018882ddb48cb6e6f652d1c5eed1cac94602539fc71f011a0a276765778df161edbd6387bf03a8505d93565e0c106f09e98d7d6efce DIST proc-macro2-1.0.105.crate 60319 BLAKE2B 0c67b9c5561234d78c3bbe71e2774877b01c5798c6def669accc273dfb1188b360627aac9303157bc27fa85de84ec7b87d0cf6e1d1b07d19527983e721609681 SHA512 520f9af4f0e9b56ac9ca7a05649aeb538d235c4f53b85a4a9a2474998ad8b96a5f97aa4e117a949adb087fc908f6150fcea783950189f1772097a986eec564c9 +DIST proc-macro2-1.0.107.crate 59588 BLAKE2B 91df0c573e3e1f09c1aeedcad0381cf18186d72c3d50b077b1d232fbb67d1c87ed09f3c6dc515140041c2dab5ce7706042c8235b93099df7d1c962d4a3a99160 SHA512 c109d5509624a57156e0eae22a3aec89a1a163623e8b4e376a13d872a46e4bf6855ee3cd4428c07cdf5c22f2284b6ce755f9cc7e075480e4587ce4f2d40fa903 DIST quote-1.0.41.crate 31408 BLAKE2B 9d496e0878fc329ac9492ecbd470e762bd807ec8ca4e17a856b4d1c776351434778f519977137a67b8c143ee60b20774c09768d480cff51b22f2cfcb364a20d9 SHA512 64374d70eb29f7d7e02e535ba383586d93f68a9b6464c79840fa6c42a1ac47be7ba14e415a40e158f845e486ed33d5c564c882913780d296360b30a56301ff7e DIST quote-1.0.42.crate 31504 BLAKE2B a8106c0fe3953bcc2aa421516dfbaad6d6cb2ea839b2ce1447a45b8732dad40a921c2008b477bc0fa029dc0e0357a339db543b1f90bb9da77a5a3681fc16bed0 SHA512 6d55047312de6bab660459750c54213e986f0a80b4458fdb706c2fb3bab83b8239cd230dd9291662076d395c818a391142af1228ae3158cfa4960d6c74d531ba DIST quote-1.0.43.crate 31587 BLAKE2B 98b16b90a6f4a2c17fe4c3b428874265cd550e96db116642bcf9ca5300780115c11baa591858fbd92e024ca0d59a385275e33b7b5ba4da946e07d1f0df6e245f SHA512 ecceef4e34e0ccf260e2f958fc8b6595f488a6cf6b2d9230bdea33aedf3b41ccb2e72f8810ffda8607bde9be5a3aaac518d6f3e48e41e5040915cad26083889e +DIST quote-1.0.47.crate 31622 BLAKE2B d912f17bdb5f2db29f5349e976e12da52db9d2197dd9900cb00e907d1e9b06ab177e9b020c1d53f6a6cd087e3a973aed5af63eac282da77792b2a6d6e1b35b07 SHA512 544f4324d425ae011905e0d1b52e367d4660bc34457b2f802af94e1def1e6c4e39ffba3beeb40d75753967d15b6dccce18fea273e7f3d46b63d5c89898d19441 DIST r-efi-5.3.0.crate 64532 BLAKE2B 54bc882e333f7ba52b6dd6ac92b8a282581c10b47de91a4c4b71b15a27b2df885ab52ae2fcc8a546367ee1ce98300dcaec3c33cbd7393b134383528540bb7d14 SHA512 e748db9729dbddf215d5c37630fa272197dd2921297800209ca7bfcd6ffd8530b598b944d95547ad9723655cafdfb69b1c1fade9ba5f8c2ac5c55ec38258fdad +DIST r-efi-6.0.0.crate 65303 BLAKE2B 79a28aa1e41721ad39ad95837d60a7034f9eedf0f5a32017849e7f4abebf6eb55e79cc144cea52030cade11d6be6fc5ba863e711a74038ffcc67b0d6eef47bfd SHA512 65f8c75c0201c3b922e6bf032ba9e6c648840f60939615565287b9c64d44f3fccbde209d8fe691937949cd76307b59c53801e6bd43ed7b8ada46d5d8fccf7012 DIST rand-0.8.5.crate 87113 BLAKE2B 516f26bb2a969d0d79e957818133f35d2c0b4d9f1b401098ea23c5b80d27599e842b9298c0c5e46e2a6cb6953857bf8a9fb71ec9366c5ce6708cf17df14f179c SHA512 8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2 +DIST rand-0.8.8.crate 84217 BLAKE2B c3c8c0d6ed49f2975f1373630e3eee3cbac6cfe45f8962b1dea1749798f17b23ddbff252cc00a2747e0b9c3048899eaa381976b7db86c16eeb7a139f6f842a83 SHA512 2267a99af194dacf4b2620f7072c848550839c2df7dc078b3eca578d8d251261e6da19a4d25f5597151b483bdba893489d638ee08168104c1114bdafd2498b59 DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79 DIST ratatui-0.29.0.crate 543514 BLAKE2B d5e7de30e0c7f077ea5a4d13ce5417ab5221e0afa7d819c5706b711a843eced0d7bcef9f2d64bee5e74892ac9f6431d8ebf1f6b326e467e08e948ed0b86ded2f SHA512 0825af0b840e83e6a4aef9e631ae8840e8f7fe4ecc80dfe24b093488a95e1710d11c9a99f92690b0028f106b3d2351949a2b64016369a1fdf822eb4a2381eeb6 DIST ratatui-0.30.0-beta.0.crate 70506 BLAKE2B 4789e287f9bef09709bedf33cca70964a3a3d89bf9a62802d6ae9e0690536bc2e5c1502d58547584a300c87cb61ba51baf3ee22cf8316a74dfb3b3de605e88a6 SHA512 c3c765be3ec206c98386154dc2c044efd020ebea389f727925b50595eba65013ba8ff291228778e1a84351d4d48ed2942e4824f82d50e2174bc1d0fdf864b273 DIST ratatui-0.30.0.crate 70528 BLAKE2B dd75ac882c8b9bddee196a8d16b953ef8eef8bdbf3d010151988f044fd211d4377fef5da8b2636e4db80b4d0333dbbf494424f4f5a45af5ec76f2d7198702ba1 SHA512 eaa10e6383eba9166fe7b3ce93ee5715c5af3ffeaa75a724f140e7c83e4428504faddb20e3cf5f36d83a245e1b0297abfaec5e0e07d70ab193d0ccb9443cc23a +DIST ratatui-0.30.2.crate 72412 BLAKE2B f2f6ff2cf4131efd38c9c9218ea672313f64db1759160b7a8b72f3e344b08bdcee1b1d1f57317302f38ec91f5051c98b3f61504f48f02cafa287ae9ded55457b SHA512 fda09795aaf3bd229d0deced9b8fc4fdcca21d205e92b6f1fc4c8836ca8005094c5ae8b72c0f5fd4f51a0b06b9c6aab994f04d038f8a28bc51071b4b6c59bd00 DIST ratatui-core-0.1.0-beta.0.crate 153611 BLAKE2B 7670db9d9b9246289fe012506314c692c2ca95cb7d7b931706ade9e8b6e352d7011dc2782691015fbb34c965b233f01897521b98a4e912d6e464c121cca16a4b SHA512 4d791af3142f5a6c35c4841fbc6c045c8c4afe8163d6dfc0a35b424b7de1be9346d8268c660417ee7ef93e0aaf177a9668d477cc1b56ea02b34060233f536a08 DIST ratatui-core-0.1.0.crate 159099 BLAKE2B f058ae843ea5d87c50652441e26467a364a1f8ee4e52f31c5cb352022828b4d060bbc9d1be64c115b3b05b9d618685473afeb188152b3dac3c217e73f13f9d80 SHA512 5ced009edeb109f327bf478067e138acaa8c83cab5be95144a5ea8e46ea3ab43d9feb50760eb606ee3cbfbc1b80c739297fd3ca8c4bc3c78a4c8c39f2b0e2a20 +DIST ratatui-core-0.1.2.crate 191181 BLAKE2B 76d7ebf9b07742d8795121e6b118aecf0ff537e403278f4fd35bde7708f69215f7ec2e479715e22a13758ac21abb4418911e70b2929a8097df51b3c66384fc3f SHA512 5c1cba1eb6aba8b0ddc432c2bf00e64a2fc1fb948e1da1389bcfc3c93abd86daaec3ab7fa75227de0548185b9f6b29b05e3764ca243797d3b884f4e0368a4962 DIST ratatui-crossterm-0.1.0-beta.0.crate 16598 BLAKE2B 3612520ef98f21be1b1203a0dbefa8d116bb4834e78ef78ee59f7f11b3080aa744fb6b5c8c528c8f16e4364cb5492f870591e4c1e938f21e8f7183b5a04d9388 SHA512 99e20daae683d9ad0e0193bce043d7bd03fba6282a2eef8ea151a797616e5df222301619ecff3204ee3b3ae29b96c2f245ee41f7e7730b5b245b0c9854e456e8 DIST ratatui-crossterm-0.1.0.crate 17118 BLAKE2B 0896fcd3598f7bf11569ddd065c6652f461cdeb9ac9d5f8ef7dcdcda17bd2b25e441c18aacb3123b0184968de50784c64169866119e9251d5ca94632472684c3 SHA512 fc013df77d14c4b336cc32432ffe7f9f867742c3d934f3b464cbfdee60d38ed51002072d36d3305db94fe16af1c099a58d965a06420b95d6bed69c01d8d36108 +DIST ratatui-crossterm-0.1.2.crate 18836 BLAKE2B d7360bda04bd7a0511a13010734ddec7a3b55606613bb90aa27607c6ffe41c7e0886149c9ffb876ecbfc9e4155c2bb8e47eeee365e7bcf77ca9bcfba6de632c2 SHA512 8e8f2d97053ad048e1bdc2c3dc8bfb8caca5565a433600a24e3f6f4a79bfc75a5286c87689da1132627f52b2687a1ad8f69b16c37b01d7ceb8eac7d6ec37e741 DIST ratatui-macros-0.7.0-beta.0.crate 16614 BLAKE2B 3df5dada85998d170c97217f4208f84c2ab6896e402d634a7890c373808ada07cf3c99d2b29b4be8770a52e4aa3a2e5d750a3a0ce06a4bb8a31c355ee22b70f0 SHA512 a548dd8f4a10bf1de5a917ae68763bc814dab906c29759056f1fe032ead02271939efc2989998287f5294e7782f2bcfb933d207a99fe05de968babcaed2946e2 DIST ratatui-macros-0.7.0.crate 16599 BLAKE2B 7ed349433ca89eef6c726a27c4d768f34e9ed75c8968c29bb980f605e8cf994b1c12ee55eb8d2d5d78f7867b3074ee4ad3a0ffa973549a9931a34b8fc8b73510 SHA512 2936bb17a9f578e3f5ac1cc812e26856eebbf5d7b35f8d14371650a1bfc2968051c480e3405845766c4398ffb23f6b3128daafc63999379212c4fd92aed32328 +DIST ratatui-macros-0.7.2.crate 16293 BLAKE2B 14c564176f9bae28d08882f5b2b9c2294299d21b04c4a7aca5163fade08c9b1f24f141ed1787383a46b32b1515f050db62d4aaf0fd699b27f137322360125e6f SHA512 0d81857cc5febcc687aefe0ba11bcacda1d539a150f7b18bd855fdad77d361c904d679a9501a1d89ac8b46e9a3bd740a61c62d2f459dd20f86df48978bced394 +DIST ratatui-termina-0.1.0.crate 15330 BLAKE2B 858d162681c3fe7e008e9e738cd603d695c97850050512b07e81888f7f21bc8f72b7e310fde233a818ea6d9d9f25f6d29a872d7302dc0290c7a2b71aa561555f SHA512 33cb6e32867be4a02e2534bc5bcd92c1d68781584f4aa737d678f363f59c11663bd66507200f2d3082b04b666c95fc76fbe9352e8d39b41e1a1d53c36d8849f9 DIST ratatui-termwiz-0.1.0-beta.0.crate 17371 BLAKE2B 99980feff4663d330b6ed501a558e18d55f7b525786cb71c856c1ad42ae2c3a98c20a2d1c02121435ced7428f4cec6e3a92d4db8404db0458cf2fd4e866c169b SHA512 a6397337906b85f9eef24b4766411de41c2bfd77ae098ade3023398e307d0f626110c239f0259a9b5f89dcf49d0f7b21c479f0a82a6d2987bf355adaa3c59786 DIST ratatui-termwiz-0.1.0.crate 17360 BLAKE2B 1c6c93687f9e8cbe0c10fe7a2e9982844ee1f9c57e6d3eb3964e04b4069fab0b96b45c1f9ee7a617b95323b0c200af7e92cc3c3c7f64b5564c9bcff082f459a9 SHA512 3a0fd4adcfebd387f2969046eaea51ffb791d63ea9c0d2afc03e77c9bfb47a971e708795359d4cf3b1ee689617513aa0959e9122dc8dcd039afa454cdf1f618a +DIST ratatui-termwiz-0.1.2.crate 16739 BLAKE2B 8b27cd16df983d35aff584de4bcc45ce2d3eb5d4c9798b452fd5c46b95fdf636254331c9894df905d31d2099afb357e47b8ee357d5bddefc2c79a5a4276feac7 SHA512 bf6038bfde8a77b9bab539c3adc1ddb530d0e9a67ab6143bd06d9639dca85de6cad2417cc368c9a6518324d76a0b0d838d680e8a792ee2682de3f729dae9f964 DIST ratatui-widgets-0.3.0-beta.0.crate 213178 BLAKE2B 9024d72573d24662ff15c9609484ad10406b29d60ffe8646a939e0caa565cbaae50a42ef904fa8003dc2b6759c204598dbe05812387fe90cb69501bae978bc99 SHA512 a15dea8f7c0e5298b81caf774fb098ea9714051460b624de6ee6ccb07a92a212aaffa113240041d454feb051ae7e19c771c97bef72a6b4fe56d615fefa47956e DIST ratatui-widgets-0.3.0.crate 216270 BLAKE2B ae18bbe7a0b10c8f63fde07d28958da7371a4c025c418dc6951ea9d7dc5f643ebdf325945e6272473b65d14981c5f2a69a29c2ff54dcddc67caf79d8222e5b35 SHA512 b765e08c1a999a78619de6a7eafa562759d44ac38095baf4463e56a7e14d6ebb3401a122ecf520e448d0dd201b09b012954e82d777c195df2263f7da02c59da7 +DIST ratatui-widgets-0.3.2.crate 230487 BLAKE2B 069fd91c04a6a0515851c10b755a659e9564ae23e49944bee1a2764539db35cd9ceac3b33aecbb10894a90db678a55d81d6a12337ebdd5a9e328e17270f7b70e SHA512 419069780995bab0292b44495ee681b6c7fb381ff06b664f8671a0a3a6900d8e3179a6a4a062435b1410e2159d51e6dc05a4b07014b484152a4b03eb81d4ec03 DIST redox_syscall-0.5.18.crate 30747 BLAKE2B b9507a055aa34178982f0b5861602d2e11e13c2604f905c9b747c39aa6c45f06e60cf5c9d17d914712a815fc5e9ad75bf648c300e7265fd4afbac0b0c207afa6 SHA512 69f1cfb215666f1243616366711dbd8cadd6bb411121f48f6e4ffd7b25479efa6f900dd072d7cc6e6fb8130d95cdb42f4c0cb4ba9e05b09b1fa676ca32932101 DIST redox_users-0.5.2.crate 17280 BLAKE2B 7dcb0b6727d4d4a9b2e3b9a2410a53eaa1b0cca807010446f36a658f062f0f33b07475e61f549922a7c5ef4e7ee3693fc154ba33bf7aec710c8053d03ae284ed SHA512 0468d42c9a5aa9b8811d00b4126115bd7e92f96af4ee136cf5387939474e351fa2c01251473691aeb34f5e4c8e8804938adf1bc83b5edffb6d06869b4b816b7b +DIST redox_users-0.5.3.crate 17311 BLAKE2B 93f1f116a2edebf743a57b652c7dfdd30404b4cb55d41cd56b62a959c0372c122aae011f692fbe7ff0dff649e557752577e36299616c6a642d1423186c621112 SHA512 85bb7fa22e402252b3e2fbcab9ed3c12a00cd92bc3c0c0868bcd9cd8c4e32e462c10f7aebcfd9f366b9d92c97a2f033929346199990caebf2dd47f4f4f4a3549 DIST regex-1.12.2.crate 163843 BLAKE2B 4e36124886e35c2e06ecf3310c32f45bb80fff978a99509abd7d7eb6378f81123819470c227d5c234fd6e3bc7a8e7baa331ee0ed3137f9256c76cb32413ecb7f SHA512 c459657944679350369462c3c7686dcdf412597f75bc13c450a131bfceebfe2cd1e1d7f95f0f55b4aa16bfc1acb5c777f344fcfd6a5927aa76b8a2d7aa954d3c +DIST regex-1.13.1.crate 157118 BLAKE2B 8dc2137c2c7305a8696d6925a462c0ed7d1068cebbfe5cb3d738e2f7ecd0b3de5e535545510811af65abb381190b9dc58786f0d3645da7cd7e529e4fabb3d65a SHA512 90739303281da8a468255dde08988ccd99b21ee19df5cd3a6e802c2213d9f06b9d5001a045a76230a313aa7c62909d2cc38940512ccf5d8a4193781f05bd73fd DIST regex-automata-0.4.13.crate 625250 BLAKE2B e8682eff5df93737430a783cd913265dd45a9692fc4623a956557cd7d6553f34eff731f6f3ec5fed5c0dc6b7f8f31236203ad9f459a998fede053d990d9faea6 SHA512 f76939dc573a88d17b4cf37fedfcdf95202171ca8607374a5c2bcdc515abd1ef9231376175c6cf11cc567eddda34e0c5f90ed1c592f2c5efbd1dee883954a932 +DIST regex-automata-0.4.18.crate 628707 BLAKE2B a3a9320801319eb6312fa5c90b727a847cfb520a823a1d5a85f23bc07afa81e9e02693642b1c9345d80ea51946131681f048580e2e7a4b27869dc258706d7042 SHA512 8bab8d044b771079a73197796817d31b6e014c56de0c4c02863469186c2123a6b0309a39cf7080073c154cd3f84e936479ab62f256bd92fea9c7501871db73b3 +DIST regex-syntax-0.8.11.crate 359055 BLAKE2B 5e1cad4cb361ad8231c3bf1d3956658de9d69d4e44120ef5add19d86fe8e1e07e6445db7bb4f532a2313250907c61bc8d4873b0749b1187c367eeecd8c0edfba SHA512 8bf74e8798d935392212e20c249a8bc4a82e8e440cdd65418a403691b33374d28220bafebbddfbf742a3d7070a1fc0fbf6cfffafc585032de1ff082184b67d12 DIST regex-syntax-0.8.8.crate 359141 BLAKE2B db4a6a76dfd7d2619fffb7fddd8a82411afad16bc8b1a8501628e872c9b3e0a4fe71947a135900442590b944a623c5e9253e36bab865703bd5b5150aa2a65e51 SHA512 337ca84af81f2c5cd7d213e3ad96a1facba2917f135c4c1ef03571160d24e4ae47186ad07e421a7a4ff0baadbe95d34365e69400f3c36ef39ebeb3e7c14224e4 +DIST relative-path-1.9.3.crate 22400 BLAKE2B c6bd04b060013de042079a741a864150632c02cdc493ca1cfd746bcc12f6ad903f8f0748ec68261c979d833089c0fc091f7c9da2b2936e8f75dad8d4638a7b10 SHA512 fd5c88d370865870570859a110245e009eba557225e4297783a606227b13b42abf0c7e69a4beb5093a5a9dabac1545afd988f4c831abe912c21ccd8013c30382 +DIST rstest-0.27.0.crate 57880 BLAKE2B 1f98f70b7d2cec4367611488451bd963a75e49319ab5678ac322d26f8b5e01d99822616e65d4fb1d901f853397b127f60c84ed4b2a30079b1c3284c9043038a2 SHA512 629af8b2d67facc003a2c9806ec38b77cbc7244260a43b7c18c40af7cfeb1e859ed4be7512826306f4981ac114e6463868aef0d419dc6f1179f5950fd828cc8b +DIST rstest_macros-0.27.0.crate 69489 BLAKE2B 25f932c8134b8e909ead40e0eb9d3ff15a6a61e714bdb75aaf852ba309720cbfb8926223f4f5722696a76cbde5bdfd2f22dc1ffbaf5e5f6a07decc6f2a4f8481 SHA512 e4bf14862e6d53f40a267281ccbd3759defcae26da37f867ee9db71afe100a91627e6af8fb7fb15eba585fc1c1ffc21aba69e3d2807aee832384b306d9c5daaa DIST rustc_version-0.4.1.crate 12245 BLAKE2B 0ed627c560d88e5ade830cc5f72c62f6ba88be3e30d0f8db34761fcd0b284e5b2fc063c240149aabdfb12c8410ecdbe50cb10a3544500b5a020f95a31cd6709c SHA512 7aa8a487ca7411b6d23cae62f7568fa3474a7b1fd1589621071be3428a550ed3b7c4ad68277a8f86849e5900397d7d0e9d678f5d423742a045dc7c660fa6c598 DIST rustix-0.38.44.crate 379347 BLAKE2B 780efaa7c9e7fb78782c552345ead692e4dc87a6e68fe9c972097ed4ef9066b54633c565d4f1b4752e08a1ceceef15ed5d8c11286c7cf17d971648ac5f9d399f SHA512 b7e66a27c9188eff307aa9912852706f686864852a97af0696ac5fc5dccdf2e4d22a69266fa74ac71aa123e2831f24b898b7ee9121850d65cfb56e12bd647d8f DIST rustix-1.1.2.crate 422717 BLAKE2B 603a41f610c6a2be2ee170f6d35ce1683a50590d909ba5444c1777b9c00b584f4544868f4c4d3b2397ca8b77da2d8a40154ccc6f0f2f6affd2353aebfd6b4515 SHA512 4a5ebae0902c7ce683acf5c2a0ee62a4903ccdd7f147ab5b1a657ae6d4b468beca31a15c473f02bb2f9e81c2b07924c23b31ff860482a711808a774dfb5af5bf DIST rustix-1.1.3.crate 423447 BLAKE2B 0148cc9c0941d416c7ec0b47685210e898ac4fb5ab91e2fb7489aaedfafdd266965ac494c14706c48f7f323e4e7719001744c25697c046f8c8013c080c2fab53 SHA512 00f22451577b2b0cd789a651e6317c26ab1760f92df1283f23aef97703e75e61147a10143f85130f4c82487711d8cf439ccb1ac8b17167e00ca64c210a8a65c6 +DIST rustix-1.1.5.crate 425681 BLAKE2B 89bb51007ef46a0f9f10af95fb2486b810bb238ca7f876047dea4c43b444785ae5a32b1447212f18f207b53c7b8a61cd213b338342300b8399b300af65ea295a SHA512 ec72cb0c867b7d184c06e45def67b1e333a5d4b6ae3b3cbce620afd844f3765460832ce907786359b75279b8ea6cfbdae350a8dd197d58eaffff71a3b2e2e08d DIST rustversion-1.0.22.crate 21096 BLAKE2B cdf773cda21ebde50da897c0af0e4af14660ce953d3037054a99d8adc3db2dc6e30a57201a45676abfb183c62016a68069848e7537f711b1752339d194b0a378 SHA512 7929352df3e5279ac88cebb26ca89bb13c755f46986d2d1f514d18a3239a63638bf64f8ff153920569d173185d988d692ee676335afba0bf72d47f71babe0e15 +DIST rustversion-1.0.23.crate 21013 BLAKE2B 80c4938e8663b095668809e4c81f4621582c4951b8b42eecbecedf5577e7555bf80944b6753101f5f87bba6f9856781e402ffd952600820b1c5830a181066798 SHA512 95baec2c1d8475661677ea35a724c392ed10b1151a1f4522b44133c6d691824bf4a42327ebc9d631a1f64f944dc721843e0aa0e19354fc4fab89aa048f1c68f5 DIST ryu-1.0.20.crate 48738 BLAKE2B b126085448cb58639a7b5867fe313dcaabaf19df478f67fcb6cf15b8e881a21e641878345e0bf1fea7d24b56b921e667fd26a39cb81fca7ea02585332068263f SHA512 329c581429d9b8baa7d9edd9cf20e23fb8002f339d9fb3d50ed4c7eb68fb19c1ba966d52a9c9602265ca5f59f2bd4393ddcb3a7ac20c64aee3096e137eb2a384 DIST ryu-1.0.22.crate 51321 BLAKE2B 1d575969b18e385b9805ada6d5acdeb1d1fb306da425b10378d13ecd619553d9cd07b9e134cb46d11ab956a19690c066ffd50848f713c63602a0fc20a885419d SHA512 542a991b438de374a8377dcc1501e55d919d480d3a0503097c24710472adca732c4de4f1e623b28b67763ab425aa8e234080a5abf222b5ead77a9352f617c2fa +DIST ryu-1.0.23.crate 52823 BLAKE2B 20ab79357165c4fa0eb5139047ea9fb7190de888e7131d8be1860d9c3f81b9aa6eb74b8835d6a277a359ea8457cb9c3f3e10eb08ce696ea88b3c050f70426cce SHA512 46257bb145f9f083347b808ecf5932dc66ffa656550494788c1011116976ec811531cd27e3c28677cfb774fba5effc310bd232e697ebb4f25f059acfb9c82937 DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb DIST semver-1.0.27.crate 30081 BLAKE2B 760cd2994baba2ab8d63656b39f281304b309152cb3c576a0cf31ebf57294bdb6a10ad73e61f974688b0dd80490e0f4da004f3396cb6988bc90af8eee0961ed9 SHA512 8492a2ce5adf32cf6183d03509766f169b323a9376b061c9659a8752f69de5f45f7c64f474fa907fd9261fe3e9a7691a39c8a603d0c2e8d9484f5946bc27d78c +DIST semver-1.0.28.crate 33064 BLAKE2B 03bb56f4f0ec6f4cb208277500eba03cc81a7b2a115d64849b2d154066f723d46f8625df7c512cfbb2e402a36cbc5a1627e8041ac2de92daacd4a92a6943979c SHA512 bb44373e60fccb83bc95e4277ea0abdd756a3f77b3334cf6d6b5fceac086910661ab94eb326cdc8fefce0c09220933bdf03bfd142c1594a92c9c1e4e931114b7 DIST serde-1.0.228.crate 83652 BLAKE2B d1909d671ea6d5c2eb4ce34ee4493ecaf665d416111b4cac754b5d33b85f916296110bae7aa961efd987a2ceb4a31ba645752ce99dd28dedb9f1eecdd4d7b1b2 SHA512 9b645d6214203533b303fc5e88ad4f7686c22df084878d18a0209a92304a340fcb62fdde88a7080cf7a7348d47b9b363885c4e1da90dba08cc99ff620f375e97 +DIST serde-1.0.229.crate 83669 BLAKE2B 7f54b013f2273865493684c7c8d7d272ffbef903a1242fd81808c69b23444acd96ec0ebc43955cace91107331ac74f5e60c770464ce5b5cca92c383a810f757d SHA512 589b7523ecb57fe2003cbc4eb36adb07f663ce9c8620a7880a63630360c3d36e77388a270878493df0c383c1266ff855aebce424227a1c9da42f0fe4adaeeb30 DIST serde_core-1.0.228.crate 63111 BLAKE2B 8a64e4627ad21a3d16dd37d53fb809d11171bf337ec16bb1223075cbf81b6b85cd1c8d19abadf42460d0fbea323e2f351eeb6ef823389d519121b74e68edb215 SHA512 43897e3a7ebdc85d81d1cb30cda8f0a11610f6f551529c8a21462c24fb83110652b462846aa3e1bed5fbf8b5d7927018845a524ee9e079e2c8acf2c687efd6c4 +DIST serde_core-1.0.229.crate 63100 BLAKE2B 3126a7f8915a142f49a403dfc3b54341f67af7e533d94981e4b13450eb9c8d0befda14c91d4ed05a288a3b71b68430d8d5ec3263db6c146ce697046657b719ad SHA512 23122dd8663f6b4cecc8e6affe8b7a010abdd31428461c033a5db330bb7c2872c8a7e91ce0884923b640bea801a64044fff6ef532b260c05f31cb426b2518e66 DIST serde_derive-1.0.228.crate 59605 BLAKE2B 166ee2f9ff9f7a0928d0a65a72db3d9226c377bca2a1771956e8ecd9c7faf0544673c9c21be2a5553e621b55c74c7b958052592a1cf6eb6427a2d4f3e3dc6bb8 SHA512 8bfdfeee10ee7ef0670972aa963ef63b13e8eb2c8a09b9e0b717f92551aa89b3dd2a0dcbae6ccf20a1caece07e6adb18f0db56fdac020e4e0281b0d24e376003 +DIST serde_derive-1.0.229.crate 59864 BLAKE2B 28ab7ec0616bff52dbee3e05724b85db0fd70ae9bbb1b8f5124dfc9c923f12547e467a0b838ef57fdbd526d81c2718b2b8e7e75aa54f8e4ecace491362888968 SHA512 6ff319ba98b7631aede0c985cd47026d4795139beee9d53e5b00ccf0a7f6542e446b094821044fee852c7ff31c3721b964fa9425d15685714ed8f57534070e9d DIST serde_json-1.0.145.crate 155748 BLAKE2B fdb06251cf3a18f2f3685823585f4ac16f2f3b762e528e3f815168a6d7991d384eb140698f9f5c39c4ce04e17fbe062f3f9c07cfea9915415a7e1f9046b6a83e SHA512 e2054b7914e6cde0c58e952d9c129f7fe8c55981b74a9700cb282480688868ebedeb44281c1e3ccef2e2a04a9a18fbdafc8a4d43169f4d09ce905808e4e056be DIST serde_json-1.0.149.crate 155994 BLAKE2B 7564c287a05c95feeba2b3a17e2e43ba047b0132b40fc4dd0c09141c2aac559c00bf4c63cbd24c17f12f5e6b49cf38b240d2c6c66677ee7a9edb197aba7d57fd SHA512 85fa8cb7b479f8241a4fd2255dd80e346fa5cde103aa7f25c14ccbcdf0e3276578fd0645e1d2542ee07c7e08c32058ff662bbf03926cd796c38622a12f423d43 +DIST serde_json-1.0.151.crate 156556 BLAKE2B 3d9744a6d247000a03585ac59dbda46e804746a8ee5e912744d06c9a82828d9c3997bfa61876955896df732b219db4628f99aec669eb2f25459f2f37f7d5ede2 SHA512 351407187b98416a57d4d9b380cfdfd28acb10af0b3e9b9eaac3a4810ed4b58bc3572d97dc7cb4a45b0284466787ca82952ca6659fb37fb23afac40da0d4f315 DIST serde_spanned-1.0.3.crate 11011 BLAKE2B 95c3bd4717544595b6c376d20ea169b3a92ead2437cc7b15b8052412e6b79225bc407f4ff20aafc9eab438f9771c3fa857d84814249436e57868c502cb4658d1 SHA512 4021188c75aca535b6726c4cf682099aba8e0f08c7ad5bf89f2dac719387000e74d9af060fd4850968a61df8f3c4f3c9bf823abc6375dd1c9b14fc7e74bdf971 DIST serde_spanned-1.0.4.crate 11032 BLAKE2B 7f3f5297c30c6e90ebb007c4d2e413b15519befb3cd95c9b7dde758887345c774bd8e4595dd8746d0853eaf81134c4fd22c253f1c9b747060b4e7fe0d3913b52 SHA512 41e4b0f25b030a75e7bf39f3c1929d7c34e53a1d9513b614f2bfdeca1fef181c9fd95bd19f70a8cd6c64b0d4538fd8f76f946b76478d42a13ebf8c2a82194ac0 +DIST serde_spanned-1.1.1.crate 11025 BLAKE2B 24329285e068484b2480d603a6ab7f041f111e03eaaed6db00ac94e36e608c810b7f19040265c51e9d881e65a107cdfde98068b5f1f56dbb8e1fe6677683ac58 SHA512 ed6f0cd52d97985458d530a1ff973aabef8b611a17e739d5011aa50293e4cc994af24992e07ac55e0d2a8fa8d0577ebdba4b42b920cde505e05dadf05382e545 DIST sha2-0.10.9.crate 29271 BLAKE2B 1d614e0efe085cdb40e05726578a9b4ca6bce93f6d3324f5dc0444cb37054912cdaf5d28d468eac2c0046030d920fced2ccd006953b80865ce8a2d43ef3daa81 SHA512 963adeeb4ed8b0e7fc19085e8721ea13e9b3aea5d115ca1b3dbca495ad14810c6450991dd3753807c293c415aaeb1054b8b4124c72e7090cd9e86f09fcbb4f80 DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a +DIST shlex-2.0.1.crate 19332 BLAKE2B db2b6c5f7f30ad2f968d2dd386d39b362b8d19d7e17fffbb7407d6f35a4e165432b6607f3897c66cf8d32bf6e795ba7297080608c855b796fcf19842f4c509fa SHA512 d1bf35e2c5a93c718d3cc395fc4b06cc0c42d4891c0f37247de7e179492478020f0c57ae74c461d5bb1f833b071fd5c036d8d6d6ab8b61be6140cb64ae525921 DIST signal-hook-0.3.18.crate 50862 BLAKE2B a0ae80afc2de0e3eb8b3c10241617cda08dcf2a6c06da3b385dfaf098ea4fb6c14f5d1aa6720325cff15d8ab195bf4d05966dc5a9e7155a1e43fcaf238ffb654 SHA512 1955288d7f47738007252ac2aed0fd05d1c16f1726ae2a97ac35b0ba5a6a82620b26ecc03c4760b12d86d4b83c7484a3830aa84530dc010d398fff436fda3137 DIST signal-hook-mio-0.2.5.crate 14373 BLAKE2B 64cd21c7d5512c9315c6c19357d879e46c61935370dd5b0d97fc479e868654450efa52ba91a6c6810fbdbedef58c1a64188bf57b04aad105031763ba64aeb882 SHA512 0750e14b58cc61315738a4e7cf624c19f657d8480c76edb60c333dc0686f9dd4086264488c1dba7bba9a01053f69f9999ab157051524e2eba0299e7542c0a8c7 DIST signal-hook-registry-1.4.6.crate 19277 BLAKE2B 0ae8056e09cd2a036cbbba5d654a480e58a31d3f39e2654e991c03f628e3c755cff692c4bf984f8f033a30085abc9fd2164e4d31e13c5e8115b61deaf83e4886 SHA512 58b60f104bbc529ef5c207c25f1f9805be08a5162c4e4c7ebbec486834eb39882f6be8d6e8b1dc3cf56774ed46aff2cd22dc69fc9c22ef1f2cff6e22878f9fec DIST signal-hook-registry-1.4.8.crate 21668 BLAKE2B abaed3ca8f07e1631aecaa4bfcc9dea94f2bcd2ab227c9e44d543663392d5e7c7b3beea4d0624ff48637d4fc7544a722ba3d4113d109a77ec1a3b3c0d06580c5 SHA512 6625d842e5040fb15c3a6a03994aabe8b3d0b752773805866858452fb03e5cab2663c89367caa15a34dc0ee7c2b830e302d9be664130c093bdbc17d7b61f045c +DIST similar-2.7.0.crate 53928 BLAKE2B 41d6aec64403069dcf81a9a00b9db041967b89d09cf9f2371444928f32bbc2a8c6066adb93eaf25c72a257fab87e24c160265d687c4e33848728a4ddd374012a SHA512 4a2559d2e47e7747eb2bde0f02a0e652ff0e116d1d3c3756dd86fd48f114e2b42157b860165e5cc29c2123cf19c64ebd17f023aaa05950de03ab5752562206b3 DIST siphasher-1.0.1.crate 10351 BLAKE2B 6653898cf0eb071fe83b7c317f93ffb73bd26ed601961173875b26ec8851632599891ec178b7e14318abb9eb98d522db8022deb852af9ad9f6bf38a5a5708e82 SHA512 d230991add51a555af95b30ef104c0e5ed7011fafb92d6ac9ba0f238c8bf4d2fbd39f4b04dbbe960453f8fdd16d3768ba39f39e4877ad453562e689ec8f24a28 +DIST siphasher-1.0.4.crate 16131 BLAKE2B 87b57cdfee2da4d1e7271f5a026667ef023870ff7738ff8c1f6e250b6511dd307aff79b3d487871775184491ada19c6654b92737e5d338d7edc1a196e362ac0a SHA512 341aeb6d03e2e841b0416fa5fac71bf9716ad10b1417a09b454df9e253b7317da3d2b64ff6ed69f33a4c6d2989f51d19a735237e0454538fa10f942678e282e5 DIST slab-0.4.11.crate 18549 BLAKE2B a4895b6dc87790946621e1d52b5bbdc0fd78db238d9164121a380f298b85be94eb3424405067e3a6d96ef42747680a8b2b5341373bf5733d5a62a4ae383fdd5b SHA512 b2f199651b1d0f0eacca534ac2da714a2e9f642608c4874e7a1440ba7f035d061e117f518c51915f982befa2269da747c9e12e3b0599675e6218cdd8e30bfdcf +DIST slab-0.4.12.crate 19080 BLAKE2B 785a1b899fe01c8825f24d90b0b0bb31bded234810f59c71b7e44221387de33fcae220a7d0745f59f79c267673b76e7c8d9fa4c0dcbf8fc5d68be6562018d49b SHA512 cf7c971b99b043d8bc102732a109717cbbec114160e4f7cc4009c66739177778623403c33d6a32efd1620e0ac7b8743c36e0e5563082af7f92f1e4caeceea0d9 DIST smallvec-1.15.1.crate 38116 BLAKE2B 8dd779d7726694672945e928399e0459f4973d284a6c2d664c2fc757ebb1177658f47c812d9800e982479cbd7413fd4283c64a4d248ba5cff6397f96b758676e SHA512 c26b097a063353beedfcc921129cd0fb838c1c9420218993a05b2655b47b6ec16f11e0054312018658b4abd893beee140c5d2739401a5e5aea2e64575f237047 +DIST smallvec-1.16.2.crate 34874 BLAKE2B 66535147385d84068958d2d6a573d93b328c7c29768e4a87eab04f898651f760c48776563c4632f94b09290223ea56b21e839e8082d047246e34dcfcedaf60ef SHA512 672edd712fbc9643cc7a72590eeb6558a372a1ac29bb0f6b71f086c4c89618322cbf72292f1e1fbd06eff2ef1ac48b1c8c8c8a397d5641817f6b21a4d65adc3e DIST socket2-0.6.1.crate 58486 BLAKE2B 990bc645f361576edfeda680cd4b6a0a29d6de80bda1164954369aa572bd702db5d92cfd26e68842aa0978df351d9b52f2900a4bf1f6d4aa5bb0f31d259ff48e SHA512 cafaf371870a8d85bee30d1a8341c25ec023f6031eaae96f783f0486e2c9b0ff7a6d742d40500f9c772472805d8de9f36a163405a476c57b254249992a5477de +DIST socket2-0.6.5.crate 60031 BLAKE2B 5e5e380338615d05d0a42901a05a5323e127919560cb6b5c0ca72645219d40f915724912f103ad4fcdd4a7b5653cf8151c9fee1904427775f19d4e617fbe947d SHA512 eb72b2cb7683cfde4ddc4f6efd64f859738ede22120d40b4498e7ec05bf53429f2c13612a33d8e69089122ede3382eb731d816d40beb0619fcf416dce7cb6575 DIST static_assertions-1.1.0.crate 18480 BLAKE2B 358dd5ac413d06f62da0388e2016c5fcb8ec68fd7dceb0dbbcb97665c032b7509b7e083c20701648b6a9174485f117c02682ae4bde7ef037e80a85cdf6a0c86e SHA512 46d0e35f77941dee6f60f574c130472248063dc38494c1c4f84f7c048244cc2a58a86fe17c0990e3f0f01406b75ed385a13d00058612b27cf0e867c8d31c92ee DIST strsim-0.11.1.crate 14266 BLAKE2B 252a9ede4241b165525486aa8855dece37af77f5b28e0e1858c4a5d2047db9fa958328db10989234aad69463ab51b2303785ec056c63ea8c95bf95e111ddabf2 SHA512 0cebe0155a92640e56db9a599ae62078cbb32e1d2da8bfa67ed0e8f410a7558dfcf7b3c2720ff5913282e291ecf076aed9fe9bf84c8d44e814a642b1bed3335c DIST strum-0.26.3.crate 7237 BLAKE2B bdc348c718c39609c00b9fa7d47b7090b1467022b7a8a28cc7c8a72a0aef20569c6ab22a8a8d26c2d9272f18d000e4ce94858a6647194f0a7b86d812d52b05a9 SHA512 62f116d5bbc6167a6ac68b049f8045bc660901f1ce1252f8bdcd91cb28bef821aad8098905369db6c2fe74c134a5d549e55ddd28e383d7d78f7175258924b268 DIST strum-0.27.2.crate 8489 BLAKE2B 9931a92e30d058cac6feb1919558d33c9901d401bd0bd17193b19e775471aa3b63313861df6211fc9c7323a2553957604e82ee828fa39c2083be1f088a7d1621 SHA512 3ebb77220243b0e101ab65159512ca44c7e4a13a0d842a9356484fd5fd9a34afb5b0d230992b3bdf2e2c997833cabc8679e13e3949925b321c4f807e293d0371 +DIST strum-0.28.0.crate 8550 BLAKE2B a43ac86204ffe8889e5ec8009bc742c9d13bb04001b92cf7e79faf84bbc4bfec2df3b0170faeede1de11f2c7826d8739fea29460a2c6918ed972ca747b4bffd5 SHA512 673d6aec90d89b1a31ec114723009748b2469c9c07b5e17e86fcd1655e745dfcda4dce7bc4423679903a4650a6693284454aba634cffdaa4735c63b0a475185a DIST strum_macros-0.26.4.crate 27531 BLAKE2B 7f7d57c957a1591054288fcae6590a5e669fba1b47d8f1a52371ce60fd84f91fdb430e48cc7edbb5fc72914be5ce12af29758b653680da3f4177339b31206750 SHA512 77a17ce47d5e8fe8a89cb6aa6c3ca5d5c2625aea0f93456f05a9994238cd3b08b3f7c6a45e9b3db21bca8fb5759f505f15cc111ac84acbbb34d59cdae8307b0b DIST strum_macros-0.27.2.crate 30522 BLAKE2B c70e2f27074e04b796f2b0e1a1856e95fa7716d847789f66b27d8457efda0569826e6d3cea51621615709674b6f800cbe877498c55be5286efc0222fe7179686 SHA512 fa1a2d63cc18d9947e3bbe65777dca621a06814f48d09cea0679b09271559867bff23a95690858639e3e26fde5a252ee7548c75240b13acd907001a1e38a0ed6 +DIST strum_macros-0.28.0.crate 30964 BLAKE2B b79612a6632a2f1b828a70e5c759e0fcc5996312e5d15adf43295bc04f570f09b91307e0e17941a1528d6eeb2fd640786c40fc4471616f622c310b9cd9890184 SHA512 a50f96bc94c2bfad8d9fd499a4f3f3f3c2cad07c92800867307c808efaf8ba192ee177e4bf7e67f19a717c89439df7773c1749047a9e0c3b0d5bf1d54a040d40 DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d DIST syn-2.0.108.crate 301754 BLAKE2B 627699ade4dcd89157c64628e7243be829d79e5e1800c3da82f2da24628e8895809f3b250e9cdcfaa3c69d2d2deb7d4db8868767961c25ce6ad71baebd995ad6 SHA512 27ca199db662f3d06de9f139b9707fc30e9719556831b9fcb78f7108f61cdf186cbead48ebd4b684bdcb96944552ba4340a4bd154556cc08d0698f65c9332aaa DIST syn-2.0.110.crate 302184 BLAKE2B 68135017080bbdcee324fc4c98a719d70f9abe3f0a0913b82ad5dd96c8969712bb50d1bb387ed5e60b9fb64e69d6a1e0070361b4c41bc7c0804a4b674099222f SHA512 f9a393a3edcb49d039926bafa46f8befcb840da2af80329eb8b0efa1a2911e5db3e531d1866341f78cb4c28b7a122a07e269263262ff372c27334c7988f536e1 DIST syn-2.0.114.crate 304636 BLAKE2B 88ec8c2a781cf33b9961744166ec8d3acd46e770fc56d2d4353d8d1578bf0b629bbd294db3334379fa8570b7537e26f72872ee18a92b037499bf746eac81cd3e SHA512 42d935971246f1bc605f0d0a960c143dc31c96d27ed5427d3bb2baf46a3871852450a47556cb0eeab1e1333b208ed6fbb3832c1038e91f874680f8c68719d184 +DIST syn-2.0.119.crate 307407 BLAKE2B 0be3bce1250db4818af7246a03352ab50faeca02b81126fd623bd473d7223693f43914e88e07baa0d7fa5473192e390406165f83e00dbff048c1ea373085eced SHA512 4f2493e334b71c2b0c467e19915d385942c10dc4c0142dd989dcfab9809dea552c45ac3da0b0039956a961f7aca2973c0845c6978e9dfe25c03fdc52dfb1dec0 +DIST syn-3.0.6.crate 313821 BLAKE2B 5c33c101bd1ccd35c0f906b924f5ab6400fc173335da7f83299d0a4fb551c4e29f2a3f11def321db1647d46754fe8afe05faf8d4a544ccba3cf8a009d9e8f5ed SHA512 9c0c411c7300471ce6f34f57c482020d2d93f2a191ded0533b4ec28f7b74510488006535f620434375bc9fe151b1589c8c72654a4ffd759ab9d9f0a52faabb7a DIST synstructure-0.13.2.crate 18950 BLAKE2B c475f370d901a371262f466dd98e3914dd6f36aa473a33362866c0f781d27b1813233f96b02208f3463a825e8012cab0f8872eed848d9aa0eac88b581a0d261e SHA512 2698f4e80b93f7cf1d8ae97c4c42a7f61e7b7081f7f1bbb94d7f48ab7ae813a666d73c49ba3812cda9155e0138b55cc246fb96e5858e411a8d32bafb3e2b2afb +DIST tempfile-3.27.0.crate 44780 BLAKE2B 898b8b00613c4617271febdd54dd1e5f66aca54c1e4b60067e508c87c15fe32f0ce2d30b3dd630ecf7083b046d579f31064fa72de09067981c920f4aab86f2ba SHA512 bb20b9b0c5d3301ad05f73f1de538ae240366d9aefa25ca823ba40041a8a11b4a7361a6a9ec03871b14230d42038d7af6d0b652c8c471935b481a1628b59314a +DIST termina-0.3.3.crate 89971 BLAKE2B ab6936a5846c4b67e124d23a9d4be4041829f7eef43a7796f843e0478711b7bc6e377fe20c9cec19e287f6f126be47c72737719de38774cf582e1597e2c70309 SHA512 3dadb77a34a10fa8d326676b9335a3147032b475633a0dee097e474c2dd86a18d592df6fa1a39eecef768a0f9af176db78af62de60e412bbc2ce5dbf2fae4b50 DIST terminal-light-1.8.0.crate 40098 BLAKE2B e2d2ac05c553ca4f559ae8d15fa5d5fe05768eef4bfa160150e4c634dfc58bda8d7f3700b40dbdf7eb61ae0f6bc108a9dea10fbd042bac320f990f80b1bcf731 SHA512 f130fc771999dfc77b8854a2ddc1a839b8bd15f02f408373ba3932d26f47e42ff03ac7d291a66dbb6d9f6d32a644478f41fc8eec85aa151787f2013b7da2eadc DIST terminfo-0.9.0.crate 45420 BLAKE2B db73b1857fff94a86aa8b840759dcbc7521bc30cfcf021c55aa6dcffb265042ed698b2a249ab3142c1761602984f510073d7cd73f818685153f0793c99e0593c SHA512 f22b16f93b2b7758b41ad393d580eeef067daada996e41056f21e110bf53fcc9a4bdd309518d338c5afcdc7484e2d36b2947d9c49b0ac0709448ceb00525e849 DIST termios-0.3.3.crate 17103 BLAKE2B 855b1115d02dcb275ea772dec3db383f9a6f84c14876ac037a5e3bbd1e71e26d3adc64e41521145093256acbea56c28b6c14f7e3e2bc9fda37e7cea113abe214 SHA512 3d4cacdaa8bbbd9083a050e723c93510829210f5ca8eb806e661a3a1e3c8aee33565142c5df34fca74aad0d26319525ee70ca6faf3f55a29427423d37fda43ff DIST termwiz-0.23.3.crate 400004 BLAKE2B d7f4d00d6e095c48d561b4eb33e7ffca672a694f4a1993991db699aed4963475a855bda15272323c5c756b300446ce1f223827dc2aae470469ec3c27bd7f01b6 SHA512 937c49e22e0004c4a235ff7bbfab7e053477444c2ce0a0873bc17aa6e7165413d07412f6a09630c6b3883d85264d7a3cc88651ec5b8fe8e52e51f1ffa7924701 DIST thiserror-1.0.69.crate 22198 BLAKE2B fdd8ca8c8ca78702377d0bf7b253440519018275b105db980d63229d0d44aa5c39a703e14aa6fe453c779b3c864d8044009dfef893d2a5294950f067656d7a80 SHA512 ef50d2867d965da1dfb29d26faf6de273b5fadf78f95313f6caf44d68bfc610b9bd4b7544200b05bb0861231cfc84e961007f8db83c7905244c492037fd31899 DIST thiserror-2.0.17.crate 28857 BLAKE2B ea60d7597439a703f50faf77dfc1cba7cf4ee5c9f7a28b9c553099fddf0534be55e484f4d0761639c845596ee4b4f2b273169cad6c1d36e1a06c775ea79554d9 SHA512 1a20ecdee9e0cef6f4af845255bf7664c77f55a8e6d878ef9c398c42d6c6f6e3deaaf606d7739df3a157f55c5be8bd0ae1af9e9bd7a66cd218e9a6268f7fab91 +DIST thiserror-2.0.21.crate 29021 BLAKE2B a59caf3e786d3f2484e7c49f76c1de3fc5062e0c87205999203abb103c1d4575ba8266a0639c3fc0b699b902e5b4fe5314a6eb9fe7564507b21e17f288ac88a8 SHA512 c4e4700fdb2b04af8fca2248b3041c0bbfdd3bd32f619896b5071fd8f9ed1d9a44790c947b4ecfd4a96644253c5e30d2715eed923720b7922d3b19d77b49db0d DIST thiserror-impl-1.0.69.crate 18365 BLAKE2B 51663251ea6ec99c59aec35fe73c5f9760809d6b6b7eaa8ecbc8f6939acdc4d0ebc11f9034d9204dde7bd689d5e8303ae0be86e298745e9ef96825bf73453a08 SHA512 579eb796c8885feb01d27638862823acd96c79440655bb444c3445ac00121852603396ce7439aed617c0a0ac69f62102167fde5845411c906997574a46d6d9e3 DIST thiserror-impl-2.0.17.crate 21344 BLAKE2B cc54f1423307f64857c67eebc2ae0537ffe9ad65a0443ba31c35ce20a7e4de96ad29a18237be48fad998e509cc4262e1483d4a983efc606b6714ed11bab9cd1e SHA512 3e1185fafd0c77acf6f79ead5633ff756c55e88f83285e10e2dfb9e58155b3c1c1b637a0bb7cd5d36a07cc9b014401942aa5b0709b6387e44d37c2b407e012ec +DIST thiserror-impl-2.0.21.crate 21637 BLAKE2B fdc4d589d0d18be78ff2e9165f1a36000321605bd4fa891c38d15a13e2790a2ee107714b1aa763602583cc97a9976a3adbbaffa7b5d5b9f3a2c19edb7ce9e0e5 SHA512 fcea1229a024f2f83ca573ceaad2d2422d0884a35a32e483e43fdbf87a577354ee89aadd230f33f2c759083c939fba145d2cc11256190b24d2add1bfb131ada2 DIST time-0.3.44.crate 143200 BLAKE2B b8b17a189a5aa95177b63aa303421aeacbc7172aa82760ce5b222ef82a8b083b9ae63746bcacfa9aeaad5caca5c398c818e5d761499810f10e9e0fe48369679d SHA512 c29f40e41e963df4d6f5407d892a98ccd148678e0cbf1db2ec6cc60f09f210822b7e211563845a4944ec290af4971e0fed3e46cb5192473408596d98583e2e6b DIST time-0.3.45.crate 216365 BLAKE2B 6adec1666699a3605c5e24cdf5703f9bb82771626175879642e48fed20805df6a9c0fae724e7df44852e50874b26615e16c37616b9c91deab273507c126dd450 SHA512 b63be4cba51952e8f17304e04912246f997168c3338ff6a0ddc4f2df87e7eb4534adf62f53bf6e8e25807391b0ac4a7bf77ed5e2c6f687d5bc7d53ce90573dad +DIST time-0.3.55.crate 279955 BLAKE2B 7efb15881122078e5d9c905935aab97114e0a0b981716e1d91c327568fe528c77bd8834f111862c57943084ece60d79427d749af6d2c8114b1ac72ea10293f11 SHA512 bdb98700d85e557c9d8af939c4cc7cf1bc9970359a6efa727962f31929569dc153f117c1604693d45d5d5af62a1176301600668f41f339ef0567bef3661a1fdb DIST time-core-0.1.6.crate 9105 BLAKE2B bf34fb3ff2afc5120a394129728c5e7806084df16f04427e3fa70104c68de414da69addbb651fac60923248b37ee146a0e73e124542369c6f68fd5fda9ecef2e SHA512 135f25c99620788a8548027c04bfb94152681d291848b69650ff6dea3aad42fcd974a2d0e5ede8b091f37d4d80d97804e1aca70f353f5970402ef545a5f1d407 DIST time-core-0.1.7.crate 9261 BLAKE2B 8bb9cba40ad301a18fa3903da6656a60150af77a2652798ec78078fd2268675a66c10b3ea94ada3515fef525a2488bc24cea618773c7f4713e17fff6f9c18b3a SHA512 bd00a349a9f6659dbcf17ce9234d37f1b8450db5621eec7d3a33be3671e40eb43f0b72f204e5aaf7580b1fec102ba80513730883bd5634476c434e7d178bb94f +DIST time-core-0.1.9.crate 10320 BLAKE2B 434739a629f70ae2571d715ce1705d83126d8ec22f84ebac35df4e912225d8236fb87d7f9f17f1146dda1c5eae64f2057d61e85d22372d8432e83e719bb7e964 SHA512 6ddd5d228fbb1303ee0ee8c59aec19f6bf0f8c481daa2567a4fec68ef79273e19b7ae23df8b331d87384e5e3cf0be0cafb5fcdeb1a6bb780c063f5cc8c95f4dd DIST tokio-1.48.0.crate 843434 BLAKE2B 4a2e3221f6820f2b092275fceef9bf295e35e445d81238f9f71679033b499610696d8882da118279b9cbb3fffb2383afbbf9cdded910546933072f70e77ffcca SHA512 7e275ed26e857d42255dd27e8704bcb0a5daa8658c5a00f9798f4522265006a91e04d6a06512a87f30e0ad090a1676c03d3b02fe8d60263e4ba793940a85b98b DIST tokio-1.49.0.crate 857029 BLAKE2B 77d4fa2f6cc822c6c2040819648ac29b6241f75a527c681217b8b959fa7c450524bd4f8d9ff42a21a0b2f56cb76a1f3a0d1b62e811f34397261d08bae645d12e SHA512 f7bcb51fb940964be99200e6a9adc45fe1ab13aef8aafc121a2035f1d76686915ca1087dbe3d78497abef86f374b2f737358e5107bfdf4357f511d87e6af6432 +DIST tokio-1.53.2.crate 928280 BLAKE2B 03945687a1b7e9fc028f080496942dd8969ff76780c90fd980fc008c3cd8ea46a80d875ccc302cd217a85717fe629ae561d4c49fa885cc6f64fd9014cae5367f SHA512 858ffff0dba8fed829c8021703289abd548b443d82a0c5f6f89d706c99d88748da9205f09f4a842055680f05d6c025a8fd2e824f94e6405adcfa5196e143b9b5 DIST tokio-macros-2.6.0.crate 16505 BLAKE2B 9a6ac1a92c2ca1cf2a51b7f78e4e043e086f595f3d7ab3d543b6d16df306721f56ee3e02b87f568374fb95d8a06dd47090169a3e60b749eaa2f80551dd97e490 SHA512 626e2dddbd80cd4bc365a93dcd4906752c6a1d0f2698daa007deb64596f518b420e5a0374ca415044d5c8acd247a83e3190ca5611ef9185f46785f8194d380a2 +DIST tokio-macros-2.7.2.crate 16081 BLAKE2B c796b9af27e13ae1d944ea8ba3f9688568b5d58f763e087b9ffe1931eec6e0e717be485b3a7dcd08dff8309a03d58fa31b1883997e37b5d5385e9c11f0077955 SHA512 21dc60bdb05176704b08ed0bf3e474381ee3b6defc13fe7c5820fcc9e876ba7b4b1a915235c8a18f9be896c0917c284ba55c584647c6f30aaab527f947c03187 DIST tokio-stream-0.1.17.crate 38477 BLAKE2B 9b8d7307ad8194145ff8afe682874d9f4cc7b06a11429005912dd9bfe1bbfb980876bf831b7d715552bc86ee18344eec331fc18c8871681d58171abcda7252e7 SHA512 c44c5da6f916ce128e8a13025d9c3e92ddb4c82d2cad52bde4bfb982e6f83eb89125b616f89f2fbbf9ba8b7f800ce46e33f43104a59153db2e950bc2f0d570c4 DIST tokio-stream-0.1.18.crate 44366 BLAKE2B 39878493a2ca35ea95fcf9612825b85fd82ee457ac12fa61fd512ab2f7c0242e1a6d91ca2ad997be83f8cc7461c1075be11c9f204ffb3046018e8cfbed84776f SHA512 679a17e530a84f38538af9952496d0258550252f4978075fec468380b4500ee6449a266c0e6439de4faef7aa3bde3a5baf04559fe43736f745406bd6dd4e4c00 +DIST tokio-stream-0.1.19.crate 48088 BLAKE2B 57c9c85774d87c606b32566fc6f5717bdd619de50fb6962ca23c0bc8905cc9abefef09b986ba0c94a012df8de1df979ead625a0fc1e9ceb4e540a50d4f184451 SHA512 fb82ded555620df780c68e561e1a2744a2721cc8ca3744d91aac6f19c3d81c569306c099e3928c2431278945cfd85222d3762ef5961c6e503844a0c2cbf4009f DIST toml-0.9.11+spec-1.1.0.crate 56484 BLAKE2B 0efa0d7957b5f5fff81d355a1af1d3163f42df65df4e3afef55da71eac37daf66219c76fc3d239ca04269f7b2bb81771999f73f75d2b5c061cf13014f14ec4ee SHA512 635b45316d55c1e9634319ce1e7f79312c9acf03a8292c08e3a08662c4da47021203049fe18bf3487dc92d0312671b309f5ac50bc2c10e3fdea38c3e899c0e0f DIST toml-0.9.8.crate 56104 BLAKE2B 216327936f6973ed5f45a4200253b1c48f3138f993a9207c057fefe0540793f79d285731396462f4f4c95f5a69430e52896f574492cad760058a1535de81462f SHA512 e7ea1ec2aadc2bba833e9c42d3b2636a5d77cef2fccc4147fc327db4d0e1ac39508954597b040bdc88af4d8c9294334f12ea48ad977550087afa30778fd3b53d +DIST toml-1.1.6+spec-1.1.0.crate 55947 BLAKE2B 827d93b54deeaef10f562ec6f9543aa501c554abed55bf152ae2e12acf856fbd298a4d84f9827fc83d0386f93ae800409b274e8b82e3ecc37c3c9bea914bc3ae SHA512 c5a53b18456ca54d55fcdca1241e70ab34c5364e7ab4f54b9c1ffb720bd31906eac456f781df058aa5b8d9c8a94a8b37abd7f4784cae73731d6f85723e3f3c0c DIST toml_datetime-0.7.3.crate 17827 BLAKE2B 1e2f419d7338f27dc2f0f3d9f484a863c0dea555e4510880b6c0887654b5a742b1f4560d9051cafd25e9af024a92d99d62736423c522bcb86356bcacddda8bdc SHA512 feb8c7559a7e14aa2d52fe6236a406feebd499b03c37e1dc50e5a116a43d317046d5b6ab6326a4193c066692e02ec9d30104991a501d9d7347ceef5cae4bd520 DIST toml_datetime-0.7.5+spec-1.1.0.crate 17975 BLAKE2B 78f3ba1af90ef25ba23491c1828e8c64d70ae9fdd4718e58c689c17848f9b74469d62471c7ba447dada7d749e1c63b153bc2850b9966cf1ac7ce87a6c7916861 SHA512 4db08a8865011ebec8351a5c42c7c9ce862956c04cf80d10644f68d727362699a4240db9e210cb6d558fecadb63da0fb41b356b5f0cd1142303069988a8642b0 +DIST toml_datetime-1.1.1+spec-1.1.0.crate 17982 BLAKE2B 0552b1cd242430876cbe3f1b4209c21d5b8aacf70c3235087dc742bccc55bd0994013b021a48ba69c4a2802bd458eae56cd8a96999f43affefff0a5f6b2958ca SHA512 74e13bc2f616b407d11e445e3a416dc7cd819774a5d747baede2d71ac42573ea29fd77cedd2648ff1b286b879053e764b8ad07cd9e9fe1164f6cc26f12931808 +DIST toml_edit-0.25.15+spec-1.1.0.crate 68207 BLAKE2B 15479673911e43fb4b32800f6ccfeff38258693f53c8e46993b038a71f7fc925b23e731952230943e0760acd23f232335526e817a0fc3b40f50320c66ec467e1 SHA512 ab2de29147f29b5c4c78f674017732d90de3a15343f9a7647c42ec53957800459961d666e3db907eb3fc71735996659981e01d68542ba8ea11fb66949a79292a DIST toml_parser-1.0.4.crate 34978 BLAKE2B c0951a7bce851de56273dfc51e83925e7eb10005038a173d2e0084c503f3a41cf74574519876e64ff2683953ab29ca3a980eb32fc54d7dbcb7d27662d40321df SHA512 00416ae9ce4202855a0ee4ac9a704379d1eb151ae0e9e05c8d3eaaee06d97bbe427a0fe668a4134ad38382b1e248659f575bcf50071681d55dfd609b64908370 DIST toml_parser-1.0.6+spec-1.1.0.crate 34897 BLAKE2B 1cdc6e777678b2b70bd0418df9a21e19e52c448da185d6635d160c9fd79b08a8368f80565d8201c75a17b2874a3f642ed7c416127b14d237a58f375872586777 SHA512 16d8239dfc00dc55271ef0b5d7c4d7c87833b86a6204266f9edf94d5e2bf2cddf698b65383b53eca87da28b35162a28edea62f039e024883a2501fbb13122dbd +DIST toml_parser-1.1.3+spec-1.1.0.crate 35888 BLAKE2B be644d7de774a2ac2a460acc705a77db5ebb6a6694a39c379816a9be5a315333ef7c59f8d7c66744e629654d386f4e19f3c5d6ac065c0a2c480b663c0a94374b SHA512 1e59ee837016e095f93adb4a6ef63c33adc94c09c005cb68a0ac310c32696e4c342f3eabae9fc4f23d4f0fa1d6a958bbf61938ff214e03830f95e24b6066b164 DIST toml_writer-1.0.4.crate 17146 BLAKE2B 7715af600465bd322b59095fbd629b58eff8183b88a2c844561a034a22102cfa254c31329e7162feecdb48fa8daf34c7beef13f927265d1364043fc4ed83885b SHA512 92f058981fa8685bdbb891838c5580f8315f70d69fff565949e1ca1d00924370ed4927052ff145b1867229a100aacd2dc8918f102001053180755b2544ac3eea DIST toml_writer-1.0.6+spec-1.1.0.crate 17187 BLAKE2B 7786c6a4ea68ba0d478244dea241c4909906f286c46d1276b33c4af7b14cff6d9c77c1c6dfc070fd4c5c02f89cff4917bc166f91de4a3cf27a2b77b3dc15b27c SHA512 c10836e5e69a052806dda9490dab4458532a0bd8bad31a33834b48ceeef25c2020caf3dd1300aea5ebaf87c1f367e18a357ee9ecc8956553a63685d283a822d6 +DIST toml_writer-1.1.2+spec-1.1.0.crate 18968 BLAKE2B 7de24bd46720ad9794677687acb1a581a9998aaa4449ad1477edc5770941bf3e32af5ff3e1ebcc7e18a7e682a2d1d711c77a0f37984efe33ce6d9da3abf1ca87 SHA512 baedae17f16c3b8f1780ac2936c60c3fe12b3df254b1f58ae50081e1e8a260b8bccbfd2299b93df2c58e97df8006ed6debb6351a3276a3020431b1da3f90e25f DIST tui-input-0.12.1.crate 20188 BLAKE2B ae1703c9ef988c8b32fd8c915a3ae5b6087a828e8b6310e4fe27639ec9808f20ee8754b43b9887e08ddfdcf4058f455d16a5629113cfbc7623db80f1da6aab3f SHA512 ecffd170a13a25e0aeaa17cfbf02e30153049c9467577ae46fd78e4e26e3e8328002e965e816620a288cebbe60a1c330a78855f0653259c13e70d60cd696d757 DIST tui-input-0.15.0.crate 21031 BLAKE2B 57d95aec081de7a8be5eeb7c1497086d52bbeeed1252487f2d912fe3dd06f7892cae956457348b47184ff3fd9d056329e6056e0f344ad500d77a6bfaed6b4a8a SHA512 ac6763f040975a09d5032cafb768ae619056e68f4f2874173968af997811ed043019158f97d8c0ec7f82e2ceed2b3492ab3a62ca82eef53d86f0e632fa46d23e +DIST tui-input-0.15.5.crate 26621 BLAKE2B 9a9cb84c8c6e234bffcebd439e5a5870342679585abddf1dc9d4421d86557cc8f8a8b0bc4f0059953c2cebc61e63485c02de078c6ad9805cdd9e0caa0be55215 SHA512 ecadf3505d1b6197c539af8c0c4ae414696c0a84123d0b17cdd241fdaf5f0a32613c27b0b30e94bfb3b69a2fa3450dbd2f3822a2ddc353c1aef34bf89a7df21d DIST typenum-1.19.0.crate 76414 BLAKE2B 8083988e0bf1d7927377112b8939607f32af098f198a2bfcc2c5302170d9f6e5b29cf02d3cab16c1ecd0fb9f0a45ea3c6bd4a4e4baaf2dfdf8f694093300deeb SHA512 09ebcd7a2cc11f422469cf4fe706f1988bcd81d628e2bab3f54ae82b0aa5486d03a4392187a3736c13dc0c2027053387f89ac656caff72f36365c8be38bc7ff4 +DIST typenum-1.20.1.crate 105479 BLAKE2B aa3ff221502fb140dd500c302b09279f5d161123093d0f97d7b1a8761ae465ec71f7035109651e483b735121f8267ca2ff21a64825e9a91f83fcce4e7e1192d6 SHA512 ad4768b49dc06808e3135411ffaf21453572d152f71d73c34b7fe5d00e276d3e121dc78ebed57d620cf46b5ab24b5b5e0787f38ad9ce8bd12330b499cbbde5e1 DIST ucd-trie-0.1.7.crate 46795 BLAKE2B 1901b49ae246f0d9628b675d4320c1005707bf97d4c8b0ff99e916d198e31698fddfdb0551222f36b73b9ec7d9e648d679848841d81e975bb9ea69bd1e30aea7 SHA512 382a832e38654a9159ebb40a8e8bf6e7f2f3108940e5b9c388f3a1441848a241201e7e5cfb125e098f04f0b2893da231b8a0e5124270e774215374bff3c5445f DIST unicode-ident-1.0.22.crate 47919 BLAKE2B 766f52249631092af952df717e09e1eb0d2a8e87c45e65113f0b2b88b42e8b406a87241fadd368ceb9e13339362b48cdbbc6f699f95f448ab45dbbd861615d62 SHA512 81666679aaa2eebfe1429827fa2a88ee0b52bd69723067132c24252070133b3731287bcd880ba16d16274f038c7b27bcf637e9150b6cd955fb4ff49642078125 +DIST unicode-ident-1.0.26.crate 48425 BLAKE2B d615360eb4874b898657770cd8adcb39350e51dbc76a3109f5e0589a8017b89e19b13a49c0170643cd4988296482bdc293f22437d44f06a1e0af9b76b3a0fa1c SHA512 216d13c655e47dddf888fac997a6345bb7c6d1f0ab6b67ed06bfd9013a891fda8e9e8d71b763639957c15b951145ffd77243ee2056a20ed809d2cae48502c472 DIST unicode-segmentation-1.12.0.crate 106323 BLAKE2B 268b60aff6694434f05afb7e2b8187eeccdceb77460f8ce2ac0f84d470f8a4e03182ce3f7906177cd2f00f989273a7e69061a763006245f0876bf21b15076804 SHA512 55eebfe5e9972b39d7c0011d80eb5f517d636de37870999119a3d8f064f21f67b66a5ba9761d562738b05f220e21d56b5be7bbd9cc51662994e40dd67c38f946 +DIST unicode-segmentation-1.13.3.crate 112325 BLAKE2B 4767480bbb171eb9f9cb026c4101c7db58f37ef3d0ba12233c612392b48e1c63efa61e66c321a4bf772dca214794906cfc82bafb87e59a755bb164b0b2304c45 SHA512 927f3d2662c40213c6d824c410e3559f180fba5736abdea566ad9f3ed357c5a82f84f63e7fb89c6b18dfba2903d2dc43663b79d0b9f7672a42926e0ba49c85d1 DIST unicode-truncate-1.1.0.crate 12529 BLAKE2B 908c794c44d4928bcb73e3cb7f89a5f57ec39bb0a2931db282849d547fee1e228f0ae01d50421b86a5d08c4860c4960d96909f1444e00179ee7309e25e1a7fd6 SHA512 090050af06ec187902102b07b2caa4f5c4d1a046d013aa1fabef9d18fd3679a6dc4dde6b55b9f606dfb057349fb5c10e2c229d3577116c9fcff07f1099fdf4f2 DIST unicode-truncate-2.0.0.crate 12904 BLAKE2B 13630bebcf5128157768acd3644d6bbea8589842e57d89c767c7a247beb5095a771c601bc1724636a9000960c4e1ac6f65086246fe641defee886fa3f2bed49d SHA512 46fd9df702fd5c702b7a0ef5b8eca5ec7547e942f20be6a739cca7dc097af88fbea763b2c10321a39c837746ba56ed390dea31baf5a255f0ac5d84da967340fc DIST unicode-truncate-2.0.1.crate 18182 BLAKE2B 01de873d921f29aa118ccb7f5bf67a677a3e4f2f4f4846bf9a9cb866249c84dbb7b9e5cadbb3f2104d9a32cc04a8fb5178138a84e08855d4bf03ca5071da4367 SHA512 cbf016811444fef1252e6553756f22889ed92bd328c51b45a88afdec370b2cddb64e27ec5a2bc5bae7748f76cd896e462fdbcdfedf7bda0f0555194bd60b0c3d @@ -290,19 +431,25 @@ DIST unicode-width-0.2.2.crate 282768 BLAKE2B c03a04bb159969f32447c7823f50b2686c DIST utf8parse-0.2.2.crate 13499 BLAKE2B 095b5d219ab8ff04c06fd6303e03d913ae36a57845f0b2ca3217a40e31a54cb0fb5ecedbde165d28f5f60f1553d8252986d7098fa83befc84a7cb20bf3b76144 SHA512 f3dbf78fe924f1dc3cf9498b6e43fb10174699463f31091a7a8136d8f31ec84fc00e80e3d8551b7e86257e8b3573cfddb56fc0de797fdb2cde0e962a8f239266 DIST uuid-1.18.1.crate 60468 BLAKE2B 0e70361595e8d0baf8c4c69a09878fd39fee414d404a7b3cb457ad60cd3cd351418a8981090f4c3d507fee42c575eaf6699f494a604da0470573e81b7a56366e SHA512 2a088f752c4dc05291b8563f83ff8efd6534697f55da76baa89d64122ae436a7f0e19fa46a9e615d4e9b013bbc575bbe0f7646c182b37a6c24edcfe24e518400 DIST uuid-1.19.0.crate 60244 BLAKE2B b9ba5d4a0ffdebedeee286f9e9135bbfb4041295b3a742d08c205d8fb2daffedca78d379168562beeb982612c45cc77d2168be9c045c36373e2293c58bc15619 SHA512 5b2a4aeb75efb08390567aa058e97895f30c45aad59465fcc85dae6a8e9a169c2297e332512ccce3735b8bf26d71973baf3f6687ee7ae4d9aabccbdbcff1fba8 +DIST uuid-1.27.0.crate 66335 BLAKE2B 9f299a1a46360a773564ea48c3ca9a633b251bd64e622e8c4e84a65bde8d1115ef8e8a44f9046e051da4092fb90b5f69ea858cdd93abc0c1185d9cc6b40530db SHA512 18dbdc00384ca18651282c9380fb2d38e654a8420d34ee48780457d0c8fcf8b1882fed0518bf2a651af526c303b9b1b30b9ff1b5f0273c5fc6823e3755075af1 DIST version_check-0.9.5.crate 15554 BLAKE2B 131e75cc287518831e142430e2a39b48e4275874f4473780d47a27552294097aa1cddb65c385583e1022478f940b495eb43c24a8b1617b8ac5a24af3340c0d72 SHA512 d11d5a2240ab0c67ea69db56561ce202201edeef9a8e5eda3d9ae7ab7bb5752d8f343fe7f6536d8383de8d55f9024efa84f66a0c21e69563b7a38c4a628014db DIST vtparse-0.6.2.crate 11448 BLAKE2B fe3422789dbda377be9cded973323149b296785adf184357ff3d134b4c39ba364cedf0fe1260f077a4e4f807ab4589cb1a5b886768e503a73285b24ecf89c62b SHA512 32214ee2d8216b8e7e7a329ba98805e9c6c78102e0bfb6ab34a7b2947cae0329f706862b349600088b6255b0440bc1e5fb818e477b126a569a0f9ad94222b3a3 DIST wasi-0.11.1+wasi-snapshot-preview1.crate 28477 BLAKE2B bcc773ba28cbe8d820e9e9fbb275fb4451bc7f39b3bd88bcd93850bf2bdb5300489bd8eca27489ccc5f6269b00f4e1b505ae3a33a35d708cd5a414ad307be149 SHA512 29e3c903763db2580a15f50db487c5e1d4e90763e48d90a5b3f681e468a24f9df1a01773bd1ffa0e3cd293dd8cb4d6fbabfaa63c0e13889c811a56f4554ada49 DIST wasip2-1.0.1+wasi-0.2.4.crate 132087 BLAKE2B 9ae5188981d55ab0cfc52668cd822bedde6b03104990bcd070f459a39ef75699a792bfbd33766cdfae852147c2f3ea236aa1d1b792e85c56be21b74aee2232af SHA512 56b88f97224b6b9763f4d2572e986609fc86a98f597930b5cbc8095d4184a0279286c8c79f6ace19bb08ba08854a408a61004bdc6b2f3b72d4f3fcb5e43edceb DIST wasip2-1.0.2+wasi-0.2.9.crate 129778 BLAKE2B f41afceba3c586d12829d2c59f45198c61ae04a0dfe72d6bad6176a3d38189a097cf633f34accff83d7ccc238a35a833381e98291e5fd37f2f4d6e08138af2c4 SHA512 284571c833a1770fcadd9a70155d8b507e9f7f0590015e1a07ad0512ac0a7f0ca4693ccd1aa1ab27e74ec58cb75f314770b66562a2167cd6b5086a7871527eb1 +DIST wasip2-1.0.4+wasi-0.2.12.crate 135311 BLAKE2B d016ad82ee36ba316bda8e13fab53007b812372d1baf8718c39013a6e46ba4be123b31ff117ca89d1f5152b537dff13dde37887542ee37fc5a6df1dece020a6e SHA512 42c79d515531dd74efcca7fc3518ec57a34d5a4c73cf36f462fa1fc87151dd22d227021667e7743aae587962806b96840fecda029e5469c69047a494b13e290b DIST wasm-bindgen-0.2.105.crate 48215 BLAKE2B 1246bf578db288dfe1f441ed307d781c8c3b593343eaa70efdb602dfaf7eb20ac52ca5744c9ecd03784e4c61d166401db66cf7599b1385d1e15133b47cf2ec0d SHA512 f79d9c1251c005f8ae3a6f7e364c54a34eb80f445bf5a23de0428114dd5dd6f5f74b76c92df784f7b54a0d978c02d5df932626819bd26a97fe90fbbd3d6f8396 DIST wasm-bindgen-0.2.108.crate 49120 BLAKE2B 7cda1630cf38a776750f91d5811a55f955fc05f8460bb5ec12f147b37763ab73c0f40bfab4ae85d9cff93c80a6d0845916d47d61f4eb1750844c9459254bfb75 SHA512 d938d6fee0e9018cf3e1d3bf736b3ef9fbad3b20854917c93409bb4baad70c3a8220646ad3aa8e340d91c655eb7d0ccde01f4f38eb6941780c88c70989616716 +DIST wasm-bindgen-0.2.129.crate 70859 BLAKE2B 9eedeeda57ed080226c3c612e122de72ca04384467ac315061e37181e263aa2f89858aae383337acd50656324abf9612a47d8d4840ebd3c06d130d8a7772d6ce SHA512 337e70b6982e0accf33fb7d63532021410940436de44c39dccc30dc92d47c7233a0d5160aa74c37aa826ff17903fbaea033429dde5b9cd3f331b2919538ebc77 DIST wasm-bindgen-macro-0.2.105.crate 9264 BLAKE2B e2c4327e94482a8f1a22cc5bd2a67a7af96290c365bfaffe9e07acb1fb71034bda67dbb97e03e9239c8ef0be06a967ae5e1072f88a35ecb61b110a1ad122e243 SHA512 5f3ddd3dfd3060210e63f5da5384a308dcb1466d6c0435e30b4b0183b34284fa972aa70224c6c8f7cf19058e08b6945bafb17ad4d008312eb7b30d26f66fbb3c DIST wasm-bindgen-macro-0.2.108.crate 9283 BLAKE2B 89ae171ed3418bcf27f3a55a8fb03c9d8983bfd16254e9419fe93671ea68532d83a24a6e4b6834a291e4fd068049216c84272f041cd99f76a620f7bbf5f2dde9 SHA512 5b154c3010a31bb7338d16e559a9b3d2d69cab7681914d22e8b4331cafbc2e6d8b5913fcfbdf5a3ee0e793918affc94ae0dac76fa407f02881ba4642ed1a2b66 +DIST wasm-bindgen-macro-0.2.129.crate 9612 BLAKE2B 7e316d050860597f8db2cd4629876439dec11a7aeb7521291adae049ad6ebd4b5d8309f9ab9c2383bf901302a540ec76ac15e83822c2d63a8c3756b1a0773200 SHA512 d5f5be387917df42b8e92ebcf9f1d84029e0d8501ead91b8511dd98880799a449ae30c44d4bb08b07855f9500c0c44f43ccf39dec93761e00f032f32a4703935 DIST wasm-bindgen-macro-support-0.2.105.crate 49633 BLAKE2B 36c59a0fffe14cb6b5cc767285e6533aac2f1832ca91da5f535779d51323433a324bc07f351d491a151a8f6a67e234e75bf07d508494c314f483bc5d2882b03d SHA512 a579183f46e5e3a9ef32183166b443050af50b8df84ca4cc25cc5a6787e8e45fc1fc3b74c29e3fcdf44fd7b522627252c4894205c693317f27eb475a1b0d9b4e DIST wasm-bindgen-macro-support-0.2.108.crate 49855 BLAKE2B 5282f38ec1f5de7f1147145e9083863965e047e75c0b5cfbd46231619ace34b59a2a4db6d3298d265df35dd40de48a8cce2a47678644af432cf28368d3c9345c SHA512 8ccbf76754e3d62df3f157e397a3b560083e429840be50f38dd77cf737eb892db3054295d62f0df2a6cb78589a9abda6e9bc2fbcb2fd431ea74dcae46470b2e6 +DIST wasm-bindgen-macro-support-0.2.129.crate 120366 BLAKE2B 546b2e9438e61af0875ad9ca809d09698afc1dd30e33d3693cb7bd4da2f4dd71a3a17217610d05354b50b2aa691fe348985ed2283c6958473fde83d7d1aa53c9 SHA512 1ea78197ffb0ef6657310d234d2c3d6481600a4b9f2d1eaa91a040f42ea025641e481fe56a04242cbe92c940c48c4e64efc84b632c9df7482d4b3fa1e2e47002 DIST wasm-bindgen-shared-0.2.105.crate 9269 BLAKE2B c67cbf7f2eda35a29c0c60313e9887bc4e44ce0233cd9387f30fce55bfe173551b06f3b0e0d1834dd7c2a0e6383ce0b28390cf05e9ff692245fe4e38751e0b17 SHA512 a3604dd72ed83a627a1b708f1b268693c93a56cf1851823398e43da066f87a25535222cfdf987153d12f948cd7e316e5c2382d12273c63317025ad774411c079 DIST wasm-bindgen-shared-0.2.108.crate 10121 BLAKE2B c7e80b0eed58bae092167450b44dde4d351188115c5b5d966ed2ce39b4fdeea77ceba89d7bd28400ea92f639b17cdc557a57428da8f4a379d2ecb90ad847f13c SHA512 97fea5811a789c68c8a9b19587450d69b40bf2b76e38efcbb12f4864ffc2ca38a5d3deb5d9d437f47458d44f05afcfc5078c748996c3fcefd65e15bbdf9b226a +DIST wasm-bindgen-shared-0.2.129.crate 13023 BLAKE2B cce639af764f0eb5770447c3a8a24fced658b88115804ebd48422ec1a4f8a05e5d01efc9d0dbdfa48786bdf492c1fc900c8cbd80506d34be83d4893b557ed8c9 SHA512 a95891daedf9fcc51210b4cf4df65035ac4594218952cc34b6f982f69e073ec52585afe4e5466651d61ddec5973eab756d10c365199bfb842aa034d2f39ef6a1 DIST wezterm-bidi-0.2.3.crate 73214 BLAKE2B 821dbe5750763c6b99ae4ff71260140dc9caffa3b0bcad048dd28664bf8528f20b0315199886a7188afa301b6c32728ff7caf8cec56445fb566cceb2db462bff SHA512 37950db06980a60ce7a5cf2a2ac55aafb3d16d02b650dbb938f28d60217f4c51e1fbfe21d53898078336f68538e97f8a061e7b6c7eb238427651ff8673d6c45f DIST wezterm-blob-leases-0.1.1.crate 9305 BLAKE2B e798c8990115b1143021d478bdd1fd8515a2042b69a3f241bb9482a00a8b3e4b356c0f08d51fa3769d0b3461c711447e951e03926242f0b8c706c8c0a2440932 SHA512 9d96c81528e0d772acec0efcf8f1bf065b1c8f81f613e24b5fbe63a38aedbf5d4aa9208aa04bd901b39c5e458fac78a9c1d278732b97d8b62a31f96f85f21423 DIST wezterm-color-types-0.3.0.crate 14631 BLAKE2B dca0918ec140f4d3970f7de16398d084861c0d64be0d7a84d43360faabd319f15717bb857aab74f2d6fc8f69f48a724dc291eb26db186c15c1961a1eb5f2c159 SHA512 d18569f3748482685b3712d6df585e3684c212ca2e36fe526b85c09da60112f1419f4d77fcd5c1dab85966a84b9109df1583946a239ce1e320ca9928a76ca680 @@ -336,7 +483,10 @@ DIST windows_x86_64_msvc-0.52.6.crate 832564 BLAKE2B 8e9a3044654c6de99a9153e7cac DIST windows_x86_64_msvc-0.53.1.crate 837950 BLAKE2B 5775d30ce763835fa26376d85e9ae6f598b817b8d32b01147e5d197c364a5071ce7b5b09ee6f611fcf30790af79c4e4282e04ced620190629eebcbccabb8d720 SHA512 bb724f4051db90ce49b552021e746769e5dfe3792b522416539960c27f9ace14f63c47f0f240d6563257377129b5f3ba2c262c6fea9610428aa860fe035f189c DIST winnow-0.7.13.crate 174454 BLAKE2B 037d07cc421502502b5fc99e2640e3d78b476229071ba44252da52e368f9a46607b6fd3b6e0c0be2f201beb7502850ae01ddf24e0fdb4f4585c05805bcbd19b2 SHA512 dd8b5fb359f894e17e4737d29ae9629125d2f9578abdbfd5214c333be8faa2860f5345e4383f207129ac4f0e6e419d681c59375ba8b78604e9230835d77867ab DIST winnow-0.7.14.crate 184718 BLAKE2B 6bff099d199831a72ff677db3e4de2feaa5a0b6aad782051c9af629459faebcd131518e20d6bb8f3f7f44b708284e6ba54f2ad7e0811bc0bf1df89899ff561c1 SHA512 ffa96e23707d87d5bf0f0e0c8aefbbbe4e3d2219fa5fd6a1535cb3c7b049a8481ef6f9f9fd69c78be855f36b242476f3b4462f2536925d48953afebe00bb50cb +DIST winnow-1.0.4.crate 188513 BLAKE2B b00e5c4a9216479db21c58abc52b358a0e00b757ea49cb410ba02896faaf1af8d46680a910f2155e7f1edb071538d9e33d9ccd304a07c26b106f75ed5ca63c64 SHA512 97d451051e2bd9bcb14f09ef6df6d2b187b768dcb4d07efd6678e4259e941dd95800f95ba0eeda09b589e95232099e91ea0f15849f35403e54a0081eae99ab5e DIST wit-bindgen-0.46.0.crate 60508 BLAKE2B 4422fb47880ecd70749d615ea6ed0a8bcb5941bd9de2c2164a6f1248574363408fcb634e0e9aa0af3e0f278c9311a81212818dff70ef39614646ffdd646b1fe7 SHA512 5d37ac5855797cfb906c983a70780d7cd29d70c4e5b6e54328fc18297feeb89ceda0aa732123280a12610015fbdb42bcd76aae12b1debb281b0a848016134548 DIST wit-bindgen-0.51.0.crate 68035 BLAKE2B 0cb5e191f866c3782b6a1e822ecbae6e618e08371867462addb027dd5510638e72438d991777877d5754b2932afcb41f2edc1ec1426334a69311905f0f309b6a SHA512 61380c309630ad7f415d467daf1d639ad7a3e8dcd26e5f88aacf0230b52600f150e804821b6a1df9b79cc7fdd4f1d800d043ee7eca770b1947a3cf06f893711e +DIST wit-bindgen-0.57.1.crate 71227 BLAKE2B b91b6e78026d22b58da75e69bf76278f841e11b76610ce5ec04398da9bdfec14b3729c9a342fc79a74634baebd8974f1f937ad3170c67d42208182a0ab20b88a SHA512 9a2ebae44032c0032ae22d1cc277aa6cd35c874d00a0a8b2271a0267ab838f1584eb9fc41d896a0639ad7ad2268fbc9c337a4372c1b3183f6117674d4244bafa DIST xterm-query-0.5.2.crate 7398 BLAKE2B f44829f885ccc8d3dc71bce77b3c1910d9bbacb689baba22ab8242658d7723c0a085102e3713a2a8ca590d2c55bf44846565e12e43908f98416ef986140efdee SHA512 b750d61cf042d8a91b9c47e337cac0f16186409feff6681c1b021820b1fb6a928e117b0b393eabce91d586c1fd9042ffe93b836e6b152c8bd30c54c52ac69788 DIST zmij-1.0.14.crate 23701 BLAKE2B 50aa01fd5b7bd2289ac3687473ac285b954f92691f05e208d0661c892fe12c1e8ae73b0bef3c7bb3e908e22698570a5b456100cbc0875210213c080c483c3647 SHA512 4b692bfd003d5e998e0a95bfe077788a5870ff9a00200619cf6320199c60e6087c7bacd84bccd22acffb8482df952233cee323b95126a9b37f45dae41373d6c2 +DIST zmij-1.0.23.crate 28612 BLAKE2B 5b1fda50a365ae6bba79ed8444f15dd184d0ba0d7b993c8f119355029b5d7cf6a4fe5d9f36eec722221725ed747cad5108eb707ef14920670ffa45843edcbfec SHA512 12f8d9726b232b6be68cefbe294505debb7a98715c11b95d89682a596fe1a02d9d7b2a6cdba97f2e8d47fa947ffbce9506a18568f2cab749ca3d03121e5fb66d diff --git a/net-wireless/bluetui/bluetui-0.8.2.ebuild b/net-wireless/bluetui/bluetui-0.8.2.ebuild new file mode 100644 index 000000000000..8e96258781a6 --- /dev/null +++ b/net-wireless/bluetui/bluetui-0.8.2.ebuild @@ -0,0 +1,305 @@ +# Copyright 2025-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.15.0 + +EAPI=8 + +CRATES=" + aho-corasick@1.1.5 + allocator-api2@0.2.21 + anstream@1.0.0 + anstyle-parse@1.0.0 + anstyle-query@1.1.5 + anstyle-wincon@3.0.11 + anstyle@1.0.14 + anyhow@1.0.104 + approx@0.5.1 + async-channel@2.5.0 + atomic@0.6.1 + autocfg@1.5.1 + base64@0.22.1 + bit-set@0.5.3 + bit-vec@0.6.3 + bitflags@1.3.2 + bitflags@2.13.2 + block-buffer@0.10.4 + bluer@0.17.4 + bumpalo@3.20.3 + by_address@1.2.1 + bytemuck@1.25.2 + bytes@1.12.1 + castaway@0.2.4 + cc@1.6.0 + cfg-if@1.0.5 + cfg_aliases@0.2.2 + clap@4.6.7 + clap_builder@4.6.7 + clap_derive@4.6.7 + clap_lex@1.1.1 + colorchoice@1.0.5 + compact_str@0.9.1 + concurrent-queue@2.5.0 + console@0.16.6 + convert_case@0.10.0 + cpufeatures@0.2.17 + critical-section@1.2.0 + crossbeam-utils@0.8.23 + crossterm@0.29.0 + crossterm_winapi@0.9.1 + crypto-common@0.1.7 + csscolorparser@0.6.2 + custom_debug@0.6.2 + custom_debug_derive@0.6.2 + darling@0.20.11 + darling@0.24.1 + darling_core@0.20.11 + darling_core@0.24.1 + darling_macro@0.20.11 + darling_macro@0.24.1 + dbus-crossroads@0.5.3 + dbus-tokio@0.7.6 + dbus@0.9.12 + deltae@0.3.2 + deranged@0.5.8 + derive_more-impl@2.1.1 + derive_more@2.1.1 + digest@0.10.7 + dirs-sys@0.5.0 + dirs@7.0.0 + displaydoc@0.2.7 + document-features@0.2.12 + either@1.19.0 + encode_unicode@1.0.0 + equivalent@1.0.2 + errno@0.3.14 + euclid@0.22.14 + event-listener-strategy@0.5.4 + event-listener@5.4.2 + fancy-regex@0.11.0 + fastrand@2.5.0 + filedescriptor@0.8.3 + find-msvc-tools@0.1.14 + finl_unicode@1.5.0 + fixedbitset@0.4.2 + fnv@1.0.7 + foldhash@0.2.0 + futures-channel@0.3.34 + futures-core@0.3.34 + futures-executor@0.3.34 + futures-io@0.3.34 + futures-macro@0.3.34 + futures-sink@0.3.34 + futures-task@0.3.34 + futures-timer@3.0.4 + futures-util@0.3.34 + futures@0.3.34 + generic-array@0.14.7 + getrandom@0.3.4 + getrandom@0.4.3 + glob@0.3.4 + hashbrown@0.16.1 + hashbrown@0.17.1 + heck@0.5.0 + hex@0.4.3 + ident_case@1.0.1 + indexmap@2.14.2 + indoc@2.0.7 + insta@1.49.0 + instability@0.3.14 + is_terminal_polyfill@1.70.2 + itertools@0.14.0 + itoa@1.0.18 + js-sys@0.3.106 + kasuari@0.4.12 + lab@0.11.0 + lazy_static@1.5.1 + libc@0.2.190 + libdbus-sys@0.2.7 + libm@0.2.16 + libredox@0.1.25 + line-clipping@0.3.8 + linux-raw-sys@0.12.1 + litrs@1.0.0 + lock_api@0.4.14 + log@0.4.34 + lru@0.18.5 + mac_address@1.2.0 + macaddr@1.0.1 + memchr@2.8.3 + memmem@0.1.1 + memoffset@0.9.1 + minimal-lexical@0.2.1 + mio@1.2.4 + nix@0.29.0 + nix@0.30.1 + nom@7.1.3 + num-conv@0.2.2 + num-derive@0.4.2 + num-traits@0.2.19 + num_threads@0.1.7 + once_cell@1.21.4 + once_cell_polyfill@1.70.2 + option-ext@0.2.0 + ordered-float@4.6.0 + palette@0.7.7 + palette_derive@0.7.7 + palette_math@0.7.7 + parking@2.2.1 + parking_lot@0.12.5 + parking_lot_core@0.9.12 + pest@2.9.2 + pest_derive@2.9.2 + pest_generator@2.9.2 + pest_meta@2.9.2 + phf@0.11.3 + phf_codegen@0.11.3 + phf_generator@0.11.3 + phf_macros@0.11.3 + phf_shared@0.11.3 + pin-project-internal@1.1.13 + pin-project-lite@0.2.17 + pin-project@1.1.13 + pkg-config@0.3.34 + portable-atomic@1.15.0 + powerfmt@0.2.1 + proc-macro-crate@3.5.0 + proc-macro2@1.0.107 + quote@1.0.47 + r-efi@5.3.0 + r-efi@6.0.0 + rand@0.8.8 + rand_core@0.6.4 + ratatui-core@0.1.2 + ratatui-crossterm@0.1.2 + ratatui-macros@0.7.2 + ratatui-termina@0.1.0 + ratatui-termwiz@0.1.2 + ratatui-widgets@0.3.2 + ratatui@0.30.2 + redox_syscall@0.5.18 + redox_users@0.5.3 + regex-automata@0.4.18 + regex-syntax@0.8.11 + regex@1.13.1 + relative-path@1.9.3 + rstest@0.27.0 + rstest_macros@0.27.0 + rustc_version@0.4.1 + rustix@1.1.5 + rustversion@1.0.23 + ryu@1.0.23 + scopeguard@1.2.0 + semver@1.0.28 + serde@1.0.229 + serde_core@1.0.229 + serde_derive@1.0.229 + serde_json@1.0.151 + serde_spanned@1.1.1 + sha2@0.10.9 + shlex@2.0.1 + signal-hook-mio@0.2.5 + signal-hook-registry@1.4.8 + signal-hook@0.3.18 + similar@2.7.0 + siphasher@1.0.4 + slab@0.4.12 + smallvec@1.16.2 + socket2@0.6.5 + static_assertions@1.1.0 + strsim@0.11.1 + strum@0.26.3 + strum@0.28.0 + strum_macros@0.26.4 + strum_macros@0.28.0 + syn@1.0.109 + syn@2.0.119 + syn@3.0.6 + synstructure@0.13.2 + tempfile@3.27.0 + termina@0.3.3 + terminfo@0.9.0 + termios@0.3.3 + termwiz@0.23.3 + thiserror-impl@1.0.69 + thiserror-impl@2.0.21 + thiserror@1.0.69 + thiserror@2.0.21 + time-core@0.1.9 + time@0.3.55 + tokio-macros@2.7.2 + tokio-stream@0.1.19 + tokio@1.53.2 + toml@1.1.6+spec-1.1.0 + toml_datetime@1.1.1+spec-1.1.0 + toml_edit@0.25.15+spec-1.1.0 + toml_parser@1.1.3+spec-1.1.0 + toml_writer@1.1.2+spec-1.1.0 + tui-input@0.15.5 + typenum@1.20.1 + ucd-trie@0.1.7 + unicode-ident@1.0.26 + unicode-segmentation@1.13.3 + unicode-truncate@2.0.1 + unicode-width@0.2.2 + utf8parse@0.2.2 + uuid@1.27.0 + version_check@0.9.5 + vtparse@0.6.2 + wasi@0.11.1+wasi-snapshot-preview1 + wasip2@1.0.4+wasi-0.2.12 + wasm-bindgen-macro-support@0.2.129 + wasm-bindgen-macro@0.2.129 + wasm-bindgen-shared@0.2.129 + wasm-bindgen@0.2.129 + wezterm-bidi@0.2.3 + wezterm-blob-leases@0.1.1 + wezterm-color-types@0.3.0 + wezterm-dynamic-derive@0.1.1 + wezterm-dynamic@0.2.1 + wezterm-input-types@0.1.0 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-link@0.2.1 + windows-sys@0.61.2 + winnow@1.0.4 + wit-bindgen@0.57.1 + zmij@1.0.23 +" + +RUST_MIN_VER="1.89.0" + +inherit desktop cargo + +DESCRIPTION="TUI for managing bluetooth on Linux" +HOMEPAGE="https://github.com/pythops/bluetui" +SRC_URI=" + https://github.com/pythops/bluetui/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="GPL-3" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD-2 MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016 WTFPL-2 + ZLIB +" +SLOT="0" +KEYWORDS="~amd64" + +QA_FLAGS_IGNORED="usr/bin/bluetui" +QA_PRESTRIPPED="usr/bin/bluetui" + +DOCS=( + Readme.md + Release.md +) + +src_install() { + cargo_src_install + + dodoc -r "${DOCS[@]}" + doicon assets/bluetui-logo-anim.svg + make_desktop_entry usr/bin/bluetui BlueTUI bluetui-logo-anim HardwareSettings +} diff --git a/profiles/base/package.use.mask b/profiles/base/package.use.mask index c96d6ab86fb8..8c5042047bbc 100644 --- a/profiles/base/package.use.mask +++ b/profiles/base/package.use.mask @@ -6,6 +6,14 @@ # New entries go on top. +# Joonas Niilola <juippis@gentoo.org> (2026-10-13) +# +system-harfbuzz broken with 158.0. Could require newer version, +# could require changes to our custom patch that enables it, could +# be upstream adds custom patches to their bundled copy of harfbuzz. +# Needs more investigation. +>=www-client/firefox-158.0 system-harfbuzz +>=mail-client/thunderbird-158.0 system-harfbuzz + # Sam James <sam@gentoo.org> (2026-09-23) # Only supported on Linux. dev-libs/elfutils stackprof diff --git a/profiles/package.mask/00-gentoo b/profiles/package.mask/00-gentoo index ee0adc42de8d..a85d702b4541 100644 --- a/profiles/package.mask/00-gentoo +++ b/profiles/package.mask/00-gentoo @@ -36,6 +36,17 @@ #--- END OF EXAMPLES --- +# Michał Górny <mgorny@gentoo.org> (2026-10-13) +# Part of removed dev-python/pyproject-fmt. No revdeps left. +# Removal on 2026-11-12. Bug #984202. +dev-python/toml-fmt-common + +# Michał Górny <mgorny@gentoo.org> (2026-10-13) +# The package is bloated and hostile to downstream packaging. The two +# latest upstream releases don't build because of various issues. +# Removal on 2026-11-12. Bug #984201. +media-gfx/fotema + # Matt Jolly <kangie@gentoo.org> (2026-10-09) # Dropped upstream, use www-client/opera or www-client/opera-developer. # Removal on 2026-11-09. Bug #983935. @@ -270,48 +281,6 @@ acct-user/fnordlog # Removal on 2026-10-07. Bug #927149. sci-physics/espresso -# Michał Górny <mgorny@gentoo.org> (2026-09-05) -# Broken with current dev-python/pywayland version. Stuck on old -# gui-libs/wlroots. Used only by old versions of x11-wm/qtile. -# Removal on 2026-10-05. Bug #982020. -dev-python/pywlroots - -# Michał Górny <mgorny@gentoo.org> (2026-09-05) -# Stuck on Python 3.12, broken tests, no reverse dependencies. -# Removal on 2026-10-05. Bug #952388. -dev-python/python3-saml - -# Michał Górny <mgorny@gentoo.org> (2026-09-05) -# Stuck on Python 3.12. No activity upstream. -# Removal on 2026-10-05. Bug #952340. -dev-python/ioflo -dev-python/raet - -# Michał Górny <mgorny@gentoo.org> (2026-09-05) -# dev-python/consonance has been broken since at least 2024. Contrary -# to PYTHON_COMPAT, the code is incompatible with Python 3.12+. -# The protobuf file needs to be rebuilt, yet upstream never published -# its source. No upstream activity since 2021. No reverse -# dependencies. Including a bunch of dead NIH dependencies. -# Removal on 2026-10-05. Bug #926610. -dev-python/consonance -dev-python/dissononce -dev-python/python-axolotl -dev-python/python-axolotl-curve25519 -dev-python/transitions - -# Michał Górny <mgorny@gentoo.org> (2026-09-04) -# Test suite broken with numpy-2. Last release in 2020. No reverse -# dependencies. -# Removal on 2026-10-04. Bug #952323. -dev-python/chart-studio - -# Michał Górny <mgorny@gentoo.org> (2026-09-01) -# Low quality slop package with high code churn and frequently changing -# results. All the most recent releases are broken. -# No reverse dependencies. Removal on 2026-10-01. Bug #981756. -dev-python/pyproject-fmt - # Ulrich Müller <ulm@gentoo.org> (2026-08-31) # Snapshot versions, masked for testing. <app-editors/emacs-32.0.9999:32-vcs @@ -333,36 +302,11 @@ net-misc/croc # Removal on 2026-09-09. app-text/catdoc -# Michał Górny <mgorny@gentoo.org> (2026-08-08) -# A chain of NIH packages that have seen no upstream activity in 3+ -# years. They are all broken with >=dev-python/flit-core-4, and have -# no reverse dependencies outside the chain. -# Removal on 2026-09-07. Bug #980500. -dev-python/autoprop -dev-python/signature-dispatch -dev-python/vecrec - # Nowa Ammerlaan <nowa@gentoo.org> (2026-08-06) # This version was pulled from upstream. The reason for this is # unclear. But masked just as a precaution. Bug #980367. =sys-boot/shim-16.1_p8 -# Michał Górny <mgorny@gentoo.org> (2026-08-05) -# Last released in 2017. Carries a significant patchset already. -# Uses pkg_resources namespaces. No reverse dependencies. -# Removal on 2026-09-04. Bug #957269. -dev-python/pyformance - -# Michał Górny <mgorny@gentoo.org> (2026-08-04) -# Slop package. The old versions bundle a very old fork of -# app-i18n/uchardet. The new ones require app-i18n/uchardet from git -# that suffers from regressions (and upstream slop-patched them anyway). -# The only revdep supports fallback to dev-python/chardet and -# dev-python/charset-normalizer (both are also slop nowadays, but we're -# stuck with them anyway), and uses a || dep. -# Removal on 2026-09-03. Bug #980354. -dev-python/faust-cchardet - # Alfred Wingate <parona@protonmail.com> (2026-07-24) # Renamed to libgedit-tepl upstream. # Unbuildable for half a year. Last revdep moved to libgedit-tepl. @@ -391,16 +335,6 @@ app-arch/p7zip # Introduces backwards breaking change. Mask until downstreams adjust >=dev-db/lmdb-1.0.0 -# Michał Górny <mgorny@gentoo.org> (2026-06-19) -# dev-python/pytrie is broken on Python 3.14 and has not been touched -# since 2020. dev-python/autobahn and dev-python/txaio have become -# complete broken slop, and still depend on it. Remove these packages, -# their reverse dependencies and their dependencies without revdeps. -# For magic-wormhole, use net-misc/wormhole-william or -# net-misc/magic-wormhole-rust instead. -# Removal on 2026-07-19. Bug #967367. -dev-python/magic-wormhole - # Michał Górny <mgorny@gentoo.org> (2026-06-03) # Mike Pagano <mpagano@gentoo.org> (2026-06-03) # Support for 5.10.x and 5.15.x kernels in Gentoo is being discontinued. diff --git a/sci-astronomy/montage/montage-6.1.ebuild b/sci-astronomy/montage/montage-6.1.ebuild index 0fd15af04341..454292d782c8 100644 --- a/sci-astronomy/montage/montage-6.1.ebuild +++ b/sci-astronomy/montage/montage-6.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -44,6 +44,11 @@ src_prepare() { tc-export CC AR + # -Werror=lto-type-mismatch + # https://bugs.gentoo.org/965267 + # https://github.com/Caltech-IPAC/Montage/issues/97 + filter-lto + # bug #708396 append-cflags -fcommon diff --git a/sci-geosciences/gpxsee/Manifest b/sci-geosciences/gpxsee/Manifest index 63bc9eb5ee09..c95bc87708b6 100644 --- a/sci-geosciences/gpxsee/Manifest +++ b/sci-geosciences/gpxsee/Manifest @@ -1,4 +1,3 @@ DIST gpxsee-16.11.tar.gz 6481773 BLAKE2B 99975fe8f7480df80002aa8cb3ed1db3e0cf3a2834b7bea91fd5353a72d5c4ee62db8c151c0aba70c48b917bd37e5b795c191058d586d4099f611ddf0cae9ad3 SHA512 adca2ec3570ddc10195621b64d85aef3d75305b59a225a2faf8e813e3450cfc6323ee936f70f179b86d8e6253a98f17af9fc11bcc2a0083cfc17e448a647ff7c -DIST gpxsee-16.14.tar.gz 6472075 BLAKE2B 5a974d5917a752fc75621f26fd77f2e5a7b900b7eee5fc53383316a00a4672a38f0c3b222279db6b2e200bb18ec7bb716dca9fd1f8424f08085dda715ef3c70d SHA512 bb033d5b99fa26ab0d80eb0ef59452500cfb442ce513169660810cc9194993802225d4d6274ad3762eaea33cd273eed873076d824536068d7efbdce340ae24e0 -DIST gpxsee-16.15.tar.gz 6472925 BLAKE2B 593ca8f5a5b726dccdc48c75bd9fd753a8344c93f88bf3047c68e694dedd7686e7fd5f0757c0d9360e573b9788db883b4966a0ecf7341f1c4d60c53d6367b779 SHA512 6633fdbd687b1dfb2bba605e519e85ea35cbd4fa7c1411730d97c7e502cadc8b0775c462727e58648c1072a21f986f4068826e555e663dbf9c6dc74f046e24fe DIST gpxsee-16.16.tar.gz 6471839 BLAKE2B 9826f304a1481f06d71dbd3da98a721f33b55892f31d7e643c78f17146c4419cff2b4d7b5eebd2a96c8b0d932a2791bcf0edd05188075923db6ad07517c8f8ad SHA512 5094f60113213dda91d14c212d6a140be7ebf9079f06501d2dc7a431de81d4deb4689006e29ab951c9996bdda0b25871eae835ca014f4d24775ac0086e28fc81 +DIST gpxsee-16.17.tar.gz 6472645 BLAKE2B d23e99ddd8bc1c90fec8b0809f43a59f0aa4ae81c2761f2d00243cd601a7229146e4a37e53c664cfcb35b9c5e80ab4d799ccfde111892f8cde861c8a7553d74f SHA512 c28ce498240a729448f62d0e58362ab0ed458c97468fad306d31388073a2239a9ac198f3fe0a8f361e937b95ce6b6e1b61a65c6d59715710e2c01d2dfe76c2d2 diff --git a/sci-geosciences/gpxsee/gpxsee-16.15.ebuild b/sci-geosciences/gpxsee/gpxsee-16.15.ebuild deleted file mode 100644 index 4deee4c76d11..000000000000 --- a/sci-geosciences/gpxsee/gpxsee-16.15.ebuild +++ /dev/null @@ -1,57 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -MY_PN="GPXSee" -PLOCALES="ca cs da de en eo es fi fr hu it ko nb pl pt_BR ru sv tr uk zh_CN" -inherit plocale qmake-utils xdg optfeature - -DESCRIPTION="Viewer and analyzer that supports gpx, tcx, kml, fit, igc and nmea files" -HOMEPAGE="https://www.gpxsee.org/ https://github.com/tumic0/GPXSee" -SRC_URI="https://github.com/tumic0/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" -S="${WORKDIR}/${MY_PN}-${PV}" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" - -RDEPEND=" - dev-qt/qtbase:6=[concurrent,gui,network,opengl,sql,widgets] - dev-qt/qtmultimedia:6 - dev-qt/qtpositioning:6 - dev-qt/qtsvg:6 -" -DEPEND="${RDEPEND} - dev-qt/qtserialport:6 -" -BDEPEND="dev-qt/qttools:6[linguist]" - -PATCHES=( "${FILESDIR}"/${PN}-7.33.patch ) - -src_prepare() { - default - - plocale_find_changes lang "${PN}_" '.ts' - - rm_ts() { - sed -e "s|lang/gpxsee_${1}.ts||" -i gpxsee.pro - } - - plocale_for_each_disabled_locale rm_ts -} - -src_configure() { - $(qt6_get_bindir)/lrelease gpxsee.pro || die "lrelease failed" - eqmake6 gpxsee.pro -} - -src_install() { - emake INSTALL_ROOT="${D}" install - dodoc README.md -} - -pkg_postinst() { - xdg_pkg_postinst - optfeature "OpenFreeMap support" dev-qt/qtpbfimageplugin -} diff --git a/sci-geosciences/gpxsee/gpxsee-16.14.ebuild b/sci-geosciences/gpxsee/gpxsee-16.17.ebuild index 4deee4c76d11..4deee4c76d11 100644 --- a/sci-geosciences/gpxsee/gpxsee-16.14.ebuild +++ b/sci-geosciences/gpxsee/gpxsee-16.17.ebuild diff --git a/sci-ml/tokenizers/Manifest b/sci-ml/tokenizers/Manifest index 069da0d841a7..2f8aa471b164 100644 --- a/sci-ml/tokenizers/Manifest +++ b/sci-ml/tokenizers/Manifest @@ -6,7 +6,10 @@ DIST tokenizers-0.23.1-crates.tar.xz 21626500 BLAKE2B 7d772e184af4c00e871357e9f1 DIST tokenizers-0.23.1.gh.tar.gz 1613786 BLAKE2B 6b401812501fc3ced28a89264249b6b95b29346b25853f567d9980900f95e51a85ff116ffa93f55dc3f9cc134935d472ca683252fcdbeeb5f3cdda602c943c55 SHA512 4ede0677d0c61f00e15a9b9420b799d4ee1ae0af9510ee182b2eaa4d95d384629ad6c656d3fcda96a2d9388df836e33d8f04a242907b0901fa3aab17484fbcdd DIST tokenizers-0.23.2-crates.tar.xz 21774012 BLAKE2B 859d9574e322257c1de4c70ad1585303cef09674a886c53bbdcc43a677febaec44a5d97173120a4fd5f12b90dad8b7c2deb7b44c402314c879578ee419db19ce SHA512 a7517e4958e8a7b27e0de67cb1335f01f7061f9f4fde9f3268594282de6cd9c2eeb3560ea92d8bd19a3f0c9a0b4f1bd4e87122e382778784062c36bf7eae906a DIST tokenizers-0.23.2.gh.tar.gz 1475786 BLAKE2B 362ed1e83a8f4bf64f91168e81e7a5093f5a585de138c83f10bb2a4abce9c731dcc9cdf7870168b0b7055322a356805fdab87a2b87f3e75f6086402d8debe337 SHA512 bfdb092144f5ed8dcf51665ae72571c81d3194aa2fff8413b14ab4bc09664e24c89e0c4ecb72342bcf5cf3ec31b0c9fb3587e670a2b26b83ceb7144f00f6d4d7 +DIST tokenizers-0.23.3-crates.tar.xz 21529644 BLAKE2B b5c9a53a808212ba7a446c01d0585393115720748e58b41d090f66e47fe1191c0fc5de0ba3930069d2e1c526cedc7206d6b4320608163ccb4707062ed3d15052 SHA512 6204d9fba92d59623e48870838e2f9d2e826958c29957a0c84ef63255ce8a12bace862de6ab336680132da436802a7a741cf0c800a83074c08d16ef1fb264f0d +DIST tokenizers-0.23.3.gh.tar.gz 1481333 BLAKE2B af9cb4b9ba52fe10f27b1d2fa7314552c5611f1baea67b601d5ed77d72bfb064ecf7b02cde937f827948b76b0072d11777e7b5fe717b116c60e57d1577c4d4cf SHA512 1897b644145fe52fb0ff0df34b7a95d8fa5db2d7fb5d71cc1dd3e4c13f116c89ca666d72275de53e9cf9350758627525329bf0ce320986d5cd3c7e5486358162 DIST tokenizers-python-0.22.1-crates.tar.xz 14184544 BLAKE2B 718c7246fb77568c1aa54e168fce682ef3130e2d51f8b6b0ed5dea96f4dabedfc92e395ef083b514732b8d04fed1d5a5ad1ba4a9667eee0e993616bd5f03184d SHA512 1226e024ab7ad7dc06e191951e2ffa8d30fd575d867d949ad37ffd4fe6a7e491b66a2a767e5d0dbb4b55f8b8eff809baceb11950b811e4e5d685074507060e23 DIST tokenizers-python-0.22.2-crates.tar.xz 9862444 BLAKE2B c4ca8223a0c5cf1644f6871b01f822993d2f765b6e8c88fc00c0a57b799a099c50cd1bde08794eede404e6b3e8ed6319b7db761fd7f43d23d795869911abd750 SHA512 a47dc3eac62a2a59f77f93cbe7444080dbe6d636ce0dadc260208e448c8b3173fa586df84069d98d4af146fe02e2465f87486c2cff25525ce61869d435a8d736 DIST tokenizers-python-0.23.1-crates.tar.xz 10988872 BLAKE2B 0bd16776118cc799edafd15abe5788ab67be6e4ec8c26c4b97556d09d949223121d18d6202cdd7fec4702674c958018705383be9b570b0c1f8133ab1f6189511 SHA512 9ab7173018cd80f191d05219e9e163ddde32451585c3f11a68be36c3403514ffb59b9ea307efe050b346b066e95d0b2fe54134b2b89f67e5032aa256340c93d8 DIST tokenizers-python-0.23.2-crates.tar.xz 10401308 BLAKE2B 51405dd7107a9cd17bd468b9db6187d5cd3b92a80f96f5ca20eb7b58e7da8404e6d4e1187e184be2d64434ea3dc1d30b32059055c95a6b73b2b0e819d1a5b402 SHA512 2d84aaa18eec6b74b440549d60f94ef411554275519b2d7f71fa31700b839fcb177997223f73fdadc5fb629947de8554e5d7e82f09aeeecce4c1cf401a5dba46 +DIST tokenizers-python-0.23.3-crates.tar.xz 10401308 BLAKE2B 51405dd7107a9cd17bd468b9db6187d5cd3b92a80f96f5ca20eb7b58e7da8404e6d4e1187e184be2d64434ea3dc1d30b32059055c95a6b73b2b0e819d1a5b402 SHA512 2d84aaa18eec6b74b440549d60f94ef411554275519b2d7f71fa31700b839fcb177997223f73fdadc5fb629947de8554e5d7e82f09aeeecce4c1cf401a5dba46 diff --git a/sci-ml/tokenizers/files/tokenizers-0.23.3-test.patch b/sci-ml/tokenizers/files/tokenizers-0.23.3-test.patch new file mode 100644 index 000000000000..294e4ffff771 --- /dev/null +++ b/sci-ml/tokenizers/files/tokenizers-0.23.3-test.patch @@ -0,0 +1,56 @@ +--- a/tests/utils.py ++++ b/tests/utils.py +@@ -3,7 +3,11 @@ + + import pytest + +-from huggingface_hub import hf_hub_download ++try: ++ from huggingface_hub import hf_hub_download as _hf_hub_download ++ _HF_AVAILABLE = True ++except ImportError: ++ _HF_AVAILABLE = False + + + DATA_PATH = os.path.join("tests", "data") +@@ -11,8 +15,10 @@ + + + def download(filename): ++ if not _HF_AVAILABLE: ++ pytest.skip("huggingface_hub is not installed") + # huggingface_hub handles auth (HF_TOKEN), retry/backoff and ETag-based caching. +- return hf_hub_download(repo_id=HF_TEST_REPO, filename=filename, repo_type="dataset") ++ return _hf_hub_download(repo_id=HF_TEST_REPO, filename=filename, repo_type="dataset") + + + @pytest.fixture(scope="session") +--- a/tests/test_serialization.py ++++ b/tests/test_serialization.py +@@ -4,7 +4,10 @@ + import unittest + + import tqdm +-from huggingface_hub import hf_hub_download ++try: ++ from huggingface_hub import hf_hub_download ++except ImportError: ++ hf_hub_download = None + from tokenizers import Tokenizer + from tokenizers.models import BPE, Unigram + +--- a/tests/documentation/test_tutorial_train_from_iterators.py ++++ b/tests/documentation/test_tutorial_train_from_iterators.py +@@ -2,8 +2,11 @@ + import gzip + import os + +-import datasets # type: ignore[import-not-found] + import pytest ++try: ++ import datasets # type: ignore[import-not-found] ++except ImportError: ++ pytest.skip("datasets is not installed", allow_module_level=True) + + from ..utils import data_dir, train_files + diff --git a/sci-ml/tokenizers/tokenizers-0.23.3.ebuild b/sci-ml/tokenizers/tokenizers-0.23.3.ebuild new file mode 100644 index 000000000000..109bf7a99092 --- /dev/null +++ b/sci-ml/tokenizers/tokenizers-0.23.3.ebuild @@ -0,0 +1,142 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.16.0 + +EAPI=8 + +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( python3_{13..14} ) +DISTUTILS_EXT=1 +RUST_MIN_VER="1.88.0" + +CRATES=" +" + +inherit cargo distutils-r1 + +DESCRIPTION="Implementation of today's most used tokenizers" +HOMEPAGE="https://github.com/huggingface/tokenizers" +SRC_URI=" + https://github.com/huggingface/${PN}/archive/refs/tags/v${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+=" + https://dev.gentoo.org/~tupone/distfiles/${P}-crates.tar.xz + https://dev.gentoo.org/~tupone/distfiles/${PN}-python-${PV}-crates.tar.xz + " +fi + +LICENSE="Apache-2.0" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT MPL-2.0 + Unicode-DFS-2016 +" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND="dev-libs/oniguruma" +BDEPEND=" + dev-python/setuptools-rust[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=( ) +distutils_enable_tests pytest + +QA_FLAGS_IGNORED=".*/site-packages/tokenizers/.*so" + +src_prepare() { + default + cd bindings/python + eapply "${FILESDIR}"/${P}-test.patch + distutils-r1_src_prepare +} + +src_configure() { + cd tokenizers + cargo_src_configure + cd ../bindings/python + distutils-r1_src_configure +} + +src_compile() { + export RUSTONIG_SYSTEM_LIBONIG=1 + cd tokenizers + cargo_src_compile + cd ../bindings/python + distutils-r1_src_compile +} + +src_test() { + cd tokenizers + # Tests do not work + #cargo_src_test + cd ../bindings/python + local -x EPYTEST_IGNORE=( benches/test_tiktoken.py ) + local -x EPYTEST_DESELECT=( + tests/bindings/test_encoding.py::TestEncoding::test_char_to_token + tests/bindings/test_encoding.py::TestEncoding::test_char_to_word + tests/bindings/test_encoding.py::TestEncoding::test_invalid_truncate_direction + tests/bindings/test_encoding.py::TestEncoding::test_n_sequences + tests/bindings/test_encoding.py::TestEncoding::test_sequence_ids + tests/bindings/test_encoding.py::TestEncoding::test_token_to_chars + tests/bindings/test_encoding.py::TestEncoding::test_token_to_sequence + tests/bindings/test_encoding.py::TestEncoding::test_token_to_word + tests/bindings/test_encoding.py::TestEncoding::test_truncation + tests/bindings/test_encoding.py::TestEncoding::test_word_to_chars + tests/bindings/test_encoding.py::TestEncoding::test_word_to_tokens + tests/bindings/test_models.py::TestWordLevel::test_instantiate + tests/bindings/test_models.py::TestWordPiece::test_instantiate + tests/bindings/test_processors.py::TestByteLevelProcessing::test_processing + tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_async_methods_existence + tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_basic_encoding + tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_concurrency + tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_decode + tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_encode + tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_error_handling + tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_large_batch + tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_numpy_inputs + tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_various_input_formats + tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_performance_comparison + tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_with_special_tokens + tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_with_truncation_padding + tests/bindings/test_tokenizer.py::TestTokenizer::test_encode_add_special_tokens + tests/bindings/test_tokenizer.py::TestTokenizer::test_encode_formats + tests/bindings/test_tokenizer.py::TestTokenizer::test_encode_special_tokens + tests/bindings/test_tokenizer.py::TestTokenizer::test_decode_skip_special_tokens + tests/bindings/test_tokenizer.py::TestTokenizer::test_decode_stream_fallback + tests/bindings/test_tokenizer.py::TestTokenizer::test_from_pretrained + tests/bindings/test_tokenizer.py::TestTokenizer::test_from_pretrained_revision + tests/bindings/test_tokenizer.py::TestTokenizer::test_splitting + tests/bindings/test_trainers.py::TestUnigram::test_continuing_prefix_trainer_mismatch + tests/bindings/test_trainers.py::TestUnigram::test_train + tests/bindings/test_trainers.py::TestUnigram::test_train_parallelism_with_custom_pretokenizer + tests/documentation/test_pipeline.py::TestPipeline::test_bert_example + tests/documentation/test_pipeline.py::TestPipeline::test_pipeline + tests/documentation/test_quicktour.py::TestQuicktour::test_quicktour + tests/documentation/test_tutorial_train_from_iterators.py::TestTrainFromIterators::test_datasets + tests/documentation/test_tutorial_train_from_iterators.py::TestTrainFromIterators::test_gzip + tests/implementations/test_byte_level_bpe.py::TestByteLevelBPE::test_add_prefix_space + tests/implementations/test_byte_level_bpe.py::TestByteLevelBPE::test_basic_encode + tests/implementations/test_byte_level_bpe.py::TestByteLevelBPE::test_lowerspace + tests/implementations/test_byte_level_bpe.py::TestByteLevelBPE::test_multiprocessing_with_parallelism + tests/implementations/test_bert_wordpiece.py::TestBertWordPieceTokenizer::test_basic_encode + tests/implementations/test_bert_wordpiece.py::TestBertWordPieceTokenizer::test_multiprocessing_with_parallelism + tests/implementations/test_char_bpe.py::TestCharBPETokenizer::test_basic_encode + tests/implementations/test_char_bpe.py::TestCharBPETokenizer::test_decoding + tests/implementations/test_char_bpe.py::TestCharBPETokenizer::test_lowercase + tests/implementations/test_char_bpe.py::TestCharBPETokenizer::test_multiprocessing_with_parallelism + tests/test_serialization.py::TestSerialization::test_full_serialization_albert + tests/test_serialization.py::TestSerialization::test_str_big + ) + distutils-r1_src_test +} + +src_install() { + cd tokenizers + cd ../bindings/python + distutils-r1_src_install +} diff --git a/sec-keys/openpgp-keys-gnupg/openpgp-keys-gnupg-20260913.ebuild b/sec-keys/openpgp-keys-gnupg/openpgp-keys-gnupg-20260913.ebuild index b25ee4e1f1cb..6af205dbef41 100644 --- a/sec-keys/openpgp-keys-gnupg/openpgp-keys-gnupg-20260913.ebuild +++ b/sec-keys/openpgp-keys-gnupg/openpgp-keys-gnupg-20260913.ebuild @@ -19,4 +19,4 @@ DESCRIPTION="OpenPGP keys used to sign GnuPG releases" HOMEPAGE="https://gnupg.org/signature_key.html" SRC_URI+=" https://gnupg.org/signature_key.asc -> ${P}-signature_key.asc" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" diff --git a/sys-devel/crossdev/Manifest b/sys-devel/crossdev/Manifest index 95e10b70bd90..184e036d1d63 100644 --- a/sys-devel/crossdev/Manifest +++ b/sys-devel/crossdev/Manifest @@ -1,4 +1,2 @@ -DIST crossdev-20260326.tar.xz 34568 BLAKE2B 78a0af449c1e3e0a27be8e7dfe8b4ddb17ba4425f21fb6fb9f4b4f414d9611e9bc4293ff6cbb52139e3682f9d1f6ea968fb5ed2f28f88069217cf7ce204312c5 SHA512 502e719b02785b5a535ca17dd29b1227bbc01f7e6bbdc1c15c4d6dd36da2d596e07566f2fe188a0850dfc159d3c883708975436d88262cad7d06cdf947a23379 DIST crossdev-20260501.tar.xz 34624 BLAKE2B c162a2b3d9bf63721743adfbd0ac0a8838b057c99620ecce4fffe5479e9ea2804af1fb1794eacd3fd702490d20e1c59724feb641372e7e32d717ce07274db864 SHA512 d08df164e39ba67ae377c01b38bdd46cf8890ee93223ddc9fb947bda2648a6fa096aa99797abf2953ecc6035fb1a59ea54de826d3ebbae41e54ed6da412b151d -DIST crossdev-20260617.tar.xz 34876 BLAKE2B a7a140f247583d82c705eb0b367b5da29b9446989033d250a06a486b7dd4965ca6bd0a1599d5e9ce2c8cae2628fa841a3eda1f5614f569090d35f07120186644 SHA512 5d975c328e6596adf02c05914cc3ffd80c8bc8870c48e747b566fccb48e4c21f02d1f57fa2756ac307eab7194428204bab0f9e9e82e4eb955f14eb13f9598056 DIST crossdev-20260623.tar.xz 34448 BLAKE2B 3d6ecc1e2de99a7fadcc9741c2968dc8f6161f56b9608413be802cd0881e6e7b127f6001d9e65e2efd369860ff64a5802a7a637e564423521611203f1da1e594 SHA512 1a48164ccdae77541f7cbe6fffa803ab585192691a127bdb431d71c0a8381437f38610ca719181c6f223233d66181cba3838219aac934ebc6819a4609ebe1f6f diff --git a/sys-devel/crossdev/crossdev-20260326.ebuild b/sys-devel/crossdev/crossdev-20260326.ebuild deleted file mode 100644 index e5d09bea1dbb..000000000000 --- a/sys-devel/crossdev/crossdev-20260326.ebuild +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -inherit toolchain-funcs - -if [[ ${PV} == "99999999" ]] ; then - inherit git-r3 - EGIT_REPO_URI=" - https://anongit.gentoo.org/git/proj/crossdev.git - https://github.com/gentoo/crossdev - " -else - SRC_URI="https://distfiles.gentoo.org/pub/proj/toolchain/crossdev/${P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -fi - -DESCRIPTION="Gentoo Cross-toolchain generator" -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Crossdev" - -LICENSE="GPL-2" -SLOT="0" - -RDEPEND=" - >=sys-apps/portage-2.1 - app-shells/bash - sys-apps/gentoo-functions - sys-apps/config-site -" -BDEPEND="app-arch/xz-utils" - -src_install() { - tc-export PKG_CONFIG # Bug 955822 - - default - - if [[ ${PV} == "99999999" ]] ; then - sed -i "s:@CDEVPV@:${EGIT_VERSION}:" "${ED}"/usr/bin/crossdev || die - else - sed -i "s:@CDEVPV@:${PV}:" "${ED}"/usr/bin/crossdev || die - fi - - dodir /usr/share/config.site.d - mv "${ED}"/usr/share/config.site{,.d/80crossdev.conf} || die -} diff --git a/sys-devel/crossdev/crossdev-20260501.ebuild b/sys-devel/crossdev/crossdev-20260501.ebuild deleted file mode 100644 index f44725ccd46e..000000000000 --- a/sys-devel/crossdev/crossdev-20260501.ebuild +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -inherit toolchain-funcs - -if [[ ${PV} == "99999999" ]] ; then - inherit git-r3 - EGIT_REPO_URI=" - https://anongit.gentoo.org/git/proj/crossdev.git - https://github.com/gentoo/crossdev - " -else - SRC_URI="https://distfiles.gentoo.org/pub/proj/toolchain/crossdev/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi - -DESCRIPTION="Gentoo Cross-toolchain generator" -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Crossdev" - -LICENSE="GPL-2" -SLOT="0" - -RDEPEND=" - >=sys-apps/portage-2.1 - app-shells/bash - sys-apps/gentoo-functions - sys-apps/config-site -" -BDEPEND="app-arch/xz-utils" - -src_install() { - tc-export PKG_CONFIG # Bug 955822 - - default - - if [[ ${PV} == "99999999" ]] ; then - sed -i "s:@CDEVPV@:${EGIT_VERSION}:" "${ED}"/usr/bin/crossdev || die - else - sed -i "s:@CDEVPV@:${PV}:" "${ED}"/usr/bin/crossdev || die - fi - - dodir /usr/share/config.site.d - mv "${ED}"/usr/share/config.site{,.d/80crossdev.conf} || die -} diff --git a/sys-devel/crossdev/crossdev-20260617.ebuild b/sys-devel/crossdev/crossdev-20260617.ebuild deleted file mode 100644 index ac045cbcd994..000000000000 --- a/sys-devel/crossdev/crossdev-20260617.ebuild +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -inherit eapi9-ver toolchain-funcs - -if [[ ${PV} == "99999999" ]] ; then - inherit git-r3 - EGIT_REPO_URI=" - https://anongit.gentoo.org/git/proj/crossdev.git - https://github.com/gentoo/crossdev - " -else - SRC_URI="https://distfiles.gentoo.org/pub/proj/toolchain/crossdev/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi - -DESCRIPTION="Gentoo Cross-toolchain generator" -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Crossdev" - -LICENSE="GPL-2" -SLOT="0" - -RDEPEND=" - >=sys-apps/portage-2.1 - app-shells/bash - sys-apps/gentoo-functions - sys-apps/config-site -" -BDEPEND="app-arch/xz-utils" - -src_install() { - tc-export PKG_CONFIG # Bug 955822 - - default - - if [[ ${PV} == "99999999" ]] ; then - sed -i "s:@CDEVPV@:${EGIT_VERSION}:" "${ED}"/usr/bin/crossdev || die - else - sed -i "s:@CDEVPV@:${PV}:" "${ED}"/usr/bin/crossdev || die - fi - - dodir /usr/share/config.site.d - mv "${ED}"/usr/share/config.site{,.d/80crossdev.conf} || die -} - -pkg_postinst() { - if [[ -z ${REPLACING_VERSIONS} ]] || ver_replacing -lt 20260501-r1; then - ewarn "crossdev requires another repository exist on the system for" - ewarn "its generated ebuilds. It uses the 'crossdev' repository by default," - ewarn "and otherwise the first non-gentoo repository it finds." - ewarn - ewarn "If you do not already have a 'crossdev' repository," - ewarn "it is recommended that you create one with the following steps:" - ewarn " installing app-eselect/eselect-repository" - ewarn " running eselect repository create crossdev" - ewarn - ewarn "Alternatively, always invoke crossdev with --ov-output NAME.". - fi -} diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest index cab8d4511a5c..172b14718903 100644 --- a/sys-devel/gcc/Manifest +++ b/sys-devel/gcc/Manifest @@ -55,6 +55,7 @@ DIST gcc-17.0.0-patches-13.tar.xz 23248 BLAKE2B e09e2a4a2e51ad7275fe7d3ac3981d5a DIST gcc-17.0.0-patches-14.tar.xz 24236 BLAKE2B f94a5dd6f939246096b9179d7eaed6095388ef533cf29e250ae84a608874765d91717419738d9c6f1b7aa1de5a49fc9cb66121e7d3fa4e6726684223deb221c1 SHA512 caed1613786bc48aa3632974bc02ac4b878e7aadc6d41008baec8a2fe20a952daf0299557f394088618735e08d1c9cd2836fb33ec223b092ad29b9641ed922d1 DIST gcc-17.0.0-patches-15.tar.xz 24832 BLAKE2B 4524340e6c02583d5077aeca68273159b6a3904f6fe077bc95676033f3e6f1a3f316283027b1274e0c927cc2aa4b0ed4108d131fe991b5d438d92828785d1b0d SHA512 66c1d9faa86c1cdaa013c745f75951da261dc4f003cfcdcf18eb1b6f3042ad0fd26e5b040110c215153d1d5e35ba5f97153cdc57d4b784a0cdc7f92f9a927eb1 DIST gcc-17.0.0-patches-16.tar.xz 24900 BLAKE2B bc3c49a7a349972afd47f54aa463aebe771f58c5ce0d4c280d13518edd88816eef2cf3f03c07e061bd284900f4964a666e10ab6b7d7f67962fbdec8ba8ec6e6a SHA512 a642af59b1679f6fe56ac4402622bdd44787fd81de7d868e8cccdf450e5090cf7658c6d60d231165b1a66ee19d23d833ba1bbd1ca9124f84f3d0ae1e8ce88aef +DIST gcc-17.0.0-patches-17.tar.xz 26448 BLAKE2B 2a78cf04923a86f9aabe44c97b9a6f71d0e588477281b29ec637d6054e522df9147f5f5477a35a90a7634a093377f9b2ee766ee5084e0758832f82d2c988f000 SHA512 9e2d84e74c4d1941450e5f58d3e0bad2b539e467e63db6ea044e896c911de9613a9ed748f7b9bd68ab425c0364030d763c77d7e584b058ab94c308f3f4f87201 DIST gcc-8.5.0-patches-5.tar.xz 20188 BLAKE2B 45b29161105edc6344bb48f5bdf17e1aad6e8d9edb4d9434816425996c1b12c10f1303963776adad9db866d845f864d80d198a30e35ee6c204ca3659cf7a1401 SHA512 f22ab5d8e3116e2e896a5dcbbf5cef67dc5090182af364ef64fc22d2b28c029da5ed39f126f446721e388e7b6848239d01f5fc0346e49b96d5c04068b557f8f8 DIST gcc-8.5.0.tar.xz 63841008 BLAKE2B aa81a1a730fd7371360f6abed6ba78b5843fd18c58d5de5687acc320741b9e430e85df3535a1ef7a26051409be8d2f0945f503e5968480d919103123a99d4b12 SHA512 92f599680e6b7fbce88bcdda810f468777d541e5fddfbb287f7977d51093de2a5178bd0e6a08dfe37090ea10a0508a43ccd00220041abbbec33f1179bfc174d8 DIST gcc-9.5.0-patches-3.tar.xz 17888 BLAKE2B f2be05f32f4ecca41ebf4f402bf8fb3c11a36a8b7bd912ee9fe6baea980929774b629e12df7afb3405f1f5d044766a437b3eca5433f4af6c757f4a9dbb2e77eb SHA512 d31bb1964cdb2376572e4981b22c7ffa6fa695259c27af5d0d12aebc334cd1122c2f75739033f25f1e672300adeab2b3772622cb16099d002f3f8c5a8fe694f9 diff --git a/sys-devel/gcc/gcc-17.0.0_p20261011-r1.ebuild b/sys-devel/gcc/gcc-17.0.0_p20261011-r1.ebuild new file mode 100644 index 000000000000..86385867bc13 --- /dev/null +++ b/sys-devel/gcc/gcc-17.0.0_p20261011-r1.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="17.0.0" +PATCH_VER="17" +MUSL_GCC_VER="17.0.0" +MUSL_VER="1" +PYTHON_COMPAT=( python3_{13..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=master +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch + eapply_user +} diff --git a/sys-fs/cryptsetup/cryptsetup-2.8.8.ebuild b/sys-fs/cryptsetup/cryptsetup-2.8.8.ebuild index c8c4d8f072e3..87e30770d93c 100644 --- a/sys-fs/cryptsetup/cryptsetup-2.8.8.ebuild +++ b/sys-fs/cryptsetup/cryptsetup-2.8.8.ebuild @@ -18,7 +18,7 @@ S="${WORKDIR}"/${P/_/-} LICENSE="GPL-2+" SLOT="0/12" # libcryptsetup.so version if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" fi CRYPTO_BACKENDS="gcrypt kernel nettle +openssl" diff --git a/sys-kernel/gentoo-kernel/gentoo-kernel-7.2.10.ebuild b/sys-kernel/gentoo-kernel/gentoo-kernel-7.2.10.ebuild index 9df71f3cd7a2..c90c337d7ffa 100644 --- a/sys-kernel/gentoo-kernel/gentoo-kernel-7.2.10.ebuild +++ b/sys-kernel/gentoo-kernel/gentoo-kernel-7.2.10.ebuild @@ -95,8 +95,7 @@ src_prepare() { alpha) cp "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/config" .config || die merge_configs+=( - "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/alpha/config" \ - "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/alpha/config.alpha-smp" + "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/alpha/config" ) ;; amd64) @@ -128,7 +127,7 @@ src_prepare() { ppc) cp "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/config" .config || die merge_configs+=( - "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/powerpc/config.powerpc" + "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/powerpc/config" ) ;; ppc64) @@ -144,8 +143,7 @@ src_prepare() { sparc) cp "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/config" .config || die merge_configs+=( - "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/sparc64/config.sparc64" \ - "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/sparc64/config.sparc64-smp" + "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/sparc64/config" ) ;; x86) diff --git a/sys-kernel/gentoo-kernel/gentoo-kernel-7.2.9.ebuild b/sys-kernel/gentoo-kernel/gentoo-kernel-7.2.9.ebuild index e012a2f8faf8..12a3e87f2f97 100644 --- a/sys-kernel/gentoo-kernel/gentoo-kernel-7.2.9.ebuild +++ b/sys-kernel/gentoo-kernel/gentoo-kernel-7.2.9.ebuild @@ -95,8 +95,7 @@ src_prepare() { alpha) cp "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/config" .config || die merge_configs+=( - "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/alpha/config" \ - "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/alpha/config.alpha-smp" + "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/alpha/config" ) ;; amd64) @@ -128,7 +127,7 @@ src_prepare() { ppc) cp "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/config" .config || die merge_configs+=( - "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/powerpc/config.powerpc" + "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/powerpc/config" ) ;; ppc64) @@ -144,8 +143,7 @@ src_prepare() { sparc) cp "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/config" .config || die merge_configs+=( - "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/sparc64/config.sparc64" \ - "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/sparc64/config.sparc64-smp" + "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/sparc64/config" ) ;; x86) diff --git a/sys-kernel/vanilla-kernel/vanilla-kernel-7.2.10.ebuild b/sys-kernel/vanilla-kernel/vanilla-kernel-7.2.10.ebuild index 24afeedbd1a3..ccee4836ed38 100644 --- a/sys-kernel/vanilla-kernel/vanilla-kernel-7.2.10.ebuild +++ b/sys-kernel/vanilla-kernel/vanilla-kernel-7.2.10.ebuild @@ -85,8 +85,7 @@ src_prepare() { alpha) cp "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/config" .config || die merge_configs+=( - "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/alpha/config" \ - "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/alpha/config.alpha-smp" + "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/alpha/config" ) ;; arm) @@ -118,7 +117,7 @@ src_prepare() { ppc) cp "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/config" .config || die merge_configs+=( - "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/powerpc/config.powerpc" + "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/powerpc/config" ) ;; ppc64) @@ -134,8 +133,7 @@ src_prepare() { sparc) cp "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/config" .config || die merge_configs+=( - "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/sparc64/config.sparc64" \ - "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/sparc64/config.sparc64-smp" + "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/sparc64/config" ) ;; x86) diff --git a/sys-kernel/vanilla-kernel/vanilla-kernel-7.2.9.ebuild b/sys-kernel/vanilla-kernel/vanilla-kernel-7.2.9.ebuild index 532066be8173..1b157c299c87 100644 --- a/sys-kernel/vanilla-kernel/vanilla-kernel-7.2.9.ebuild +++ b/sys-kernel/vanilla-kernel/vanilla-kernel-7.2.9.ebuild @@ -85,8 +85,7 @@ src_prepare() { alpha) cp "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/config" .config || die merge_configs+=( - "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/alpha/config" \ - "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/alpha/config.alpha-smp" + "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/alpha/config" ) ;; arm) @@ -118,7 +117,7 @@ src_prepare() { ppc) cp "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/config" .config || die merge_configs+=( - "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/powerpc/config.powerpc" + "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/powerpc/config" ) ;; ppc64) @@ -134,8 +133,7 @@ src_prepare() { sparc) cp "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/config" .config || die merge_configs+=( - "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/sparc64/config.sparc64" \ - "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/sparc64/config.sparc64-smp" + "${WORKDIR}/linux-${DEBIAN_COMMIT}/debian/config/sparc64/config" ) ;; x86) diff --git a/www-apache/modsecurity-crs/modsecurity-crs-3.3.10.ebuild b/www-apache/modsecurity-crs/modsecurity-crs-3.3.10.ebuild index 03fca4fc8690..da3db3e37d46 100644 --- a/www-apache/modsecurity-crs/modsecurity-crs-3.3.10.ebuild +++ b/www-apache/modsecurity-crs/modsecurity-crs-3.3.10.ebuild @@ -12,7 +12,7 @@ S="${WORKDIR}/coreruleset-${PV}" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" IUSE="+apache2" RDEPEND="apache2? ( >=www-apache/mod_security-2.9.14 )" diff --git a/www-apache/modsecurity-crs/modsecurity-crs-4.25.1.ebuild b/www-apache/modsecurity-crs/modsecurity-crs-4.25.1.ebuild index b0d712d14f30..6c93911bed70 100644 --- a/www-apache/modsecurity-crs/modsecurity-crs-4.25.1.ebuild +++ b/www-apache/modsecurity-crs/modsecurity-crs-4.25.1.ebuild @@ -14,7 +14,7 @@ S="${WORKDIR}/coreruleset-${MY_PV}" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" IUSE="+apache2" RDEPEND="apache2? ( >=www-apache/mod_security-2.9.14 )" diff --git a/www-apps/rutorrent/Manifest b/www-apps/rutorrent/Manifest index bc4138ff237a..3dac05671c39 100644 --- a/www-apps/rutorrent/Manifest +++ b/www-apps/rutorrent/Manifest @@ -1,2 +1,2 @@ -DIST rutorrent-5.3.14.tar.gz 3636764 BLAKE2B 49a5e6fbf542d16de7bbab9cd26fae25f9729cd0d28c0119b3f8fafff5ab68773c4cb68e5730c0d47a8c10a46bcda8b231d90d05ea9d5fc1eef594c44e95cdb1 SHA512 0b53b299cc8f6a04f5a3b7a78bd14ef8cf137159936ccb9570c7988bec586c9eaa82fb7efd885802f289e2cb1c42e008d0a33fca1529ff2e588d5f04dfbdfd07 DIST rutorrent-5.3.15.tar.gz 3836159 BLAKE2B 23ee9e5263241dadec104c5a178ed31fa06263e39adff832fb6aed1e10a79e6358e5ff300a9b495674c5818ef67ca655ab25f1bd3e2520a7f465c13956e668b3 SHA512 240f5ba1c029166e87973f640192e30a91d1f4de7ad55ad70b2f8c4300d8c5ca1c2a7cd9a07e2ae22d2c58a9f291906eac717b621a88f88414815fdb7c2e63e4 +DIST rutorrent-5.3.16.tar.gz 3874792 BLAKE2B 6c3decbff1bef1826d117c6e6c0c531f3cb8c0dfd19b4bfa0fae17270aa1119a0672d20fcdef6740bfc1388234ea0828c386a175330094f235514d929dbe4653 SHA512 e5559f371ce37a6a20ea026e3a226d80dfa12c614895e807eb664e9685f440f46aebcf835c47a80e38bcf25f2806df87114b7811cc81ee609d02c3d94cca4c74 diff --git a/www-apps/rutorrent/rutorrent-5.3.14.ebuild b/www-apps/rutorrent/rutorrent-5.3.16.ebuild index 6810ce31b6c8..6810ce31b6c8 100644 --- a/www-apps/rutorrent/rutorrent-5.3.14.ebuild +++ b/www-apps/rutorrent/rutorrent-5.3.16.ebuild diff --git a/www-client/firefox-bin/Manifest b/www-client/firefox-bin/Manifest index 4ba58cacdbb2..52e357caca6b 100644 --- a/www-client/firefox-bin/Manifest +++ b/www-client/firefox-bin/Manifest @@ -289,6 +289,103 @@ DIST firefox-153.4.0esr-vi.xpi 527395 BLAKE2B 06f5c07fc0e3c7a62092668f9237c5124e DIST firefox-153.4.0esr-xh.xpi 355191 BLAKE2B a8cabc773848f05cf86e03919f729f1412320c166e007b4679341139cbd99c88ba587e987b2c82f96ec4f09ee8c484d2f7e34ea067b95d3ed89fcd2c41e268b0 SHA512 4d0ef9571216b8e124d7d49170e182f7a6d3ccdf627cece5c034d146a736496c19ddd6e8f2d30f33157c153eba00a424a1a9511851ef95d22bb1eff39b84c322 DIST firefox-153.4.0esr-zh-CN.xpi 514288 BLAKE2B 369b3651af0a1e0af9832b42b75929d5fb1064e4490d4a89d529a1143509fa9eefc276cdcb72b1161faf5ddc6aa56b9d978f7ca78965d4df4c0fc752f8fc83b8 SHA512 84653cf44373fff301351f1df8b206086af6dfa9b15ce6d3b77980664833235e84405462fa499167c5c7ed5580aee1dd77d1298373ee7ae288831463721980a2 DIST firefox-153.4.0esr-zh-TW.xpi 518922 BLAKE2B c22187c2fe07d79de95c86b2651ebe8583509dc3c6b679cd3abc6519d975b5352900e42a0ffd3279a78f33f74fbde70ebcae5be7034987913f70dae0e4ba7f92 SHA512 a81d0c0659f7147b2dd099f9715e9c38d66486043a5de9d8a856d376a5a5769bbf4fa619c557c79efbd9b4556e7dcffff8832c0ec4b4123a112d6725323949b7 +DIST firefox-153.5.0esr-ach.xpi 363924 BLAKE2B 5d0c84d636618e9b363777e62434c4f2d2911b57c14f29ea519046e4f5c2d055e2173e6e656da315bc05a6b6b035391db7bf865168e5919face3531d0f30b60a SHA512 ad535bbe306957f698e7fa8317a3c9d979963b29c96a9e62a0c2b1acee70bd36bdf8c8b9343b44f41749e09d53ff7d53defa591eff1f910280815ce463b9bd49 +DIST firefox-153.5.0esr-af.xpi 349924 BLAKE2B 324572fa9586c04e4914164c0a984c828e4efac8887c8345fabaf649ee58c5af25cb7306265efa031cf99a540d835f8fec10ae69478b6d6c156072f50042aded SHA512 d8cb5aafc4b54eebcd39a68291a34df4fc04390791c80cb70741fbc4e20895aa2c229fa6bc5d70ced0bc020668a87747736236dea40477926bb420c4cff72cea +DIST firefox-153.5.0esr-an.xpi 392274 BLAKE2B c945b08c859539ac9cc4928f20b549a75ecab4e12f189a348975c7caf8e61df0d7e7f8fa44031894b370e08b10b1401e5c08445423a8fac10ec8355553613268 SHA512 3825a53013a08b296d69ad8fa85e778ddcbd69087736c46e818cae2f73b39a0550972d6b045aeb8a2a0ca152cdafaf6c18a694ff9db5fa602582305da663ed47 +DIST firefox-153.5.0esr-ar.xpi 532703 BLAKE2B 9f87ae2f4d65a21c9e19ccd689a5eb1db604c8823fd34bfc9a5e6f22acd46b6129c545c06c00141b8174c6390968291c72be51b783de047091b42efb5637efba SHA512 0ec26686c8214658eb825e0f8096009f1ddcb936c65b3dccb72c1e61cd1ebe511e6e9927f51e152ed8460d48e80194f38ea9dc86ce4b27ac8371a639e6675f52 +DIST firefox-153.5.0esr-ast.xpi 387218 BLAKE2B 727b8a5357740d1d72ae4dfd8d218271c4b0a1626e2ace93f325c6b262420f07a1b4b8ddf3353414a6ff56a26849afc7f7f00c3c3dbb0b90e202829f063e5b4d SHA512 9db501f37e6607d3fb98623222b9f3e2d11906f20aae880ae8e86de14a32dbc61903aaeded5c89ac6dc19f8a4884d1da9c4b042c45550d58a4c962b191146497 +DIST firefox-153.5.0esr-az.xpi 401993 BLAKE2B 38f08dc0168c992923bf013f050d4cc8a9c22a59678fd4b7cc651361654d83dc0cc1cc3c4516e95db02ba044fc949a76cacb27952deed48cb8384a1dcc137d8d SHA512 ad8ec473f1f63743ab728829ac88a96d069a3a1efe2c204270cfbc97a1ef139ea0e82a9e2220181dcea232a20b707d4091b3a0ee4bc2165ac3ef43a97356795b +DIST firefox-153.5.0esr-be.xpi 586058 BLAKE2B 1400d25566d6eb54e4882d6352b1014d3f4fa0acc3e527b42cd6f8d44d6edfc3f47bac0099a4566b3e2ee560ebc5397760e38a9042f28423c518cbb5afe26485 SHA512 619204fb71c81d5b28de3605244f30e4a5d055782c506e42a18c103879fe788536009f0303158f5c8ea7ac94da47025c984d116b408d81855e60fa99b19dfd12 +DIST firefox-153.5.0esr-bg.xpi 512581 BLAKE2B 47e30c94e7718605bba1fc4b9c58f7fa5f53edeb430545fd881322bccaaa6a8acdd0c15324ff8afa10951a74ade1b91627642b1cb53c53e9f18f90d9138ef61e SHA512 fd21ebef66434099c028d3ee901c6de94dbdc0e27b619580e6858372e9e722b3c35c58501e697659417c6d753c089d89608b2a9b886dd9ce66a246c6702c5f70 +DIST firefox-153.5.0esr-bn.xpi 463567 BLAKE2B 54fb16ef8516c6982b09222a76f5d161a945710e8119e474915eb1086a987501469489c2846e18cb9ffafc9d4e5663597b63fbb08e7c8b269e39f90239ee1773 SHA512 89d814ee55fdf007f511d805740322d0c7694e1c520bb4e881cbcd8134c1e33ac1a21adbec04e017fcb5f92163e7654b44db27ba056e0564e731a1ef9e44107a +DIST firefox-153.5.0esr-br.xpi 434119 BLAKE2B 9fb841c54071e4f29699e61383197dd6b893ec72e700bc7946dfe4e47c4b49d98f5d3d7bf2de4506a6a372316152a605982e454b7e1d289f02e016171008066a SHA512 b0445facb0033f488975ccd84ee6f2c8ea32ea47da28eb2e7d6ba406dad5597dd9431065dc80522f4b5384b1cccdf00a4a0d6cebc9295aafb4926f184e3cabf9 +DIST firefox-153.5.0esr-bs.xpi 470365 BLAKE2B 5a4d8bcaf76e16a409ff8217f415b194e3448ab4ac17f60b451746ce76e398370ea8d57a881b793aa38257f18f416745889b1f4b6fe15275404a2fe8007952a9 SHA512 2fc05fa30cd97a3353a851b65acfdd10f71dad069a207818e1f5379bc8f551ad3b9be3de3657d34811ef3b82689756970c8ae1d4c2d26fc3653167ba600cfea3 +DIST firefox-153.5.0esr-ca-valencia.xpi 412872 BLAKE2B e21b4dc884cb3bccc37b3bd69bcc8991f79f6879cf9414e5b6be5e6c24c962b5671286226e74c289c0058f61d9893f7184c9850c8beefbfea4f90044d827e777 SHA512 1de5e584d8b096388eb9a11df4cff79cc10cb03b43bbcae9c6be9a877cf3232ddc84b3d811a635d6774f03e5b79ea919dad685722a198fbbd589cf78188af5bb +DIST firefox-153.5.0esr-ca.xpi 484682 BLAKE2B b9b41f701ac86153d9b14ae47b9c4707033a38256cbb2ad6cf1f118a6c437f9f2ac40d102695edeb999fa8f4844b7e6ddfb112542a8338e6624c4007f8236e5e SHA512 662a5a195e374a6ba3a6c7bc887c60d6907efe3b80fbed1d574b78cb40b186407eb8814c42da74e304d514c9534ae53b035586293c35216b268c9cb4f161f6e3 +DIST firefox-153.5.0esr-cak.xpi 435864 BLAKE2B 20d98dafae9c645f59e4f305194a2e3c4996c0c7c82fafd11174c465ae0cb8063111f7478a5c3a140a6494bd870f5cfa6ec000a8026d3b77a2361ced207c3a8d SHA512 d6f1f7dd9558156250417b1bb0a623582d4abda5a2c46bd3568d481b9328d585acd640d73f554d785f2036e7055e173af6baf6a7f0a1cf5bc347bb1b818a97b2 +DIST firefox-153.5.0esr-cs.xpi 536423 BLAKE2B 827da1c44126806f5c029769d9fb05ec8dee944a657139501f0dbd23fc2d4d2ab69867381364f76abff2d8ef86cd9b20efc565c2db530ccdc07b7139a1f7b0b3 SHA512 7a4fb283617475eecafd86ef4b9379af5e1b9cfb9e8b955db256b813681743a0c3e55f0c6b3b8f47a246be01e21e0b3cc8226707fb8988dc2e7d97d541b8fda5 +DIST firefox-153.5.0esr-cy.xpi 496796 BLAKE2B b5298a210409c11833ee71a5bc1e89e1ba98a6173b9aa7ad8c045a8a47d8cd69f6ef55c7b54dff762f54f741c992d35823c58aadff5a419b0dc71f9c040e0837 SHA512 a059e3e5db0115c451558d8e3eb7f852981b12f95dac8cc33906f2cc6c416c972c404b56ef6bf11a5c265edb917aa5d97628f4b64891c3964e0dd7ffa022f415 +DIST firefox-153.5.0esr-da.xpi 478175 BLAKE2B 14c80c3190c4464ac5ab3178ef4d43b359628f469c5f354a504c0482f2a7612530d50e80132a91d6dea0727258a19145d8d244884fce6d04a20bd20fb28f96a3 SHA512 6497553620c4e18b20d3092ae2d316125348b64bdffddba04ebd018f1fbf64b2711b83cf7552174c6e2ba49617c5173bd4134c546d604eb3acb7a8a871f8d0aa +DIST firefox-153.5.0esr-de.xpi 508133 BLAKE2B d12acf8fde46f3bc1dca670981f7e55de140b7816aadf60ab41a8291d6db01d5d21574738252f98f0b63fd0106d616f11ad30e196c655e85a97bfd696e948b08 SHA512 a7ae909bff96a9b0f3276e0e354f584315ef3d79a3119da4748b706d26e5e08750699ce8cc344f65952816b1777459d9adfcaa66c16fadf157b4fb82246f08e8 +DIST firefox-153.5.0esr-dsb.xpi 522638 BLAKE2B eaac66433c2a33c68297115b3f95dd02cdac2338ecd64692e5b323a966105eacfae5b76d7cea9b5a8cdb010805788403c8bfa9d5acac4661ab0ff49b9750724e SHA512 0f22ec1916f594e5e72e922a783521c9fb9b62f8d3666163973326944ff1a2e1248e647a208e7c6bd34b0cd5312edf039816e16f9e5c37bb8414e49c9c209595 +DIST firefox-153.5.0esr-el.xpi 601955 BLAKE2B 1301d56816a626dc4fd4d0d1c08d62873b6ec472ed669f205a7dc30aa54091aa643a8cd1acc7b9b340d744dd559de73dfa1e1fd412307e09eb82299aae0919f4 SHA512 91896b3b19891f33d93cc4c964eef05ca6af9096459ed9a8fa2264a50e77b93c5da1c32b3247164423669af717f51b9fea7a165a24cad7069cb42f415d2334f3 +DIST firefox-153.5.0esr-en-CA.xpi 459568 BLAKE2B 18d970a06b40302d5b0867707ecea79a0798dd0b799887b9bd2a461fee57ba7885ee680cbc90645d45ff6b82246a4e196c516cbdfe6345ea209e04a2ce118ac8 SHA512 8712c6146ee03c2e1845f79caa2d2d65a699c13a9042c2c85b4ec842fd8982ab9af3a310bd35152c6276d343711361b218b31390ef83e890a84b2698312750fe +DIST firefox-153.5.0esr-en-GB.xpi 459918 BLAKE2B 12f6b9da339e1bf08b7fa5fb5958be798b5653be52c02e647e3c093748e797ae30e6bab9ac5ecf830b9f7981c9e19b1c0944a433f515df35822d84c502d56fb2 SHA512 4eba8d730eb8d6949c82d8110e35a270b6d486edbd89aeb9d6edcece0e6f090e4bcab333c78b6b9b4b83e83e0e03ab2a1fe3b8ddf0c69a47ecb33c4a76b6af4b +DIST firefox-153.5.0esr-eo.xpi 485896 BLAKE2B acd1c8d0c0d5602c56f87b4e27d80d7ff12ee93ec3a139ebd170b0c9aeda1dfabb25f91f0c18a0eadc75176bc6da9b6274239037135d2cc2ee676a1c8130e92c SHA512 09d9ef42f48fca3c624846822f8835e9fca6540cbf4fc7a16935a3493b016f518c4af3302968078754c06c8f19dd4b3afbbb9a8955e9e725b8b42b15c7d6db3c +DIST firefox-153.5.0esr-es-AR.xpi 498423 BLAKE2B 0b660177a6d863d4abee6e79ce57e6e08d3132a33168aa54fb638ea8a3f29a8bbce9d06658f0a4c26c0ddafa0109a6552210279e7740a1082354080e90566a6c SHA512 5ec7042ae41f290f9b6e2419527c19e09914092cd4c07ddcf9e1e61751da424a85d6f3a02693aa4b2eecd1ea5fb0175687a902b369b143df87dcc682ba5ce574 +DIST firefox-153.5.0esr-es-CL.xpi 500175 BLAKE2B ed839e5e682982939350c9388f9e76500b4e5833b751d4f6e07b1ab00c3defbff26a17fa50ac5b02f7351fab0d6c220a6f1de06ac4e61b4bca6ee4e3ef97bcb3 SHA512 c570f56cb2d89cc9b4c4ab47dcd3c7237828be564233d21448433cc6c3cf19c3e4bb79a2e22ee4f601eea976e7b648dc9569528f5d00fd6917986a475a3f1d67 +DIST firefox-153.5.0esr-es-ES.xpi 500419 BLAKE2B a1038f8269c9ddd53c5b9e6452a04dc8058888952842cd39a882b259ba870b0c7424a9a8b36ac427564453dfc1125a2ff7eef1464da08f13fe502c7dbd9b0e29 SHA512 565655a41d05dc725d9d5586f5adc8497eddbd602c70c5075f1f1bfe3a7d9e796e716e18f0154cbb9ef79607c6a3a98bdb04a50ec16ca0a8ae8381af430e5994 +DIST firefox-153.5.0esr-es-MX.xpi 503148 BLAKE2B 93c0956e60087fa9644161572c49c91e407a96ea87b505deb74be087f2649b42b96f8f9ec3e5ddf7e30c6ff6d7526404ef6d917044175be77e6cad17cea0fc46 SHA512 8dd0e0fbc882be85fb7bebd862702095c68e35561f6c7eb5fde171034275f31d21b2bf6bdde696d05bdb5d9e5c3640297c0e669c3d1b401739d5b2e7e1f6b53a +DIST firefox-153.5.0esr-et.xpi 402907 BLAKE2B 4b82463609965b3bc9386f4b7ab5557ba1fdde676063183180e5ccb33e126a5d9b35e9941cfcd2c0dfe7cff5df09e17d2cbe2472753c03bbe4386457a18a67da SHA512 1bba9cc14ba6f545389097a32cfd7149113bf6833bb57af541eed061858a7012cd2bb483a3ba2fb4d72e4062974b2985d8a4aca8f905de8c019aa6d838834129 +DIST firefox-153.5.0esr-eu.xpi 486107 BLAKE2B 592844ff4f2b32987798633bdae8ba5bf09f991d3352675bd11261ed05118ba31fa1a718ff6d97544d05f033890181d9f1dd5abfecf54b7e00af2eeff4258f42 SHA512 c1af38b81e49ef92afaa011f37c5d8500283f0c2521c03227ca883958003ce6269f5bdad6cb9febb9e5717e7f6780d93e6ef92d7ff310c8cc457876b79822046 +DIST firefox-153.5.0esr-fa.xpi 549299 BLAKE2B f6454cb175917b41848efdd0253628c82e234c8320af27e3f1121ca1370243602047073f6da9643c300d3ec9163c1f7d833f9341fc4565ca50c300c8f0905dca SHA512 28614da8f87905c7c0fbd43987646834f6a91ec49658ff6552dd47d9a89238be4da09e3fa763d082d9a746ef1605c487c445c2fea6f09d46f3298e7a4db3b49d +DIST firefox-153.5.0esr-ff.xpi 375240 BLAKE2B 8cac14d722121a36b6b5ab6e82da4d2160c1ac5e812d75a9d1a911262a02133f9dc50ae6bfd63049cccd7c3a275c85cd7e145e29ecdf6c973cb9a990a50ca940 SHA512 5de448b789a5ca2d42b194806c3509e557d9f2b45d64dcee086743843a358f9de0404f57ef4ef543a623fe59decdb12fd949b3eca85ae777bd3b70d4c72989e5 +DIST firefox-153.5.0esr-fi.xpi 487506 BLAKE2B facf7096ba4218118a9ead448ebefa34ac07e4e946167793410a23ae77aaa74550f1e8351e186fa0fd626869f1412d91b6e9ca4eb3abd5b3e83a3482b703957b SHA512 91cfca64b162bf4a670b064299d2fb0c5d0fbb23ae714391d4b44b1b7fc896b97a362554990db4ccb278b0e50b18501572ac6ed01dbe752f7fcc2b7665686f76 +DIST firefox-153.5.0esr-fr.xpi 513948 BLAKE2B 2094472d474fe6f0f042b31fd077aeccc62fe5fc78d9cb9ee6a7cb52a9989fb26cff8674a4d9f4638e16e8af34b1f6c9947df04de532f6a1b588218496f79e78 SHA512 c8f0b0fd1069365bcf8d69c28e694943463781be0e098680a71d301654e822d744a8e3c79f5658a015e82e2e897f55424f3fe5d73708ecc4e8746b6fcf98085f +DIST firefox-153.5.0esr-fy-NL.xpi 495098 BLAKE2B 7e74158f4c75142cdf3fa3ceaa5abd4e78a7e1a5f560c9ce72556e35413523f6e70c2ea9769a378956c441e4d82a87d44df852bbaabe3b203556a8b36e38e666 SHA512 e651d6f83a361d73839a618f4478591568ad0cb2294cf5402dc2a29f0bbb2d1c382d3511001583bd1180b117e5a892ae7778960d98d917295d5bd773ba05c00f +DIST firefox-153.5.0esr-ga-IE.xpi 386508 BLAKE2B 60a815809e4332b2fd67c7bd1c3e115e287b13633919d04dafee0f1e8c7340782357ce377af0785b2c6e8c86cece11b9000bb413375c71b920182d991c6edc86 SHA512 647fcc35758839c34847dd989bc2d9aa4334d91a434b31ddea772b0d2b7fff99108c87470e2eebeb252c4ad77e98cdf38aad919b7caf20f2fbab946c7d58192d +DIST firefox-153.5.0esr-gd.xpi 444737 BLAKE2B d8cda577e9266f8ec67e734c2debac583bb30567b5e99d0e4aa1668f773f4922aa3a100ab9c151f6a3b6f0f119bb47159b2ff13722d8c399d0cfd01eebe102c7 SHA512 e5b6d5b2ca577e180f9b6949ef48d5e5a2939c98ec4ad0a7c40b419550a0367330b0120b6fa43cf4df5eefa026a4247e64e053f31c0efc15354f82766b220eb1 +DIST firefox-153.5.0esr-gl.xpi 466623 BLAKE2B b2ded5df82305660e6519e80d221dbd198a3f67002fcaea90670e76f8ba713e223d03445f33a80b81768a69407e9eba101f39e392232e7574ba2f8ee112b1bd6 SHA512 a97522f974b1b6283612538b2331115c1cc392c160eed8ada4a3ece45ccb11212a6df7298ed69395c926358fcf020efd66adf36bd18fbd61408f145c52fb2de8 +DIST firefox-153.5.0esr-gn.xpi 504753 BLAKE2B d11a575f394c8f206e73ba3e50d8b71b170b504cf37b3bc93639619956f851ca12020bab6479d99371ba5ce758af869a1272b5a3d3a4806262a1c3bd7f087cdb SHA512 fcf7446551e5dd7e397892ba8a29f59ff0533d8320aa461cd0368277e8540014611e756b95d8840a10f1f8d290239717b0448d3ece9d61f4ac4ad2332b406019 +DIST firefox-153.5.0esr-gu-IN.xpi 421856 BLAKE2B 4caa92259cee2700b1992dabbebf8d179a390b8e60057db47711d28a5046cde8bdb87634196f7808e12408de3f7da1d7c2eba0b184b35db7b2d1a1a89297f019 SHA512 77d1c09a3de21e0ba704097c11f8a662698e31605ea2a4048d437a16dbcf98b5ad38fba2cb40eed24998b42e5532ca7b0a4b4d268a3665f9ff36c7fe1783ec18 +DIST firefox-153.5.0esr-he.xpi 510836 BLAKE2B abfa05416b46b3ddff0585542d508fde63606427e67bb6b7a0cc3a92d46f9c30e3243ee474d9b0f81f91df086be0c620b64d4f6c0b900dfe5c36d56473b28617 SHA512 346d91a8beff4d231765f18781b239390d0d579c9019d0add472a9484c7413f6b7154e656156facfb3112734c0ff6340f005fe7109d5fd9a3bd4aa2be24d1b4e +DIST firefox-153.5.0esr-hi-IN.xpi 436648 BLAKE2B 0413b37e851a559ed72ff5c1e9e112b924bf57468daed6b9892a2cc13505cc9a16806d399cad04ba4032c61bdd7ebc9a9693f10a8b5d4a6505f94a8327fa1984 SHA512 6f16896c8c6c1b3dd74810d755595b6dda872fd315aa86346cc59b96d3e8c739dcab3abc429f6621bff3de95263a59c896a0c05723db709e1adfa6857777a859 +DIST firefox-153.5.0esr-hr.xpi 491070 BLAKE2B fa271fb32632c5eda92f9afaa9ec9ba03c5ecff43205d63bd5f8a20bc04b7dab97b764203ab7c8ca60ff27944807d38c474b3bfa31d928e6dbd4d672db32c1f6 SHA512 68dc719851740be6a5d20a0ea47609f9e67eddf955db01eb5c2d20185250a1ab3817ce21d5afd42e26936c9afff06e17af20dabee6ba737639ec9cfa63c49008 +DIST firefox-153.5.0esr-hsb.xpi 519314 BLAKE2B aebd7516035efb4a0970d2edc0e6f6ce267853def7c8663037f7b7a7044d0b4af2fdce1ec0cafeb1ad47f4c988835ff89dd31246caf70fe747a27d88e90650d3 SHA512 284b61a87c3498517b6aae413b6e59a6fd133b9f2a3ac5d937f2bcb5f942133bcb3c31f1a8b875498cea2da8e881c8e413dd2165705ad87a7bca2ebdef67d219 +DIST firefox-153.5.0esr-hu.xpi 523588 BLAKE2B e44d73f9a540f96c9c37b5495e0cfaf658443aef433634e58ba4fac6baca0ea7e0545ce60ed6797a7c670b5af8dd84fcea6ff9cc36993299f1dacd088dcd03be SHA512 45192c695afe4d9141073a95cf50d2ac9da1d7a22521d237d1e123715d15feeb3279f52c2656ed969327afa51b68aa2b5d8e9d9f2435c164b6181601236ff0cd +DIST firefox-153.5.0esr-hy-AM.xpi 535725 BLAKE2B a63cf06af90d64df4992788a995a86df4e93b7f204b7f108dd3b55ad16f6c790011891ad9f9c8327149014b5820ba968ca282a736b245ca49df157b51c54597d SHA512 9016bb0239b66e937f3c7b373570e2ff14b228c14f62e1fd5ba38b647b6edf42ff7b559b856d26da181848769055dea499a472e684250e664e9acd1fb249284e +DIST firefox-153.5.0esr-ia.xpi 481866 BLAKE2B 00e90df006326175deaf71aedc73c28120841df57fe9a014adb9a32bf5c3797aee811363a22849c06bc0689ba86005229f15ca11ee33037845688659df134e53 SHA512 6e3d7d58579ddc56fae9539d6678ded6bc42971ae33c8e835fd6870d50c48e3742d7592eece1823936826704412018199993b5d2f85acd4254c5a9ed94a719ef +DIST firefox-153.5.0esr-id.xpi 455025 BLAKE2B ed480941bc9c220e834189928e2d9796dc5088d5d53bb946855d00602b6eb66863f74dcd3b97737f55349ccaffcdb5dd0ade055ab12d7283f9b4799432699131 SHA512 34844cd901ebb07a1e42c250d068d6773a413ddf22ab7425ce714a7cbb00c68edc343b1dfc58f87d95ead630738ca385995ccb9dc282390b6cb4c9cee512dd17 +DIST firefox-153.5.0esr-is.xpi 470221 BLAKE2B e55e2227ec12b10445d553e838f418763e9156de9c8cef04292d18d51287e311ef3f135b0b2f9734eaaeae44416e1158dd6ed9af2ebf395c4a775b48a3303292 SHA512 bf4c3334e0c95202c669e90467759474dc401f92d4c49f68fcee7832c35cbdc80fac76221927c8083d53b26da39106432e73d09434e10961e16755e7df9f0139 +DIST firefox-153.5.0esr-it.xpi 494182 BLAKE2B 694a0a7413ab3fb8b53fdd08b75a25cacb1675e4ef475fc99bf58115c448afbc2b68e268e865b0e9a5995fe2d90fbf8341e26351904cdf15cfa412def43a1213 SHA512 caa022cc13a2e718385e6c047e2a6a87ab7a68aa876b918a45ff9d77c6be96d8d5e91cb84f95eb23f41f261ec8f639341ea4df34dbe1a7e4ca4cefaf3c4c969e +DIST firefox-153.5.0esr-ja.xpi 538052 BLAKE2B 7ec6d5fbdd101b032e2c00297432d4900e2505e352a6717a6d41a44573add87d8052c9178ba568f49e0abaa5a87f0ab70b7bf88c5de4b64ff36cf3e52c5e754d SHA512 d16db5cc4e4d4eb58dc0a33688ec10713a3b5c5c4a3818092aaf2b29224e57cb06bf29e995693c9a98028219806e0a07a0250d1804869d2fd84b90ee7344364b +DIST firefox-153.5.0esr-ka.xpi 557945 BLAKE2B c388c98cacfe522358f6a282f9749bafc61565f74dd0ad2ab8e3314ff0650e3001f46ae14d8c0b11e3cd8f10329c7bcc0a603c28dad2bff47f725275440ba835 SHA512 8220b0ae602e7dca52cb3a36e40fb168d78d2972a8ae36b0e19469e008543e473b6a687565e34f1cd3b69a74bf0507f3ad444c2fc5d2d7bf58d7c2cdbee455ac +DIST firefox-153.5.0esr-kab.xpi 455022 BLAKE2B a5346681b3a2825383e7065e29cda6b15f1e37deb595038d474242141e445389a96562b890442d3d2599929936fc46323cc86e27b56a8b8805d346e08512908e SHA512 5dbdcc99d8d460627edd10dbba9818a604fd24c7288fdfcc808f4bc63a1ec2773e7162e23cd59e098e64f035fc6c9ce10b47939a930f2b3fa480a47034445b7d +DIST firefox-153.5.0esr-kk.xpi 577061 BLAKE2B 7977a8be47ae494c04821541082b77c4e0a89f68b8a16bab3183f856f2b4304f9970451f8bf402f9f7b9971fd40559ed5512cc104534560af015c95d76f94d9d SHA512 32b52fdb03bdc2281b13b6f7b276ee4090181495c413fcd08e7a57e139f3d14e10878095f2bfcbccf19be5a0009ef5948d377bcd2c90d2d62332538f2fd3f0b8 +DIST firefox-153.5.0esr-km.xpi 441098 BLAKE2B da658ddaded5b14f28827caa22d32de4c59283441c45b4c55f2b25315f6071c84d9ba15164bb9b2823228fe0752d0d45a6a0d6da858369e71c5dddd91e6117c9 SHA512 374226175dd1a12f38f1ef980d86dbe815d64ff654ee1d3b1adb0ab0610a4b50c3d4ccf587dd348b3ad49cabd0c871df725695d35567d84b5643fb6530d5cc57 +DIST firefox-153.5.0esr-kn.xpi 404849 BLAKE2B 348d27d20029e990a0dfdd78b28aa057483567023bfb377af8c9d92c8a433be15368f7403048be5020f48982a79b16622d13ff06b98f7535bcef70ec6c068b81 SHA512 cd73f400803fd9bb5004d05d4e01a203d016f03fc3b8151f7b7030f47095ee7521558c50e88df0baa717c26023c8c435d61077c2c56ac50e2f53645459a865a4 +DIST firefox-153.5.0esr-ko.xpi 522266 BLAKE2B 16aa357f4e741a259c41ded43844fb1de2789c7bcc4fd6f3247c2e766c506195ef204d94cb2d28de926556f8e357e3400a74dcb92f1fa65460ef21efaf8e695d SHA512 cb349af3e76e39a450c55dac1326642e7dd8a28f511e9cad200ebf4384c83c079b68e44dd14bfb0f349f031339a0c3af51a57d16c0ded74e15920b494a6c726e +DIST firefox-153.5.0esr-lij.xpi 383850 BLAKE2B c551dd563f416fef42986b388c5bb7af7bafc783ecf79b2bc906097becfa1a933b67d81763e6286ef47f6bb78de14039bff5a71c5a61972e5d8096290f84d7ef SHA512 c66ec09d2ba94088665aa7923cddb0fdab1e9a2473bc57430fd2e2f67503d77582439d8e605db6b45caa61e24974d660e89f0af6d9879286bcfaf7cbd236d09a +DIST firefox-153.5.0esr-lt.xpi 424362 BLAKE2B 63915e68ae1091859050bb0757e5bb1b93797ace762ea51de67e8fdd6cee4d71ca2c19f257ecd20d030c039de64eb24555072a4a48b56414bc3fbae2cc1aa8f3 SHA512 32a34129dfb61b556d8c27f428c1246fee2f2b04ca31a96e35d5d84b58a6b32a77bada5356afed1780df4ed3ff7f2b83f76e030091771d821f7ee4aa8d27b2ac +DIST firefox-153.5.0esr-lv.xpi 450819 BLAKE2B 77d5a0634713b0fa063ac52e43a11ffff21931a2269b7c979c637060636f45dab818865de412c70093cc4603331d45e2667790970db1508c98f3e53398f20b1c SHA512 898286c8687537e35c3916af7ac3283dcbf076272f0862c1d02054286ea15a0cd506ecdd26e98f065040c245d042345f59c3c6cfd5acd9ad3689efade7499a94 +DIST firefox-153.5.0esr-mk.xpi 437683 BLAKE2B ef8c05dbb109a5d97e2c706612b4f817c0aee99c7f54b013340335463c4e9e2e7fe7a7e4ee36f8d4627878e80aae49f53700fd82188e7a15683825cc0e295719 SHA512 fa5d47f7bdfde652f6160f88ec304716990e988921290da64ed36c04d83577e9716de103c1aab58fb42f4814cc5a68594445aca27ccd30499ac897de1c833687 +DIST firefox-153.5.0esr-mr.xpi 419508 BLAKE2B 0afa11f8daffb4129481e0b5faf90eb28c7c1c9c69fd8cd347650ee0a567aed22a25837958165f432072ad3e21870ad6a563bf22d5c8cb5c6c525905cec8d741 SHA512 ad58ac3f5d9e3dcacf79e882d2826cad10d54122a56e3ec83378265f8dbba765e0a47a7b2824d28bbbb0cd988cba5f09bdcd58a45f2855709ca386740a245948 +DIST firefox-153.5.0esr-ms.xpi 376986 BLAKE2B f41433e116949c2ce13feae5bfdbf8febd41f7fc43d36f84e7765c21bff9f8b860cc6c18d186b6f6480500a8e01b16ab0089ef51e0369a5fa2aa16139c8fb21b SHA512 13d08519f5505d6855287d2258e49b847175414cf9557ed74b30853447d3fdf84637931a57839df5e3749e2f9dd2ec3574896ab3e2df8ce74abb048262dfe302 +DIST firefox-153.5.0esr-my.xpi 416167 BLAKE2B 7999b589fd72e238275dc915c2e26a48365688a5a0fca0fb4bbd96275838d4d9d9ba84041a7eba25a05b01968325ce1a8d75f6adcb233dc86a9cc2a02474b5e3 SHA512 12669e2bd174f4b2f03792fcac84b5991acd84519a62f51bd2b8b5cd8e3bedc8564ebd69aa637739757599bfc52ec7218ad1a0ef4aafe549506440d8c2a38958 +DIST firefox-153.5.0esr-nb-NO.xpi 480923 BLAKE2B 172eff2204f1967c1876d8759e488dc5745eb611ebd59a1c547b39f22721cdd7554d1c6b210e35f1c21833602281a6bcf55ed9b2873ad4cb5f8d6fc48c658e21 SHA512 97a25343d116f49f845956d8594d2691632580b32792e07c3580e8cd49c89ec1a848d76432d81f6cb6e8ced627f21cecadc356ba0f6a73304f9b33721a3c3165 +DIST firefox-153.5.0esr-ne-NP.xpi 417464 BLAKE2B a24b5390607737518dcb18bcee12349530a479b23fb5ac763dd80be90914b9cb45ec2ad46e202a69dd78a53e7c66267d13b0e8961785072d9a00415bf733e66c SHA512 1c99898de09c5d86ad1ac70afc0e9d94beb628ea8b66d9ad9bd1e868b8818f64d3128f7e756690e733da6e642fa87ab1fc69f72e719a0f58d49726c927adffb1 +DIST firefox-153.5.0esr-nl.xpi 488789 BLAKE2B 7f324b3ddf1d8c97e0fd6866797eee0edbf7aee5c951b5f2229bb05fc7dd46b4f1f937c61cf3a477084c68dcb8c024a50adb7eef3adf714c81988bc350051fdd SHA512 a1dd3d5849ff618bbb9c9b3b4d4e0e7a03dc62704d3d9f469fbe69d3ada1dfeda8789177830c4f48934b232bcf5939a5a7bc12b3aefd779037d129b7302b572b +DIST firefox-153.5.0esr-nn-NO.xpi 484342 BLAKE2B 7bcdb98933a3b5df4077f2d13ee71222d6c99f690a182d68eea919308e0f1f9c2ffbed4b7f8298ecc71ad3ee061c1376ba0a8d50e8b6150d342a6272d06ff17d SHA512 af763da81b6175a6f8701d7276cc5a4a1d6b4f0a9d0183f08e464bb96231b53afc6ff05d85986c1e1ec7cbca0e761194e9ebe0ab2a037df27607540d46891d8b +DIST firefox-153.5.0esr-oc.xpi 448094 BLAKE2B 7a9acf135c268e0ffa19a17f08c718e831800fa6f629dcc3f22726fad235e67a90e34d24398c1004b5480d7255f83cafe329cb26a07cdc123bf53025242528f1 SHA512 7a8a1623cf1a32e3813396a3046e56521398c8112fd66ceef2fcbf0fff8ff29deb9506f4f1ed0a340cc72d4dc68860f9f5de4410ff768c3d9755828af8c16bb3 +DIST firefox-153.5.0esr-pa-IN.xpi 571756 BLAKE2B 38c4b247647bc3ed625e315b1b2ee691d332ebe26e1b9b038a2c5b46be98b00d453e6238db77c6e75e7d2d1cd291619efb9fca7dfd04c8f3b276a4f2f544d0cb SHA512 25c61f62faa89a60d0a162955724cb51f746c3592948d5ea9b9fa1c1b497eb103a34b38ec156375c35993519682adfaa93bd54ed4e0ec2499c70c58e1440ffe9 +DIST firefox-153.5.0esr-pl.xpi 520364 BLAKE2B 164d987911b8e168401c8f4c36fc3e67f762bf0eea3a09970957a125975bf27dfe33d16eff70ba3d83544b77427649efea2d5edb66d2c397ad2e9506683b2e4b SHA512 78daadd5377e4a61a3bb83aed9537b269a3c7e8ef624b90f80fda003ed0b1552da330aaa3863a114a86f69ca78639761eb7dcf418063646bc20016428a303f2a +DIST firefox-153.5.0esr-pt-BR.xpi 493551 BLAKE2B c3c66a7892dfa3449b22a29eaa46cd313c8b6057cab3fa06356afb832165acabf5030eb304ec3ffb0e6bb54d7be8ec2c4c732b84c3c04a978f370121d1d34f42 SHA512 94c4f25ffdc03fc6d50ea07ac026d398e7b164a222d9d636fe0fe28f61d4ab79d9857a20feed2c0d5b7a8ce6194d274222b99e89555d2b82e1bef017c3ac58c9 +DIST firefox-153.5.0esr-pt-PT.xpi 500737 BLAKE2B 237f95a086699a8ea5353b2b617cff77ceedaefba0505c77121cccf4b07ae9a046ac1dd223a811fc5eb25a2d411bb3399c8cb658c4f422167d2d7cedeb390a89 SHA512 5791d378b90d2f3ec570c22d9b3b7f35127d790a01d138a94058d10d768a6d4ab395636493060430a19b1df313db3144a22b053eb38d893b20bf83b3d6d3946e +DIST firefox-153.5.0esr-rm.xpi 473956 BLAKE2B a26e14ea36940c3e71e56dac97d37db622603a62a00e25497da3145b2b4eb8b8c982bd051782cdd4f84984b4792d4e50e799b4fa6ebcd90e8891943d4f249d90 SHA512 0239989ba97248a0b80230259b62efc3699a72f134ec938eb7244657ccdc584d46f903f667a4b7282b0618a55ea9f55640c299d4dc1030e7009f3f32addb9b04 +DIST firefox-153.5.0esr-ro.xpi 507714 BLAKE2B 93d8e3fb8094ec5ddb0094e14ad5da295452c8c76485474f88080bc81f9cf6061296052a41a3583663a421cc31407acc3e56e13239885cd004eb2a718aa0d250 SHA512 f336810ba065864b6e7c8652f183ea76b415b25e86d6c182ee251a001f9cad577993bf788c7f4291977b45368c657635f2b9269c644e33c2a3a4d116f43bb83a +DIST firefox-153.5.0esr-ru.xpi 589801 BLAKE2B 754f1a6beeaa89028ec46a47b537a845d88c389fa72c2e1237cd30d46cadb34428fae1a11b1834436940d818606e81c13a83dddeeb26cc3bd2e6a77de8ff037f SHA512 732bb0faf1652cec1272221c215f26be2c7b4cefdec446dde7409e2cd28719b77393a4c2e3bad81e5e71137a06288c7006810dcb79306bbd4a1c041534d387cc +DIST firefox-153.5.0esr-sco.xpi 387207 BLAKE2B 887d41f04e7895b5f10bfd485edbb9acdeb63c0725c14e288b19886b9742f04133f9f4472ea841f86f2668fafebf83d5a3fed5860d4e338f57cf6bb0e36e8106 SHA512 ee6361ca2ff80295c385e5d46cb1e2ee69e1e7e8354a342cc06567a3195faaf7d6d59278dabc833c5dff3b825518a62d6fb0d11fdfc6ba118086e51e2e6ce066 +DIST firefox-153.5.0esr-si.xpi 465592 BLAKE2B 00a71de1e750f5fdcb30a7673f7c4f346a9f5a7c27a6f3c7fd841553cf5ea23c46a85e2a33a4dfa88f34f54bf2e61c364ee9405feb023619c1addc5ab53f7688 SHA512 0719bf19436c0a7a35a0a5c7490d8d7824d041db3b2a4cacd96de221051d9afb50f9a11a8427aa6087899745def6f45e6cbfd7c08d239501bfac936b45866516 +DIST firefox-153.5.0esr-sk.xpi 526508 BLAKE2B d78267e59c424b85330bf0e02108f84b7543e2a17fb0d4afbebb2e4041859faea17749f9ad8148e7ac2835657e01c6551ac228e0cbd083478a6480fe6be087c5 SHA512 1bf5b28e008364318d9521a53c77d82628f999eb58fb6a087819fca39c228fb487879f73fb056591ebdeadc17ea9f29b5e5e4f90d67070bd8fe4fafa3ad24216 +DIST firefox-153.5.0esr-skr.xpi 513175 BLAKE2B 4d8e2ffe10fc524164fb15a9d061e026645a4b34a817827e31d2f176579b88800a19676a845277ca01d4efb36773b15d0fe4d9ad0e920d2b8b58e1af70f9b3fd SHA512 8332ef262be48de3aa45b7409f2b0b354a0cb4c8053d96e76c6d4131671e99fc628ca7749982472c27c0b4cc4d77696ec591d1c3463f2e687d2b9fa6f0d82d9e +DIST firefox-153.5.0esr-sl.xpi 498292 BLAKE2B eecb7dbdc1d07bb427fcdbc7c09e9a0c180366b20f083b5d0009fca5c9c44601adba374aa428622feb913bb675ae4f54b280996ab78991e8e17655e85a876766 SHA512 917cccdeb9edabd1f9900f9d05177aeee42dfda3a80d07169098a31d4ca8bdf00b8eac7cb268c8ec3828cf557cf5e89f0811cca45d917e02e487f4f1e42aa284 +DIST firefox-153.5.0esr-son.xpi 349757 BLAKE2B bf11357ad009f06bd6b29b1e1c0e35d16961df2781eb22796953aa62138a094c9b4ca3d6298aa6b07631ff62dd967312349c5171f3a98a9bd70d1b5a52803f36 SHA512 771c757d0d2d4bac2f9ffad8495464c7f15e06f8a8ae0a6c34bd6549f0c14f68b121746f8a59383810ed0f6b662fe937e3abe7d250251600cbfc550df54e2472 +DIST firefox-153.5.0esr-sq.xpi 503809 BLAKE2B 8f5886a8668eece1173a301560076bfd5b7da33edccdabc670544b69c41f4d42ea518cfa0cf46694adaf6e90e1544c3ee2f5167b961b40b66223ca5bac42f32d SHA512 12fa115b328cf9b6a8823773beed5957e76834904d2541bb80ae4d3f336af11f3abed4224e0016b5433e5ab8407af9d9aa66c9103d656390743e65730c49b607 +DIST firefox-153.5.0esr-sr.xpi 561358 BLAKE2B f24117942c4a90ef1d81084c5e02df2b1136beda84449d0468d1cac9e62b472c0640c9158f487ef8b2084d63311eff77e0558bbbdf59806c21454e908204742b SHA512 3c8d6bdcf71fb916054d0a6875a1158fb59b986a60c8bd7e6128724a69ae21dc62456d9b0889ac5a6921c4612ea7bc1b9993038993e917fa72511055537938a4 +DIST firefox-153.5.0esr-sv-SE.xpi 488308 BLAKE2B 0f1c456c29e4cda6059148b2cb441b987ff6bfeba2eaff52865787c78fa1316813e12d3b94ad95355dd98649d18328cc226bc1f39b81b923d2c63eb47c0b860f SHA512 a59b6ac94a7142cc495075bdb556ed1857a83187c088e04a90ef1f8c98760f32be080c83c259057913689f15c2ea8f8598403818918a31b96a3b84fe1b3fbeba +DIST firefox-153.5.0esr-ta.xpi 407925 BLAKE2B 278cb3dd2537d2af8e7ee40ffa1605fd57865b62e98db9e5f1ecaacefdb57f6e144a3a38acd74c9e7b15e5ba50ddcf8746c03a734a3ccda9d064b6cedb5ff203 SHA512 c000453d55b7707459062dee8fbf010d4ec129654c19586b4dd69d070d926a09fd7c3780e2cf746bebb332c3c0f7c2d0f59eef2c05d6d7ceb6aca1cd49254051 +DIST firefox-153.5.0esr-te.xpi 447138 BLAKE2B b569e4bc165b4bf3ee46e38fbdf2488dfd554b6db71d5c1388d0487c4c5b1f4eb8d8d8c1ec19720131eede681f8f0bc66e042014b2ec4b9cc46356eae88a9fe2 SHA512 2a7f9cb391f883e6bceb8273d993dfa0dd3ed3e46da3fbada556a4fc805fd6efc7f2dd3c38c6589c908a367c948b25badcf2e604647dca37b139f64e9dd98722 +DIST firefox-153.5.0esr-th.xpi 565398 BLAKE2B b9abacf01d77b6cd6105c89662a092f18ffa556838b672ef494cdcb5ff0ef463bcc853fb323553744ec62a15e71ca3e73c5b2fe99a0fff17b1cf13685b9ed357 SHA512 11555c38c00ecc023253d790e22d785309d9cdc240a52390a6d695ce76d29a499707a741b0ea741fbfcf8393f7729e85d02263852b5d586d29b16d165b836f24 +DIST firefox-153.5.0esr-tl.xpi 404092 BLAKE2B df0066b651b242631ccf393743c5a938d65703b035f199d06e4b1787b8bf977b91a86c9d79886ee5ab1647e0bafc4ad7c0d83f81b8b825fb066ad30a5f81a480 SHA512 62a164623e6201e7012d393e9dcd6e45403ff9817e0a2e36667741d5fd2250c6869ca9e25ec8721511508fa72ed0bf095181a02b66c950bf07b9767fc929aeca +DIST firefox-153.5.0esr-tr.xpi 503153 BLAKE2B 875683b70fe5d1eb9b6aad88c33d73fe2f96b256425ef60729ef0344c7fcaa0b82ca34273a28969f71527ec577170efd479f5478b5eb1aaa892c274d05346273 SHA512 10831c0ba798bd9f2ca3a568a0a4e349cf4a42d88ab261591667fba05682d0af6c79dc1f208299b7c462bd91a1a4ba2c9ec0c2b231c877f249ce8e0daadd037f +DIST firefox-153.5.0esr-trs.xpi 394795 BLAKE2B 4e7b06751b360524f97431229c35a553fea8e0944ac6786cb16460f5ca2ab5b4360aed2f22ad41a8efcb379e5f2eb8b3786de6b2ce467f9b72a2a309d719539c SHA512 f3516febde184651c6dfe3914f29e126c3e76900f5113ffd90bdf3bca5830237d2ff62b93a0c7ebc0bce0d655ca378736a1df46334a74f766ee6b2094548425d +DIST firefox-153.5.0esr-uk.xpi 575998 BLAKE2B 8403c05238f7b38d25ea4dfb03c2bc6bc79524e6a06694e9faac5e54d96bbbf699b79baffdf7ddc41b36c3b0a0d31545e09dcab9e915d69fc20198357723ae5f SHA512 eb6cebd24490eb5e6e9c793c478aa7fc2452b172913213830b0e4a4f934790c7523de807974456ef745078dbceede85428fcc7d4ec6d69afabe2e13bb8b50836 +DIST firefox-153.5.0esr-ur.xpi 429322 BLAKE2B ad382a9cd622f235fd80aec23406cf639c8a1e33e965116032e2abfe1f6e18f9bbd4afcd0408465b734e1ef0cb9ad9f799afc3245f0d763fa786013c0f846eb7 SHA512 65ad9a48b3fc39bec3d9b8fd49a4249631a69cf663a7d23ad184b69230433df9392d1ef1f5f7d91dc7f71b6fafe151fd23075e7b0bbdbb8caed460a271b3cd34 +DIST firefox-153.5.0esr-uz.xpi 376302 BLAKE2B b486ba7da6842a4cff87806df4b5112993fbf5bf688f53c7c1698d73b55340c8f23f77bb053177989e20799e99778bf596bcb6aba46ff9b0d815aa8f2b995343 SHA512 ab5170ad2045c0ed417c17f7ed1c745f3063ab1c3b588f4873fb331345007dc75781e373f612d4d1d33ee4f58a5a16e709e7bdc7249b53d3f645016b7e4f841a +DIST firefox-153.5.0esr-vi.xpi 527411 BLAKE2B 5ad3894e16285f6e8c0343e39d389321e491ec98df40ed03e6492019c648b900054fe285b82177a48fb65d617d4f2bfea2341513ef6920ee574952222d830250 SHA512 1c0d5c38ac552060cab231a19c777512a1207e49c82e7108b71832ae7c3fe82e71a5ca29a3fe3cf96d65655bc245c5ff086e518070b517c2722b55d4228d223c +DIST firefox-153.5.0esr-xh.xpi 355202 BLAKE2B 869e12d2e2e7babe30102305e5cda52273820772eb0e05cf9f81aa8132c3d3fc2316d220776b35bf4d8ab7f7496ea7cc4379c4383b708aef53abbc3c9277df66 SHA512 3d7a7e0fe8aa1cbb5837ddca1b7b0d9a39279dd82bc8e61148b1adaf5df0aeb03b1fbcaa5a77e7cd11b400355f217c417cb6b1c9cf3269ebf61933cc45661b86 +DIST firefox-153.5.0esr-zh-CN.xpi 514313 BLAKE2B 032a76ef07dd52b99a26fe377d7c281eb0442628b86ceba668248d7aa03e1c73e98685dcf82a089e65580842311811a07df0c11b817a0aab0a04dc032d7f3604 SHA512 6643b9bb16c883c9cdc709d1bc34866f0da9f5a9abc36cbb4a07ef12c2241aff9d542149e6eeefc61c4662949b1360031d49d778ad8d14f1990dacb3a596f4bc +DIST firefox-153.5.0esr-zh-TW.xpi 518949 BLAKE2B 300f0bf9381e296dadb1bfae2052424299bcffe3ddc5c25b6dfeb981f89e22d169b1ec4598554ac1bfa1d7e2a26765f665cc9569d00d6231bc0903f6619a11a6 SHA512 12cce46ccbb6616bb18888a69dae0e16d6566d5d428741fb45148099008d4dde956f88715efe5e2a3f4fc46b4f677cf84f1f22ee05c22bddd8858f68377744cc DIST firefox-156.0-ach.xpi 371199 BLAKE2B 487a0a026c7f4c9b2ae5a90cca9623e32692722f8283f86a5e0cd68255e57be5820ac3a78c5f0c8259c68d2034e0d0a66fe75c0bf7e1b311709b10cc38f2a904 SHA512 628077283a37ae8f764ba373c2f60bbdb749f867230aaae1040a97f8a43f4a2c7f7d993ef539d013b8b6bdcebdac2683dd9be034766f9e34733bf6012bc391d4 DIST firefox-156.0-af.xpi 357416 BLAKE2B 13165df29ab56b34a20eac5f20d4b815f9fd80ebf4838807dd444be09a3c6884e7b069fa0f7c35f69213f69e651146bf09d9ca57a370775bd224fcae662f5c93 SHA512 735e52d63f84037ecae2043481eec725e3467ce58cca5c74a97fe2fbb8696bd134ce8c221a564b0bfe52945447deddc7536856e43b229538624ff3aa26228b8f DIST firefox-156.0-an.xpi 400004 BLAKE2B a30fe48bd33fb97792dd9ecf41ac07f76c5010665713ae4b379a787b87c16ed7f64d33ac770050e6bb8e0852a36840d2587c1d73a74e1b14b6880b8f8709e70a SHA512 16fca1b3d5755e6d5a6adeaa23a3b078e78f5d5f7866dd167f2c95fd0fcc69813bb78cecf081a179aac34bc7a11eb8b177bb5404f4b019bdb359d5f815e48338 @@ -777,6 +874,7 @@ DIST firefox-158.0-zh-TW.xpi 551876 BLAKE2B bc5d320ff779a5f57652e75d36bd6ef6bb78 DIST firefox-bin_aarch64-140.16.0.tar.xz 67074056 BLAKE2B d355652b67d1c8e58f7b93438cc753e24a4b33e8dc91ee67b8f39d1beceed30f2876e8151b86589dbc892713d876cfcd143892bf831f92e2abd0691dd522bb74 SHA512 d40646f4dac855da65fa661a2a2214c41e3b23b310b7d7cbb93a245ebc3ab3d9f52102ea084477d09be17fb13f3c799396a311675b050500f1dfc8678fd3de41 DIST firefox-bin_aarch64-153.3.0.tar.xz 74221148 BLAKE2B b9eda0a5e59b0a1933811600509ed71f1811680da6ae4c1abe15ce9447f13ae76ff43c36ae6fe1bd9dc4ffef1c3b1ddd701d04f26b6f938372d31e57bf817e8d SHA512 8c29628c34024bd7b96953840bcf93843dee23056b46aa574da749bdb10c26129c967e47d8ebbf8f3003dcd79b71630d0190c9f841b957e09d48c7b6a6eff7cd DIST firefox-bin_aarch64-153.4.0.tar.xz 73914588 BLAKE2B efe354cc3a9bc6dadccaf9514fcff418b72ecdb48a88de5b6c2b1082710ec90476678324a825c6c7d1f88c8691b2c99c63175eda43bcea7ed0c12123b7c6dc93 SHA512 de1ab2b10600fe5a0b824462499aa38faf3154985331d1ac28ed85881543686a966ace7a9583c1c1006cf0164ee9cd3bce8c74a9c9ab1018e279dd6ca643be5e +DIST firefox-bin_aarch64-153.5.0.tar.xz 74115684 BLAKE2B a00c1265e39134639550185d9f50457724b346dc269cf4711b793477b5e72b12b951e4d6a83131fdf021c7ca4c3b4d9c6a584654f1395bec2c3b8573b55e7cc9 SHA512 8e8635ccd8eb7b077d851b22ea569b1f3a7cda0b143d810c452c4724a4793967b26ec5fb5ced2ca5e97dfdcda3245ecb7b013ee82e043bc46f6c78d701bc5a54 DIST firefox-bin_aarch64-156.0.1.tar.xz 75688636 BLAKE2B 30c80c201d2005b79da542f81a38a68884070c0ba1b743e8d5a470ccce15a01a798021d8f7d24feb60091cf644424eb3c3dd87465edf6caccaee9be7614edf06 SHA512 4eaefb1d354334ebb5cfb957a6895d5b16fd817ed72c38ad228efa16b5e8a46791a5e0cc52cca17c55ce4c2d60edaf9d50233e1d4b274456f2331a6da582eba9 DIST firefox-bin_aarch64-156.0.tar.xz 75681124 BLAKE2B 5a12716fd738e73f1a0ea2f4c34cc41c31af0245025b4b51cb1788a16855387a97a6a09b0dabe68fc0a9a513a5428b5de9a8eaea7b4d1a881cd02bb7fbdb575a SHA512 1d3eee6260ec477bcb25cb2fb41391265c2b54e4039de04037f207c70a12a28d7c341afafcacbfeb2f2a467be463408c0df50f6a63835d67f4abce6ca4182f6d DIST firefox-bin_aarch64-157.0.1.tar.xz 76573624 BLAKE2B 19dd886d675eedab2a27efd0444fb0c1025a79e5f58c6254302baf4472756cba0b23d1baad4facdb6fa799695da3a345c4eaefb51d7c92fd3db1dcffaf021d37 SHA512 8d8cea53ceea62b1f11d4d4345190a31611e90a7a3b921f096da6515bdb0ad60e5a311a06a193b67fc993c18debf78aa67aa314de685da9c66bb9b4d0640d422 @@ -786,6 +884,7 @@ DIST firefox-bin_i686-140.16.0.tar.xz 79099264 BLAKE2B b777483a97dfce6d7fc04fa9c DIST firefox-bin_x86_64-140.16.0.tar.xz 75357768 BLAKE2B c7578797de24e75434a6ffa3a1ff9d2ea9185489adc7d4eded5aaaeda7f70eceec126f7216c99ecfc8b6971b18fd7d54b6de2a07986e9f8097765ead5b0fcbe6 SHA512 8052ecc33fc0a15fb0fd64b84c024cbe25b0f353090843bb2400536baee956a45daba2019c7f3a7f0a4b7862a7868e8c66bb63f2dec11af9bac89d9bd1dfb567 DIST firefox-bin_x86_64-153.3.0.tar.xz 86440152 BLAKE2B 0342fd355e8d350db641bcf739761a3bf477f710a6ab696005ba7687dea7956796aa82482cad58dc992e878b731502443a05a56998882afd30b4d02961a62de9 SHA512 8514dda74bc79228f073e89afdd93e6f69bbb5c38ae3f8ebd4e0e58c1cef20c6a792815534f3fcc371018792541a396949bce396fbbfea31ea2bcebaeef65448 DIST firefox-bin_x86_64-153.4.0.tar.xz 86477376 BLAKE2B 3f8050de58e7d072b2d483c0810ee3660f186086b6ba4cfa4ac79fcdc4e1ed220aa569d098afee525895ef4f6c2e2d1ad07cabc174817f82820d81dfe6cebabe SHA512 ddc705a71bce6d9a8dbed50a99427cb76c2115f94d6d62cfbaa3d37ec009beeb28da293bbbe838ebf663cfe8876ab80d699086717911fc18d7cd8c722c84431b +DIST firefox-bin_x86_64-153.5.0.tar.xz 86246856 BLAKE2B 990a11af6fdfa19865ed3b0c911225f19d6c44ed31b00de98f9dc4a5a4a432d3da95698ecabcfea6edbd3e1ce311f3650631ab0e90af013258086d063006df53 SHA512 322c4c9f1768e1406bac8ae12b407c504727f3747c2d462ee4c7ab1aee4e308caf837c6d516ba72c40b9f3bb3ec07bf22431bfb2f3e3f0abf08a797baeae01c1 DIST firefox-bin_x86_64-156.0.1.tar.xz 88308892 BLAKE2B 3e75ad9feba566541f9026cfc57348044b7587f17321b891b4ef57d05e40d1a9592a20114bf908235110980533b782ad3d2bb5d79dcf5a5ea16ee6bf9852fad7 SHA512 7f5894d1c97a7b9be73abd5c6b25c76eaba4a154b3bbb46b59f1f05ce80790a514772c72d30b8924d6d6b95dcebc12c188b2fc47de74fc050788dbfbdad56875 DIST firefox-bin_x86_64-156.0.tar.xz 88279348 BLAKE2B f33d8c383694be578c6bb451d66bd86a1e6623047fddc471555e6b03f3dcff4f5d4daecc2e21c478b79389b2a466d84d1f5c2d759d51d09598fd1267e758ff57 SHA512 0d412c90b4ec2a0b0690790a864a17e32187a32ecb2a616fea49b8b9f193f4225ea220e476cf220fc362d5322bee5e9f515a3b2d52e224c9ac659980942465b9 DIST firefox-bin_x86_64-157.0.1.tar.xz 88413848 BLAKE2B 53bd804c521059fb7a3b01d3e04ec7ecb4f2e06fa27b98f35f0d2fbe1cd3a8de5b726065b1d3dfa014b4b8693c482f71f773f7325d0410c4f5b905b80c2d2c41 SHA512 ebec5e5c91a7c954a0f276928748bb4249e2b44bccdcfe6c7d7b4ed9c64ca6891a56cc8a016546bfbf1ca537dfe6084dba8f2746037c62fae0acc13a542421f3 diff --git a/www-client/firefox-bin/firefox-bin-153.5.0.ebuild b/www-client/firefox-bin/firefox-bin-153.5.0.ebuild new file mode 100644 index 000000000000..8dc69242fdb4 --- /dev/null +++ b/www-client/firefox-bin/firefox-bin-153.5.0.ebuild @@ -0,0 +1,359 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +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" + HOMEPAGE="https://www.firefox.com https://www.firefox.com/enterprise/" + SLOT="esr" +else + HOMEPAGE="https://www.firefox.com" + SLOT="rapid" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit desktop linux-info optfeature pax-utils xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +SRC_URI="amd64? ( ${MOZ_SRC_BASE_URI}/linux-x86_64/en-US/${MOZ_P}.tar.xz -> ${PN}_x86_64-${PV}.tar.xz ) + arm64? ( ${MOZ_SRC_BASE_URI}/linux-aarch64/en-US/${MOZ_P}.tar.xz -> ${PN}_aarch64-${PV}.tar.xz )" + +DESCRIPTION="Firefox Web Browser" + +KEYWORDS="-* amd64 arm64" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +IUSE="+gmp-autoupdate selinux wayland" + +RESTRICT="strip" + +BDEPEND="app-arch/unzip" +RDEPEND="${DEPEND} + !www-client/firefox-bin:0 + || ( + media-libs/libpulse + media-sound/apulse + ) + >=app-accessibility/at-spi2-core-2.46.0:2 + >=dev-libs/glib-2.26:2 + media-libs/alsa-lib + media-libs/fontconfig + >=media-libs/freetype-2.4.10 + media-video/ffmpeg + sys-apps/dbus + virtual/freedesktop-icon-theme + >=x11-libs/cairo-1.10[X] + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-3.11:3[X,wayland?] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXcursor + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libxcb + >=x11-libs/pango-1.22.0 + selinux? ( sec-policy/selinux-mozilla ) +" + +# ESR and rapid dependencies. +if [[ -n ${MOZ_ESR} ]] ; then + RDEPEND+=" !www-client/firefox-bin:rapid" +else + RDEPEND+=" !www-client/firefox-bin:esr" +fi + +QA_PREBUILT="opt/${MOZ_PN}/*" + +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or +# overridden in the enviromnent (advanced hackers only) +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) +fi + +MOZ_LANGS=( + ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy + da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu + fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM + ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my + nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru sco + si sk skr sl son sq sr sv-SE ta te th tl tr trs uk ur uz vi + xh zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +pkg_setup() { + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + mkdir "${S}" || die + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + MY_SRC_FILE=${_src_file} + fi + done +} + +src_install() { + # Set MOZILLA_FIVE_HOME + local MOZILLA_FIVE_HOME="/opt/${MOZ_PN}" + + dodir /opt + pushd "${ED}"/opt &>/dev/null || die + unpack "${MY_SRC_FILE}" + popd &>/dev/null || die + + pax-mark m \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN} \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN}-bin \ + "${ED}${MOZILLA_FIVE_HOME}"/plugin-container + + # Prevent auto-updater from popping up. + echo "This installation is managed by Gentoo's package manager." > "${ED}${MOZILLA_FIVE_HOME}"/is-packaged-app + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js all-gentoo.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.js" + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${ED}/${MOZILLA_FIVE_HOME}/browser/chrome/icons/default" + local icon_symbolic_file="${FILESDIR}/firefox-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^} (bin)" + local desktop_file="${FILESDIR}/${PN}-r3.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN} --name=firefox-bin" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + # Add apulse support through our wrapper shell launcher, patchelf-method broken since 119.0. + # See bgo#916230, bgo#941873 + local apulselib= + if has_version -r media-sound/apulse[-sdk] ; then + apulselib="${EPREFIX}/usr/$(get_libdir)/apulse" + ewarn "media-sound/apulse with -sdk use flag detected!" + ewarn "Firefox-bin will be installed with a wrapper, that attempts to load" + ewarn "apulse instead of pipewire/pulseadio. This may lead to sound issues." + ewarn "Please either enable sdk use flag for apulse, or remove apulse" + ewarn "completely and re-install firefox-bin to utilize pipewire/pulseaudio instead." + fi + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" \ + || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${EPREFIX}${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + local show_doh_information show_normandy_information + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + # New install; Tell user that DoH is disabled by default + show_doh_information=yes + show_normandy_information=yes + fi + + if [[ -n "${show_doh_information}" ]] ; then + elog + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):" + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all" + elog "DNS traffic to Cloudflare by default is not a good idea and applications" + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5" + elog "(\"Off by choice\") by default." + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences." + fi + + # bug 713782 + if [[ -n "${show_normandy_information}" ]] ; then + elog + elog "Upstream operates a service named Normandy which allows Mozilla to" + elog "push changes for default settings or even install new add-ons remotely." + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or" + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security" + elog "concerns prevail, which is why we have switched off the use of this" + elog "service by default." + elog + elog "To re-enable this service set" + elog + elog " app.normandy.enabled=true" + elog + elog "in about:config." + fi + + optfeature_header "Optional programs for extra features:" + optfeature "speech syntesis (text-to-speech) support" app-accessibility/speech-dispatcher + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + # optfeature "ffmpeg-based audio/video codec support, required for HTML5 video rendering" media-video/ffmpeg + optfeature "desktop notifications" x11-libs/libnotify +} diff --git a/www-client/firefox-l10n/Manifest b/www-client/firefox-l10n/Manifest index 6ba30cc64f16..ac56a61643d0 100644 --- a/www-client/firefox-l10n/Manifest +++ b/www-client/firefox-l10n/Manifest @@ -198,6 +198,106 @@ DIST firefox-153.4.0esr-vi.xpi 527395 BLAKE2B 06f5c07fc0e3c7a62092668f9237c5124e DIST firefox-153.4.0esr-xh.xpi 355191 BLAKE2B a8cabc773848f05cf86e03919f729f1412320c166e007b4679341139cbd99c88ba587e987b2c82f96ec4f09ee8c484d2f7e34ea067b95d3ed89fcd2c41e268b0 SHA512 4d0ef9571216b8e124d7d49170e182f7a6d3ccdf627cece5c034d146a736496c19ddd6e8f2d30f33157c153eba00a424a1a9511851ef95d22bb1eff39b84c322 DIST firefox-153.4.0esr-zh-CN.xpi 514288 BLAKE2B 369b3651af0a1e0af9832b42b75929d5fb1064e4490d4a89d529a1143509fa9eefc276cdcb72b1161faf5ddc6aa56b9d978f7ca78965d4df4c0fc752f8fc83b8 SHA512 84653cf44373fff301351f1df8b206086af6dfa9b15ce6d3b77980664833235e84405462fa499167c5c7ed5580aee1dd77d1298373ee7ae288831463721980a2 DIST firefox-153.4.0esr-zh-TW.xpi 518922 BLAKE2B c22187c2fe07d79de95c86b2651ebe8583509dc3c6b679cd3abc6519d975b5352900e42a0ffd3279a78f33f74fbde70ebcae5be7034987913f70dae0e4ba7f92 SHA512 a81d0c0659f7147b2dd099f9715e9c38d66486043a5de9d8a856d376a5a5769bbf4fa619c557c79efbd9b4556e7dcffff8832c0ec4b4123a112d6725323949b7 +DIST firefox-153.5.0esr-ach.xpi 363924 BLAKE2B 5d0c84d636618e9b363777e62434c4f2d2911b57c14f29ea519046e4f5c2d055e2173e6e656da315bc05a6b6b035391db7bf865168e5919face3531d0f30b60a SHA512 ad535bbe306957f698e7fa8317a3c9d979963b29c96a9e62a0c2b1acee70bd36bdf8c8b9343b44f41749e09d53ff7d53defa591eff1f910280815ce463b9bd49 +DIST firefox-153.5.0esr-af.xpi 349924 BLAKE2B 324572fa9586c04e4914164c0a984c828e4efac8887c8345fabaf649ee58c5af25cb7306265efa031cf99a540d835f8fec10ae69478b6d6c156072f50042aded SHA512 d8cb5aafc4b54eebcd39a68291a34df4fc04390791c80cb70741fbc4e20895aa2c229fa6bc5d70ced0bc020668a87747736236dea40477926bb420c4cff72cea +DIST firefox-153.5.0esr-an.xpi 392274 BLAKE2B c945b08c859539ac9cc4928f20b549a75ecab4e12f189a348975c7caf8e61df0d7e7f8fa44031894b370e08b10b1401e5c08445423a8fac10ec8355553613268 SHA512 3825a53013a08b296d69ad8fa85e778ddcbd69087736c46e818cae2f73b39a0550972d6b045aeb8a2a0ca152cdafaf6c18a694ff9db5fa602582305da663ed47 +DIST firefox-153.5.0esr-ar.xpi 532703 BLAKE2B 9f87ae2f4d65a21c9e19ccd689a5eb1db604c8823fd34bfc9a5e6f22acd46b6129c545c06c00141b8174c6390968291c72be51b783de047091b42efb5637efba SHA512 0ec26686c8214658eb825e0f8096009f1ddcb936c65b3dccb72c1e61cd1ebe511e6e9927f51e152ed8460d48e80194f38ea9dc86ce4b27ac8371a639e6675f52 +DIST firefox-153.5.0esr-ast.xpi 387218 BLAKE2B 727b8a5357740d1d72ae4dfd8d218271c4b0a1626e2ace93f325c6b262420f07a1b4b8ddf3353414a6ff56a26849afc7f7f00c3c3dbb0b90e202829f063e5b4d SHA512 9db501f37e6607d3fb98623222b9f3e2d11906f20aae880ae8e86de14a32dbc61903aaeded5c89ac6dc19f8a4884d1da9c4b042c45550d58a4c962b191146497 +DIST firefox-153.5.0esr-az.xpi 401993 BLAKE2B 38f08dc0168c992923bf013f050d4cc8a9c22a59678fd4b7cc651361654d83dc0cc1cc3c4516e95db02ba044fc949a76cacb27952deed48cb8384a1dcc137d8d SHA512 ad8ec473f1f63743ab728829ac88a96d069a3a1efe2c204270cfbc97a1ef139ea0e82a9e2220181dcea232a20b707d4091b3a0ee4bc2165ac3ef43a97356795b +DIST firefox-153.5.0esr-be.xpi 586058 BLAKE2B 1400d25566d6eb54e4882d6352b1014d3f4fa0acc3e527b42cd6f8d44d6edfc3f47bac0099a4566b3e2ee560ebc5397760e38a9042f28423c518cbb5afe26485 SHA512 619204fb71c81d5b28de3605244f30e4a5d055782c506e42a18c103879fe788536009f0303158f5c8ea7ac94da47025c984d116b408d81855e60fa99b19dfd12 +DIST firefox-153.5.0esr-bg.xpi 512581 BLAKE2B 47e30c94e7718605bba1fc4b9c58f7fa5f53edeb430545fd881322bccaaa6a8acdd0c15324ff8afa10951a74ade1b91627642b1cb53c53e9f18f90d9138ef61e SHA512 fd21ebef66434099c028d3ee901c6de94dbdc0e27b619580e6858372e9e722b3c35c58501e697659417c6d753c089d89608b2a9b886dd9ce66a246c6702c5f70 +DIST firefox-153.5.0esr-bn.xpi 463567 BLAKE2B 54fb16ef8516c6982b09222a76f5d161a945710e8119e474915eb1086a987501469489c2846e18cb9ffafc9d4e5663597b63fbb08e7c8b269e39f90239ee1773 SHA512 89d814ee55fdf007f511d805740322d0c7694e1c520bb4e881cbcd8134c1e33ac1a21adbec04e017fcb5f92163e7654b44db27ba056e0564e731a1ef9e44107a +DIST firefox-153.5.0esr-br.xpi 434119 BLAKE2B 9fb841c54071e4f29699e61383197dd6b893ec72e700bc7946dfe4e47c4b49d98f5d3d7bf2de4506a6a372316152a605982e454b7e1d289f02e016171008066a SHA512 b0445facb0033f488975ccd84ee6f2c8ea32ea47da28eb2e7d6ba406dad5597dd9431065dc80522f4b5384b1cccdf00a4a0d6cebc9295aafb4926f184e3cabf9 +DIST firefox-153.5.0esr-bs.xpi 470365 BLAKE2B 5a4d8bcaf76e16a409ff8217f415b194e3448ab4ac17f60b451746ce76e398370ea8d57a881b793aa38257f18f416745889b1f4b6fe15275404a2fe8007952a9 SHA512 2fc05fa30cd97a3353a851b65acfdd10f71dad069a207818e1f5379bc8f551ad3b9be3de3657d34811ef3b82689756970c8ae1d4c2d26fc3653167ba600cfea3 +DIST firefox-153.5.0esr-ca-valencia.xpi 412872 BLAKE2B e21b4dc884cb3bccc37b3bd69bcc8991f79f6879cf9414e5b6be5e6c24c962b5671286226e74c289c0058f61d9893f7184c9850c8beefbfea4f90044d827e777 SHA512 1de5e584d8b096388eb9a11df4cff79cc10cb03b43bbcae9c6be9a877cf3232ddc84b3d811a635d6774f03e5b79ea919dad685722a198fbbd589cf78188af5bb +DIST firefox-153.5.0esr-ca.xpi 484682 BLAKE2B b9b41f701ac86153d9b14ae47b9c4707033a38256cbb2ad6cf1f118a6c437f9f2ac40d102695edeb999fa8f4844b7e6ddfb112542a8338e6624c4007f8236e5e SHA512 662a5a195e374a6ba3a6c7bc887c60d6907efe3b80fbed1d574b78cb40b186407eb8814c42da74e304d514c9534ae53b035586293c35216b268c9cb4f161f6e3 +DIST firefox-153.5.0esr-cak.xpi 435864 BLAKE2B 20d98dafae9c645f59e4f305194a2e3c4996c0c7c82fafd11174c465ae0cb8063111f7478a5c3a140a6494bd870f5cfa6ec000a8026d3b77a2361ced207c3a8d SHA512 d6f1f7dd9558156250417b1bb0a623582d4abda5a2c46bd3568d481b9328d585acd640d73f554d785f2036e7055e173af6baf6a7f0a1cf5bc347bb1b818a97b2 +DIST firefox-153.5.0esr-cs.xpi 536423 BLAKE2B 827da1c44126806f5c029769d9fb05ec8dee944a657139501f0dbd23fc2d4d2ab69867381364f76abff2d8ef86cd9b20efc565c2db530ccdc07b7139a1f7b0b3 SHA512 7a4fb283617475eecafd86ef4b9379af5e1b9cfb9e8b955db256b813681743a0c3e55f0c6b3b8f47a246be01e21e0b3cc8226707fb8988dc2e7d97d541b8fda5 +DIST firefox-153.5.0esr-cy.xpi 496796 BLAKE2B b5298a210409c11833ee71a5bc1e89e1ba98a6173b9aa7ad8c045a8a47d8cd69f6ef55c7b54dff762f54f741c992d35823c58aadff5a419b0dc71f9c040e0837 SHA512 a059e3e5db0115c451558d8e3eb7f852981b12f95dac8cc33906f2cc6c416c972c404b56ef6bf11a5c265edb917aa5d97628f4b64891c3964e0dd7ffa022f415 +DIST firefox-153.5.0esr-da.xpi 478175 BLAKE2B 14c80c3190c4464ac5ab3178ef4d43b359628f469c5f354a504c0482f2a7612530d50e80132a91d6dea0727258a19145d8d244884fce6d04a20bd20fb28f96a3 SHA512 6497553620c4e18b20d3092ae2d316125348b64bdffddba04ebd018f1fbf64b2711b83cf7552174c6e2ba49617c5173bd4134c546d604eb3acb7a8a871f8d0aa +DIST firefox-153.5.0esr-de.xpi 508133 BLAKE2B d12acf8fde46f3bc1dca670981f7e55de140b7816aadf60ab41a8291d6db01d5d21574738252f98f0b63fd0106d616f11ad30e196c655e85a97bfd696e948b08 SHA512 a7ae909bff96a9b0f3276e0e354f584315ef3d79a3119da4748b706d26e5e08750699ce8cc344f65952816b1777459d9adfcaa66c16fadf157b4fb82246f08e8 +DIST firefox-153.5.0esr-dsb.xpi 522638 BLAKE2B eaac66433c2a33c68297115b3f95dd02cdac2338ecd64692e5b323a966105eacfae5b76d7cea9b5a8cdb010805788403c8bfa9d5acac4661ab0ff49b9750724e SHA512 0f22ec1916f594e5e72e922a783521c9fb9b62f8d3666163973326944ff1a2e1248e647a208e7c6bd34b0cd5312edf039816e16f9e5c37bb8414e49c9c209595 +DIST firefox-153.5.0esr-el.xpi 601955 BLAKE2B 1301d56816a626dc4fd4d0d1c08d62873b6ec472ed669f205a7dc30aa54091aa643a8cd1acc7b9b340d744dd559de73dfa1e1fd412307e09eb82299aae0919f4 SHA512 91896b3b19891f33d93cc4c964eef05ca6af9096459ed9a8fa2264a50e77b93c5da1c32b3247164423669af717f51b9fea7a165a24cad7069cb42f415d2334f3 +DIST firefox-153.5.0esr-en-CA.xpi 459568 BLAKE2B 18d970a06b40302d5b0867707ecea79a0798dd0b799887b9bd2a461fee57ba7885ee680cbc90645d45ff6b82246a4e196c516cbdfe6345ea209e04a2ce118ac8 SHA512 8712c6146ee03c2e1845f79caa2d2d65a699c13a9042c2c85b4ec842fd8982ab9af3a310bd35152c6276d343711361b218b31390ef83e890a84b2698312750fe +DIST firefox-153.5.0esr-en-GB.xpi 459918 BLAKE2B 12f6b9da339e1bf08b7fa5fb5958be798b5653be52c02e647e3c093748e797ae30e6bab9ac5ecf830b9f7981c9e19b1c0944a433f515df35822d84c502d56fb2 SHA512 4eba8d730eb8d6949c82d8110e35a270b6d486edbd89aeb9d6edcece0e6f090e4bcab333c78b6b9b4b83e83e0e03ab2a1fe3b8ddf0c69a47ecb33c4a76b6af4b +DIST firefox-153.5.0esr-eo.xpi 485896 BLAKE2B acd1c8d0c0d5602c56f87b4e27d80d7ff12ee93ec3a139ebd170b0c9aeda1dfabb25f91f0c18a0eadc75176bc6da9b6274239037135d2cc2ee676a1c8130e92c SHA512 09d9ef42f48fca3c624846822f8835e9fca6540cbf4fc7a16935a3493b016f518c4af3302968078754c06c8f19dd4b3afbbb9a8955e9e725b8b42b15c7d6db3c +DIST firefox-153.5.0esr-es-AR.xpi 498423 BLAKE2B 0b660177a6d863d4abee6e79ce57e6e08d3132a33168aa54fb638ea8a3f29a8bbce9d06658f0a4c26c0ddafa0109a6552210279e7740a1082354080e90566a6c SHA512 5ec7042ae41f290f9b6e2419527c19e09914092cd4c07ddcf9e1e61751da424a85d6f3a02693aa4b2eecd1ea5fb0175687a902b369b143df87dcc682ba5ce574 +DIST firefox-153.5.0esr-es-CL.xpi 500175 BLAKE2B ed839e5e682982939350c9388f9e76500b4e5833b751d4f6e07b1ab00c3defbff26a17fa50ac5b02f7351fab0d6c220a6f1de06ac4e61b4bca6ee4e3ef97bcb3 SHA512 c570f56cb2d89cc9b4c4ab47dcd3c7237828be564233d21448433cc6c3cf19c3e4bb79a2e22ee4f601eea976e7b648dc9569528f5d00fd6917986a475a3f1d67 +DIST firefox-153.5.0esr-es-ES.xpi 500419 BLAKE2B a1038f8269c9ddd53c5b9e6452a04dc8058888952842cd39a882b259ba870b0c7424a9a8b36ac427564453dfc1125a2ff7eef1464da08f13fe502c7dbd9b0e29 SHA512 565655a41d05dc725d9d5586f5adc8497eddbd602c70c5075f1f1bfe3a7d9e796e716e18f0154cbb9ef79607c6a3a98bdb04a50ec16ca0a8ae8381af430e5994 +DIST firefox-153.5.0esr-es-MX.xpi 503148 BLAKE2B 93c0956e60087fa9644161572c49c91e407a96ea87b505deb74be087f2649b42b96f8f9ec3e5ddf7e30c6ff6d7526404ef6d917044175be77e6cad17cea0fc46 SHA512 8dd0e0fbc882be85fb7bebd862702095c68e35561f6c7eb5fde171034275f31d21b2bf6bdde696d05bdb5d9e5c3640297c0e669c3d1b401739d5b2e7e1f6b53a +DIST firefox-153.5.0esr-et.xpi 402907 BLAKE2B 4b82463609965b3bc9386f4b7ab5557ba1fdde676063183180e5ccb33e126a5d9b35e9941cfcd2c0dfe7cff5df09e17d2cbe2472753c03bbe4386457a18a67da SHA512 1bba9cc14ba6f545389097a32cfd7149113bf6833bb57af541eed061858a7012cd2bb483a3ba2fb4d72e4062974b2985d8a4aca8f905de8c019aa6d838834129 +DIST firefox-153.5.0esr-eu.xpi 486107 BLAKE2B 592844ff4f2b32987798633bdae8ba5bf09f991d3352675bd11261ed05118ba31fa1a718ff6d97544d05f033890181d9f1dd5abfecf54b7e00af2eeff4258f42 SHA512 c1af38b81e49ef92afaa011f37c5d8500283f0c2521c03227ca883958003ce6269f5bdad6cb9febb9e5717e7f6780d93e6ef92d7ff310c8cc457876b79822046 +DIST firefox-153.5.0esr-fa.xpi 549299 BLAKE2B f6454cb175917b41848efdd0253628c82e234c8320af27e3f1121ca1370243602047073f6da9643c300d3ec9163c1f7d833f9341fc4565ca50c300c8f0905dca SHA512 28614da8f87905c7c0fbd43987646834f6a91ec49658ff6552dd47d9a89238be4da09e3fa763d082d9a746ef1605c487c445c2fea6f09d46f3298e7a4db3b49d +DIST firefox-153.5.0esr-ff.xpi 375240 BLAKE2B 8cac14d722121a36b6b5ab6e82da4d2160c1ac5e812d75a9d1a911262a02133f9dc50ae6bfd63049cccd7c3a275c85cd7e145e29ecdf6c973cb9a990a50ca940 SHA512 5de448b789a5ca2d42b194806c3509e557d9f2b45d64dcee086743843a358f9de0404f57ef4ef543a623fe59decdb12fd949b3eca85ae777bd3b70d4c72989e5 +DIST firefox-153.5.0esr-fi.xpi 487506 BLAKE2B facf7096ba4218118a9ead448ebefa34ac07e4e946167793410a23ae77aaa74550f1e8351e186fa0fd626869f1412d91b6e9ca4eb3abd5b3e83a3482b703957b SHA512 91cfca64b162bf4a670b064299d2fb0c5d0fbb23ae714391d4b44b1b7fc896b97a362554990db4ccb278b0e50b18501572ac6ed01dbe752f7fcc2b7665686f76 +DIST firefox-153.5.0esr-fr.xpi 513948 BLAKE2B 2094472d474fe6f0f042b31fd077aeccc62fe5fc78d9cb9ee6a7cb52a9989fb26cff8674a4d9f4638e16e8af34b1f6c9947df04de532f6a1b588218496f79e78 SHA512 c8f0b0fd1069365bcf8d69c28e694943463781be0e098680a71d301654e822d744a8e3c79f5658a015e82e2e897f55424f3fe5d73708ecc4e8746b6fcf98085f +DIST firefox-153.5.0esr-fur.xpi 502497 BLAKE2B 3161914789a41a9a94492889b3316fc43dc56def864cfa0b5d78c5ad8eaddfafa07c974c7c0e9a6b01749206763c16d795ca160be251367857fed8bf8b839320 SHA512 acb79873271df61974377e47d4bd85c1dce9274b7041db3a0c22b6915570236df8e269431f179041431a63aa3dc70e0bbec8911e515cba436f0fce6745ad2aa6 +DIST firefox-153.5.0esr-fy-NL.xpi 495098 BLAKE2B 7e74158f4c75142cdf3fa3ceaa5abd4e78a7e1a5f560c9ce72556e35413523f6e70c2ea9769a378956c441e4d82a87d44df852bbaabe3b203556a8b36e38e666 SHA512 e651d6f83a361d73839a618f4478591568ad0cb2294cf5402dc2a29f0bbb2d1c382d3511001583bd1180b117e5a892ae7778960d98d917295d5bd773ba05c00f +DIST firefox-153.5.0esr-ga-IE.xpi 386508 BLAKE2B 60a815809e4332b2fd67c7bd1c3e115e287b13633919d04dafee0f1e8c7340782357ce377af0785b2c6e8c86cece11b9000bb413375c71b920182d991c6edc86 SHA512 647fcc35758839c34847dd989bc2d9aa4334d91a434b31ddea772b0d2b7fff99108c87470e2eebeb252c4ad77e98cdf38aad919b7caf20f2fbab946c7d58192d +DIST firefox-153.5.0esr-gd.xpi 444737 BLAKE2B d8cda577e9266f8ec67e734c2debac583bb30567b5e99d0e4aa1668f773f4922aa3a100ab9c151f6a3b6f0f119bb47159b2ff13722d8c399d0cfd01eebe102c7 SHA512 e5b6d5b2ca577e180f9b6949ef48d5e5a2939c98ec4ad0a7c40b419550a0367330b0120b6fa43cf4df5eefa026a4247e64e053f31c0efc15354f82766b220eb1 +DIST firefox-153.5.0esr-gl.xpi 466623 BLAKE2B b2ded5df82305660e6519e80d221dbd198a3f67002fcaea90670e76f8ba713e223d03445f33a80b81768a69407e9eba101f39e392232e7574ba2f8ee112b1bd6 SHA512 a97522f974b1b6283612538b2331115c1cc392c160eed8ada4a3ece45ccb11212a6df7298ed69395c926358fcf020efd66adf36bd18fbd61408f145c52fb2de8 +DIST firefox-153.5.0esr-gn.xpi 504753 BLAKE2B d11a575f394c8f206e73ba3e50d8b71b170b504cf37b3bc93639619956f851ca12020bab6479d99371ba5ce758af869a1272b5a3d3a4806262a1c3bd7f087cdb SHA512 fcf7446551e5dd7e397892ba8a29f59ff0533d8320aa461cd0368277e8540014611e756b95d8840a10f1f8d290239717b0448d3ece9d61f4ac4ad2332b406019 +DIST firefox-153.5.0esr-gu-IN.xpi 421856 BLAKE2B 4caa92259cee2700b1992dabbebf8d179a390b8e60057db47711d28a5046cde8bdb87634196f7808e12408de3f7da1d7c2eba0b184b35db7b2d1a1a89297f019 SHA512 77d1c09a3de21e0ba704097c11f8a662698e31605ea2a4048d437a16dbcf98b5ad38fba2cb40eed24998b42e5532ca7b0a4b4d268a3665f9ff36c7fe1783ec18 +DIST firefox-153.5.0esr-he.xpi 510836 BLAKE2B abfa05416b46b3ddff0585542d508fde63606427e67bb6b7a0cc3a92d46f9c30e3243ee474d9b0f81f91df086be0c620b64d4f6c0b900dfe5c36d56473b28617 SHA512 346d91a8beff4d231765f18781b239390d0d579c9019d0add472a9484c7413f6b7154e656156facfb3112734c0ff6340f005fe7109d5fd9a3bd4aa2be24d1b4e +DIST firefox-153.5.0esr-hi-IN.xpi 436648 BLAKE2B 0413b37e851a559ed72ff5c1e9e112b924bf57468daed6b9892a2cc13505cc9a16806d399cad04ba4032c61bdd7ebc9a9693f10a8b5d4a6505f94a8327fa1984 SHA512 6f16896c8c6c1b3dd74810d755595b6dda872fd315aa86346cc59b96d3e8c739dcab3abc429f6621bff3de95263a59c896a0c05723db709e1adfa6857777a859 +DIST firefox-153.5.0esr-hr.xpi 491070 BLAKE2B fa271fb32632c5eda92f9afaa9ec9ba03c5ecff43205d63bd5f8a20bc04b7dab97b764203ab7c8ca60ff27944807d38c474b3bfa31d928e6dbd4d672db32c1f6 SHA512 68dc719851740be6a5d20a0ea47609f9e67eddf955db01eb5c2d20185250a1ab3817ce21d5afd42e26936c9afff06e17af20dabee6ba737639ec9cfa63c49008 +DIST firefox-153.5.0esr-hsb.xpi 519314 BLAKE2B aebd7516035efb4a0970d2edc0e6f6ce267853def7c8663037f7b7a7044d0b4af2fdce1ec0cafeb1ad47f4c988835ff89dd31246caf70fe747a27d88e90650d3 SHA512 284b61a87c3498517b6aae413b6e59a6fd133b9f2a3ac5d937f2bcb5f942133bcb3c31f1a8b875498cea2da8e881c8e413dd2165705ad87a7bca2ebdef67d219 +DIST firefox-153.5.0esr-hu.xpi 523588 BLAKE2B e44d73f9a540f96c9c37b5495e0cfaf658443aef433634e58ba4fac6baca0ea7e0545ce60ed6797a7c670b5af8dd84fcea6ff9cc36993299f1dacd088dcd03be SHA512 45192c695afe4d9141073a95cf50d2ac9da1d7a22521d237d1e123715d15feeb3279f52c2656ed969327afa51b68aa2b5d8e9d9f2435c164b6181601236ff0cd +DIST firefox-153.5.0esr-hy-AM.xpi 535725 BLAKE2B a63cf06af90d64df4992788a995a86df4e93b7f204b7f108dd3b55ad16f6c790011891ad9f9c8327149014b5820ba968ca282a736b245ca49df157b51c54597d SHA512 9016bb0239b66e937f3c7b373570e2ff14b228c14f62e1fd5ba38b647b6edf42ff7b559b856d26da181848769055dea499a472e684250e664e9acd1fb249284e +DIST firefox-153.5.0esr-ia.xpi 481866 BLAKE2B 00e90df006326175deaf71aedc73c28120841df57fe9a014adb9a32bf5c3797aee811363a22849c06bc0689ba86005229f15ca11ee33037845688659df134e53 SHA512 6e3d7d58579ddc56fae9539d6678ded6bc42971ae33c8e835fd6870d50c48e3742d7592eece1823936826704412018199993b5d2f85acd4254c5a9ed94a719ef +DIST firefox-153.5.0esr-id.xpi 455025 BLAKE2B ed480941bc9c220e834189928e2d9796dc5088d5d53bb946855d00602b6eb66863f74dcd3b97737f55349ccaffcdb5dd0ade055ab12d7283f9b4799432699131 SHA512 34844cd901ebb07a1e42c250d068d6773a413ddf22ab7425ce714a7cbb00c68edc343b1dfc58f87d95ead630738ca385995ccb9dc282390b6cb4c9cee512dd17 +DIST firefox-153.5.0esr-is.xpi 470221 BLAKE2B e55e2227ec12b10445d553e838f418763e9156de9c8cef04292d18d51287e311ef3f135b0b2f9734eaaeae44416e1158dd6ed9af2ebf395c4a775b48a3303292 SHA512 bf4c3334e0c95202c669e90467759474dc401f92d4c49f68fcee7832c35cbdc80fac76221927c8083d53b26da39106432e73d09434e10961e16755e7df9f0139 +DIST firefox-153.5.0esr-it.xpi 494182 BLAKE2B 694a0a7413ab3fb8b53fdd08b75a25cacb1675e4ef475fc99bf58115c448afbc2b68e268e865b0e9a5995fe2d90fbf8341e26351904cdf15cfa412def43a1213 SHA512 caa022cc13a2e718385e6c047e2a6a87ab7a68aa876b918a45ff9d77c6be96d8d5e91cb84f95eb23f41f261ec8f639341ea4df34dbe1a7e4ca4cefaf3c4c969e +DIST firefox-153.5.0esr-ja.xpi 538052 BLAKE2B 7ec6d5fbdd101b032e2c00297432d4900e2505e352a6717a6d41a44573add87d8052c9178ba568f49e0abaa5a87f0ab70b7bf88c5de4b64ff36cf3e52c5e754d SHA512 d16db5cc4e4d4eb58dc0a33688ec10713a3b5c5c4a3818092aaf2b29224e57cb06bf29e995693c9a98028219806e0a07a0250d1804869d2fd84b90ee7344364b +DIST firefox-153.5.0esr-ka.xpi 557945 BLAKE2B c388c98cacfe522358f6a282f9749bafc61565f74dd0ad2ab8e3314ff0650e3001f46ae14d8c0b11e3cd8f10329c7bcc0a603c28dad2bff47f725275440ba835 SHA512 8220b0ae602e7dca52cb3a36e40fb168d78d2972a8ae36b0e19469e008543e473b6a687565e34f1cd3b69a74bf0507f3ad444c2fc5d2d7bf58d7c2cdbee455ac +DIST firefox-153.5.0esr-kab.xpi 455022 BLAKE2B a5346681b3a2825383e7065e29cda6b15f1e37deb595038d474242141e445389a96562b890442d3d2599929936fc46323cc86e27b56a8b8805d346e08512908e SHA512 5dbdcc99d8d460627edd10dbba9818a604fd24c7288fdfcc808f4bc63a1ec2773e7162e23cd59e098e64f035fc6c9ce10b47939a930f2b3fa480a47034445b7d +DIST firefox-153.5.0esr-kk.xpi 577061 BLAKE2B 7977a8be47ae494c04821541082b77c4e0a89f68b8a16bab3183f856f2b4304f9970451f8bf402f9f7b9971fd40559ed5512cc104534560af015c95d76f94d9d SHA512 32b52fdb03bdc2281b13b6f7b276ee4090181495c413fcd08e7a57e139f3d14e10878095f2bfcbccf19be5a0009ef5948d377bcd2c90d2d62332538f2fd3f0b8 +DIST firefox-153.5.0esr-km.xpi 441098 BLAKE2B da658ddaded5b14f28827caa22d32de4c59283441c45b4c55f2b25315f6071c84d9ba15164bb9b2823228fe0752d0d45a6a0d6da858369e71c5dddd91e6117c9 SHA512 374226175dd1a12f38f1ef980d86dbe815d64ff654ee1d3b1adb0ab0610a4b50c3d4ccf587dd348b3ad49cabd0c871df725695d35567d84b5643fb6530d5cc57 +DIST firefox-153.5.0esr-kn.xpi 404849 BLAKE2B 348d27d20029e990a0dfdd78b28aa057483567023bfb377af8c9d92c8a433be15368f7403048be5020f48982a79b16622d13ff06b98f7535bcef70ec6c068b81 SHA512 cd73f400803fd9bb5004d05d4e01a203d016f03fc3b8151f7b7030f47095ee7521558c50e88df0baa717c26023c8c435d61077c2c56ac50e2f53645459a865a4 +DIST firefox-153.5.0esr-ko.xpi 522266 BLAKE2B 16aa357f4e741a259c41ded43844fb1de2789c7bcc4fd6f3247c2e766c506195ef204d94cb2d28de926556f8e357e3400a74dcb92f1fa65460ef21efaf8e695d SHA512 cb349af3e76e39a450c55dac1326642e7dd8a28f511e9cad200ebf4384c83c079b68e44dd14bfb0f349f031339a0c3af51a57d16c0ded74e15920b494a6c726e +DIST firefox-153.5.0esr-lij.xpi 383850 BLAKE2B c551dd563f416fef42986b388c5bb7af7bafc783ecf79b2bc906097becfa1a933b67d81763e6286ef47f6bb78de14039bff5a71c5a61972e5d8096290f84d7ef SHA512 c66ec09d2ba94088665aa7923cddb0fdab1e9a2473bc57430fd2e2f67503d77582439d8e605db6b45caa61e24974d660e89f0af6d9879286bcfaf7cbd236d09a +DIST firefox-153.5.0esr-lt.xpi 424362 BLAKE2B 63915e68ae1091859050bb0757e5bb1b93797ace762ea51de67e8fdd6cee4d71ca2c19f257ecd20d030c039de64eb24555072a4a48b56414bc3fbae2cc1aa8f3 SHA512 32a34129dfb61b556d8c27f428c1246fee2f2b04ca31a96e35d5d84b58a6b32a77bada5356afed1780df4ed3ff7f2b83f76e030091771d821f7ee4aa8d27b2ac +DIST firefox-153.5.0esr-lv.xpi 450819 BLAKE2B 77d5a0634713b0fa063ac52e43a11ffff21931a2269b7c979c637060636f45dab818865de412c70093cc4603331d45e2667790970db1508c98f3e53398f20b1c SHA512 898286c8687537e35c3916af7ac3283dcbf076272f0862c1d02054286ea15a0cd506ecdd26e98f065040c245d042345f59c3c6cfd5acd9ad3689efade7499a94 +DIST firefox-153.5.0esr-mk.xpi 437683 BLAKE2B ef8c05dbb109a5d97e2c706612b4f817c0aee99c7f54b013340335463c4e9e2e7fe7a7e4ee36f8d4627878e80aae49f53700fd82188e7a15683825cc0e295719 SHA512 fa5d47f7bdfde652f6160f88ec304716990e988921290da64ed36c04d83577e9716de103c1aab58fb42f4814cc5a68594445aca27ccd30499ac897de1c833687 +DIST firefox-153.5.0esr-mr.xpi 419508 BLAKE2B 0afa11f8daffb4129481e0b5faf90eb28c7c1c9c69fd8cd347650ee0a567aed22a25837958165f432072ad3e21870ad6a563bf22d5c8cb5c6c525905cec8d741 SHA512 ad58ac3f5d9e3dcacf79e882d2826cad10d54122a56e3ec83378265f8dbba765e0a47a7b2824d28bbbb0cd988cba5f09bdcd58a45f2855709ca386740a245948 +DIST firefox-153.5.0esr-ms.xpi 376986 BLAKE2B f41433e116949c2ce13feae5bfdbf8febd41f7fc43d36f84e7765c21bff9f8b860cc6c18d186b6f6480500a8e01b16ab0089ef51e0369a5fa2aa16139c8fb21b SHA512 13d08519f5505d6855287d2258e49b847175414cf9557ed74b30853447d3fdf84637931a57839df5e3749e2f9dd2ec3574896ab3e2df8ce74abb048262dfe302 +DIST firefox-153.5.0esr-my.xpi 416167 BLAKE2B 7999b589fd72e238275dc915c2e26a48365688a5a0fca0fb4bbd96275838d4d9d9ba84041a7eba25a05b01968325ce1a8d75f6adcb233dc86a9cc2a02474b5e3 SHA512 12669e2bd174f4b2f03792fcac84b5991acd84519a62f51bd2b8b5cd8e3bedc8564ebd69aa637739757599bfc52ec7218ad1a0ef4aafe549506440d8c2a38958 +DIST firefox-153.5.0esr-nb-NO.xpi 480923 BLAKE2B 172eff2204f1967c1876d8759e488dc5745eb611ebd59a1c547b39f22721cdd7554d1c6b210e35f1c21833602281a6bcf55ed9b2873ad4cb5f8d6fc48c658e21 SHA512 97a25343d116f49f845956d8594d2691632580b32792e07c3580e8cd49c89ec1a848d76432d81f6cb6e8ced627f21cecadc356ba0f6a73304f9b33721a3c3165 +DIST firefox-153.5.0esr-ne-NP.xpi 417464 BLAKE2B a24b5390607737518dcb18bcee12349530a479b23fb5ac763dd80be90914b9cb45ec2ad46e202a69dd78a53e7c66267d13b0e8961785072d9a00415bf733e66c SHA512 1c99898de09c5d86ad1ac70afc0e9d94beb628ea8b66d9ad9bd1e868b8818f64d3128f7e756690e733da6e642fa87ab1fc69f72e719a0f58d49726c927adffb1 +DIST firefox-153.5.0esr-nl.xpi 488789 BLAKE2B 7f324b3ddf1d8c97e0fd6866797eee0edbf7aee5c951b5f2229bb05fc7dd46b4f1f937c61cf3a477084c68dcb8c024a50adb7eef3adf714c81988bc350051fdd SHA512 a1dd3d5849ff618bbb9c9b3b4d4e0e7a03dc62704d3d9f469fbe69d3ada1dfeda8789177830c4f48934b232bcf5939a5a7bc12b3aefd779037d129b7302b572b +DIST firefox-153.5.0esr-nn-NO.xpi 484342 BLAKE2B 7bcdb98933a3b5df4077f2d13ee71222d6c99f690a182d68eea919308e0f1f9c2ffbed4b7f8298ecc71ad3ee061c1376ba0a8d50e8b6150d342a6272d06ff17d SHA512 af763da81b6175a6f8701d7276cc5a4a1d6b4f0a9d0183f08e464bb96231b53afc6ff05d85986c1e1ec7cbca0e761194e9ebe0ab2a037df27607540d46891d8b +DIST firefox-153.5.0esr-oc.xpi 448094 BLAKE2B 7a9acf135c268e0ffa19a17f08c718e831800fa6f629dcc3f22726fad235e67a90e34d24398c1004b5480d7255f83cafe329cb26a07cdc123bf53025242528f1 SHA512 7a8a1623cf1a32e3813396a3046e56521398c8112fd66ceef2fcbf0fff8ff29deb9506f4f1ed0a340cc72d4dc68860f9f5de4410ff768c3d9755828af8c16bb3 +DIST firefox-153.5.0esr-pa-IN.xpi 571756 BLAKE2B 38c4b247647bc3ed625e315b1b2ee691d332ebe26e1b9b038a2c5b46be98b00d453e6238db77c6e75e7d2d1cd291619efb9fca7dfd04c8f3b276a4f2f544d0cb SHA512 25c61f62faa89a60d0a162955724cb51f746c3592948d5ea9b9fa1c1b497eb103a34b38ec156375c35993519682adfaa93bd54ed4e0ec2499c70c58e1440ffe9 +DIST firefox-153.5.0esr-pl.xpi 520364 BLAKE2B 164d987911b8e168401c8f4c36fc3e67f762bf0eea3a09970957a125975bf27dfe33d16eff70ba3d83544b77427649efea2d5edb66d2c397ad2e9506683b2e4b SHA512 78daadd5377e4a61a3bb83aed9537b269a3c7e8ef624b90f80fda003ed0b1552da330aaa3863a114a86f69ca78639761eb7dcf418063646bc20016428a303f2a +DIST firefox-153.5.0esr-pt-BR.xpi 493551 BLAKE2B c3c66a7892dfa3449b22a29eaa46cd313c8b6057cab3fa06356afb832165acabf5030eb304ec3ffb0e6bb54d7be8ec2c4c732b84c3c04a978f370121d1d34f42 SHA512 94c4f25ffdc03fc6d50ea07ac026d398e7b164a222d9d636fe0fe28f61d4ab79d9857a20feed2c0d5b7a8ce6194d274222b99e89555d2b82e1bef017c3ac58c9 +DIST firefox-153.5.0esr-pt-PT.xpi 500737 BLAKE2B 237f95a086699a8ea5353b2b617cff77ceedaefba0505c77121cccf4b07ae9a046ac1dd223a811fc5eb25a2d411bb3399c8cb658c4f422167d2d7cedeb390a89 SHA512 5791d378b90d2f3ec570c22d9b3b7f35127d790a01d138a94058d10d768a6d4ab395636493060430a19b1df313db3144a22b053eb38d893b20bf83b3d6d3946e +DIST firefox-153.5.0esr-rm.xpi 473956 BLAKE2B a26e14ea36940c3e71e56dac97d37db622603a62a00e25497da3145b2b4eb8b8c982bd051782cdd4f84984b4792d4e50e799b4fa6ebcd90e8891943d4f249d90 SHA512 0239989ba97248a0b80230259b62efc3699a72f134ec938eb7244657ccdc584d46f903f667a4b7282b0618a55ea9f55640c299d4dc1030e7009f3f32addb9b04 +DIST firefox-153.5.0esr-ro.xpi 507714 BLAKE2B 93d8e3fb8094ec5ddb0094e14ad5da295452c8c76485474f88080bc81f9cf6061296052a41a3583663a421cc31407acc3e56e13239885cd004eb2a718aa0d250 SHA512 f336810ba065864b6e7c8652f183ea76b415b25e86d6c182ee251a001f9cad577993bf788c7f4291977b45368c657635f2b9269c644e33c2a3a4d116f43bb83a +DIST firefox-153.5.0esr-ru.xpi 589801 BLAKE2B 754f1a6beeaa89028ec46a47b537a845d88c389fa72c2e1237cd30d46cadb34428fae1a11b1834436940d818606e81c13a83dddeeb26cc3bd2e6a77de8ff037f SHA512 732bb0faf1652cec1272221c215f26be2c7b4cefdec446dde7409e2cd28719b77393a4c2e3bad81e5e71137a06288c7006810dcb79306bbd4a1c041534d387cc +DIST firefox-153.5.0esr-sc.xpi 472590 BLAKE2B cfddcf929dead9a28a2a0c716fd05136a825455fb7f6c990b0fc0f40903f3193c99f9cc01ee2de5a412e890f7b1064f52c98ad1441a01ec02e445413bc20cf16 SHA512 8e45c1929e319a27a01036741bcfd110b5cd7e711f340bdf8c78617e4154d12e77ed88fed4353fd42b587632bd01738d7df89d52d7d95e24910b567af356845a +DIST firefox-153.5.0esr-sco.xpi 387207 BLAKE2B 887d41f04e7895b5f10bfd485edbb9acdeb63c0725c14e288b19886b9742f04133f9f4472ea841f86f2668fafebf83d5a3fed5860d4e338f57cf6bb0e36e8106 SHA512 ee6361ca2ff80295c385e5d46cb1e2ee69e1e7e8354a342cc06567a3195faaf7d6d59278dabc833c5dff3b825518a62d6fb0d11fdfc6ba118086e51e2e6ce066 +DIST firefox-153.5.0esr-si.xpi 465592 BLAKE2B 00a71de1e750f5fdcb30a7673f7c4f346a9f5a7c27a6f3c7fd841553cf5ea23c46a85e2a33a4dfa88f34f54bf2e61c364ee9405feb023619c1addc5ab53f7688 SHA512 0719bf19436c0a7a35a0a5c7490d8d7824d041db3b2a4cacd96de221051d9afb50f9a11a8427aa6087899745def6f45e6cbfd7c08d239501bfac936b45866516 +DIST firefox-153.5.0esr-sk.xpi 526508 BLAKE2B d78267e59c424b85330bf0e02108f84b7543e2a17fb0d4afbebb2e4041859faea17749f9ad8148e7ac2835657e01c6551ac228e0cbd083478a6480fe6be087c5 SHA512 1bf5b28e008364318d9521a53c77d82628f999eb58fb6a087819fca39c228fb487879f73fb056591ebdeadc17ea9f29b5e5e4f90d67070bd8fe4fafa3ad24216 +DIST firefox-153.5.0esr-skr.xpi 513175 BLAKE2B 4d8e2ffe10fc524164fb15a9d061e026645a4b34a817827e31d2f176579b88800a19676a845277ca01d4efb36773b15d0fe4d9ad0e920d2b8b58e1af70f9b3fd SHA512 8332ef262be48de3aa45b7409f2b0b354a0cb4c8053d96e76c6d4131671e99fc628ca7749982472c27c0b4cc4d77696ec591d1c3463f2e687d2b9fa6f0d82d9e +DIST firefox-153.5.0esr-sl.xpi 498292 BLAKE2B eecb7dbdc1d07bb427fcdbc7c09e9a0c180366b20f083b5d0009fca5c9c44601adba374aa428622feb913bb675ae4f54b280996ab78991e8e17655e85a876766 SHA512 917cccdeb9edabd1f9900f9d05177aeee42dfda3a80d07169098a31d4ca8bdf00b8eac7cb268c8ec3828cf557cf5e89f0811cca45d917e02e487f4f1e42aa284 +DIST firefox-153.5.0esr-son.xpi 349757 BLAKE2B bf11357ad009f06bd6b29b1e1c0e35d16961df2781eb22796953aa62138a094c9b4ca3d6298aa6b07631ff62dd967312349c5171f3a98a9bd70d1b5a52803f36 SHA512 771c757d0d2d4bac2f9ffad8495464c7f15e06f8a8ae0a6c34bd6549f0c14f68b121746f8a59383810ed0f6b662fe937e3abe7d250251600cbfc550df54e2472 +DIST firefox-153.5.0esr-sq.xpi 503809 BLAKE2B 8f5886a8668eece1173a301560076bfd5b7da33edccdabc670544b69c41f4d42ea518cfa0cf46694adaf6e90e1544c3ee2f5167b961b40b66223ca5bac42f32d SHA512 12fa115b328cf9b6a8823773beed5957e76834904d2541bb80ae4d3f336af11f3abed4224e0016b5433e5ab8407af9d9aa66c9103d656390743e65730c49b607 +DIST firefox-153.5.0esr-sr.xpi 561358 BLAKE2B f24117942c4a90ef1d81084c5e02df2b1136beda84449d0468d1cac9e62b472c0640c9158f487ef8b2084d63311eff77e0558bbbdf59806c21454e908204742b SHA512 3c8d6bdcf71fb916054d0a6875a1158fb59b986a60c8bd7e6128724a69ae21dc62456d9b0889ac5a6921c4612ea7bc1b9993038993e917fa72511055537938a4 +DIST firefox-153.5.0esr-sv-SE.xpi 488308 BLAKE2B 0f1c456c29e4cda6059148b2cb441b987ff6bfeba2eaff52865787c78fa1316813e12d3b94ad95355dd98649d18328cc226bc1f39b81b923d2c63eb47c0b860f SHA512 a59b6ac94a7142cc495075bdb556ed1857a83187c088e04a90ef1f8c98760f32be080c83c259057913689f15c2ea8f8598403818918a31b96a3b84fe1b3fbeba +DIST firefox-153.5.0esr-szl.xpi 406465 BLAKE2B 14a9a45fe7a17e7a5b3314e31a77c1fc05ab5f100841b51de2bf6b5ce9973dd720294bed60798bcfe98cb4f62508cdf049e399b90fc2447654c0d70f9d4751aa SHA512 eabc10991ddc82ac4b0efb7b14aeae53c6208bfda700481e7d9a5aec40d0663e01bc6b086e47a28987ef898be823d956a1e6252197b36fe3795605c967c3e0e7 +DIST firefox-153.5.0esr-ta.xpi 407925 BLAKE2B 278cb3dd2537d2af8e7ee40ffa1605fd57865b62e98db9e5f1ecaacefdb57f6e144a3a38acd74c9e7b15e5ba50ddcf8746c03a734a3ccda9d064b6cedb5ff203 SHA512 c000453d55b7707459062dee8fbf010d4ec129654c19586b4dd69d070d926a09fd7c3780e2cf746bebb332c3c0f7c2d0f59eef2c05d6d7ceb6aca1cd49254051 +DIST firefox-153.5.0esr-te.xpi 447138 BLAKE2B b569e4bc165b4bf3ee46e38fbdf2488dfd554b6db71d5c1388d0487c4c5b1f4eb8d8d8c1ec19720131eede681f8f0bc66e042014b2ec4b9cc46356eae88a9fe2 SHA512 2a7f9cb391f883e6bceb8273d993dfa0dd3ed3e46da3fbada556a4fc805fd6efc7f2dd3c38c6589c908a367c948b25badcf2e604647dca37b139f64e9dd98722 +DIST firefox-153.5.0esr-th.xpi 565398 BLAKE2B b9abacf01d77b6cd6105c89662a092f18ffa556838b672ef494cdcb5ff0ef463bcc853fb323553744ec62a15e71ca3e73c5b2fe99a0fff17b1cf13685b9ed357 SHA512 11555c38c00ecc023253d790e22d785309d9cdc240a52390a6d695ce76d29a499707a741b0ea741fbfcf8393f7729e85d02263852b5d586d29b16d165b836f24 +DIST firefox-153.5.0esr-tl.xpi 404092 BLAKE2B df0066b651b242631ccf393743c5a938d65703b035f199d06e4b1787b8bf977b91a86c9d79886ee5ab1647e0bafc4ad7c0d83f81b8b825fb066ad30a5f81a480 SHA512 62a164623e6201e7012d393e9dcd6e45403ff9817e0a2e36667741d5fd2250c6869ca9e25ec8721511508fa72ed0bf095181a02b66c950bf07b9767fc929aeca +DIST firefox-153.5.0esr-tr.xpi 503153 BLAKE2B 875683b70fe5d1eb9b6aad88c33d73fe2f96b256425ef60729ef0344c7fcaa0b82ca34273a28969f71527ec577170efd479f5478b5eb1aaa892c274d05346273 SHA512 10831c0ba798bd9f2ca3a568a0a4e349cf4a42d88ab261591667fba05682d0af6c79dc1f208299b7c462bd91a1a4ba2c9ec0c2b231c877f249ce8e0daadd037f +DIST firefox-153.5.0esr-trs.xpi 394795 BLAKE2B 4e7b06751b360524f97431229c35a553fea8e0944ac6786cb16460f5ca2ab5b4360aed2f22ad41a8efcb379e5f2eb8b3786de6b2ce467f9b72a2a309d719539c SHA512 f3516febde184651c6dfe3914f29e126c3e76900f5113ffd90bdf3bca5830237d2ff62b93a0c7ebc0bce0d655ca378736a1df46334a74f766ee6b2094548425d +DIST firefox-153.5.0esr-uk.xpi 575998 BLAKE2B 8403c05238f7b38d25ea4dfb03c2bc6bc79524e6a06694e9faac5e54d96bbbf699b79baffdf7ddc41b36c3b0a0d31545e09dcab9e915d69fc20198357723ae5f SHA512 eb6cebd24490eb5e6e9c793c478aa7fc2452b172913213830b0e4a4f934790c7523de807974456ef745078dbceede85428fcc7d4ec6d69afabe2e13bb8b50836 +DIST firefox-153.5.0esr-ur.xpi 429322 BLAKE2B ad382a9cd622f235fd80aec23406cf639c8a1e33e965116032e2abfe1f6e18f9bbd4afcd0408465b734e1ef0cb9ad9f799afc3245f0d763fa786013c0f846eb7 SHA512 65ad9a48b3fc39bec3d9b8fd49a4249631a69cf663a7d23ad184b69230433df9392d1ef1f5f7d91dc7f71b6fafe151fd23075e7b0bbdbb8caed460a271b3cd34 +DIST firefox-153.5.0esr-uz.xpi 376302 BLAKE2B b486ba7da6842a4cff87806df4b5112993fbf5bf688f53c7c1698d73b55340c8f23f77bb053177989e20799e99778bf596bcb6aba46ff9b0d815aa8f2b995343 SHA512 ab5170ad2045c0ed417c17f7ed1c745f3063ab1c3b588f4873fb331345007dc75781e373f612d4d1d33ee4f58a5a16e709e7bdc7249b53d3f645016b7e4f841a +DIST firefox-153.5.0esr-vi.xpi 527411 BLAKE2B 5ad3894e16285f6e8c0343e39d389321e491ec98df40ed03e6492019c648b900054fe285b82177a48fb65d617d4f2bfea2341513ef6920ee574952222d830250 SHA512 1c0d5c38ac552060cab231a19c777512a1207e49c82e7108b71832ae7c3fe82e71a5ca29a3fe3cf96d65655bc245c5ff086e518070b517c2722b55d4228d223c +DIST firefox-153.5.0esr-xh.xpi 355202 BLAKE2B 869e12d2e2e7babe30102305e5cda52273820772eb0e05cf9f81aa8132c3d3fc2316d220776b35bf4d8ab7f7496ea7cc4379c4383b708aef53abbc3c9277df66 SHA512 3d7a7e0fe8aa1cbb5837ddca1b7b0d9a39279dd82bc8e61148b1adaf5df0aeb03b1fbcaa5a77e7cd11b400355f217c417cb6b1c9cf3269ebf61933cc45661b86 +DIST firefox-153.5.0esr-zh-CN.xpi 514313 BLAKE2B 032a76ef07dd52b99a26fe377d7c281eb0442628b86ceba668248d7aa03e1c73e98685dcf82a089e65580842311811a07df0c11b817a0aab0a04dc032d7f3604 SHA512 6643b9bb16c883c9cdc709d1bc34866f0da9f5a9abc36cbb4a07ef12c2241aff9d542149e6eeefc61c4662949b1360031d49d778ad8d14f1990dacb3a596f4bc +DIST firefox-153.5.0esr-zh-TW.xpi 518949 BLAKE2B 300f0bf9381e296dadb1bfae2052424299bcffe3ddc5c25b6dfeb981f89e22d169b1ec4598554ac1bfa1d7e2a26765f665cc9569d00d6231bc0903f6619a11a6 SHA512 12cce46ccbb6616bb18888a69dae0e16d6566d5d428741fb45148099008d4dde956f88715efe5e2a3f4fc46b4f677cf84f1f22ee05c22bddd8858f68377744cc DIST firefox-156.0-ach.xpi 371199 BLAKE2B 487a0a026c7f4c9b2ae5a90cca9623e32692722f8283f86a5e0cd68255e57be5820ac3a78c5f0c8259c68d2034e0d0a66fe75c0bf7e1b311709b10cc38f2a904 SHA512 628077283a37ae8f764ba373c2f60bbdb749f867230aaae1040a97f8a43f4a2c7f7d993ef539d013b8b6bdcebdac2683dd9be034766f9e34733bf6012bc391d4 DIST firefox-156.0-af.xpi 357416 BLAKE2B 13165df29ab56b34a20eac5f20d4b815f9fd80ebf4838807dd444be09a3c6884e7b069fa0f7c35f69213f69e651146bf09d9ca57a370775bd224fcae662f5c93 SHA512 735e52d63f84037ecae2043481eec725e3467ce58cca5c74a97fe2fbb8696bd134ce8c221a564b0bfe52945447deddc7536856e43b229538624ff3aa26228b8f DIST firefox-156.0-an.xpi 400004 BLAKE2B a30fe48bd33fb97792dd9ecf41ac07f76c5010665713ae4b379a787b87c16ed7f64d33ac770050e6bb8e0852a36840d2587c1d73a74e1b14b6880b8f8709e70a SHA512 16fca1b3d5755e6d5a6adeaa23a3b078e78f5d5f7866dd167f2c95fd0fcc69813bb78cecf081a179aac34bc7a11eb8b177bb5404f4b019bdb359d5f815e48338 @@ -598,3 +698,103 @@ DIST firefox-157.0.1-vi.xpi 555283 BLAKE2B c5c5663473cb50bdac270ea7f44e062b859f9 DIST firefox-157.0.1-xh.xpi 364174 BLAKE2B ee7b7d0e18b0f985aa8075dafb242beb8511fca4e8591d7fbb7bafed28f6b00149844409305d92a8ab9e62568ce9c4fbc0bb103137630a78625d3aaca2289a3c SHA512 ec3e8242ae0c3f86c2a4f196cfacebad1878ddf46e459106deb50f16386a312adf8eda598bc2a13b177fbeac58878d7115a2621013f9cbee216fdc356df50083 DIST firefox-157.0.1-zh-CN.xpi 540118 BLAKE2B 040e7a6413222a0813a3ca5938a8fbbfd0dfb57f7601142770886e23f0774f1fe613f41d566382141e1b962daebea4a6c611d9f699e5c7c528823075dc2bc2f4 SHA512 a449716386992b7615625219e2c6e91cab752d3af5c6ca51b5545062cbe68da90186a1303cbe624e61e9748420f1a7efb42daa28febe5dc3bfed85826305b595 DIST firefox-157.0.1-zh-TW.xpi 546485 BLAKE2B c52cb404711da4b1351051d36c975b87df4e01269ce31a776800274217114a5957ac2e200ca6c7c59b2d7d161f8b0c8c721df1e03b7509916267c5aaa56f4e7c SHA512 6806ace18baa436f0d227e1587e26aac1a4118f9c4dca5a72ec3c3e38d3d1a0de033fcec68ac518b944f5b2b064758875ac0b7aefdaf9a702be616594fea60b7 +DIST firefox-158.0-ach.xpi 376376 BLAKE2B 25f3ff41fd2fbd25d4ef18b130d51d4a5b1fe1feb360ac7ccb5ab2b208557482b4274aadbba4ed0100bb9eafe50063af4f2906654b8a9ea4698d5c59f4c84efb SHA512 3f8499e57ef068e634fc8c50a9848b41445306785aaafd44b10307e6da3db81a23875a7c2fb185e0b86ac036613aec8d70857f85d41370d07576c670be8032e0 +DIST firefox-158.0-af.xpi 362601 BLAKE2B f4e9ad9d972765ce7026feec8cad8096218c2d0be2f05df70dcd7a8c018d6810297e19c3e28f30fc84fdd05ec8485cfbaaf79f8cd9ec2b755a0229a80b652720 SHA512 a101058460b014ce86241f1c64a566fa9c0fa9a5892a16d9e7e61d69e51196f8bee821cb4d6bfd3ed33cc2b393ccc8b73716fa1457283c1d8e80f5f178baf789 +DIST firefox-158.0-an.xpi 404925 BLAKE2B 7192264eb9af5d445c2f499bfa65f34a17692ba1bb7774d1b5e520b7c1d7c5cd2bfa3c158053404adec68e6ab79c61b28b61e592f5169a8dcf99e7ee69a57c76 SHA512 ee370790487959145fc835b4dbd277aab982cdb14b526ec98b82807034b552dabdcfb5e3941f83144a6b5e1c5df8bfcf5a1a588a1e617550faecda254aa22b4c +DIST firefox-158.0-ar.xpi 549577 BLAKE2B a3c85a2bd398fcc27e3aa4b46e4d597698b14907839a56f5bdf1e4176b80d973d9f6d8dea77e12a8929ee2b07662649fac80bca8fd0b5de60217c9b73688ce7f SHA512 a560ea12541f81126189c8900d82066c10baa48970a6ea06725272da0c2ba884d5a54e4cf822752e245e335507c5d19757c8e0f5dfcf4eb67d626551186cb354 +DIST firefox-158.0-ast.xpi 399918 BLAKE2B e0b4a224ef83248c162eb9008850c084dd7e1c584430f3f9d14d473a3553aa55bf2d7014c44f18f79a414855eccf402a77e9816d83f86a142f363e52ce6bba1a SHA512 9120e76d8d8f896c130f2ad341848928e7487526174062cbe464d0f841be83991b96fa7f8cb1e93f035bbf05e3f06b0baba2d201a64f9c257e159834c89c60a3 +DIST firefox-158.0-az.xpi 419264 BLAKE2B b01ceb3b525aa5770f29b8203fde7129701e5f0978f4fba9350c87668886d950a6b9c72c13344703d84f61c2d6319a49922142c89b98dae3253a05cec7b71491 SHA512 873e7472da9fcc8ad00a48b6f8d5fc990272a0278b19c8240808371c2e772bbc76f4ed13dc068ce0f354661d8d2b04b76d43d6cb1f0ee02735201d98fc00b116 +DIST firefox-158.0-be.xpi 622593 BLAKE2B 283836c51937b730347b1c6378ae9ffce243bb7864ab6d91584a55d114688abc800811ad033d0fd7cde5c8fd24dfc3ff64710e053278d3a4cfbb3b6d00093581 SHA512 7b783417984da3adb1d4a6dbb06eab4a5867ba4e6f7c05c6f3efca949be7aed97a2ece547f4ba361ea6172d6d1b8818562ae9091f4ec33dd9c30f3346c42a1cf +DIST firefox-158.0-bg.xpi 527121 BLAKE2B 3887847721ed3b84c6a5f1a67915fdf24c7932b8b36f514ae296bfb8a7c7010914c5d1d4ec48d1ef0a54f80c7f52be27f1a9778efa426a24cf1ab8f7c986be6c SHA512 62c81cbad4a28a4852addafc52ca7dc806518e9e1109efb53f9e0d88b3ff1e4a2fea57ea44d2e9c2e44e3debd321cad163bb1583154449e2c24e966a87d58a8d +DIST firefox-158.0-bn.xpi 475768 BLAKE2B 2804695271742084bc9aaf09a4a5fd85b1ae9efec51619614cc50736136aeb4529c51feeacea3cc39a7eb3360e5e8a0f76efccb1d4784325faee5a5847e863fc SHA512 d191f7f11179c1dbeb3dc479fa0789517f0a561d09fc7e4cc7544d1a9959b553e87d6bbd861679ff9f2def3ee1284aa64318b492c8ef812f1bfac16181335db1 +DIST firefox-158.0-br.xpi 448080 BLAKE2B 71c2f2100ff82015e08ea7e5527d4cba6cb1589f76652f4639e9945f05289370899781a0897d695c861a61de46a3656578dc696174e5cda24c9ad214a65503e3 SHA512 0a66730081d610465742b845b4118066baaadb6fa461f24f48450ddf11e11a2ef197a695038e0f3221d61f72726478d4a532294bae268f9f9081d8bbc026e863 +DIST firefox-158.0-bs.xpi 481768 BLAKE2B 4d67d7340447e972d4c1e96c0ce43337c7d65ad16234f8cb89e6d32030b5718676335d4ea695c86ae5bb0f9aab458df813f79105d40608cf88ac8f418af15586 SHA512 e12fade8ef83e5c58dbdb9052e81fc75886c5c5f3bd2b8b37e38f32ac855e2ab887c56fa9dbcd8cd62435b18f5d78ca9d534cf1d93d3c040604835082781e520 +DIST firefox-158.0-ca-valencia.xpi 425727 BLAKE2B cae1448d403ba01f20d360141c25e6f1f7173a1fbe2b767a055683dd0f6800682df254a46c1f3c4fbb16524b0aca32f2482d0346c25f344dbaf93dfbe91d0ab1 SHA512 d48a338e666373f73c1624c38a24b67fdef6e5146df5ab4055300f562b955cc763cc3b19310cfdaeefb5e761a0aa38fa3cd059099ba7cef563c3b8bc756a9043 +DIST firefox-158.0-ca.xpi 510318 BLAKE2B b6b54256eec1e04929c06e8e2a99c9302372e55e9df4ac9dcfdb333710482ad7eaa39a489ae4adfccc3070601681c9260bc42fd163c6046453fa9b0837a3e775 SHA512 19fc5b7613565f163e298fb0e0806c9e81bdbf39e2f98fa12775d3000eee5108ad4e53ade5375e96add69ece234b6078415cf872eaffd8ab53f62ad5d525deb2 +DIST firefox-158.0-cak.xpi 450271 BLAKE2B 131c0133d0f173be951c0900dd4d095cb639136a1f089d0f1c9bd7cea5b76f8cc6f45926eae483557c3589e833141ea727b5efe3a78b30dd49ba44ec77bd0f4b SHA512 7b9723dd07a32416c61a2185c97d63e50b49d89db194758f5c0fa5a3973e78ed6c8fcccc424ed19c6e5535ac5f15ae0676896a54786081421dba70bb18050bf4 +DIST firefox-158.0-cs.xpi 571266 BLAKE2B 25ce0b398efefb3f6a500787d2071f4d8bfa765590061d4529ba3e0aab98d51bc9ff8430499f5a6b0e5306447dc5bb2189eaaefa941c5cffe28fb308f492fa80 SHA512 54f42dc092d4b50949f2c6a459c7b63c3dd037e546b8524d84bbc237c266c053a708d097efba2110391476c9265c09d7d9a2282300da6a579dd2a29d41bc6d67 +DIST firefox-158.0-cy.xpi 528183 BLAKE2B be521449c22297acf29e4677db5e0374bf085de07a35d95c6a725db8458151fc635a53cc6b30cb8fe7c656c57f5a00e868b41e0d5a7abf489535e08ebd84b764 SHA512 fcafd6f94208530f2025caef59f07a6e954620296c3838b15d1ad75bea097216c12a900b305456239f02b202c14ae78a4397760844af32dd62a3afe3aeb9e3c9 +DIST firefox-158.0-da.xpi 498256 BLAKE2B 8f0f337a8f9eaccb41b6236fa1c72296c7cdf2c7a803f6db113abd5ae37b2bcd4aaab2792d073f8f704ee7ae2faee174781c785ae43e33ed6deb72528a3e1e16 SHA512 9d22654c82091f58aa4e668c1eda6f2330fa819993f7c844f5f424c90d64bfdbc74f565606120eccec454b244c7b1f8050770d726255b4c836069303f5d78214 +DIST firefox-158.0-de.xpi 540487 BLAKE2B aa52d20ad10e7ae8cb1f1ea6951fa6eabc95b6456ca30204806357c33ad8f6a103e0efae51b1adbc4a257271ad52bed12170f5ee02153814c67440ffc78da45a SHA512 a2f7c1fe34b7383535ff38ef77074bba141125c5ffcea247a91d1c5f946aaa188b07ec7a501b6bac761aa5ee498a5c571d964376db1c3777a547617e9a38077f +DIST firefox-158.0-dsb.xpi 555427 BLAKE2B 8499fdd02d90d6dac06eeeaad53c70a368e373cfea405ec27566200b0efe12b46c7286879507bee84ffc6d9d832103bd9491cff9ee8a32c45f1cf32c82e2c659 SHA512 bf718017285c369af659acfce18a098569f351f04df7f73243c8911bd74a934dc9ffe2492cde976ff484308eb41600fe585f5516b1bd0b72df44289d63a06fc8 +DIST firefox-158.0-el.xpi 640759 BLAKE2B 52f1eea70bd9399c0f98cb23a782f5bc55e9d19c9fccc3e981840382603b542ca42b9877d747052b4c315fd3ba47068638c06f0562e0f2eb1ce21e8c674d3f3d SHA512 3c51a1d4f07a3adbeda749069f01523ef27defd0afd962e5adb4a253c7037450c16d4c662ec6ec930e76176b96fa46b37e1d796c6ced49269b9899d81dc7e2b6 +DIST firefox-158.0-en-CA.xpi 487710 BLAKE2B d5cadf4c0aebbc18fd756d5660c352e9a666347f7debb85c12306bec49e3509d4606e5452d71a688db10f4283a7b2de91173363795226bace013e8e9328fec2b SHA512 1a81033722fe311e6f998981f7b00b342f57f028d910f807bed083e6612d30f915f46496494d8336d71af3bcff469c8dbc42a3ba47d01e9acca7051e0cbfb9fd +DIST firefox-158.0-en-GB.xpi 488018 BLAKE2B 7e2cdb281849e6ee85c73a3ad83e9232b1dffb95b690bc7dc96bc6f95ea3eccb19504cea7112519d420a97d57c7576a01c396fb950be6afdd737ca1fbe6e17e8 SHA512 a3b03b45f1db2b621ee2f394ea4bb283e29cd61a548cff0de7877e29a9994070947c951329f1c3ede62f971cb7a451786256eb8678be2a7ec2217fa0531bb7b9 +DIST firefox-158.0-eo.xpi 516140 BLAKE2B 64482108628b1bc1ef61067db9b78569a2e212c02da49948123b179e24aa70918ede81ddd2344d3437649aabf9086f56aec6423be921f2f150bbfe43d72a6828 SHA512 78c52e834d6e2d5f84d7128e057e046ec8d36a854ddf855cf98e3e90b0ed8676b7a03f8ce09f03dbe4fe94195587d5b9a3b4c86978bef61dd797897c3f1d80ec +DIST firefox-158.0-es-AR.xpi 529310 BLAKE2B fb4602acb84ce37c7c7cd425a06758dfca54d3cc02397657f78fbfc486f5f6a58f5af2f07c6f540f1b2bbee67a162c532e1b1145a897f9c413ea4b3790865e3d SHA512 cde0278f74a08a3aba3ce5a5493cb164b1f232119b3846646753aaa0ca2a55de749183970d7924a9ce2774ba207b39f233ca6e39b3d817c399ab1007f84fc895 +DIST firefox-158.0-es-CL.xpi 531707 BLAKE2B 3db54f26ba3ce4ebafba7b540cc295660dccc9cde5ef0e217f59957f3752c54f17823d40e0b2deb4036257f6caaedcf21423ecb2fd703d9800f4d695391fb83a SHA512 86e7dc5d7fb8ca8ff852bf320667630388af7e47ef17651b07079fb816f4ad41f31f4e50180f14413a6931f4eb45ab50277059e5a9b4339897dc84a9d58e9fce +DIST firefox-158.0-es-ES.xpi 516705 BLAKE2B 8e6667a80268e4dffd6fb86d64d91fe57b3f263f76dd60f78d345fab05dd5fc0ae3df45fd6b2eb770e9323bf3762d67c63423a2e6a7b86bc3fefb36b6050d335 SHA512 2761fc050ba6d3c0d25b98223b01aea5ca7b27273f075265787be2cc629c2504213411d5c18b782f1a8eac7f6ca7b3ff22fcfa6385ca604c6f4ad8e885456004 +DIST firefox-158.0-es-MX.xpi 528088 BLAKE2B fbc3d4f8405332aafc48a9a70398479bc44c72e9a42cd79ea37e9a6a703b8583bd7d66531e987cca05687352e784fdc3716afcf0cf8da5138d8f225c1facbdb9 SHA512 3cb360a904c344b566c4a9775233e1c2b9e5581ff87a9a0b7eb5c4cc99b0a081232a72b0a12677e84b10902a8aa03ec70a6571c8ac60b53019a9f7c56b085eac +DIST firefox-158.0-et.xpi 415109 BLAKE2B f1151601cf2ea41385fd9307d3c0860a8e48f1698d01e42c47241e541e1c24d36b85ef16c8b2efac72d6ce51c0137e3fb63526fdc45d78168ad868353823959c SHA512 a3c0d85de214d430bf6b4ea1d8a6f60c9b69d398a125b8fc9cc766ad21d81cd4ba6b435a5287103319bc28e65ed3207a039037ecc59a196e9f4201e30b9f0ef1 +DIST firefox-158.0-eu.xpi 514191 BLAKE2B 6e881d001c43bee7284e7182c331ea39f209c2e929856c8465f58bdca8781ae54f389aafa376f14b5a58309872c465ab50f767d3250cbd96c875394c09e4e105 SHA512 6a2dd3351a3ecae73aca64ac69aadf26d3df219833f3cbed2390175811172cc8382ea9d63b83915495444fc25c86e203a0369a33166416fc154a9bad1cb792a6 +DIST firefox-158.0-fa.xpi 596482 BLAKE2B 0d7192511ca6e8f45de42facf77b8f85971d5d6a53643e535ba8335c8489bb691d7363f84087db9cd4e67d3f211a1b71f6246b0928d80bc0f686edcbfc598375 SHA512 b9948c762067a6b478fe7440963d919cf73deefc64dd150d7c0e64b9fbeedf2edadbbf579f127e1d3e1020e8e5f9716d5f135822eae04f0a97d17a93fa02ea73 +DIST firefox-158.0-ff.xpi 387775 BLAKE2B ad3e21ec3f19342ba86939f8607e4c381e4e9aa4f5a7d8ef3da9b279bad18abef3dc232bc31d2ef719ce132cec9cd1c14a3ccb388094d31941890b44aa1cddad SHA512 70c76151610fdd64de8ee3d096486c00791328e39a76cd7cdf11c89c7410be1f613320bb4fd8779d3e59a5b58fb55b66ab20846754f57b5f0f76d5c2be704328 +DIST firefox-158.0-fi.xpi 517953 BLAKE2B 3584b6289b832e895c0aac9d559e7162b7f75bbd5b987dd713a6d4e1fa83969569037f6ad7c382705a05746b57ef1b9222838a5561b60585236eed56f81d92a6 SHA512 ac72c75e67ea47bd1c88725f5afb9006a78658fb9608bc500be99884a6578fc93205a316cfaad82734b286b72a6de4b2567afa1a0e81538ab1564eb461176983 +DIST firefox-158.0-fr.xpi 546773 BLAKE2B e7391235d9262e47aa260522e72ff5eadaacaa1eb1bc61d7633a1095bd80154c1e078aa8ec6859a7e55034489d865ccaae6e37de392bf9cb38e1916db6c2982f SHA512 4093eda0d9f8eab6d19613f3ad5598b28ed7397d00bb29144cacdc88a4bd5561b7dc4e8232ad67e8478f15b52059087d3360c820ddcf8a9d8570171ecfdc7319 +DIST firefox-158.0-fur.xpi 515943 BLAKE2B 706daa9a5236d00c1aeb75409b6a84589cf178fe9bce43fa905984345f573f21d50332632d98650e4b97a2c10391fbc4f66c5a662302fbe55103c8657026040c SHA512 7bd0c377bedbce24859ec7a97fa6a04f304921ea1a0d7031238f92ed72c3f064f209a944b1b6ee4ab8234fd001d475f1926f0bf7482e15c7cbbccb521558e2a4 +DIST firefox-158.0-fy-NL.xpi 525695 BLAKE2B 6e46267210ae3dc499289b0836a51eb8c9d5185a9c2c8842dfcf779c876dbc84687c83aa64e98957291259be6c43947abf0f383b5a3bcebbc79b83ef24a9a181 SHA512 edb9badd4b4438d1201164d75776adddff575bdee62a7ee76b698018a775be76a16c8c59a64f2825c3c2771a7d9a143b9318515558bf32904fe7606fa972423b +DIST firefox-158.0-ga-IE.xpi 399735 BLAKE2B d401507170c7b231902ce7672e33bee384e767a019bc91213f0351a48a95eb9602ad732d4df90b3791e2b19be2476d92fa1fbf5ead415791659bf1d28523be8a SHA512 ff8825420a1002e8e9849e9f9ff18c4afb9059abe261becf8f49a278ac00029dec1c451a3a9ee51d20384fd42fe73bc83b85c218e7c551f8e5d9851f9bbdf6bb +DIST firefox-158.0-gd.xpi 456467 BLAKE2B 29c32355201ac2a5bf4d1c861d099ed648941f5ae9d59bec3bc2f94d6581da02b29181a9730b1792e4586f9deb2851f5825cc20deeb4394db90c6acf69568f2e SHA512 fcaa26c6ef4b2534b437ca49589768c63cbe4aecdb1884f1596786c987afc4ddb342d71427a680280149200bc56cd2d769eec2aae50f890371bca21e9eb7b4bf +DIST firefox-158.0-gl.xpi 478071 BLAKE2B 6138b71fc1bd905da8689caf442b98b16ff8cd9f66b1bd97b3b5afe4e4576d6bf97f4da6066953361cf481d18dad206f99f42e3ee78acf04af9ac734f7a1511b SHA512 a8c7af0b5c06c863cf8232e7f83f0fdd48e3be33ab139b84253cbf60775c697c1c4f32abaab8a5bd88beabe3c4db697675eecd246d77d469c9836f770a4a37af +DIST firefox-158.0-gn.xpi 532438 BLAKE2B ccdc949fd17e666c6363da34e3b9eccb889c499d5d17d539abd4c7782104caa5e26da7d40cf0512d1c4f650f5e25024b6cf2de003dd2e11df33b1a6185abfd9f SHA512 c92fc73be355577741c619b5f2642695cf4e02b80e4f8f035c7d76c455c4265d6e774440fd061f4501f7131852c5c23f32de107623686566d7eae51676365f76 +DIST firefox-158.0-gu-IN.xpi 434937 BLAKE2B 3b8e4b27553c036316f6435fd61085a0eca39996b733d01cdbc8589df7bc0e6077eaba64de65d374f6a34a751c3555c03da37914ecda320bf756d30201417959 SHA512 0d84921a04766ae94c1b28bb252fd3797863176a2f83cec9d91af6a62de85ba4b75eec2c896f5e87ea0e101f85e087c9ff3a163e7de87d04b27e011f4e3cb09e +DIST firefox-158.0-he.xpi 543542 BLAKE2B 3d1ab15ef796da4c5dec2118242e69033cf69ea2f91c6c7c19320f076fbb86f2f79a575a076089c74e785effe79c3574fff3b344f1d89be3918526db869aa7d3 SHA512 3a9756cdc028a9ea3492d2e7a87cfacd3490dbf6e8a23cab9ac36c29393d57c00e9aa89713bc0650fe5b323753adb0da2104dfcfd13fae4ac8f1b02a1d2a90e6 +DIST firefox-158.0-hi-IN.xpi 449535 BLAKE2B 7842120bfc5b22420e5c00f301dda26790d2c168cc7a3a5c4ec7fc4bf0a492d6dd77bc21fc2d7a5f04375adb6e2e7a98a8b980e29d3f925160d806713d919414 SHA512 fbf4c0f05f5ccf2bd51d3976a61fdf474746413cfe01be8d96def3901fc066d35163bfcf8c227bcaf375becb298f1423dc6b6dfe39a2ce4e7227a401c3b4358c +DIST firefox-158.0-hr.xpi 505239 BLAKE2B 5d6147cb1949b1f8b7b27e8b0ebcea36916c9884077222db2ec48dfd0436496de41d36f16a086e4bdad6bf046dc40e338ad72bdaca796bd609540a7c6d3f78cb SHA512 34832c0e0a50c517d6e7e69ae37123e2bdc12bf16a4faa8c8813c2670e239b621b8c546ff3589bf4bbd403efd0e85b7b05e9d261578301e6c376b152be646f29 +DIST firefox-158.0-hsb.xpi 551948 BLAKE2B 4914bf4096bc3f247b1d149319e2b772ca45f7df493a6a4dad1591fd5dca19029dcf2ef78d85bf8f6036579426c1c09ed747bc8c476af7c2295d7537f5e413fe SHA512 dea16dd9be249ea22d0920b268185cb529b9d96a0dc6341d0ebe06a463c05fdee6054b69477036107f5b9f273867769926e33526545f13a03686101eb3fafd40 +DIST firefox-158.0-hu.xpi 556227 BLAKE2B 58b77bef36e7b5bf9c9801dd9e040dde7261d48b0b4ccbed47fd4cfe8873571769fba4bc55043454f6c5f4648e9d0afe7144d2933ff604ad3241521852e77291 SHA512 dd89e03ddc9a844f5730a34444b29d15e25e211e2da410aa37d96695150bbb74fa44409e7862ab0943b090c5e6a61cb3c5205d90b348ed3673b37347ea407e24 +DIST firefox-158.0-hy-AM.xpi 562165 BLAKE2B e724926965f8a506a212515c2d148a50d7d20f614718bcde6b8f39e195c7426a54a678abbcf5b301f48c98e7e737ee1060f8187af84227f072984f0b13ec63e7 SHA512 b501246a77c8bcc8fc9677e1ecfe42a30e4b5ad3d0f21d55bdd8d8247af90aeb587fa827094e4aa7bef9af388c5d2c4331c66dcc3314aa2014588830b72c7a66 +DIST firefox-158.0-ia.xpi 511846 BLAKE2B 43e2c90b981bc702aef47c3944673defc3d26e8f2063fcc75c430ba111cbb5432dbf8b6ff1cc6fcb0fb62fa85fbe52ff808b3b988e09a5761570a6f64cabb30e SHA512 b9c8e908196e338882ad41141be3efe590459bc7f11931baea98a50e507369ff928622e2de0ae46f91fc91fbe3e993ce8174f9974ec5790142b3940ccb815c4c +DIST firefox-158.0-id.xpi 473610 BLAKE2B cb3556c85bf310ae975fbbbc5b24e6991d516811781b72bd0c07e6b7fb91f936a706e139b14dcc1bee1d58413c2de2575e04e8cc9c1e4c312745d9b91a2e22f4 SHA512 a0fa544a72fb7720e19398b73db5076352c6010d11e78733ee8ead59bb2f9a0cd6e81c90ea163592818c39d43cfd111310560826e68dc30e9d256fdd8aa8be6e +DIST firefox-158.0-is.xpi 486695 BLAKE2B 07ab737e0d16ad5ce8042b0fe1d63425e526f283589aeeab7beac96782d8fceac53309e803d3a288c452eeac8e772a0f783ebe2018b735bd353088f9270593ab SHA512 e0772fef9a9e49427c28d03f974f9625d7e6d8034e37a09fa514f445d10fd85a6594d44f1257854e3ab3a78252df1e1f6d12cb80b4804fec7b8a5011c159ffb3 +DIST firefox-158.0-it.xpi 525249 BLAKE2B 1d4cd2795665d5bcdb137ba54f0e6c493e8cfd05a9d43a9ba09e34040da553b4a72f6f9a0ea46418b2e8e214732900ac8006093fe6d34f7d6b95c0bc85c23d0a SHA512 51ea2d7727353214dac37f677c0d96932c98d8e4307091df9ba225466c44fbc43c39ab0849c778b1bc2dc70efd559eb31ca167eff99b484a2a389113912c7d1a +DIST firefox-158.0-ja.xpi 572762 BLAKE2B 35b67448b035adbd96360992c44fc41ba63138f6bf1193a40ec73b6de62084ec5acd5ae221953d01e595c04f32f509d235fcf442e68604bb587a76099d1fd298 SHA512 4159747b1d5f81f3732fb2ae85823f2f32b6bb29ee330439d4f385aae4a007757314708a619cac2b47093e280d0153887b330e690914b0a14cc74e4c188d7c4a +DIST firefox-158.0-ka.xpi 587731 BLAKE2B 80a9529a6f70145d4c77cad30f7752dcce83abdb355c03b942dffb0845676d2aef553ec23ecb08c589c27f0bf7ac8a813d8e6b8edac4e2e5975b404168c57be3 SHA512 d3a10d80da6cf689a6a6cb643ce2d32ec6f8f1f16480334d8e97c44c09014653c77ffa937eb11e8886afa78cdf03972cdbdf254a98763607cfa7e0cb428539fc +DIST firefox-158.0-kab.xpi 467870 BLAKE2B 6e88c3566e9ddc4e6a5b049a66253f5e6c0f3719b39fff8f27de39d2ebb34e580cead2fed95a0af73fdff674576ac635c5828007e3ad235a6072ac2ada47dbfc SHA512 ab12087ebb5f9cea801114bfec538681e494b31796c832d97aab9877297a84d39fac98b5a5360afd797da2ae0991d5a38c3d200f29fc606c9cd076ba1617f557 +DIST firefox-158.0-kk.xpi 613925 BLAKE2B 4e2248649bfa0335fcd4bb973a418af4f3c52a4e84f5c30668b338dc351dc2c458abf03655944a9c78ffa1af5f5d3674892bf20a71758a379dc768b270863af2 SHA512 083b5c6b330bbed9fd5a45ac67bc891cf0999580a2261463e36536c9ff6ef7df5ec3c68b8aaf781b36da57b4b13f633399b13cf82d0eea1bcaa39912e110fcc8 +DIST firefox-158.0-km.xpi 453942 BLAKE2B 8371c680ff3f689f27913a40be05f5ea4ad2c857bf1ebb6aab77ace17d24473f9e0cc7a7f112291b2e112a206eb96b6dd49bcebc348fd9aff4eebbec26ca59a0 SHA512 c7cb3009f6514bbb12a5d7f23627d582816981778b0b1b6dc94a6caec0e966ea4836a12ba202933775b733b90605f11d5da42e1ed4b24fc2a97203470f791d28 +DIST firefox-158.0-kn.xpi 418005 BLAKE2B a25aea10715218d6294b5e51da57ab9147995f0444c8774de8ee22abd414203912ee41690cb8ad7aa63b7bd45a553356f0f38da29a4d63d214bea4c38bc62f4d SHA512 e2b457d783310125f409e52088c3f668a0e5eae369215a4fb7764055205fa7b838650a86d49446e75da8ea2274103069ff970d516458c132b77eb44e615d255b +DIST firefox-158.0-ko.xpi 555887 BLAKE2B be663260a7a3e57f6f9947f0e5904ab0a996ca2711a159644767074fdd03900b42ab9838ef6cd97bb9376023dc5ee439d6ef7509ebd53594212b9f77c7e44b78 SHA512 b0b819d5bf8b6c57b48a7eb147ceab045e05ec248a84d9b3f3c16738df6051e43e419010f189c6b50c89f6a356be99720f92d4918753e4522a8aafe2b2ff1465 +DIST firefox-158.0-lij.xpi 396465 BLAKE2B bcbf58f3f1110835ef7d06a5274dba6e5274ed1b837fce00189cb475ad13d23e4b942e3084d14088f3fadcfa766668d8f479ba841c9a07b04a3093a4f6cae5cc SHA512 4f421bf0a6f602a0c0069fc7c98325dae1f6177f404a707f54732ab4efd018e3118a2b0392adf9cd70d0de368b77a0e48e0da1d766e280b2982ee89c79bb639b +DIST firefox-158.0-lt.xpi 436780 BLAKE2B caf91e796985e713626cf2099545d62c4cc6b2be4efbe241b8b500701c41d5d14cd591f5e3e3472a897e5d09e0929a728be03b74da5a8cbbda9b75c00ee5041e SHA512 a4aa2045585e199b50f9fd752872ae45233e8520cfd1446d3e61e3f9bd25543408f023410b313d425f2aeeaff748648883f9d77e7bf1629101afccbe566af6ce +DIST firefox-158.0-lv.xpi 474510 BLAKE2B 01fea45c9f9bc3f18e544e5f84f7c67c91a090ac3cd261110178606a404934250f5e6af3239ac07d73f34dc53c31f9881bf50b8b59084b6351b3e3f91e2d79bf SHA512 3182feac0d896bf244bcee2e9315b8ce28ed5acae7cbe520b3134b2f5f4769360a6e97c20fde5a853008a3992480cace9189557e6666b34f52e305324e7dce46 +DIST firefox-158.0-mk.xpi 450564 BLAKE2B 6e4b0026694b3f53c45a587645212472bf454947675999c2abdd9c952e5ae1f69f2c59b3811a58f5c9de02bea932d43dbade383e05ba06ebe0ddb2f87ad08dc0 SHA512 58a89fae807cdd8dc4cf170eab834d09bb1f9d460a7212a82b8becd9a6240cf48478f17671360f445d1e3a72435695432221555664d70dfcd46972c8caec6c72 +DIST firefox-158.0-mr.xpi 432536 BLAKE2B f6abbb6a4baaf309e51fa463cdd5308bda9a64a3cd4a53b6c1e45e4787ace5383fb30a152e2f48efa6aac29ef3bc69ddb727380ba5261b7bbb3fc9b8240ebca5 SHA512 2430c9dae8667c86212ea1807a4400cd9e2d0ad4af5318fa74dd8ec4028d491c833b9cca59c6aec528b15dab90f1343b5e621cd60d52cbd8468b865db9189aa4 +DIST firefox-158.0-ms.xpi 394846 BLAKE2B dfa5a087c121f5ce83dc3ebb02abf17a4384979d54221dbb40c8b0abfdca356aecb46dd20daf05dd58998d861aae20bd9bf754f27e0fde1f685ea5bed9a88e64 SHA512 824e3effeaca2499c3470dd0d3fc81633baf4e08f1b37c6c714ec026dd29a1df52627fb6f603c91dee8e061070b6cfc7fb9983eebcd608989499a6e6ec276137 +DIST firefox-158.0-my.xpi 429170 BLAKE2B 4a47d22c7831e6d6c3eab7edf04e2131dbb166c60bb3e2b455d6bce2d9bd88c9cd846297d2e11e5c6bb6931dde1b7cc3dc98ba7dad57dd8e228f5ecbb2e8eeba SHA512 d0b44cd33129f5321f0733219327464995a80fcc4703fc6516828ba94433b3a3201f874f61128fde21966e9ca69a6d7f0f46410f62182b505f79bbcb0ba98048 +DIST firefox-158.0-nb-NO.xpi 510825 BLAKE2B 6d92e685b4aa253795296268409a1faa9c9bdb3c869106a03c0699065e7038ac02cbc70bb8ff6ed644c48b21475e9c963f1dce41464dffea2740d9018fd884d6 SHA512 7eb61a14a6d0800ba02b7860660642a5fdca35e0f784ad9cdce8933db73dd13c36f032ecfeb519602dcfae90b4ebd3ef0e0921d40ac4f98e730c5f6b0ac96d86 +DIST firefox-158.0-ne-NP.xpi 430289 BLAKE2B a0ec7ebfc936783ed1d121be738b415554af8883b56ed420ca67e1d72726d6355489e9494e3b1827dfe202643d72a6a220264cdccd201f17d87469ee5f39f064 SHA512 1002b8fbf739baeb378717fed3e5926dfd94a3d1a8df6c0b54812539b4ecd5e70b042ff6f248b2d2da3ca557c335bccf6a56192bdbf133b5ef698dc51df9d301 +DIST firefox-158.0-nl.xpi 519340 BLAKE2B a1323aec85b27667da2e47197dd134cdaf6bf2a6419391c0e7461e645bac1a69f7daace58c01673c94a3f973fd3d213e0125bd02acde048c8fdbb941c39fafae SHA512 5cdfd300041ae41309db6745cc6c7098ea0743963f72c8a576c887bae8972f208066b5eaf95a0fde77fdef097d503db43cac5b65b7a8428214f4aac5b86d84d5 +DIST firefox-158.0-nn-NO.xpi 514593 BLAKE2B 312772ca46f3af0db12c52eb1d7bd73cff3c1f8f90133745675ab6ef449ff535f5c86d210bdd024f7fd846f12d71d73257e7c04a815beaf8d79ce9cead6e778e SHA512 ab0eb45648b2ff40330df61284b0ed78277817d65135e34133fe8e99ede285501e6679c9ae404067171bfc078047f764c54cbe5b6961700a34d77ef48d4b0612 +DIST firefox-158.0-oc.xpi 459947 BLAKE2B dafe22fdf19b005c0b1a0ecc9a9150d7c4b8f86749d386955ec0cd310ca0b6876ea9e1483b91672ed3494ecd742db6c331efe6231bdee3ef04bab5d0218aead5 SHA512 50c524e67d171bc37f0d54204d5157052f5f223f42bcfc7e5dc76007a4dc156ffa81d6f19f4d6e7695271ef66622acaa7dd720d02fccc9cbaf79920467c7e32b +DIST firefox-158.0-pa-IN.xpi 606973 BLAKE2B cfa22d749a4c6aa2c0e0738da824d052474450248cc236884b10e26ef9ad2032385ff05c07e168f3313dab99003b8bd4c29466d3d68304df4476a34d1c1f2668 SHA512 a9651922b27b6b48cc582df20e76945f7550c62912cf69ccbeafdb3686a369b45d7e35417c406a8fa8fa1e92aebe95051883958e0ce1bb0b02ca56e6bdf89cb4 +DIST firefox-158.0-pl.xpi 553436 BLAKE2B 6d740a93b41b106b0e59a67dae1c8fd77bd5944065de06d87b10280042c05140d6c3df9bafa2851d447986fe67d2b352a35dc709c2dbd5bbc3ac83c503773376 SHA512 1b012809d71608c01b58309557aa331ba7a9237d5713c1ffec6988587d7dc558f98dd943561f8326776de89959ae8918c0c1881de61226a2f5fa1193c885831f +DIST firefox-158.0-pt-BR.xpi 524225 BLAKE2B 210cb686d443a8e38c7e77c0d958e83c78019a2bedbeeaec764e268b303a8ecf2871e0a9e8dbd89ae7f3c2bbc5c907af454ee13cde84570bf4740ffada0ae56d SHA512 0e44fe869a86c1084f38ec91175191fec300293b599b41d0249f45a98eaf145c6a2e1d22c2ece4c69f0d761655a19a2e5654d2e827182d25640cd50d9e270ee9 +DIST firefox-158.0-pt-PT.xpi 532005 BLAKE2B 170d815939ade36f19fe6c0969baf83907f76c03095fc7fdc5e0680a67ebcdb0f72be177875368cd5763bb59375b9efe33caa7c479905a7323bda8f3db1ee738 SHA512 2c4ce7ba72316fd5c325ce9d3d1d05620f6229022d0aaa766c61ab8a851981ec87059052088621a06ae804ecc57ed2301d32c25e76d9cb79cf4a472da3db6228 +DIST firefox-158.0-rm.xpi 486731 BLAKE2B c2566b569bfed5e961d7251fe2d4c67ec679f1b3ca5e47b68fbe6e72f13f528be348476cce651b0e001e696d6f1a12024f16b105f25428d943eb5bb470bc7b04 SHA512 0ab3541f5b5ec800dd9ecceb03d5024b550a9ffbfa474737e632a065ea77a575a17ca56b75093ca8539699c1a7757c5a2886c7284b0913c7a91e2ff4e686485d +DIST firefox-158.0-ro.xpi 539621 BLAKE2B 7796c00b2619f2c84a2eb708a0ccf896a9022a89da99d10d9fd25bb10d58787ba59d24e052904d0798fb257ba9dd688aa183ff8eea31ea8e47a5e0572b44843c SHA512 c794004462ba02ea4c17f31cbeb8a55d05695e705d08a1c418092c5d3e766e3233e8c72f1ef9a0a9da5725745314b12fdf7f6f247a4a5d2a4450b106de87a59c +DIST firefox-158.0-ru.xpi 627400 BLAKE2B 9c3c69d911eb5ed6e915f93ed134cb4ad72cc04224af9eff3578a77f669a347f920b54d9886c165219327b42e57e1acc5ca9b41c582f7eb5d1a1734829ae41df SHA512 8e3e23f2c777723729294c5624913583bce27e1a25430185c2e7731b97b4ca5cb2ce4f99636c5902190bcd5f4b0f4e66b944d0b0de593278fa037247963cb453 +DIST firefox-158.0-sc.xpi 492397 BLAKE2B 0ed289db778106359b752f60f31148d0679081d5fa135e738b6c0d51bfcea206ec4641ab201f5f4994bea644fd6f71757ab2b0dbef9b79c9e6151403ba3dd32f SHA512 4abe0458a62f238a7e9b865bd6d0372e29e67af3722dba1f1a2a861890453828ac8934e5026eb534a3ba8a1df9ffd7c712b62be82e61d881cc0ec6fbe9bf56bc +DIST firefox-158.0-sco.xpi 399801 BLAKE2B 01e5b4af6e5d1d95df612458e01882ab368a7aa05a21dfaac2759768c904647486f110c3cbd29f95ddb6d0347551b4b73731d8be15e0fb14c7ffb5affed4e192 SHA512 940fe3a8ff3bcdd17371864964596c7a645a94aac619a8226a2069a31f1c6d57ffb5c34c0908c8e2a1b4e50a1fa7f8ac71d616758280e85f8c52e347f1ace05b +DIST firefox-158.0-si.xpi 477016 BLAKE2B de3c74f81ae4c8efd389658823c1891727170d7d4a7aef6e76bb2d20524b1a7b4bdfc74a3941fe4d76e306b1b31ea25fd1907db6a2a531cbb21f9360350405f6 SHA512 25b453a3669495b3aae56c7c41856a328f7585e6679f4106f20aeb3dc2e1c30cacbe6ab699014bfd745bbeb634157eb073f797266663b43c7e23b4995e488862 +DIST firefox-158.0-sk.xpi 560551 BLAKE2B 4ab95ffbae6acb0d23b4fd6c0964d0466bff4c121d5be441433d4d5a6e045c46122c7b5261d4de2aa1d3a94d19e40129f819dd4f64a05f19d5b59289b9e62155 SHA512 7388999fd21a26e1294379a889873c913928d39e5458d21ea54519464d3ed250c4174a8c61bfd6229b308e5f0634ed8fa20c24b60d34f3ad37e5fc89c6d3ad0e +DIST firefox-158.0-skr.xpi 524255 BLAKE2B 316a806cd12c943ffbc44373b07e7f5f4a88c3fda0337fdca3c7804831fcb17a2dcef9380e6853b1b7cd6955e701d23679bd9460af76eee3da2e63c28d1b31c7 SHA512 37e8925ef5b101d9555fe17834bc97904a18b8d467c56a0f431588922742a39cd7a8cde300b59552c91d453769e873b575d9182a5fff0e2126c3fe67c91a3528 +DIST firefox-158.0-sl.xpi 524102 BLAKE2B 8362dc97c8b1d3042f20f6a64487e09cb86d3ed67d2477682813f27056335b6c4771ed4b0e12d0af6ccfa58a508e0b4b520fd31be357e9f1df2c19df1f645c46 SHA512 7bfeaa7889c2288dd88c303b293a601ea958321082d38f1535fb9af34c8c20549e06519176b13d5d6c3fe4673bb73be17f15db2b17f8c3ce179c4e11ec87f29e +DIST firefox-158.0-son.xpi 362504 BLAKE2B 5a35f1fabef175eff166c6e8c686b31be29405d5f023889b0c16acd28eb8a5d6c55adeaff0aa8a595fe3a102e0d0e866d7b13438026e1bc403a89250b433f7f7 SHA512 d56beaead76f99b14e20c124bf573cfb5f500c183a6a504ab723ff407ea15f830b7c9e443f84a94a1a91d25ec65bae664389b36d8832c694235a9845307643f7 +DIST firefox-158.0-sq.xpi 514833 BLAKE2B 2720e3f4a6da446ca96edc7c5b22e6a475cf794d1d61534af3b6fe0bdde28107e03000d966572b9b521d70b010f61472940487dfd4df662cd3ee609af7edb878 SHA512 94353fcbcaf50cbf5fc2a1e11407cac0db2f76fe9ac4ae2d9e3ddd76f61d20dd62cb5c8f282f75fae87bdf31f39dadaf461b22148789f9c41becf07763244de5 +DIST firefox-158.0-sr.xpi 598131 BLAKE2B 53e70692ab16253a4d958e25b80a30db96db4610b8a53aaa329498ec885dae35ea563274fea77458a6c992477830c34cf72f832266fae9576def69783df4ee87 SHA512 90b54ff02a63cf405f76dce0aa00a69c1584d98f1463d7cb146abfff712b0da53a4df4a37f29723bdb5f28fdcfa057d3b55bf145adcc44a237bc1dabb47a790b +DIST firefox-158.0-sv-SE.xpi 518577 BLAKE2B e1505913d6ac7e93ce020a98eeecb9643b527b2c2dc661b79d6ddad099eae9a51d4772efa6c6cff8c913c2f915a149dcb881f9038dd5a08d8185d938ee6b887f SHA512 cc758cd7367e491837dea393ec124fd939c38d2e3b2fd144325761f83ad3886bda80603cff47bdb03c296c1b31ee9eb21e62de789a93d56e5cea9907a1e9f945 +DIST firefox-158.0-szl.xpi 418964 BLAKE2B 6ec6a04d9c7c4a1f44ac36ff4bf0cae1e07269e423b77422c38f36105463d2dff993f50d3c5b430efae5b29fe65a945c07192982f79b73ce2b3b9e7952fe27ca SHA512 69588f51290249f8328b0fc8dd2d2e15d60875badebf45b671610f73d06c6fd41dadc8659be463fd8a0fc86ea7b4b62c5182a8471a2219b405b6f9bc6fa4ce6e +DIST firefox-158.0-ta.xpi 420890 BLAKE2B 1cb7f2e6964df03d0867a84cdf4e9539e2ba0ae5e484e8d2da94490591e707ad08e4182318576028999de4abd4b0a430ba3a47053079a43ef3a6738fa7512854 SHA512 b0331ef22e1ccfadc2b944444ee6755cfdd968db6e4fe8915361610bb075c9185ae49022a7def86c41a409d265a6329150a7ceefdf9434d0c6b294e4cb36fb93 +DIST firefox-158.0-te.xpi 459777 BLAKE2B d1475b4b20b04435754de08ba2af8520839de3fd57b914fdebc83411313a473bd10b1d1b7e0ef20c3179b01134f273dab5f26a31438d5adb5f23e9c81e3c80ab SHA512 3e18d150b82ad6992ff1cba0bc7d13c7a26d8354dd3fafb88f618406026658154b342dd788593b4d7e7cbf4f20970d735411ea5b92b3317a4e533c8dd5d229e2 +DIST firefox-158.0-th.xpi 583000 BLAKE2B c4fce4a013fcfa203f108ae91319c0659d951c03bc78c3fc7f028d0a184a869aa8f7d144e5ec9e159bb0a0dc4227cffe07e05b01f66ee206c640ed9f37508df7 SHA512 1135672d7d282bab16373b42545bfe239b3deb60c1c56aa40f8f5c782c8b04a04fe7feafb41c2dabf47619b91ef3cafa6ba5e8ab05f709a0f28ff9b86eebb3be +DIST firefox-158.0-tl.xpi 416607 BLAKE2B 8c0dd9d875d07ddb223f535c3a67377f940d5e0b8b5e1a3d05c12ca7d015189baf3601a2a2234e43ff6ed809683d5bd6697d6f0eda984f3bc2355279f41d13cb SHA512 4570005f75bdb6bb1079bed1e80c3f3f06b8bb520e7c0772b4d8fa15fa7094fc882855e41d85d629ee69de3c9f8b4f438d52f62cfa616f5b4aa4f064d5c3f4be +DIST firefox-158.0-tr.xpi 534872 BLAKE2B 74ded8fff5e561199ba41db702980e5fa8bbecc8ac9975010c221d9891d9d69eddfccf777005f5fa0171ab40e43c1f3458695c37883218c98c40f1a4c5890211 SHA512 9ac33f2bc81a42187f43b66cffd7de93c5576f6ab964d1514f60f0f31818cc8a1cccccb84b0362ad8fabea875f65a1b42e6014459f8cc4354f6f0c8cf1b8fb7f +DIST firefox-158.0-trs.xpi 407149 BLAKE2B 4390f47f868a55ff7969e8970374b0c3cd8ea22ba1e5c42edab5cd7bf3e3026546619859de585535e469564f85372423cfe6494079705f235050a26459cbffc1 SHA512 38f8d50db94d7eb2bf41c99d6ba684f0ad3207ab90c430f1bad3896c4089bdc177fbdaf85ef8c8b7314f41fcd267b8651d4001ccb3e8d66f925ce1f426a00e28 +DIST firefox-158.0-uk.xpi 598179 BLAKE2B 3028541ddfef71f217df99f9fad249874d96675b5ae9b9a2c623e1d6b0410f00bfa7076702ef074a2f7f7456a976c96e459931fcac08463bdab08b440353fd97 SHA512 c2d7fa4f6b9099da557d7e173d1557a23b2b532acc0694ab7a81512d8a4bf0f191f6fc5640647da3c07daeddd2352ca3ab4a71d6cd96c3819bff18bb968f19e3 +DIST firefox-158.0-ur.xpi 442054 BLAKE2B 048743fdac41a08c589e30a467a536ed38b5af8b8e80e58890a325ff25d959b63d71f49b1f5481241afcf6577edbcd490b4c75b97770eb0ef04104f259c847e6 SHA512 e7628cf598fdc671bd4ed644ab8981622580a45fff632bec2542638f885e217bd578adb9e6fd6467038f96a205bc00939781bcf6acc952b8c8db02657eab1a23 +DIST firefox-158.0-uz.xpi 389173 BLAKE2B 16c4630b2b752f1f6fcf5a51c53f108524acafc027f81873e831dbf38c67e92f6c28f8335651168e74b7551fb48c10a191d911c3c46fe94b62462962e10385cf SHA512 2042164428c27bb57829193a8363bf268b6a3a138aff1a2c6c21fc9c459860bf12e2bfe1dbe676064d13f1069c11dd446f701129468d39a1449776c6b36e5924 +DIST firefox-158.0-vi.xpi 560793 BLAKE2B d5ad7f1756669a4c3fa41693836fac254dd29d4959897d2bb7cdeffeea4c4d10393d0dc34320c0eb6939d495f13dcb6d94a38e20616a344486f3c00b9e1ec346 SHA512 97d2616d4900b86bceb1ca5d6b9b9780794c660a9bc472dda2f1f928dc582997b171d17fbe4b4ba5b95296c7c99087eba84e1f35f753b89bdedab645a22f609c +DIST firefox-158.0-xh.xpi 368105 BLAKE2B e98204e6a5b844fd14f157cef4396e6ea5a4735644a8014d720a0c8f410d19eb40e8247cc62c570af4c332fca561fbe929634b853354db37b254495f7e7357db SHA512 1965c7aa6ab789bdf45c70cd54044ee0be73eeb53cc51d78a554b62ea2fb623bea2b50b0857326a3ccff4363f87f2356f99df8b971c0bea204714a3a73b2975d +DIST firefox-158.0-zh-CN.xpi 544868 BLAKE2B b08552c294b3bf661fdf5d593dc1a0d162808c0f71102d1e7f389bcffdd4c42f164111336f16411473fe8619626988c282ef7e28768a48ea09966463340700d6 SHA512 e13499688fbe7e98525ca85700f3a1f04d602adc4ddade4639b847bb3cf2b7a1a00d2ffc819eb1ab84d0a3b2ed292e6daae45552ab8b2054e4ccfef288530b2e +DIST firefox-158.0-zh-TW.xpi 551876 BLAKE2B bc5d320ff779a5f57652e75d36bd6ef6bb78f8cf7d1444776dbf051c8db1e719686e4b964e54d81960b5ae2ac75d62cc72776c2fc1f3c3945a0dfdd4e1d80a51 SHA512 8f2ee318b71edaf4b840161a86f0bb3f5519049924d851c08afb1c8abf4a220bda1fab2dd24705a07333810b8889a298fffaba8eab48aafeea2885d952ae52e0 diff --git a/www-client/firefox-l10n/firefox-l10n-153.5.0.ebuild b/www-client/firefox-l10n/firefox-l10n-153.5.0.ebuild new file mode 100644 index 000000000000..898db0925756 --- /dev/null +++ b/www-client/firefox-l10n/firefox-l10n-153.5.0.ebuild @@ -0,0 +1,186 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +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" + HOMEPAGE="https://www.firefox.com https://www.firefox.com/enterprise/" +else + HOMEPAGE="https://www.firefox.com" +fi + +MOZ_PN="${PN%-l10n}" +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}" + +DESCRIPTION="Firefox Web Browser's translation files" + +LICENSE="MPL-2.0" +KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv ~x86" + +if [[ -n ${MOZ_ESR} ]] ; then + SLOT="0/esr" +else + SLOT="0/rapid" +fi + +# 149.0 is when the firefox-l10n was introduced. +RDEPEND="!<www-client/firefox-149.0" +BDEPEND="app-arch/unzip" + +S="${WORKDIR}" + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb el en-CA en-GB + en-US es-AR es-ES et eu fi fr fy-NL ga-IE gd gl he hr hsb hu id + is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO pa-IN pl pt-BR + pt-PT rm ro ru sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +# Firefox-only LANGS +MOZ_LANGS+=( ach ) +MOZ_LANGS+=( an ) +MOZ_LANGS+=( az ) +MOZ_LANGS+=( bn ) +MOZ_LANGS+=( bs ) +MOZ_LANGS+=( ca-valencia ) +MOZ_LANGS+=( eo ) +MOZ_LANGS+=( es-CL ) +MOZ_LANGS+=( es-MX ) +MOZ_LANGS+=( fa ) +MOZ_LANGS+=( ff ) +MOZ_LANGS+=( fur ) +MOZ_LANGS+=( gn ) +MOZ_LANGS+=( gu-IN ) +MOZ_LANGS+=( hi-IN ) +MOZ_LANGS+=( hy-AM ) +MOZ_LANGS+=( ia ) +MOZ_LANGS+=( km ) +MOZ_LANGS+=( kn ) +MOZ_LANGS+=( lij ) +MOZ_LANGS+=( mk ) +MOZ_LANGS+=( mr ) +MOZ_LANGS+=( my ) +MOZ_LANGS+=( ne-NP ) +MOZ_LANGS+=( oc ) +MOZ_LANGS+=( sc ) +MOZ_LANGS+=( sco ) +MOZ_LANGS+=( si ) +MOZ_LANGS+=( skr ) +MOZ_LANGS+=( son ) +MOZ_LANGS+=( szl ) +MOZ_LANGS+=( ta ) +MOZ_LANGS+=( te ) +MOZ_LANGS+=( tl ) +MOZ_LANGS+=( trs ) +MOZ_LANGS+=( ur ) +MOZ_LANGS+=( xh ) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_install() { + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${MOZ_PN}" + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi +} diff --git a/www-client/firefox-l10n/firefox-l10n-158.0.ebuild b/www-client/firefox-l10n/firefox-l10n-158.0.ebuild new file mode 100644 index 000000000000..d0506fb86ca3 --- /dev/null +++ b/www-client/firefox-l10n/firefox-l10n-158.0.ebuild @@ -0,0 +1,186 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MOZ_ESR= + +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" + HOMEPAGE="https://www.firefox.com https://www.firefox.com/enterprise/" +else + HOMEPAGE="https://www.firefox.com" +fi + +MOZ_PN="${PN%-l10n}" +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}" + +DESCRIPTION="Firefox Web Browser's translation files" + +LICENSE="MPL-2.0" +KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" + +if [[ -n ${MOZ_ESR} ]] ; then + SLOT="0/esr" +else + SLOT="0/rapid" +fi + +# 149.0 is when the firefox-l10n was introduced. +RDEPEND="!<www-client/firefox-149.0" +BDEPEND="app-arch/unzip" + +S="${WORKDIR}" + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb el en-CA en-GB + en-US es-AR es-ES et eu fi fr fy-NL ga-IE gd gl he hr hsb hu id + is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO pa-IN pl pt-BR + pt-PT rm ro ru sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +# Firefox-only LANGS +MOZ_LANGS+=( ach ) +MOZ_LANGS+=( an ) +MOZ_LANGS+=( az ) +MOZ_LANGS+=( bn ) +MOZ_LANGS+=( bs ) +MOZ_LANGS+=( ca-valencia ) +MOZ_LANGS+=( eo ) +MOZ_LANGS+=( es-CL ) +MOZ_LANGS+=( es-MX ) +MOZ_LANGS+=( fa ) +MOZ_LANGS+=( ff ) +MOZ_LANGS+=( fur ) +MOZ_LANGS+=( gn ) +MOZ_LANGS+=( gu-IN ) +MOZ_LANGS+=( hi-IN ) +MOZ_LANGS+=( hy-AM ) +MOZ_LANGS+=( ia ) +MOZ_LANGS+=( km ) +MOZ_LANGS+=( kn ) +MOZ_LANGS+=( lij ) +MOZ_LANGS+=( mk ) +MOZ_LANGS+=( mr ) +MOZ_LANGS+=( my ) +MOZ_LANGS+=( ne-NP ) +MOZ_LANGS+=( oc ) +MOZ_LANGS+=( sc ) +MOZ_LANGS+=( sco ) +MOZ_LANGS+=( si ) +MOZ_LANGS+=( skr ) +MOZ_LANGS+=( son ) +MOZ_LANGS+=( szl ) +MOZ_LANGS+=( ta ) +MOZ_LANGS+=( te ) +MOZ_LANGS+=( tl ) +MOZ_LANGS+=( trs ) +MOZ_LANGS+=( ur ) +MOZ_LANGS+=( xh ) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_install() { + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${MOZ_PN}" + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi +} diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index dd42dc07a438..96fbdca8e009 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -103,6 +103,7 @@ DIST firefox-140.16.0esr.source.tar.xz 632581380 BLAKE2B 1fb3bde4477e330cbe080ef DIST firefox-140esr-patches-13.tar.xz 15628 BLAKE2B 824c3d42f2f6cf70932fe395cf11dfe9043e09e20d6dfd2bd64ce4567206def45424e82b738f27c71648f0b2d97608746d22565cf7aa35713dedd71a24cde449 SHA512 d4d59818944f6a8213598308a1095a0f3c9818e6c517587e4630056d432a0e9673ad627447ca18dfa884dbb35bc2921e54cfc63f9c5646765e0f66a75279584d DIST firefox-153.3.0esr.source.tar.xz 804997520 BLAKE2B a01a4e3efec1c81ca462b915e448750a4d76ec81fad4cb2b909db584cd14df7437154fde82bc6547689466e811dccf70dc8d27d1e76b00572f5137d653040319 SHA512 56a5e092f0aba91febf01d227e8068520513f632d09c5ffbad4cbb2de307d9066425f353a1b7fcf5648733e02a9b17cfc9aaed5e39d7562a6b143b1c9827a668 DIST firefox-153.4.0esr.source.tar.xz 801731048 BLAKE2B 1c7b05caebfdcd1412f4214a71e6b58ef607bb7aa8bacc5e1f949ddf0d12df18e3b711a3c7d72229124d1113b73fdba27e34e840bdb7bde8b2ea8d777a0c86c1 SHA512 79e1f2a0f8c4d156c80b8f4c580aa944600d49cc811f961a3eca251113241638991fda94ccb74a44df9030f643586c41686861333288f13793e621a262a1b131 +DIST firefox-153.5.0esr.source.tar.xz 801858032 BLAKE2B 6e674a6e0df2b40e14308f1b11cab342238414b08f87b831a4e23e3fac8621172205fe46a385c214319815ddcd1f5d79f89804f9c61bd868f39496e53605c7ab SHA512 9acb8d1a4b241767e39da36d6f520d4edaae0f237f311496beeed10e2383cf399b0af11cac6984d425b620af0ecba3e67808637ec74733c7d23186d0dd2bd5d4 DIST firefox-153esr-patches-03.tar.xz 13056 BLAKE2B 25dcb9db586180e2e695a148eabcf226a271abac110c632bfca0f8f659387c2d14c5a5fd5706eb300cf990a4f424e34abc3d7edb3db0e62b662aa0ade47b75a9 SHA512 686164839139581802e08cae254d84e2e5c13a8f0826b47be645c697024af89eec51175f823586851ff18de717a366362898bb5a42ecbaa863ccfaf11af66dd3 DIST firefox-153esr-patches-04.tar.xz 12232 BLAKE2B 3f792b89ec324437dbd8e6116eefca5986b0c9c2f286ec42e7faf887df106bbfb0266288fd981e3dc11b858920f13aa2a25f9f049af1cae18f1323e68976f4ec SHA512 5b0061a1ab8d90ffa2a18109718c16c7fbca0ad23ffa752a5a19746de8824592eea35471bfb3cf05d5cae890084431af100062648f44941f9689eee4a46ed20e DIST firefox-156-patches-01.tar.xz 18908 BLAKE2B ea2734e98c8ab19f5205ac4ed6ff4c4ded8d061b90ddf7bcca475a3b35b757d9daba337ef6b6a62d91f973f86ae11892a6d72fdd3f2d70e32ba0281cce02d601 SHA512 9131d3ef2245f9445df9569ee7d8898e0bb9e269dcf665353cdb5bd23f22f25e92e497753c30f5f72d24b310333e4674e675e4fd10bad123387ebbf4ff18b86c @@ -112,6 +113,8 @@ DIST firefox-156.0.source.tar.xz 802800568 BLAKE2B 19be7acf988ee6b7bf27ea292ce36 DIST firefox-157-patches-01.tar.xz 22380 BLAKE2B 41e0e59cfbcf9f62a0568f126c5259b0152095eba2680b929a23ff1bebbc00b0004444a407c2dd8d8b5e90c92e4077a1c16d578f462ee115a4ee30818a884bc5 SHA512 ea0aba95e5708ba0d902219c850d8b5fe5e04fa95847268b64061eadf178037a6e6fdce186aa9de26e069ce7fcfe0f0c7759883713a14dc65efb771284435a41 DIST firefox-157.0.1.source.tar.xz 811383348 BLAKE2B 128ae1f5e183bc78d5a3611927369c59870c31acee48a7669facb175969fad1e92dcd93909d882c86665bf0f98a31ee39a5fc8387e1b5be677f6524bd6ab3600 SHA512 c019202b2f87d25b3605bbf7266f3bb4d59745e48536f297d3f00cc3524a1cd2eba416a5a3cd0ecee6b0762d0f35bf3c5fcce286ebc7bc741263bebd0f102858 DIST firefox-157.0.source.tar.xz 813871236 BLAKE2B b309a3e885663c483681e86e01b8f257a09f9ea1791ce09da0ec25ba4d8bc043d82bc868623bb4b4195a65ab344e7e2db2b08eaddb6d87830a35b106ebc96bcc SHA512 d0c1788102904fe83bfbeecdbdfbd4033743e9bb791ff7063ca4a2a72146c722e0c87fb7531b32be9491f5b1529960364197150c27742e0aea3cefcd13ed0dde +DIST firefox-158-patches-01.tar.xz 22644 BLAKE2B 08a481bc9f85027da33876e6476a0b13f14c1850b08d59ca39edf76df31eab0af0ec74b792de7136cd9437c46ad12a0c88032a06fa222a5989f62c8f545aab7f SHA512 d60025ac76717238c13208af656c8e2220b71153e91137ad527b35e9eb7b7138c96f87b760ccc36cacf6a6f009ed805f49609593bcd553e1b9050928d2d7ba69 +DIST firefox-158.0.source.tar.xz 814889676 BLAKE2B a4f982dbb038744649a11ed6b71a531a861cb47b8c813ae57f4e45b75381b89af7253514b59355b9602d9ee87f63244d966e843ce0d6a82a648667bdbb4ba65d SHA512 14b8ffdc325a234061db14dea9bd144786dc2c84468a5dfe2bb70bb9558f63f73427cf244eaf461010ee01dfdf04f2cae68bae9f07b4820603a4bcd4462f7960 DIST wasi-sdk-32.0-arm64-linux.tar.gz 142940986 BLAKE2B 45712415f916c2749bac9002157def84f75d005bcac0403cb9b5a814623a1e0c2a2f24092d55478ca5204afa82c7499cabf405b8e5c6e95a514351801da4a91c SHA512 e39f3130290e63a7c2674e8838bd6569ca6a630c0231e2a303d6bd4a6b7f9c78b59a99606193c3ba3e200d93d9221339d23653e98ef720632d54c5c6866dde69 DIST wasi-sdk-32.0-x86_64-linux.tar.gz 143157058 BLAKE2B 62b83e2db70b24361962b392551c604b21c59535b8d34a5e652447d7b722b033327334f0e17381d28eaa6dcb31fb02aad9978c66b761fb592b6de502012aeb57 SHA512 f77c08d1eb0f8e765bed4955d4794b33bb38149df5a144bebbe43e91fce3cfda7210cdf57073c0ff23c1d3c68105b6c69b4782af1643a0be2f3310001a2398f0 DIST wasi-sdk-34.0-arm64-linux.tar.gz 192255247 BLAKE2B 3d185e7e98a1e5091aba98f76f221b7e641acadb8dae5aa453ec24a07f1b3e1643ab2a4d4da2d86cd08fbe3e93a7617864716fb7ca64e716d203bdece6087aa5 SHA512 b27453c20b949e8c783980e69937cfa24a306ed3fe0ce2716a72b5ba4cbf231bdd0f114af6a519c41dd6cd81da7bfb06bb86d7b86a45ffd4a723fe4341d8b653 diff --git a/www-client/firefox/firefox-153.5.0.ebuild b/www-client/firefox/firefox-153.5.0.ebuild new file mode 100644 index 000000000000..e267e8df473b --- /dev/null +++ b/www-client/firefox/firefox-153.5.0.ebuild @@ -0,0 +1,1310 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-153esr-patches-04.tar.xz" + +LLVM_COMPAT=( 22 23 ) + +# This will also filter rust versions that don't match LLVM_COMPAT in the non-clang path; this is fine. +RUST_NEEDS_LLVM=1 +RUST_MIN_VER=1.90.0 + +PYTHON_COMPAT=( python3_{13..14} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +VIRTUALX_REQUIRED="manual" + +# Information about the bundled wasi toolchain from +# https://github.com/WebAssembly/wasi-sdk/ +WASI_SDK_VER=34.0 +WASI_SDK_LLVM_VER=23 + +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" + HOMEPAGE="https://www.firefox.com https://www.firefox.com/enterprise/" + SLOT="esr" +else + HOMEPAGE="https://www.firefox.com" + SLOT="rapid" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ + optfeature pax-utils python-any-r1 readme.gentoo-r1 rust toolchain-funcs virtualx xdg + +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} +) + +DESCRIPTION="Firefox Web Browser" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]} + wasm-sandbox? ( + amd64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-x86_64-linux.tar.gz ) + arm64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-arm64-linux.tar.gz ) + )" + +S="${WORKDIR}/${PN}-${PV%_*}" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv ~x86" + +IUSE="+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio selinux sndio" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx" +IUSE+=" system-pipewire system-png +system-webp test wayland wifi +X" + +# Firefox-only IUSE +IUSE+=" +gmp-autoupdate gnome-shell jpegxl +jumbo-build openh264 +telemetry valgrind wasm-sandbox" + +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + pgo? ( jumbo-build ) + wayland? ( dbus ) + wifi? ( dbus ) +" + +RESTRICT="!test? ( test )" + +FF_ONLY_DEPEND="!www-client/firefox:0 + selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + clang? ( + llvm-core/lld:${LLVM_SLOT} + pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) + ) + wasm-sandbox? ( llvm-core/lld:${LLVM_SLOT} ) + ') + app-alternatives/awk + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.29.4 + net-libs/nodejs + virtual/pkgconfig + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + gui-wm/tinywl + x11-misc/xkeyboard-config + ) + )" +COMMON_DEPEND="${FF_ONLY_DEPEND} + >=app-accessibility/at-spi2-core-2.46.0:2 + dev-libs/glib:2 + dev-libs/libffi:= + >=dev-libs/nss-3.125 + >=dev-libs/nspr-4.39 + media-libs/alsa-lib + media-libs/fontconfig + media-libs/freetype + media-libs/mesa + media-video/ffmpeg + virtual/zlib:= + virtual/freedesktop-icon-theme + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/libdrm + x11-libs/pango + x11-libs/pixman + dbus? ( + sys-apps/dbus + ) + jack? ( virtual/jack ) + pulseaudio? ( + || ( + media-libs/libpulse + >=media-sound/apulse-0.1.12-r4[sdk] + ) + ) + libproxy? ( net-libs/libproxy ) + selinux? ( sec-policy/selinux-mozilla ) + sndio? ( >=media-sound/sndio-1.8.0-r1 ) + system-av1? ( + >=media-libs/dav1d-1.5.3:= + >=media-libs/libaom-3.12.1:= + ) + system-harfbuzz? ( + >=media-libs/harfbuzz-2.8.1:0= + !wasm-sandbox? ( >=media-gfx/graphite2-1.3.13 ) + ) + system-icu? ( >=dev-libs/icu-78.1:= ) + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) + system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) + system-pipewire? ( >=media-video/pipewire-1.6.8:= ) + system-png? ( >=media-libs/libpng-1.6.45:0=[apng] ) + system-webp? ( >=media-libs/libwebp-1.1.0:0= ) + valgrind? ( dev-debug/valgrind ) + wayland? ( + >=media-libs/libepoxy-1.5.10-r1 + x11-libs/gtk+:3[wayland] + ) + wifi? ( + kernel_linux? ( + || ( + net-misc/networkmanager + net-misc/connman[networkmanager] + ) + sys-apps/dbus + ) + ) + X? ( + virtual/opengl + x11-libs/cairo[X] + x11-libs/gtk+:3[X] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libxcb:= + )" +RDEPEND="${COMMON_DEPEND} + hwaccel? ( + media-video/libva-utils + sys-apps/pciutils + ) + jack? ( virtual/jack ) + openh264? ( media-libs/openh264:*[plugin] )" +DEPEND="${COMMON_DEPEND} + X? ( + x11-base/xorg-proto + x11-libs/libICE + x11-libs/libSM + )" + +# ESR and rapid dependencies. +if [[ -n ${MOZ_ESR} ]] ; then + RDEPEND+=" !www-client/firefox:rapid + ~www-client/firefox-l10n-${PV}:0/esr" +else + RDEPEND+=" !www-client/firefox:esr + ~www-client/firefox-l10n-${PV}:0/rapid" +fi + +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or +# overridden in the environment (advanced hackers only) +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) +fi + +llvm_check_deps() { + if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then + einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use clang && ! tc-ld-is-mold ; then + if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then + einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + if use pgo ; then + if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then + einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="18700M" + elif tc-is-lto ; then + CHECKREQS_DISK_BUILD="10900M" + else + CHECKREQS_DISK_BUILD="9700M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + + if [[ ${MERGE_TYPE} != binary ]] ; then + + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + filter-lto + fi + + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + if [[ ${use_lto} = yes ]]; then + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="18700M" + elif [[ ${use_lto} == "yes" ]] ; then + CHECKREQS_DISK_BUILD="10900M" + else + CHECKREQS_DISK_BUILD="9700M" + fi + + check-reqs_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to environment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + 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 + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + export use_lto + + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + if [[ ${use_lto} == "yes" ]]; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#915651 and bmo#1988166 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + rm -v "${WORKDIR}"/firefox-patches/*bgo-967694-musl-prctrl-exception-on-musl.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifying ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use loong; then + # Only the LP64D ABI of LoongArch64 is actively supported among + # the wider Linux ecosystem, so the assumption is safe. + export RUST_TARGET="loongarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + elif use riscv ; then + # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of + # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working + # guess right now though. + elog "riscv detected, forcing a riscv64 target for now." + export RUST_TARGET="riscv64gc-unknown-linux-musl" + else + die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info" + fi + fi + + # Pre-built wasm-sandbox path manipulation. + if use wasm-sandbox ; then + if use amd64 ; then + export wasi_arch="x86_64" + elif use arm64 ; then + export wasi_arch="arm64" + else + die "wasm-sandbox enabled on unknown/unsupported arch!" + fi + + sed -i \ + -e "s:%%PORTAGE_WORKDIR%%:${WORKDIR}:" \ + -e "s:%%WASI_ARCH%%:${wasi_arch}:" \ + -e "s:%%WASI_SDK_VER%%:${WASI_SDK_VER}:" \ + -e "s:%%WASI_SDK_LLVM_VER%%:${WASI_SDK_LLVM_VER}:" \ + toolkit/moz.configure || die "Failed to update wasi-related paths." + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/chromium/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + + # Respect choice for "jumbo-build" + # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431 + if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then + local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16} + elog "" + elog "jumbo-build defaults modified to ${my_files_per_unified_file}." + elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE," + elog "if that fails try -jumbo-build before opening a bug report." + elog "" + + sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \ + python/mozbuild/mozbuild/frontend/data.py || + die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py" + sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \ + js/src/moz.build || + die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build" + fi + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + 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" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=browser + mozconfig_add_options_ac '' --enable-project=browser + + # Set Gentoo defaults + if use telemetry; then + export MOZILLA_OFFICIAL=1 + fi + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-updater \ + --disable-wmf \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-packed-relative-relocs \ + --enable-release \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-ffi \ + --with-system-gbm \ + --with-system-libdrm \ + --with-system-nspr \ + --with-system-nss \ + --with-system-pixman \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --enable-update-channel=${update_channel} + + # Whitelist to allow unkeyworded arches to build with "--disable-rust-simd" by default. + if use amd64 || use arm64 || use ppc64 || use loong || use riscv ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use loong || use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # riscv-related options, bgo#947337, bgo#947338, bgo#977845 + if use riscv ; then + mozconfig_add_options_ac 'Disable webrtc for RISC-V' --disable-webrtc + mozconfig_add_options_ac 'Disable JIT for RISC-V' --disable-jit + fi + + mozconfig_use_enable valgrind + + if use valgrind ; then + mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox + mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc + + sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die + fi + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-pipewire + mozconfig_use_with system-png + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + mozconfig_add_options_ac "+hardened stl" --enable-stl-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + # wasm-sandbox + # Since graphite2 is one of the sandboxed libraries, system-graphite2 obviously can't work with +wasm-sandbox. + if use wasm-sandbox ; then + mozconfig_add_options_ac '+wasm-sandbox' --with-wasi-sysroot="${WORKDIR}/wasi-sdk-${WASI_SDK_VER}-${wasi_arch}-linux/share/wasi-sysroot/" + else + mozconfig_add_options_ac 'no wasm-sandbox' --without-wasm-sandboxed-libraries + mozconfig_use_with system-harfbuzz system-graphite2 + fi + + ! use jpegxl && mozconfig_add_options_ac '-jpegxl' --disable-jxl + + if [[ ${use_lto} == "yes" ]] ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + # PGO was moved outside lto block to allow building pgo without lto. + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + # Avoid compressing just-built instrumented Firefox with + # high levels of compression. Just use tar as a container + # to save >=10 minutes. + export MOZ_PKG_FORMAT=TAR + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + else + # Attempt to fix pgo hanging with gcc, bgo#966309. + export MOZ_REMOTE_SETTINGS_DEVTOOLS=1 + fi + fi + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use loong || use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on loong/ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + if ! use telemetry; then + mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0" + fi + + mozconfig_use_enable test tests + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold ; then + # increase ulimit with mold+lto, bugs #892641, #907485 + if ! ulimit -n 16384 1>/dev/null 2>&1 ; then + ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_test() { + # https://firefox-source-docs.mozilla.org/testing/automated-testing/index.html + local -a failures=() + + # Some tests respect this + local -x MOZ_HEADLESS=1 + + # Check testing/mach_commands.py + einfo "Testing with cppunittest ..." + ./mach cppunittest + local ret=$? + if [[ ${ret} -ne 0 ]]; then + eerror "Test suite cppunittest failed with error code ${ret}" + failures+=( cppunittest ) + fi + + if [[ ${#failures} -eq 0 ]]; then + einfo "Test suites succeeded" + else + die "Test suites failed: ${failures[@]}" + fi +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from llvm-core/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r4 \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + + # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969) + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/vaapitest + doexe "${BUILD_DIR}"/dist/bin/vulkantest + + # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded) + if use arm64 ; then + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/v4l2test + fi + fi + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Add telemetry config prefs, just in case something happens in future and telemetry build + # options stop working. + if ! use telemetry ; then + cat "${FILESDIR}"/gentoo-telemetry-prefs.js >>"${GENTOO_PREFS}" || die "failed to set telemetry prefs" + fi + + # Install icons + local icon_srcdir="${S}/browser/branding/official" + + # Prefer the upstream svg file they use when packaging flatpak so it's always up-to-date. + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${S}"/browser/installer/linux/app/flatpak/files/share/icons/hicolor/symbolic/apps/org.mozilla.firefox-symbolic.svg firefox-symbolic.svg + dosym -r /usr/share/icons/hicolor/symbolic/apps/firefox-symbolic.svg /usr/share/icons/hicolor/symbolic/apps/org.mozilla.firefox-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if [[ -n ${MOZ_ESR} ]] ; then + local desktop_filename="${PN}-esr.desktop" + else + local desktop_filename="${PN}.desktop" + fi + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + if use gnome-shell ; then + # Install search provider for Gnome + insinto /usr/share/gnome-shell/search-providers/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini + + insinto /usr/share/dbus-1/services/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service + + # Toggle between rapid and esr desktop file names + if [[ -n ${MOZ_ESR} ]] ; then + sed -e "s/firefox.desktop/${desktop_filename}/g" \ + -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" || + die "Failed to sed org.mozilla.firefox.search-provider.ini file." + fi + + # Make the dbus service aware of a previous session, bgo#939196 + sed -e \ + "s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox --dbus-service \/usr\/bin\/firefox/g" \ + -i "${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" || + die "Failed to sed org.mozilla.firefox.SearchProvider.service dbus file" + + # Update prefs to enable Gnome search provider + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable gnome-search-provider via prefs" + pref("browser.gnome-search-provider.enabled", true); + EOF + fi + + if use jpegxl ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable jpegxl via pref" + pref("image.jxl.enabled", true); + EOF + fi + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die + + readme.gentoo_create_doc +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + readme.gentoo_print_elog + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal + + if ! has_version "sys-libs/glibc"; then + elog + elog "glibc not found! You won't be able to play DRM content." + elog "See Gentoo bug #910309 or upstream bug #1843683." + elog + fi +} diff --git a/www-client/firefox/firefox-158.0.ebuild b/www-client/firefox/firefox-158.0.ebuild new file mode 100644 index 000000000000..d29fa54d681a --- /dev/null +++ b/www-client/firefox/firefox-158.0.ebuild @@ -0,0 +1,1289 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-158-patches-01.tar.xz" + +LLVM_COMPAT=( 22 23 ) + +# This will also filter rust versions that don't match LLVM_COMPAT in the non-clang path; this is fine. +RUST_NEEDS_LLVM=1 +RUST_MIN_VER=1.90.0 + +PYTHON_COMPAT=( python3_{13..14} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +VIRTUALX_REQUIRED="manual" + +# Information about the bundled wasi toolchain from +# https://github.com/WebAssembly/wasi-sdk/ +WASI_SDK_VER=34.0 +WASI_SDK_LLVM_VER=23 + +MOZ_ESR= + +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" + HOMEPAGE="https://www.firefox.com https://www.firefox.com/enterprise/" + SLOT="esr" +else + HOMEPAGE="https://www.firefox.com" + SLOT="rapid" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ + optfeature pax-utils python-any-r1 readme.gentoo-r1 rust toolchain-funcs virtualx xdg + +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} +) + +DESCRIPTION="Firefox Web Browser" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]} + wasm-sandbox? ( + amd64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-x86_64-linux.tar.gz ) + arm64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-arm64-linux.tar.gz ) + )" + +S="${WORKDIR}/${PN}-${PV%_*}" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" + +IUSE="+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio selinux sndio" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx" +IUSE+=" system-pipewire system-png +system-webp test wayland wifi +X" + +# Firefox-only IUSE +IUSE+=" +gmp-autoupdate gnome-shell +jumbo-build openh264 +telemetry valgrind wasm-sandbox" + +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + pgo? ( jumbo-build ) + wayland? ( dbus ) + wifi? ( dbus ) +" + +RESTRICT="!test? ( test )" + +FF_ONLY_DEPEND="!www-client/firefox:0 + selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + clang? ( + llvm-core/lld:${LLVM_SLOT} + pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) + ) + wasm-sandbox? ( llvm-core/lld:${LLVM_SLOT} ) + ') + app-alternatives/awk + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.29.4 + net-libs/nodejs + virtual/pkgconfig + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + gui-wm/tinywl + x11-misc/xkeyboard-config + ) + )" +COMMON_DEPEND="${FF_ONLY_DEPEND} + >=app-accessibility/at-spi2-core-2.46.0:2 + dev-libs/glib:2 + dev-libs/libffi:= + >=dev-libs/nss-3.130 + >=dev-libs/nspr-4.39 + media-libs/alsa-lib + media-libs/fontconfig + media-libs/freetype + media-libs/mesa + media-video/ffmpeg + virtual/zlib:= + virtual/freedesktop-icon-theme + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/libdrm + x11-libs/pango + x11-libs/pixman + dbus? ( + sys-apps/dbus + ) + jack? ( virtual/jack ) + pulseaudio? ( + || ( + media-libs/libpulse + >=media-sound/apulse-0.1.12-r4[sdk] + ) + ) + libproxy? ( net-libs/libproxy ) + selinux? ( sec-policy/selinux-mozilla ) + sndio? ( >=media-sound/sndio-1.8.0-r1 ) + system-av1? ( + >=media-libs/dav1d-1.5.4:= + >=media-libs/libaom-3.12.1:= + ) + system-harfbuzz? ( + >=media-libs/harfbuzz-2.8.1:0= + !wasm-sandbox? ( >=media-gfx/graphite2-1.3.13 ) + ) + system-icu? ( >=dev-libs/icu-78.1:= ) + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) + system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) + system-pipewire? ( >=media-video/pipewire-1.6.8:= ) + system-png? ( >=media-libs/libpng-1.6.45:0=[apng] ) + system-webp? ( >=media-libs/libwebp-1.1.0:0= ) + valgrind? ( dev-debug/valgrind ) + wayland? ( + >=media-libs/libepoxy-1.5.10-r1 + x11-libs/gtk+:3[wayland] + ) + wifi? ( + kernel_linux? ( + || ( + net-misc/networkmanager + net-misc/connman[networkmanager] + ) + sys-apps/dbus + ) + ) + X? ( + virtual/opengl + x11-libs/cairo[X] + x11-libs/gtk+:3[X] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libxcb:= + )" +RDEPEND="${COMMON_DEPEND} + hwaccel? ( + media-video/libva-utils + sys-apps/pciutils + ) + jack? ( virtual/jack ) + openh264? ( media-libs/openh264:*[plugin] )" +DEPEND="${COMMON_DEPEND} + X? ( + x11-base/xorg-proto + x11-libs/libICE + x11-libs/libSM + )" + +# ESR and rapid dependencies. +if [[ -n ${MOZ_ESR} ]] ; then + RDEPEND+=" !www-client/firefox:rapid + ~www-client/firefox-l10n-${PV}:0/esr" +else + RDEPEND+=" !www-client/firefox:esr + ~www-client/firefox-l10n-${PV}:0/rapid" +fi + +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or +# overridden in the environment (advanced hackers only) +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) +fi + +llvm_check_deps() { + if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then + einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use clang && ! tc-ld-is-mold ; then + if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then + einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + if use pgo ; then + if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then + einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="18700M" + elif tc-is-lto ; then + CHECKREQS_DISK_BUILD="10900M" + else + CHECKREQS_DISK_BUILD="9700M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + + if [[ ${MERGE_TYPE} != binary ]] ; then + + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + filter-lto + fi + + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + if [[ ${use_lto} = yes ]]; then + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="18700M" + elif [[ ${use_lto} == "yes" ]] ; then + CHECKREQS_DISK_BUILD="10900M" + else + CHECKREQS_DISK_BUILD="9700M" + fi + + check-reqs_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to environment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + 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 + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + export use_lto + + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + # Workaround for bgo#915651 and bmo#1988166 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + rm -v "${WORKDIR}"/firefox-patches/*bgo-967694-musl-prctrl-exception-on-musl.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifying ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use loong; then + # Only the LP64D ABI of LoongArch64 is actively supported among + # the wider Linux ecosystem, so the assumption is safe. + export RUST_TARGET="loongarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + elif use riscv ; then + # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of + # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working + # guess right now though. + elog "riscv detected, forcing a riscv64 target for now." + export RUST_TARGET="riscv64gc-unknown-linux-musl" + else + die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info" + fi + fi + + # Pre-built wasm-sandbox path manipulation. + if use wasm-sandbox ; then + if use amd64 ; then + export wasi_arch="x86_64" + elif use arm64 ; then + export wasi_arch="arm64" + else + die "wasm-sandbox enabled on unknown/unsupported arch!" + fi + + sed -i \ + -e "s:%%PORTAGE_WORKDIR%%:${WORKDIR}:" \ + -e "s:%%WASI_ARCH%%:${wasi_arch}:" \ + -e "s:%%WASI_SDK_VER%%:${WASI_SDK_VER}:" \ + -e "s:%%WASI_SDK_LLVM_VER%%:${WASI_SDK_LLVM_VER}:" \ + toolkit/moz.configure || die "Failed to update wasi-related paths." + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/chromium/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + moz_clear_vendor_checksums bindgen + + # Respect choice for "jumbo-build" + # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431 + if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then + local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16} + elog "" + elog "jumbo-build defaults modified to ${my_files_per_unified_file}." + elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE," + elog "if that fails try -jumbo-build before opening a bug report." + elog "" + + sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \ + python/mozbuild/mozbuild/frontend/data.py || + die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py" + sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \ + js/src/moz.build || + die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build" + fi + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + 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" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=browser + mozconfig_add_options_ac '' --enable-project=browser + + # Set Gentoo defaults + if use telemetry; then + export MOZILLA_OFFICIAL=1 + fi + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-updater \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-packed-relative-relocs \ + --enable-release \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-ffi \ + --with-system-gbm \ + --with-system-libdrm \ + --with-system-nspr \ + --with-system-nss \ + --with-system-pixman \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --enable-update-channel=${update_channel} + + # Whitelist to allow unkeyworded arches to build with "--disable-rust-simd" by default. + if use amd64 || use arm64 || use ppc64 || use loong || use riscv ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use loong || use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # riscv-related options, bgo#947337, bgo#947338, bgo#977845 + if use riscv ; then + mozconfig_add_options_ac 'Disable webrtc for RISC-V' --disable-webrtc + fi + + mozconfig_use_enable valgrind + + if use valgrind ; then + mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox + mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc + + sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die + fi + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-pipewire + mozconfig_use_with system-png + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + mozconfig_use_enable jumbo-build unified-build + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + mozconfig_add_options_ac "+hardened stl" --enable-stl-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + # wasm-sandbox + # Since graphite2 is one of the sandboxed libraries, system-graphite2 obviously can't work with +wasm-sandbox. + if use wasm-sandbox ; then + mozconfig_add_options_ac '+wasm-sandbox' --with-wasi-sysroot="${WORKDIR}/wasi-sdk-${WASI_SDK_VER}-${wasi_arch}-linux/share/wasi-sysroot/" + else + mozconfig_add_options_ac 'no wasm-sandbox' --without-wasm-sandboxed-libraries + mozconfig_use_with system-harfbuzz system-graphite2 + fi + + if [[ ${use_lto} == "yes" ]] ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + # PGO was moved outside lto block to allow building pgo without lto. + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + # Avoid compressing just-built instrumented Firefox with + # high levels of compression. Just use tar as a container + # to save >=10 minutes. + export MOZ_PKG_FORMAT=TAR + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + else + # Attempt to fix pgo hanging with gcc, bgo#966309. + export MOZ_REMOTE_SETTINGS_DEVTOOLS=1 + fi + fi + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use loong || use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on loong/ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + if ! use telemetry; then + mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0" + fi + + mozconfig_use_enable test tests + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold ; then + # increase ulimit with mold+lto, bugs #892641, #907485 + if ! ulimit -n 16384 1>/dev/null 2>&1 ; then + ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_test() { + # https://firefox-source-docs.mozilla.org/testing/automated-testing/index.html + local -a failures=() + + # Some tests respect this + local -x MOZ_HEADLESS=1 + + # Check testing/mach_commands.py + einfo "Testing with cppunittest ..." + ./mach cppunittest + local ret=$? + if [[ ${ret} -ne 0 ]]; then + eerror "Test suite cppunittest failed with error code ${ret}" + failures+=( cppunittest ) + fi + + if [[ ${#failures} -eq 0 ]]; then + einfo "Test suites succeeded" + else + die "Test suites failed: ${failures[@]}" + fi +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from llvm-core/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r4 \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + + # Install the gfxtest binary on supported arches + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/gfxtest + fi + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Add telemetry config prefs, just in case something happens in future and telemetry build + # options stop working. + if ! use telemetry ; then + cat "${FILESDIR}"/gentoo-telemetry-prefs.js >>"${GENTOO_PREFS}" || die "failed to set telemetry prefs" + fi + + # Install icons + local icon_srcdir="${S}/browser/branding/official" + + # Prefer the upstream svg file they use when packaging flatpak so it's always up-to-date. + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${S}"/browser/installer/linux/app/flatpak/files/share/icons/hicolor/symbolic/apps/org.mozilla.firefox-symbolic.svg firefox-symbolic.svg + dosym -r /usr/share/icons/hicolor/symbolic/apps/firefox-symbolic.svg /usr/share/icons/hicolor/symbolic/apps/org.mozilla.firefox-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if [[ -n ${MOZ_ESR} ]] ; then + local desktop_filename="${PN}-esr.desktop" + else + local desktop_filename="${PN}.desktop" + fi + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + if use gnome-shell ; then + # Install search provider for Gnome + insinto /usr/share/gnome-shell/search-providers/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini + + insinto /usr/share/dbus-1/services/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service + + # Toggle between rapid and esr desktop file names + if [[ -n ${MOZ_ESR} ]] ; then + sed -e "s/firefox.desktop/${desktop_filename}/g" \ + -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" || + die "Failed to sed org.mozilla.firefox.search-provider.ini file." + fi + + # Make the dbus service aware of a previous session, bgo#939196 + sed -e \ + "s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox --dbus-service \/usr\/bin\/firefox/g" \ + -i "${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" || + die "Failed to sed org.mozilla.firefox.SearchProvider.service dbus file" + + # Update prefs to enable Gnome search provider + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable gnome-search-provider via prefs" + pref("browser.gnome-search-provider.enabled", true); + EOF + fi + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die + + readme.gentoo_create_doc +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + readme.gentoo_print_elog + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal + + if ! has_version "sys-libs/glibc"; then + elog + elog "glibc not found! You won't be able to play DRM content." + elog "See Gentoo bug #910309 or upstream bug #1843683." + elog + fi +} diff --git a/www-client/librewolf-bin/Manifest b/www-client/librewolf-bin/Manifest index 4f49d73669c2..34c880ca2c40 100644 --- a/www-client/librewolf-bin/Manifest +++ b/www-client/librewolf-bin/Manifest @@ -2,3 +2,5 @@ DIST librewolf-157.0-1-linux-arm64-package.tar.xz 91583860 BLAKE2B 2ef01a2b9f806 DIST librewolf-157.0-1-linux-x86_64-package.tar.xz 102565976 BLAKE2B 144e655651953195d383912e4db56449a9d72d5610f586d67ab576692332c373a3bccf6e8180de0852011c5c41dbf46bc7b2cfa0382714fbde99f71de3e64128 SHA512 89ba8848a27116564506dfbd3b38a86e9646ae3382a1ea64cd6352a6060836158b4c1a5058c35e65255e59a126059c7a880bce1c1b5bcdf4cc64bdf2129a72fd DIST librewolf-157.0.1-1-linux-arm64-package.tar.xz 91740152 BLAKE2B 9be1b3a679ce761835cc1f91c603dbb25879558b949a07cde951ccbed807d628c9baa51f6c0e202bd551d74b2c0af83bb701a91e84210deffc914238595d0a27 SHA512 74b673a42fea9171bfe8e163173e4aa9e74520c2282295795c1e62ae532098d945b17e8b1bc02679ae53bf6e0f7bf15400592ce759e640918d85e64d026c6f7e DIST librewolf-157.0.1-1-linux-x86_64-package.tar.xz 102526608 BLAKE2B b8f060d5cea438c11c908d64d0c0350073973720ae34d470f63465afcd05e374d861b14c3b406c687b6f038b42652005b1125e0d74bd4a2a6d562ed12f8b2dd7 SHA512 40e9fa3250b8f18579aeb3720a9c93ec599719bff189ce3627acba09643546cc4574052691584cd9b9a3570beeb68cfb00ef6206be072f46626083137c0399bc +DIST librewolf-158.0-1-linux-arm64-package.tar.xz 92552076 BLAKE2B 2de70fa8e24f18f6becae71866e20500ec609f01009eab614cbdc61820851f013a5fcb0be8374dc68091f385de0b0106f38b34a0d6e2e9987ddf7d6d6c1aaf81 SHA512 098144b85c61427f95fca28f10a0474334bef00f5f45f12e8702db725bca10bc4d8317f1d1853c51ebc1b06bc1ee4409dbf04ef8b6d762113773c403ef2d4a7e +DIST librewolf-158.0-1-linux-x86_64-package.tar.xz 103856740 BLAKE2B 8b876987e55a6f24e01a223af964d14cc119cb2b1fded036e246d382a653806cca6841846f394cdc0f3d71b1d4d3e294d4a9d10569f930bb333a8cd64045297a SHA512 bb90aaf1b6c9eb9b4ae948fe1073065a9b6f173ecf1ddbebca92c088a0a5f1158cce7414e5e3f8871124bb0eea0cbc8dd65537697bd930c0147539ec8dc21672 diff --git a/www-client/librewolf-bin/librewolf-bin-158.0_p1.ebuild b/www-client/librewolf-bin/librewolf-bin-158.0_p1.ebuild new file mode 100644 index 000000000000..caefc458634a --- /dev/null +++ b/www-client/librewolf-bin/librewolf-bin-158.0_p1.ebuild @@ -0,0 +1,321 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LIBREWOLF_PV="${PV/_p/-}" + +MOZ_ESR= + +MOZ_PV=${PV/_p[0-9]/} +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="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit desktop linux-info optfeature pax-utils xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +SRC_URI="${SRC_URI} + amd64? ( https://dl.librewolf.net/librewolf/${LIBREWOLF_PV}/librewolf-${LIBREWOLF_PV}-linux-x86_64-package.tar.xz ) + arm64? ( https://dl.librewolf.net/librewolf/${LIBREWOLF_PV}/librewolf-${LIBREWOLF_PV}-linux-arm64-package.tar.xz )" + +DESCRIPTION="LibreWolf Web Browser" +HOMEPAGE="https://librewolf.net/" + +KEYWORDS="-* amd64 ~arm64" +SLOT="0" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +IUSE="selinux wayland" + +RESTRICT="strip" + +BDEPEND="app-arch/unzip" +RDEPEND="${DEPEND} + || ( + media-libs/libpulse + media-sound/apulse + ) + >=app-accessibility/at-spi2-core-2.46.0:2 + >=dev-libs/glib-2.26:2 + media-libs/alsa-lib + media-libs/fontconfig + >=media-libs/freetype-2.4.10 + media-video/ffmpeg + sys-apps/dbus + virtual/freedesktop-icon-theme + >=x11-libs/cairo-1.10[X] + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-3.11:3[X,wayland?] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXcursor + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libxcb + >=x11-libs/pango-1.22.0 + selinux? ( sec-policy/selinux-mozilla ) +" + +QA_PREBUILT="opt/${MOZ_PN}/*" + +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or +# overridden in the enviromnent (advanced hackers only) +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) +fi + +MOZ_LANGS=() + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +pkg_setup() { + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + mkdir "${S}" || die + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + MY_SRC_FILE=${_src_file} + fi + done +} + +src_install() { + # Set MOZILLA_FIVE_HOME + local MOZILLA_FIVE_HOME="/opt/${MOZ_PN}" + + dodir /opt + pushd "${ED}"/opt &>/dev/null || die + unpack "${MY_SRC_FILE}" + popd &>/dev/null || die + + pax-mark m \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN} \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN}-bin \ + "${ED}${MOZILLA_FIVE_HOME}"/plugin-container + + # Prevent auto-updater from popping up. + echo "This installation is managed by Gentoo's package manager." > "${ED}${MOZILLA_FIVE_HOME}"/is-packaged-app + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + # insinto "${PREFS_DIR}" + # newins "${FILESDIR}"/gentoo-default-prefs.js all-gentoo.js + + # local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.js" + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${ED}/${MOZILLA_FIVE_HOME}/browser/chrome/icons/default" + + insinto /usr/share/icons/hicolor/symbolic/apps + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="LibreWolf (bin)" + local desktop_file="${FILESDIR}/firefox-bin-r3.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + # Add apulse support through our wrapper shell launcher, patchelf-method broken since 119.0. + # See bgo#916230, bgo#941873 + local apulselib= + if has_version -r media-sound/apulse[-sdk] ; then + apulselib="${EPREFIX}/usr/$(get_libdir)/apulse" + ewarn "media-sound/apulse with -sdk use flag detected!" + ewarn "Firefox-bin will be installed with a wrapper, that attempts to load" + ewarn "apulse instead of pipewire/pulseadio. This may lead to sound issues." + ewarn "Please either enable sdk use flag for apulse, or remove apulse" + ewarn "completely and re-install firefox-bin to utilize pipewire/pulseaudio instead." + fi + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" \ + || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/firefox-bin-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${EPREFIX}${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die +} + +pkg_postinst() { + xdg_pkg_postinst + + local show_doh_information show_normandy_information + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + # New install; Tell user that DoH is disabled by default + show_doh_information=yes + show_normandy_information=yes + fi + + if [[ -n "${show_doh_information}" ]] ; then + elog + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):" + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all" + elog "DNS traffic to Cloudflare by default is not a good idea and applications" + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5" + elog "(\"Off by choice\") by default." + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences." + fi + + # bug 713782 + if [[ -n "${show_normandy_information}" ]] ; then + elog + elog "Upstream operates a service named Normandy which allows Mozilla to" + elog "push changes for default settings or even install new add-ons remotely." + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or" + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security" + elog "concerns prevail, which is why we have switched off the use of this" + elog "service by default." + elog + elog "To re-enable this service set" + elog + elog " app.normandy.enabled=true" + elog + elog "in about:config." + fi + + optfeature_header "Optional programs for extra features:" + optfeature "speech syntesis (text-to-speech) support" app-accessibility/speech-dispatcher + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + # optfeature "ffmpeg-based audio/video codec support, required for HTML5 video rendering" media-video/ffmpeg + optfeature "desktop notifications" x11-libs/libnotify +} diff --git a/www-client/librewolf/Manifest b/www-client/librewolf/Manifest index 9a16199f880c..05ab5abc26d6 100644 --- a/www-client/librewolf/Manifest +++ b/www-client/librewolf/Manifest @@ -1,5 +1,7 @@ DIST firefox-157-patches-01.tar.xz 22380 BLAKE2B 41e0e59cfbcf9f62a0568f126c5259b0152095eba2680b929a23ff1bebbc00b0004444a407c2dd8d8b5e90c92e4077a1c16d578f462ee115a4ee30818a884bc5 SHA512 ea0aba95e5708ba0d902219c850d8b5fe5e04fa95847268b64061eadf178037a6e6fdce186aa9de26e069ce7fcfe0f0c7759883713a14dc65efb771284435a41 +DIST firefox-158-patches-01.tar.xz 22644 BLAKE2B 08a481bc9f85027da33876e6476a0b13f14c1850b08d59ca39edf76df31eab0af0ec74b792de7136cd9437c46ad12a0c88032a06fa222a5989f62c8f545aab7f SHA512 d60025ac76717238c13208af656c8e2220b71153e91137ad527b35e9eb7b7138c96f87b760ccc36cacf6a6f009ed805f49609593bcd553e1b9050928d2d7ba69 DIST librewolf-157.0-1.source.tar.gz 1178691250 BLAKE2B 697ae778a176112a4540de2ae62bd566683adbe05f224e2af08dc8cf48650319eb5592cdc7cea09e12cf4a4ecea0bccc67dedd56579bc37a49ede33c0d052e25 SHA512 dde97b25f8454027c508a54cdc7f40560a4976e9dcc8ee185065b9fd38e4adfb126b3249c19f20ba66381826075b8ca4c1e6f3ddac6d0fa82c591e824b7ff9a0 DIST librewolf-157.0.1-1.source.tar.gz 1179168753 BLAKE2B c21e4be3991acfec978c8bdfe3265ed601250a836929a7a07dee92868b6785ce4e7d150208df6204d8d2703a18c6a0af89522179ad0d1a0aeee126618f1a79dc SHA512 3651d0014a906b110da696154311cbf084153f51fb7dec32a6eb6eaf32c4c94a383e25545ee215ef29342717fd447575c776f0213224628e351e0ff59dddd10c +DIST librewolf-158.0-1.source.tar.gz 1181473241 BLAKE2B cbc4061fe2a8cef737af75c1007293dbff78acd5fd85ef1cbdb57cda82ff5444d3e4bfd4c6d3600998443dcaec60d6318d08ddd7cb8a5330c6176e232b5c6a06 SHA512 7ed1d815623cdc5a34d4a49711033edda1a97538efbb6a4a48e9105fa059d380cfbab54d290deebdc8d88f52866bd011f8ca3af2e4923d21fee893232469e41b DIST wasi-sdk-34.0-arm64-linux.tar.gz 192255247 BLAKE2B 3d185e7e98a1e5091aba98f76f221b7e641acadb8dae5aa453ec24a07f1b3e1643ab2a4d4da2d86cd08fbe3e93a7617864716fb7ca64e716d203bdece6087aa5 SHA512 b27453c20b949e8c783980e69937cfa24a306ed3fe0ce2716a72b5ba4cbf231bdd0f114af6a519c41dd6cd81da7bfb06bb86d7b86a45ffd4a723fe4341d8b653 DIST wasi-sdk-34.0-x86_64-linux.tar.gz 192383077 BLAKE2B 065494c3f81555844293f33974a7230a47f50133aa2b8ed0c81de771c9342799e36a4814d6b3084daf07f19b4d7ce2dc576e134015625b2fad94c14e199ba319 SHA512 12d773d5c3d4b333c82f3280ac753c93877966df84a11b70e70d07aa1dbf20607eb64ceae836e21f9c6aed44054dc3e50f910657bedc590415e3b02789ab4685 diff --git a/www-client/librewolf/librewolf-158.0_p1.ebuild b/www-client/librewolf/librewolf-158.0_p1.ebuild new file mode 100644 index 000000000000..57bc5489a6e0 --- /dev/null +++ b/www-client/librewolf/librewolf-158.0_p1.ebuild @@ -0,0 +1,1308 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-158-patches-01.tar.xz" + +LLVM_COMPAT=( 22 23 ) + +# This will also filter rust versions that don't match LLVM_COMPAT in the non-clang path; this is fine. +RUST_NEEDS_LLVM=1 +RUST_MIN_VER=1.90.0 + +PYTHON_COMPAT=( python3_{13..14} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +VIRTUALX_REQUIRED="manual" + +# Librewolf version (please rev-bump if changed) +# Used when cloning patches repository. +LIBREWOLF_PV="${PV/_p/-}" + +# Information about the bundled wasi toolchain from +# https://github.com/WebAssembly/wasi-sdk/ +WASI_SDK_VER=34.0 +WASI_SDK_LLVM_VER=23 + +HOMEPAGE="https://librewolf.net/" + +MOZ_PN="firefox" + +inherit check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ + optfeature pax-utils python-any-r1 readme.gentoo-r1 rust toolchain-funcs virtualx xdg + +LIBREWOLF_SRC_URI="https://dl.librewolf.net/librewolf-source/${LIBREWOLF_PV}/librewolf-${LIBREWOLF_PV}.source.tar.gz" + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +DESCRIPTION="LibreWolf Web Browser" +SRC_URI="${LIBREWOLF_SRC_URI} -> librewolf-${LIBREWOLF_PV}.source.tar.gz + ${PATCH_URIS[@]} + wasm-sandbox? ( + amd64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-x86_64-linux.tar.gz ) + arm64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-arm64-linux.tar.gz ) + )" + +S="${WORKDIR}/librewolf-${LIBREWOLF_PV}" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +SLOT="0/$(ver_cut 1)" +KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" + +RESTRICT=" + mirror + !test? ( test ) +" + +IUSE="+clang dbus debug eme-free +hardened hwaccel jack libproxy pgo pulseaudio selinux sndio" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx" +IUSE+=" system-pipewire system-png +system-webp test wayland wifi +X" + +# Firefox-only IUSE +IUSE+=" +gmp-autoupdate +jumbo-build openh264 telemetry valgrind wasm-sandbox" + +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + pgo? ( jumbo-build ) + wayland? ( dbus ) + wifi? ( dbus ) +" + +FF_ONLY_DEPEND="selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + clang? ( + llvm-core/lld:${LLVM_SLOT} + pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) + ) + wasm-sandbox? ( llvm-core/lld:${LLVM_SLOT} ) + ') + app-alternatives/awk + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.29.4 + net-libs/nodejs + virtual/pkgconfig + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + gui-wm/tinywl + x11-misc/xkeyboard-config + ) + )" +COMMON_DEPEND="${FF_ONLY_DEPEND} + >=app-accessibility/at-spi2-core-2.46.0:2 + dev-libs/glib:2 + dev-libs/libffi:= + >=dev-libs/nss-3.130 + >=dev-libs/nspr-4.39 + media-libs/alsa-lib + media-libs/fontconfig + media-libs/freetype + media-libs/mesa + media-video/ffmpeg + virtual/zlib:= + virtual/freedesktop-icon-theme + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/libdrm + x11-libs/pango + x11-libs/pixman + dbus? ( + sys-apps/dbus + ) + jack? ( virtual/jack ) + pulseaudio? ( + || ( + media-libs/libpulse + >=media-sound/apulse-0.1.12-r4[sdk] + ) + ) + libproxy? ( net-libs/libproxy ) + selinux? ( sec-policy/selinux-mozilla ) + sndio? ( >=media-sound/sndio-1.8.0-r1 ) + system-av1? ( + >=media-libs/dav1d-1.5.4:= + >=media-libs/libaom-3.12.1:= + ) + system-harfbuzz? ( + >=media-libs/harfbuzz-2.8.1:0= + !wasm-sandbox? ( >=media-gfx/graphite2-1.3.13 ) + ) + system-icu? ( >=dev-libs/icu-78.1:= ) + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) + system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) + system-pipewire? ( >=media-video/pipewire-1.6.8:= ) + system-png? ( >=media-libs/libpng-1.6.45:0=[apng] ) + system-webp? ( >=media-libs/libwebp-1.1.0:0= ) + valgrind? ( dev-debug/valgrind ) + wayland? ( + >=media-libs/libepoxy-1.5.10-r1 + x11-libs/gtk+:3[wayland] + ) + wifi? ( + kernel_linux? ( + || ( + net-misc/networkmanager + net-misc/connman[networkmanager] + ) + sys-apps/dbus + ) + ) + X? ( + virtual/opengl + x11-libs/cairo[X] + x11-libs/gtk+:3[X] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libxcb:= + )" +RDEPEND="${COMMON_DEPEND} + hwaccel? ( + media-video/libva-utils + sys-apps/pciutils + ) + jack? ( virtual/jack ) + openh264? ( media-libs/openh264:*[plugin] )" +DEPEND="${COMMON_DEPEND} + X? ( + x11-base/xorg-proto + x11-libs/libICE + x11-libs/libSM + )" + +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or +# overridden in the environment (advanced hackers only) +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) +fi + +llvm_check_deps() { + if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then + einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use clang && ! tc-ld-is-mold ; then + if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then + einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + if use pgo ; then + if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then + einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + ace ach af ak an ar as ast az be bg bn bn-BD bn-IN bo bqi br brx bs ca cak ca-valencia + ckb crh cs csb cy da de dsb el en-CA en-GB en-ZA eo es-AR es-CL es-ES es-MX et eu fa + ff fi fr frp fur fy-NL ga-IE gd gl gn gu-IN gv he hi hi-IN hr hsb hto hu hy-AM + hye ia id ilo is it ixl ja ja-JP-mac ka kab kk km kn ko kok ks ku kw lb lg lij lo lt ltg + lv mai meh mix mk ml mn mr ms my nb-NO ne-NP nl nn-NO nr nso ny oc or pai pa-IN pbb pl + ppl pt-BR pt-PT quy qvi rm ro ru rw sah sat sc scn sco si sk skr sl son sq sr ss st sv-SE + sw szl ta ta-LK te tg th tl tn tr trs ts tsz uk ur uz ve vi wo xcl xh zam zh-CN zh-TW zu +) +MOZ_LANG_MAP=() + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + MOZ_LANG_MAP+=("l10n_${xflag/[_@]/-} ${lang}") + + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="18700M" + elif tc-is-lto ; then + CHECKREQS_DISK_BUILD="10900M" + else + CHECKREQS_DISK_BUILD="9700M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + + if [[ ${MERGE_TYPE} != binary ]] ; then + + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + filter-lto + fi + + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + if [[ ${use_lto} = yes ]]; then + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="18700M" + elif [[ ${use_lto} == "yes" ]] ; then + CHECKREQS_DISK_BUILD="10900M" + else + CHECKREQS_DISK_BUILD="9700M" + fi + + check-reqs_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to environment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + 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 + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + export use_lto + + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + # Workaround for bgo#915651 and bmo#1988166 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + rm -v "${WORKDIR}"/firefox-patches/*bgo-967694-musl-prctrl-exception-on-musl.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifying ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use loong; then + # Only the LP64D ABI of LoongArch64 is actively supported among + # the wider Linux ecosystem, so the assumption is safe. + export RUST_TARGET="loongarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + elif use riscv ; then + # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of + # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working + # guess right now though. + elog "riscv detected, forcing a riscv64 target for now." + export RUST_TARGET="riscv64gc-unknown-linux-musl" + else + die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info" + fi + fi + + # Pre-built wasm-sandbox path manipulation. + if use wasm-sandbox ; then + if use amd64 ; then + export wasi_arch="x86_64" + elif use arm64 ; then + export wasi_arch="arm64" + else + die "wasm-sandbox enabled on unknown/unsupported arch!" + fi + + sed -i \ + -e "s:%%PORTAGE_WORKDIR%%:${WORKDIR}:" \ + -e "s:%%WASI_ARCH%%:${wasi_arch}:" \ + -e "s:%%WASI_SDK_VER%%:${WASI_SDK_VER}:" \ + -e "s:%%WASI_SDK_LLVM_VER%%:${WASI_SDK_LLVM_VER}:" \ + toolkit/moz.configure || die "Failed to update wasi-related paths." + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/chromium/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + moz_clear_vendor_checksums bindgen + + # Respect choice for "jumbo-build" + # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431 + if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then + local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16} + elog "" + elog "jumbo-build defaults modified to ${my_files_per_unified_file}." + elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE," + elog "if that fails try -jumbo-build before opening a bug report." + elog "" + + sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \ + python/mozbuild/mozbuild/frontend/data.py || + die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py" + sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \ + js/src/moz.build || + die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build" + fi + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + 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" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=browser + mozconfig_add_options_ac '' --enable-project=browser + + # Set Gentoo defaults + export MOZILLA_OFFICIAL=1 + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-updater \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-packed-relative-relocs \ + --enable-release \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-ffi \ + --with-system-gbm \ + --with-system-libdrm \ + --with-system-nspr \ + --with-system-nss \ + --with-system-pixman \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system + + # Librewolf + mozconfig_add_options_ac 'LibreWolf Branding' \ + --with-app-name="librewolf" \ + --with-app-basename="librewolf" \ + --with-branding=browser/branding/librewolf + export MOZ_APP_REMOTINGNAME=LibreWolf + + # I really have know idea if this is actually doing anything. + mozconfig_add_options_ac 'LibreWolf Localization' \ + --with-l10n-base=$PWD/lw/l10n + + ## Controlled via 'telemetry' IUSE + # mozconfig_add_options_mk 'LibreWolf Disable Telemetry' \ + # MOZ_CRASHREPORTER=0 \ + # MOZ_DATA_REPORTING=0 \ + # MOZ_SERVICES_HEALTHREPORT=0 \ + # MOZ_TELEMETRY_REPORTING=0 + + export MOZ_REQUIRE_SIGNING= + + # Set update channel + mozconfig_add_options_ac '' --enable-update-channel=release + + # Whitelist to allow unkeyworded arches to build with "--disable-rust-simd" by default. + if use amd64 || use arm64 || use ppc64 || use loong || use riscv ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use loong || use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # riscv-related options, bgo#947337, bgo#947338, bgo#977845 + if use riscv ; then + mozconfig_add_options_ac 'Disable webrtc for RISC-V' --disable-webrtc + fi + + mozconfig_use_enable valgrind + + if use valgrind ; then + mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox + mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc + + sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die + fi + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-pipewire + mozconfig_use_with system-png + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + mozconfig_use_enable jumbo-build unified-build + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + mozconfig_add_options_ac "+hardened stl" --enable-stl-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + # wasm-sandbox + # Since graphite2 is one of the sandboxed libraries, system-graphite2 obviously can't work with +wasm-sandbox. + if use wasm-sandbox ; then + mozconfig_add_options_ac '+wasm-sandbox' --with-wasi-sysroot="${WORKDIR}/wasi-sdk-${WASI_SDK_VER}-${wasi_arch}-linux/share/wasi-sysroot/" + else + mozconfig_add_options_ac 'no wasm-sandbox' --without-wasm-sandboxed-libraries + mozconfig_use_with system-harfbuzz system-graphite2 + fi + + if [[ ${use_lto} == "yes" ]] ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + # PGO was moved outside lto block to allow building pgo without lto. + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + # Avoid compressing just-built instrumented Firefox with + # high levels of compression. Just use tar as a container + # to save >=10 minutes. + export MOZ_PKG_FORMAT=TAR + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + else + # Attempt to fix pgo hanging with gcc, bgo#966309. + export MOZ_REMOTE_SETTINGS_DEVTOOLS=1 + fi + fi + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use loong || use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on loong/ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + if ! use telemetry; then + mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0" + fi + + mozconfig_use_enable test tests + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold ; then + # increase ulimit with mold+lto, bugs #892641, #907485 + if ! ulimit -n 16384 1>/dev/null 2>&1 ; then + ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_test() { + # https://firefox-source-docs.mozilla.org/testing/automated-testing/index.html + local -a failures=() + + # Some tests respect this + local -x MOZ_HEADLESS=1 + + # Check testing/mach_commands.py + einfo "Testing with cppunittest ..." + ./mach cppunittest + local ret=$? + if [[ ${ret} -ne 0 ]]; then + eerror "Test suite cppunittest failed with error code ${ret}" + failures+=( cppunittest ) + fi + + if [[ ${#failures} -eq 0 ]]; then + einfo "Test suites succeeded" + else + die "Test suites failed: ${failures[@]}" + fi +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + #DESTDIR="${D}" ./mach install || die + ## LibreWolf + # ./mach install doesn't install the locale information for some reason. + # Use packge-multi-locale instead + local mymozlangs=() + for lang_tuple in "${MOZ_LANG_MAP[@]}"; do + IFS=' ' read -r l10n lang <<< "${lang_tuple}" + + if use "${l10n}"; then + mymozlangs+=("${lang}") + fi + done + + if (( ${#mymozlangs[@]} == 0 )); then + einfo "Running ./mach package" + ./mach package || die + else + einfo "Running ./mach package-multi-locale" + ./mach package-multi-locale --locale "${mymozlangs[@]}" || die + fi + + dodir "${MOZILLA_FIVE_HOME}" || die + cp -r "${BUILD_DIR}"/dist/librewolf/* "${ED}"/"${MOZILLA_FIVE_HOME}" || die + + ## LibreWolf + # For some reason 'local-settings.js' doesn't get properly packaged. + # Install it manually + insinto "${MOZILLA_FIVE_HOME}/defaults/pref" + doins "${S}/lw/local-settings.js" + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from llvm-core/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + ## Disabled for LibreWolf + # Install policy (currently only used to disable application updates) + # insinto "${MOZILLA_FIVE_HOME}/distribution" + # newins "${FILESDIR}"/distribution.ini distribution.ini + # newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r4 \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + + # Install the gfxtest binary on supported arches + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/gfxtest + fi + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Add telemetry config prefs, just in case something happens in future and telemetry build + # options stop working. + if ! use telemetry ; then + cat "${FILESDIR}"/gentoo-telemetry-prefs.js >>"${GENTOO_PREFS}" || die "failed to set telemetry prefs" + fi + + # Install icons + local icon_srcdir="${S}/browser/branding/${PN}" + + insinto /usr/share/icons/hicolor/symbolic/apps + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="LibreWolf" + local desktop_file="${FILESDIR}/icon/${MOZ_PN}-r3.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${MOZ_PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die + + readme.gentoo_create_doc +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + readme.gentoo_print_elog + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal + + if ! has_version "sys-libs/glibc"; then + elog + elog "glibc not found! You won't be able to play DRM content." + elog "See Gentoo bug #910309 or upstream bug #1843683." + elog + fi +} |
