diff options
191 files changed, 7126 insertions, 2367 deletions
diff --git a/app-admin/ansible-core/Manifest b/app-admin/ansible-core/Manifest index 5844d9522138..031986831ef3 100644 --- a/app-admin/ansible-core/Manifest +++ b/app-admin/ansible-core/Manifest @@ -4,3 +4,4 @@ DIST ansible_core-2.20.0.tar.gz 3315281 BLAKE2B 16748ce88c9112eb3e41d9db35d67626 DIST ansible_core-2.20.3.tar.gz 3325132 BLAKE2B 6820e645a64ee2cb4d2b55251c9fd0fffd624c69078f79763fa66e4d8e26c3ef61f0842f267f4397e6d90688dc5809b7314180386022a48972197b336d4fb7c8 SHA512 f9281aa0d7a32ed81a548e26d035877efffe847673df4f8293f2ef101881a9eb64ff116a90d7291b627e0eeb488abdf297add67fccaaaa801c339dbc9218284a DIST ansible_core-2.20.5.tar.gz 3339511 BLAKE2B 54b712687aa5e21edf7ea0089eb7987d139bb0f9c427f08ec94a12adb1d022613bac0b327b5362abf8ed486b13bfb52d77e19c2ca2a527827f6dda338b9a407e SHA512 90c6bfdac03f303df70d9653a6beda53bac413c877ce360020e4f646b415207a26c40d8861dbe246ca5d7d5fb8bc91ec4c31c1544feceba4b62b8b7078e194a0 DIST ansible_core-2.21.1.tar.gz 3384534 BLAKE2B 9c6fbff3a185e539f3508e8ac6a4d884505e0b60f14cc170484b7829ffd6d15753ffe3dbb4dae16e3c534c20f159db52104fb35ae78d906afe3813d16e448946 SHA512 4e3099ba5613cc32d386d73692816d91bf4864b02b362efaac87e8c90f583674dd07fe76eec2247966ccd8846698caa24d674fe7a1fbbedee5c47a2067eea87f +DIST ansible_core-2.21.3.tar.gz 3397615 BLAKE2B 97661f2c83f0cf00511e80e5d7f8a70c55084457ad51776810adcb0decc0d7f17484c3c507b0f2780be041288506ec77f3596026a354fe35845a73913cce6f38 SHA512 a06a9cf817ee7fabff6fb03ab66965fedf18dd84d96a281b6493b4fddd45163dcb46202cbb6389098cd88dda97c1759cf2772c002d94959a3d0ab912d460d541 diff --git a/app-admin/ansible-core/ansible-core-2.21.3.ebuild b/app-admin/ansible-core/ansible-core-2.21.3.ebuild new file mode 100644 index 000000000000..e759b8ae39f4 --- /dev/null +++ b/app-admin/ansible-core/ansible-core-2.21.3.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="Model-driven deployment, config management, and command execution framework" +HOMEPAGE="https://www.ansible.com/" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/ansible/ansible.git" + EGIT_BRANCH="devel" +else + inherit pypi + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~x64-macos" +fi + +LICENSE="GPL-3" +SLOT="0" +RESTRICT="test" + +RDEPEND=" + >=dev-python/paramiko-3.5.1[${PYTHON_USEDEP}] + dev-python/jinja2[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/cryptography[${PYTHON_USEDEP}] + dev-python/httplib2[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] + dev-python/netaddr[${PYTHON_USEDEP}] + dev-python/pexpect[${PYTHON_USEDEP}] + >=dev-python/resolvelib-0.8.0[${PYTHON_USEDEP}] + <dev-python/resolvelib-2.0.0[${PYTHON_USEDEP}] + net-misc/sshpass + virtual/ssh +" +BDEPEND=" + >=dev-python/packaging-16.6[${PYTHON_USEDEP}] + test? ( + dev-python/botocore[${PYTHON_USEDEP}] + dev-python/pytz[${PYTHON_USEDEP}] + )" + +distutils_enable_tests pytest + +python_compile() { + export ANSIBLE_SKIP_CONFLICT_CHECK=1 + distutils-r1_python_compile +} diff --git a/app-admin/ansible/Manifest b/app-admin/ansible/Manifest index ed57201920f4..db2cc8083635 100644 --- a/app-admin/ansible/Manifest +++ b/app-admin/ansible/Manifest @@ -5,3 +5,4 @@ DIST ansible-13.0.0.tar.gz 50725940 BLAKE2B dae2c7dbdaea8edf026c8c52a2d1b2278f18 DIST ansible-13.2.0.tar.gz 52000144 BLAKE2B a2611f9b00e2c461f904d6e6cf825620049bdb1ee865949b5b0df2913bd50dd6d56856914471e18718c66aa10736246812ae598b7f2376641243dcee928fe2e8 SHA512 34a21653742729962cd784f6743ca37855089544a0b8029b2c1d48555df94b8cc68b0441a28950e2d0f074f0e1f4b1cd7bf693faa3d61aaaf716bfa6ed9a30a2 DIST ansible-13.6.0.tar.gz 52989793 BLAKE2B 8b4b944b2f82cdece23328df03806aa383e21683d52bf97c0a19c4e1cd78a7706c86835df67118b73d725113ea2be842b92ba67c0d9d554787e35d3705ad9189 SHA512 0d1f9b531c61af8085fd5abaac8f7c5a58a8d6fbaac90c653f4e26a4d79303475fa5000c0a05c5d2d039c3280087dd4e44b173af7237524a11834df818d315ac DIST ansible-14.1.0.tar.gz 49560987 BLAKE2B 60a6831553a0ce8612760f56f6784237545afb88ef4efbca0cdbfdb27c594190348ba9450f8d1a2e685de275a48a62f9a7315d1cb7a779809ac917275d8df9f5 SHA512 52115cd87b5ea81f6dec38d4eceb1fefae385163d3018640da5dca2a6c65d0aad903499f559d018f4d53be8fbfe935ebdb7f711408e923f562a791589dea1747 +DIST ansible-14.3.1.tar.gz 50442504 BLAKE2B bb65b6b2f624f4647b616fd0dbf13f71847fc079c1e956da21bd196c268bf82c1460d9b68e0048169911f43b9e817ae99c6b11795f3b6402ededa6f460cf353d SHA512 35b147ca15ffb7ed683243f6921bee2c97d82593fac2678eb0d686d20e67992ee3ad41d7a48b87e31b1c8846dfdc30f49b78e204af409a19f540f028be4ea3ed diff --git a/app-admin/ansible/ansible-14.3.1.ebuild b/app-admin/ansible/ansible-14.3.1.ebuild new file mode 100644 index 000000000000..159812d528d1 --- /dev/null +++ b/app-admin/ansible/ansible-14.3.1.ebuild @@ -0,0 +1,35 @@ +# 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="Model-driven deployment, config management, and command execution framework" +HOMEPAGE=" + https://www.redhat.com/en/ansible-collaborative + https://github.com/ansible-community/ansible-build-data +" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~x64-macos" +RESTRICT="test" + +RDEPEND=" + >=app-admin/ansible-core-2.21.0 + <app-admin/ansible-core-2.22.0 +" + +python_compile() { + local -x ANSIBLE_SKIP_CONFLICT_CHECK=1 + distutils-r1_python_compile +} + +python_install() { + local -x ANSIBLE_SKIP_CONFLICT_CHECK=1 + distutils-r1_python_install +} diff --git a/app-admin/terraform/Manifest b/app-admin/terraform/Manifest index e1729a86c830..d6268f8e8f83 100644 --- a/app-admin/terraform/Manifest +++ b/app-admin/terraform/Manifest @@ -4,3 +4,5 @@ DIST terraform-1.15.5-vendor.tar.xz 10561416 BLAKE2B d92740c6c8dfc63e0a3a0ccaadf DIST terraform-1.15.5.tar.gz 5771239 BLAKE2B 93752a2d203bd7407f779855b96b5491dd6ce8808b63c348ab9b96b6da91cdfb3c1389e288beae80ef2810b226531b466db0c9aea8d6a8a2f661e94128558b62 SHA512 7bc3a2801da1b45d5e8fabbb68e9d63b8682d5e47a2e9d61b6cebf155722d0f7e7fa7ebee261f499d3fae0a8d61ba2010aaff1e64b481c01b4631cdcf5cf6797 DIST terraform-1.15.6-vendor.tar.xz 10549840 BLAKE2B 95239b3553faef1c8694246938a232eedd604345c2b660475af079c184fb9e817640c4b0f34643197b1f152a78d44ee8dd7dd6d2b5980aa8eb458175313d6e66 SHA512 331966b86146c9e8edb1c35085c87966a24cfcf7da12358c767bedc6b381b0f52525148857b1a5047a522d4fb7aa18b4630866ce6749a0de4698868eb0faae05 DIST terraform-1.15.6.tar.gz 5774269 BLAKE2B 46d3a1a1fc819f05a530653d4cd77356dac8b26aa664293a0b122c14e42ba5dead036a21bf1f64104c2643647c03b44cedb0d3d6848a22461efe16eb84ea826a SHA512 9376876bffa4e3d89976b14864b115a70fecee81389af3a87991120e62c5935948a73d6fbcd79d4535998c22114d3ff76d80f64321bdd94777b0bd289bbb307c +DIST terraform-1.16.1-vendor.tar.xz 10616344 BLAKE2B dd71fa141e414fe5774d6bb935795447c294751e110a3fc0b53c742501eb184a83e791ebd35892991e2567b6ca2fcdb20219596db746c1782e6c7b84adc7b696 SHA512 9e2d3aa350983d5a181a4e841a86692814732768fed7480fad0e1a5dafefafc2f7e0fb51d10b178ce9f898e7544d1b363f80741876ad698786e3f9026eac2de5 +DIST terraform-1.16.1.tar.gz 6003010 BLAKE2B f9ba479cb1555dac1691b74425098e3fe16d55e44701f2917d4511bdaa35045c418672d223851284a3bc4ba1b143432d2f95855020f9d00181ddb175b2c700d3 SHA512 b0243824bf8a3875ca72cf50690424bd899a007cd5e0620c632cffa25c9e58797acf0991a1d505300d03287fbee3c070efbcfe6704dc21aaf728ea1086f4078b diff --git a/app-admin/terraform/metadata.xml b/app-admin/terraform/metadata.xml index 2d66fab3cd4c..38ac20690869 100644 --- a/app-admin/terraform/metadata.xml +++ b/app-admin/terraform/metadata.xml @@ -5,6 +5,10 @@ <email>williamh@gentoo.org</email> <name>William Hubbs</name> </maintainer> + <maintainer type="person"> + <email>arthurzam@gentoo.org</email> + <name>Arthur Zamarin</name> + </maintainer> <longdescription lang="en"> Terraform is a tool for building, changing, and versioning infrastructure safely and efficiently. Terraform can manage existing and popular service diff --git a/app-admin/terraform/terraform-1.15.6.ebuild b/app-admin/terraform/terraform-1.15.6.ebuild index 11c3005ed642..37238d6605c1 100644 --- a/app-admin/terraform/terraform-1.15.6.ebuild +++ b/app-admin/terraform/terraform-1.15.6.ebuild @@ -14,7 +14,7 @@ LICENSE="BUSL-1.1" # Dependent licenses LICENSE+=" Apache-2.0 BSD BSD-2 ISC MIT MPL-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~riscv" +KEYWORDS="amd64 ~arm64 ~riscv" RESTRICT="test" BDEPEND=">=dev-lang/go-1.25.10" diff --git a/app-admin/terraform/terraform-1.16.1.ebuild b/app-admin/terraform/terraform-1.16.1.ebuild new file mode 100644 index 000000000000..f09c4ae5d875 --- /dev/null +++ b/app-admin/terraform/terraform-1.16.1.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=9 + +inherit go-module shell-completion + +DESCRIPTION="A tool for building, changing, and combining infrastructure safely" +HOMEPAGE="https://www.terraform.io/" +SRC_URI="https://github.com/hashicorp/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://github.com/gentoo-golang-dist/${PN}/releases/download/v${PV}/${P}-vendor.tar.xz" + +LICENSE="BUSL-1.1" +# Dependent licenses +LICENSE+=" Apache-2.0 BSD BSD-2 ISC MIT MPL-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv" +RESTRICT="test" + +BDEPEND=">=dev-lang/go-1.26.4" + +DOCS=( {README,CHANGELOG}.md ) + +src_compile() { + local -x CGO_ENABLED=0 + local go_ldflags=( + -w + -X github.com/hashicorp/terraform/version.dev=no + ) + ego build -ldflags "${go_ldflags[*]}" -o bin/${PN} . +} + +src_install() { + dobin bin/${PN} + einstalldocs + + newbashcomp - "${PN}" <<- EOF + complete -C '/usr/bin/${PN}' ${PN} + EOF +} diff --git a/app-doc/eclass-manpages/Manifest b/app-doc/eclass-manpages/Manifest index 3061a0e7f688..fdd7e08bf6bc 100644 --- a/app-doc/eclass-manpages/Manifest +++ b/app-doc/eclass-manpages/Manifest @@ -1,2 +1 @@ -DIST eclass-manpages-20260426.tar.xz 516192 BLAKE2B 5fd40d3839fefcd90bce77c763b3a6b9ac53eca40f412c01e1bcf1a6744d376d11810a941541783dd901eb4f49ae656e1b78c9bd7ce01f7a6ed3069e29f19513 SHA512 dfc6a5ef6a9ad3bf12857618412146ac5081878fe1d2416b28fc37de85bc9f2ce4a25d3a087b5aff6953e79a3d6f9220be325d68e5b27c8d68fac62a12952aec DIST eclass-manpages-20260624.tar.xz 518600 BLAKE2B 8b044c6c35820ddaf60e02203e562d4c1d01445c1bd982ff33235ee6e55f93cccf0da7eb536dc2febded3207c4fee8e1d73b35281dc348e10e16b3abdc35cfed SHA512 82ecee2f15f99db10422740e81478eb590e682e181983a12aa48d92b462537527bfa50dbf4eb3ae61799355b17cc6ad0e5256b3345b65d2a135e625d3e133066 diff --git a/app-doc/eclass-manpages/eclass-manpages-20260426.ebuild b/app-doc/eclass-manpages/eclass-manpages-20260426.ebuild deleted file mode 100644 index 1427ea35350f..000000000000 --- a/app-doc/eclass-manpages/eclass-manpages-20260426.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 - -# Instructions to make a dist tarball: -# git clone https://github.com/projg2/eclass-to-manpage.git -# cd eclass-to-manpage -# make dist ECLASSDIR=~/g/eclass/ - -DESCRIPTION="Collection of Gentoo eclass manpages" -HOMEPAGE="https://github.com/projg2/eclass-to-manpage" -SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -# Keep the keywords stable. No need to change to ~arch. -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" - -BDEPEND="sys-apps/gawk" - -src_install() { - emake install DESTDIR="${D}" PREFIX="${EPREFIX}/usr" -} diff --git a/app-doc/eclass-manpages/eclass-manpages-99999999.ebuild b/app-doc/eclass-manpages/eclass-manpages-99999999.ebuild index 2a553378b663..a5251b8c5f4e 100644 --- a/app-doc/eclass-manpages/eclass-manpages-99999999.ebuild +++ b/app-doc/eclass-manpages/eclass-manpages-99999999.ebuild @@ -1,32 +1,40 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=8 +EAPI=9 -inherit git-r3 +if [[ ${PV} = 99999999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/gentoo/gentoo.git" + S="${WORKDIR}/${P}/eclass" +else + # Instructions to make a dist tarball: + # cd /path/to/gentoo-repo + # tar -cJf ${P}.tar.xz --transform="s:^eclass/:${P}/:" eclass/*.eclass + SRC_URI="https://distfiles.gentoo.org/pub/proj/qa/${PN}/${P}.tar.xz" + # Keep the keywords stable. No need to change to ~arch. + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" +fi DESCRIPTION="Collection of Gentoo eclass manpages" -HOMEPAGE="https://github.com/projg2/eclass-to-manpage" -EGIT_REPO_URI="https://anongit.gentoo.org/git/repo/gentoo.git - https://github.com/gentoo/gentoo.git" +HOMEPAGE="https://gitweb.gentoo.org/repo/gentoo.git/tree/eclass" LICENSE="GPL-2" SLOT="0" -BDEPEND="sys-apps/gawk" +BDEPEND="sys-apps/pkgcore" -src_unpack() { - git-r3_fetch - git-r3_fetch "https://github.com/projg2/eclass-to-manpage.git" - - git-r3_checkout "" "" "" eclass - git-r3_checkout "https://github.com/projg2/eclass-to-manpage.git" -} +if [[ ${PV} = 99999999 ]]; then + src_unpack() { + git-r3_fetch + git-r3_checkout "" "" "" eclass + } +fi src_compile() { - emake ECLASSDIR=eclass + pmaint eclass -f man -o "{eclass}.eclass.5" *.eclass } src_install() { - emake install ECLASSDIR=eclass DESTDIR="${D}" PREFIX="${EPREFIX}/usr" + doman *.5 } diff --git a/app-doc/eclass-manpages/metadata.xml b/app-doc/eclass-manpages/metadata.xml index 7d6818cea8d9..624a694456ff 100644 --- a/app-doc/eclass-manpages/metadata.xml +++ b/app-doc/eclass-manpages/metadata.xml @@ -5,12 +5,13 @@ <email>mgorny@gentoo.org</email> <name>Michał Górny</name> </maintainer> - <maintainer type="project"> - <email>devmanual@gentoo.org</email> + <maintainer type="person"> + <email>ulm@gentoo.org</email> </maintainer> <maintainer type="project"> <email>tools-portage@gentoo.org</email> <name>Gentoo Portage tools team</name> </maintainer> + <straight-to-stable /> <origin>baldeagleos-repo</origin> </pkgmetadata> diff --git a/app-editors/vscode/Manifest b/app-editors/vscode/Manifest index 0c4cbef25c45..a38e63baadef 100644 --- a/app-editors/vscode/Manifest +++ b/app-editors/vscode/Manifest @@ -1,6 +1,6 @@ DIST vscode-1.135.0-amd64.tar.gz 346537015 BLAKE2B 39087946e674ee2be9b3cbd7b067f676009de77e1667a2b507666380e48ea131ab9333a5730a3fee61b480e1a5ee837240aae2cd0089009386e0ac098f39754a SHA512 d55cc70677e26c305f6dc3e0b68c0e1cbc11e51a9dd04818e387eedc3a7fb6d213ba41952ab5b127b2a1e36c4cae3bb98399a1bd3275999f115a78fc1a5920d4 DIST vscode-1.135.0-arm.tar.gz 219802594 BLAKE2B 171b23a2e7c3cdeba80d8390c3c0ae05b826179df6d783989282cbcd7d093291792469bd3bfd7be9c65b0e6be8cc17af51f63e6c15520cad7bae479bd8c3b1d0 SHA512 8ba4e8f711613f03b0eff504c0d1ccec3134b63f9badd7fbbc14455288acfbd641b52f8f0f551cbb3b058bc0ee6d799cf09042c6f6633c68a7e1c422b14f16ee DIST vscode-1.135.0-arm64.tar.gz 333059693 BLAKE2B 40bf9ebfbaaf75171f257ea290e7f6687efa128970a73cf9a0da9bf4feacfc43ffa01c6e7e6446d28e6975ff2d29d20061e6a9c5a456c7758e095ccf4b5172a8 SHA512 9e9eb0fdaa95092031f4c8738fcb29696ea6200d3274e5ebf55d583f94787028f2f5c7c21a02dfba46d7f102fd541ef50eb0693034273f2feabc832c4c50c0be -DIST vscode-1.136.0-amd64.tar.gz 354676337 BLAKE2B 01cb4ab0edd6bc5f01826ffa11f65d4fd5090a331635bc2540e439e65fd5c067fab505af61cf46056a4063f960597150453b47017b22c36b97726cc310926468 SHA512 f6ec7bbbe4878fef6da8484724de6fbb7bab71a8bc3df6903e3a6b69635944af8195f5aedc2ffabb128b6bd4c3fcd1177002bd6351955b5cd550f073eb49b14a -DIST vscode-1.136.0-arm.tar.gz 224160311 BLAKE2B 14fabd2d350a34964ea0df10ccee03447c299f7b706fbc8b2155171ae0049cee4e43e1a57698a68b16d504db56b7f1ef0d7b81107eb25f9be724b263237d1bf5 SHA512 f646b08a8a50d9662fe3b4a8d662911d73ceebd2655d9cb3f0187b0dccad3ffb69434e7b427661a55fd2faea6a05199e6d47bd31e557bcff67019e88c11c2713 -DIST vscode-1.136.0-arm64.tar.gz 342655159 BLAKE2B 5851ec55898b98dd11ab52e2b6086643c3450093565fde1a73efad2654ccc3975fc8ae777917b1142f0bf18384d1554581fc3fe9e12c1acd5a756ef917656d25 SHA512 1e7a5d467d51b55bda4acec896db4c27dbc3b0fab3e31f18953f33f5005c95ecc8d69b1b8d2218837a532d6cfd07ce717eac4b0d8053967e1028c5a3154b3633 +DIST vscode-1.136.1-amd64.tar.gz 354666608 BLAKE2B 6f3e133beaf531c45521446edf986af439464ac3ae0fbfaa0312a3264c0558e246c3c3059e0d179aa446b2dd335a0dfc00bbaae65f2a5771a6aac7d8ab232111 SHA512 fe7f8ed928debe38ac0a82750baf12189c475fe8a2694f365ba0fddc5f1815d99bfd0a43fcb7e65286c2688df1851b56f7376501b4ec2f06f75706fd1019f03b +DIST vscode-1.136.1-arm.tar.gz 224172150 BLAKE2B 16ba28865d222ccb0932ef231e3a6a98762a0159daabb8cfb6bf79722e1b3e3ef876bc0f5c608b438058c0811c918c88df4ab983e6a2d65f38918723630a5f43 SHA512 ee44e6a3920cf1efda33b616b3047d955b505f62d725f40ee170ace60e150d3e1c92907dcb444b73c9fba3dc27d0444826208e9f7507ac3ba031ec598e625ce3 +DIST vscode-1.136.1-arm64.tar.gz 342644352 BLAKE2B 07d8cd732ae9b7ad1ce2ce4c69a4f427e0e1be64930270b6c814799b8939b819a64f676150d7426460619b42307b5d21302160125beb3b7b53a9af809b0de20a SHA512 e7f73186b0d864094c4d9a6ead070329a4b8d91368a202808e6037d21131a7c5cf2d46f1ae3b10e91e23f54f13ed62a2854014a8dd9f7e7a4e8788ffdbb8691e diff --git a/app-editors/vscode/vscode-1.136.0.ebuild b/app-editors/vscode/vscode-1.136.1.ebuild index 9cf66870460a..9cf66870460a 100644 --- a/app-editors/vscode/vscode-1.136.0.ebuild +++ b/app-editors/vscode/vscode-1.136.1.ebuild diff --git a/app-metrics/alertmanager/alertmanager-0.33.1.ebuild b/app-metrics/alertmanager/alertmanager-0.33.1.ebuild index fd80ccfecdb5..a90cac3c74cc 100644 --- a/app-metrics/alertmanager/alertmanager-0.33.1.ebuild +++ b/app-metrics/alertmanager/alertmanager-0.33.1.ebuild @@ -14,7 +14,7 @@ SRC_URI=" " LICENSE="Apache-2.0 BSD BSD-2 MIT MPL-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm64" +KEYWORDS="amd64 ~arm64" # tests don't work due to "missing files" RESTRICT+=" test" diff --git a/app-metrics/blackbox_exporter/blackbox_exporter-0.28.0.ebuild b/app-metrics/blackbox_exporter/blackbox_exporter-0.28.0.ebuild index adc7c8096366..cd824b498e91 100644 --- a/app-metrics/blackbox_exporter/blackbox_exporter-0.28.0.ebuild +++ b/app-metrics/blackbox_exporter/blackbox_exporter-0.28.0.ebuild @@ -13,7 +13,7 @@ SRC_URI+=" https://github.com/gentoo-golang-dist/blackbox_exporter/releases/down LICENSE="Apache-2.0 BSD BSD-2 MIT" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="amd64" COMMON_DEPEND="acct-group/blackbox_exporter acct-user/blackbox_exporter" diff --git a/app-metrics/node_exporter/node_exporter-1.12.1.ebuild b/app-metrics/node_exporter/node_exporter-1.12.1.ebuild index 4b748fc98554..2a7ff5e3e7c5 100644 --- a/app-metrics/node_exporter/node_exporter-1.12.1.ebuild +++ b/app-metrics/node_exporter/node_exporter-1.12.1.ebuild @@ -15,7 +15,7 @@ else SRC_URI="https://github.com/prometheus/node_exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz" SRC_URI+=" https://github.com/gentoo-golang-dist/${PN}/releases/download/v${PV}/${P}-vendor.tar.xz" - KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86" + KEYWORDS="amd64 arm64 ~loong ~riscv ~x86" fi # main pkg diff --git a/app-metrics/snmp_exporter/Manifest b/app-metrics/snmp_exporter/Manifest index 5342bd2ce26a..0518198dda5e 100644 --- a/app-metrics/snmp_exporter/Manifest +++ b/app-metrics/snmp_exporter/Manifest @@ -2,3 +2,5 @@ DIST snmp_exporter-0.24.1-deps.tar.xz 23690876 BLAKE2B 35cc65341bbae092fb88ebb42 DIST snmp_exporter-0.24.1.tar.gz 168914 BLAKE2B 555136b42af1057cbd553a774ab96f00877f20b1d72b8f78dc87d85e958d14d56b8d58eb5aab829ad33acd9581fe80c4d65ae4faad1c8be0773e2205ac088cb2 SHA512 5268129a50bd255a9505b16d27957ab2e7a23321a25933c9a1a98cd9900aef3a882a59a43d92e021dfa6e732f84f8be1fe171271935a8eac1e023588f417822e DIST snmp_exporter-0.27.0-deps.tar.xz 40692548 BLAKE2B 3a553497515153e2cc5fdf2b03190a5b3fd4169b6d9ea2e869c92a662d1a7cd1210a76b02662222326b8a4c4861a2f7448f75c8b6ecbe6179a4e2c831a76fe24 SHA512 11d4072a4ffd94943fac8704d45b1c8f5ed23fb1e7ea0102b67aa29a1be95c91b9ca899eb99eb828b140f82828e3f30c448eeedf05c735604c165c63bdb6024f DIST snmp_exporter-0.27.0.tar.gz 235589 BLAKE2B e61262a3785e0f81e112c5eaf046c0607bef64d61cac81b394f15e276e0648f14166e0854708e41f64b9740ab5deb10b61d1e45f748134f11014c93d937a327c SHA512 bcc6e795c73c278cbb1497eb49e9b4aec8624132771016804dcbfb092c9c02d9ef73e74a0cf6e47567a299dc2cdb19621cbbee3c6bfc2a988d697c743434746d +DIST snmp_exporter-0.30.1-vendor.tar.xz 1390384 BLAKE2B 70ebb752e1d5620119afa58662075af8e4642d657d5fa7fab4002345cd1366e2f513a144b26efa37b723238696e9d943950e9e7c05f8579df273b6ff971b3bed SHA512 dfc2034213e8f226daec1912cb60f83d9c824721269b46c47a829f3555685b9af6aedd8c32c049f03d39dfe1be52d44fe3fa8f85860be036670f5bd1cf43de81 +DIST snmp_exporter-0.30.1.tar.gz 272868 BLAKE2B b5c98b315b1eef0966f6f658ced30b8ba3763b885ab9264e4b82eef68c9a181d54da28b16e852a9710e5b9d44644bc6d6caf87a37cd9f8c677807d637a94cfe3 SHA512 99b4c1af62f81842a71471e002911c0a4ef24a5ca3932d8c803151d23a77f75a4fa3033c5fdde3af9dcbf4f6b3764f82cb0b1180a776cded3b40795b8e2b1cbf diff --git a/app-metrics/snmp_exporter/files/snmp_exporter.service b/app-metrics/snmp_exporter/files/snmp_exporter.service new file mode 100644 index 000000000000..8e3638a98e5e --- /dev/null +++ b/app-metrics/snmp_exporter/files/snmp_exporter.service @@ -0,0 +1,28 @@ +[Unit] +Description=Prometheus SNMP Exporter +Documentation=https://github.com/prometheus/snmp_exporter +After=network.target + +[Service] +User=snmp_exporter +Group=snmp_exporter +ExecStart=/usr/bin/snmp_exporter --config.file=/etc/snmp_exporter/snmp.yml +ExecReload=/bin/kill -HUP $MAINPID + +NoNewPrivileges=true +ProtectSystem=full +ProtectHome=true +ProtectHostname=true +ProtectKernelLogs=true +ProtectKernelModules=true +ProtectKernelTunables=true +ProtectControlGroups=true +PrivateTmp=true +PrivateDevices=true +LockPersonality=true +MemoryDenyWriteExecute=true +RestrictRealtime=true +CapabilityBoundingSet= + +[Install] +WantedBy=multi-user.target diff --git a/app-metrics/snmp_exporter/snmp_exporter-0.30.1.ebuild b/app-metrics/snmp_exporter/snmp_exporter-0.30.1.ebuild new file mode 100644 index 000000000000..601a1b022161 --- /dev/null +++ b/app-metrics/snmp_exporter/snmp_exporter-0.30.1.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module systemd + +# update this on every bump +SNMP_EXPORTER_COMMIT=48b810af + +DESCRIPTION="Prometheus exporter for snmp metrics" +HOMEPAGE="https://github.com/prometheus/snmp_exporter" +SRC_URI="https://github.com/prometheus/${PN}/archive/v${PV/_rc/-rc.}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://github.com/gentoo-golang-dist/${PN}/releases/download/v${PV}/${P}-vendor.tar.xz" + +LICENSE="Apache-2.0 BSD BSD-2 MIT" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND="acct-group/snmp_exporter + acct-user/snmp_exporter + net-analyzer/net-snmp" +RDEPEND="${DEPEND}" +BDEPEND="dev-util/promu" + +src_prepare() { + default + sed -i -e "s/{{.Revision}}/${SNMP_EXPORTER_COMMIT}/" .promu.yml || die +} + +src_compile() { + promu build --prefix bin || die + pushd generator || die + ego build -o ../bin/generator + popd || die +} + +src_test() { + emake test-flags= test +} + +src_install() { + dobin bin/generator + newbin bin/${PN}-${PV} ${PN} + dodoc {README,CONTRIBUTING}.md generator/{FORMAT,README}.md generator/generator.yml CHANGELOG.md + insinto /etc/snmp_exporter + newins snmp.yml snmp.yml.example + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + systemd_dounit "${FILESDIR}"/${PN}.service + insinto /etc/logrotate.d + newins "${FILESDIR}/${PN}.logrotated" "${PN}" + keepdir /var/lib/snmp_exporter /var/log/snmp_exporter + fowners ${PN}:${PN} /var/lib/snmp_exporter /var/log/snmp_exporter +} diff --git a/app-misc/yq-go/Manifest b/app-misc/yq-go/Manifest index e207910025ed..efc47caff4f4 100644 --- a/app-misc/yq-go/Manifest +++ b/app-misc/yq-go/Manifest @@ -6,3 +6,5 @@ DIST yq-4.50.1-vendor.tar.xz 1987136 BLAKE2B 7d01204debd9b6d318890d196d77fc72bd3 DIST yq-4.50.1.tar.gz 333696 BLAKE2B 9b4a17baf7ed0b6bcedd77fc41675f26bea0a2a70eefc85674c6949cd3263911dbf5075ae40b661bd924588b8e908916338f755d5b9b39e0c9e8a7870e1ac8eb SHA512 1030b28d78fbe24bb421a05a70c7138960fac8c9e6a3419bc4afe0d9f07fcc9c0363fb2449657696acdc91af2ac2640555bd61394abbb4e72441060570aca322 DIST yq-4.53.3-vendor.tar.xz 1973604 BLAKE2B 0cd4eff20a5387176346288265db68665a90028b145a333acb547bb513378259bbfde252397c3099fcd94f6d22ee8e568859788228ff38a66df59f82496f0420 SHA512 da7d46af76c1dc0661bd9cbb88d883a92f4131ef161112b243b320eef2a4571bf7e8b29de266d131f268c97a48cb0c94f859eb4c9b887c94e5907c1403b71424 DIST yq-4.53.3.tar.gz 369698 BLAKE2B 5036e2a79fbe106ddae0889f84c1254150ca30f24fa255df9a49264723c01aeff0831fcc730e49fcadcd7075f2cc9fb7187da290a5e7059018ccdb43c3e81f0d SHA512 420825768e0806ee82393dd80dccedcd8f62a31a2ed14b1ba1a22c89a8fcf34c5100cb1efa7e38bea9f4f6db07450417701dd1193588e5f48b04f9baad8cb28e +DIST yq-4.53.6-vendor.tar.xz 1994024 BLAKE2B 7eace6bbedd652308320ee63242e8420c243d558cd67bdf502653aa500b012f924e8c2346d5a89bf0cafa2cd551b339687733eb510abd40192237a86b2822677 SHA512 7dcfd782241d332e31357a6e3ea48d30e89c14082dd73aa6f52a4397ec074e5b43ad2b414fc94f9497830507b0db95114e0abba46d3e9101e6d432032cb497a1 +DIST yq-4.53.6.tar.gz 375145 BLAKE2B 99018d6b0c5b762c05313680d0c87ee5474a93526747290bec52527ca43e6648ed083de97b01cd9e1573482a3b509499bdb95d13522c53911a43f8acad99f467 SHA512 35b125c63ee4cce1254d582f60a2aea7ec590772b1e1175e8092d71a30830e429ae34c064cbcb99a05792b894b21829d571d4f631a6db94dfeef66b01158cc44 diff --git a/app-misc/yq-go/yq-go-4.53.6.ebuild b/app-misc/yq-go/yq-go-4.53.6.ebuild new file mode 100644 index 000000000000..f6af4aa7f148 --- /dev/null +++ b/app-misc/yq-go/yq-go-4.53.6.ebuild @@ -0,0 +1,38 @@ +# Copyright 2024-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=9 + +inherit go-module + +DESCRIPTION="yq is a lightweight and portable command-line YAML, JSON and XML processor" +HOMEPAGE="https://github.com/mikefarah/yq" +SRC_URI="https://github.com/mikefarah/yq/archive/refs/tags/v${PV}.tar.gz -> ${P/-go/}.tar.gz" +SRC_URI+=" https://github.com/gentoo-golang-dist/yq/releases/download/v${PV}/${P/-go/}-vendor.tar.xz" +S=${WORKDIR}/${P/-go/} + +LICENSE="MIT" +# Dependent licenses +LICENSE+=" Apache-2.0 BSD BSD-2 MIT MPL-2.0 Unicode-DFS-2016" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong" +IUSE="+yq-symlink" + +RDEPEND="yq-symlink? ( !app-misc/yq[yq-symlink(+)] )" +BDEPEND=">=dev-lang/go-1.25.0" + +DOCS=( README.md ) + +src_compile() { + CGO_ENABLED=0 ego build -ldflags "-X main.GitDescribe=v${PV} -w" +} + +src_test() { + ./scripts/test.sh || die +} + +src_install() { + einstalldocs + newbin yq yq-go + use yq-symlink && dosym yq-go /usr/bin/yq +} diff --git a/app-text/mdbook/mdbook-0.5.4.ebuild b/app-text/mdbook/mdbook-0.5.4.ebuild index 1406609231b3..a119b095df3b 100644 --- a/app-text/mdbook/mdbook-0.5.4.ebuild +++ b/app-text/mdbook/mdbook-0.5.4.ebuild @@ -21,7 +21,7 @@ LICENSE+=" Apache-2.0 BSD CC-BY-4.0 CC0-1.0 ISC MIT MPL-2.0 Unicode-3.0 " # crates SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86" +KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv ~s390 ~sparc x86" IUSE="doc" QA_FLAGS_IGNORED="usr/bin/${PN}" diff --git a/dev-db/mongodb-compass-bin/Manifest b/dev-db/mongodb-compass-bin/Manifest index e95b6587c3a1..980a32961a3a 100644 --- a/dev-db/mongodb-compass-bin/Manifest +++ b/dev-db/mongodb-compass-bin/Manifest @@ -1,2 +1,2 @@ -DIST mongodb-compass_1.49.6_amd64.deb 118051012 BLAKE2B dff7ad1d4d1d498747079d9d65a5a1eca1adeb5aafbbf4637e0a4729ffe148326afa55b83cd9d6c81f9bc73b532b66a7dd46f198be8c10b222682042f04d73f9 SHA512 9b78009e6a17c14e312c8b09bbc8405c03a0f0fe9178dbc8a2836e3d32d73e47ffc772a413df8a9280c13999c8c9bcd346c47a7c2a97d8d3d2a36639facff120 DIST mongodb-compass_1.49.8_amd64.deb 118056584 BLAKE2B 6f9ea2ef2c804a807117cc0f3ed82d6c97634c439439ebaf3fc50020eb874442cebf6410efceb1ae09f7f339be7882031558f778023d66079a2044b44e19c83a SHA512 43e0016d286f44041b761b00125b6b7a4605f0d1e97408f8383aaf03700319dcbd94768b71bd67357bd7c02aec13558e11b14e652c50cf09f1cd3f588ca94719 +DIST mongodb-compass_1.50.0_amd64.deb 129462028 BLAKE2B 5136d18c352bb3c93ef876f46d33b9ddaed3b87783f036833b4475ad4e8ed506c601d9797f77ed0cf1f9fd4e6a2fa8e976bf373ab1c88fb2bbc620297e166ccb SHA512 758f4585bb029ce5b10af76cdd157d5aa9fec6574be6d565f7a1d852c233e02f75e88bd6b6dfe5f19acb16ece8c59bf24f16d734f800ac4250e69df16d14c60b diff --git a/dev-db/mongodb-compass-bin/mongodb-compass-bin-1.49.6.ebuild b/dev-db/mongodb-compass-bin/mongodb-compass-bin-1.50.0.ebuild index 01703eac3671..01703eac3671 100644 --- a/dev-db/mongodb-compass-bin/mongodb-compass-bin-1.49.6.ebuild +++ b/dev-db/mongodb-compass-bin/mongodb-compass-bin-1.50.0.ebuild diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest index f4501aa15e07..f37c5f2765a5 100644 --- a/dev-lang/go/Manifest +++ b/dev-lang/go/Manifest @@ -6,4 +6,4 @@ DIST go1.26.4.src.tar.gz 34118246 BLAKE2B 6a9da2e9b876f52f8f35754ff6640eb5b26c17 DIST go1.26.5.src.tar.gz 34140216 BLAKE2B 0903273e37d73ef81e5c88f108f345d21f829aef6cfc5af0c63cc41584ce822912b8e90a989b37dad74debc90d70a9eea99621a043af56003fa9622e96bcb49d SHA512 1c1ff7bc002438e77c968155b077c51df87935d1a1a214c8750e748abe3af5cf83769eae5cfe85ca1b12a0e6fa4a0dfe4344b1023f037f206dad328607bba9f7 DIST go1.26.6.src.tar.gz 34151057 BLAKE2B 1f67f6f99c3c067388a714f1721eb24d52acf94adece1cded75df3b6c1045b0f2826cfb3edc05b5f1e1db8e17cca0289a69c8aeb8abb2cf244954c5983e6116d SHA512 73325ff6e1ed60228a4c409baf2fc592f41c10f77d86207d3e98d8ca764ec43249c453ac70997dd3990ccbd11efa872bbfcdb6623e0a67b7dfd7ab4cf4dfe1e8 DIST go1.26.7.src.tar.gz 34150794 BLAKE2B c6df632587189b6e67aa1624a0e572d9f15f63a004a43a73aca20575fed93fec8c04d3fd2b62b6c83298d66eb21ceaa93a8e0f1335652c13f99d64d5f1d4147c SHA512 708c8f19d43c7f931287ee0c710eb7a0c4a3d7589f546a59fcdb276f2963d8eb1fba1599977613e751d6de95b8386b6bca8e7d2caf9c555a1d51d1ef0d40289b -DIST go1.27.0.src.tar.gz 35080395 BLAKE2B eee787d8c81ad0fcc50d0eaaa2bd354bc2ba5b5568e64748236a02cb1f25c6feff4b018c4a6376a186554914d300c9029dc34a3d060915d649abc87d3e26ea73 SHA512 2709a190db3b7d230743a88fe95fd25cb378e06bc31b745c3ccaa783c0b82c83e9d2cfd8ecc364c8fe47844fcdf85fef0701dca2ce2653260f61b9c98be5e682 +DIST go1.27.1.src.tar.gz 35109201 BLAKE2B ba51f0e3f23bc2fddd39eb87a952f5bce1c9dee0b37ae4918b19b1ddb3038a644ddb8fffd6c5e4685600768ae741dcee801761e752dd0184c76cfbff4d31a872 SHA512 21c928507be39cb91ecb2392a3bf00e1581e176c09e2bf6da447931dffa6198301efa39e106b252c498dbada9251dd5ccc017cbca66b9a0a03bf1e446ee4b5c5 diff --git a/dev-lang/go/go-1.25.13.ebuild b/dev-lang/go/go-1.25.13.ebuild index 4fae67fcf5a9..11b1353dddb2 100644 --- a/dev-lang/go/go-1.25.13.ebuild +++ b/dev-lang/go/go-1.25.13.ebuild @@ -20,7 +20,7 @@ case ${PV} in *) SRC_URI="https://go.dev/dl/go${MY_PV}.src.tar.gz " S="${WORKDIR}"/go - KEYWORDS="-* ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~x86 ~x64-macos ~x64-solaris" + KEYWORDS="-* amd64 ~arm arm64 ~loong ~mips ~ppc64 ~riscv ~s390 x86 ~x64-macos ~x64-solaris" ;; esac diff --git a/dev-lang/go/go-1.26.5.ebuild b/dev-lang/go/go-1.26.5.ebuild index 452231977fd8..c94eb4ca111b 100644 --- a/dev-lang/go/go-1.26.5.ebuild +++ b/dev-lang/go/go-1.26.5.ebuild @@ -20,7 +20,7 @@ case ${PV} in *) SRC_URI="https://go.dev/dl/go${MY_PV}.src.tar.gz " S="${WORKDIR}"/go - KEYWORDS="-* ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~x86 ~x64-macos ~x64-solaris" + KEYWORDS="-* amd64 ~arm arm64 ~loong ~mips ppc64 ~riscv ~s390 x86 ~x64-macos ~x64-solaris" ;; esac diff --git a/dev-lang/go/go-1.27.0.ebuild b/dev-lang/go/go-1.27.1.ebuild index 452231977fd8..452231977fd8 100644 --- a/dev-lang/go/go-1.27.0.ebuild +++ b/dev-lang/go/go-1.27.1.ebuild diff --git a/dev-lang/go/metadata.xml b/dev-lang/go/metadata.xml index ab5c0447b6a7..34f44f90b42d 100644 --- a/dev-lang/go/metadata.xml +++ b/dev-lang/go/metadata.xml @@ -5,10 +5,14 @@ <email>williamh@gentoo.org</email> <name>William Hubbs</name> </maintainer> + <maintainer type="person"> + <email>arthurzam@gentoo.org</email> + <name>Arthur Zamarin</name> + </maintainer> <longdescription lang="en"> Go is a new systems programming language developed at google by Rob Pike. It has garbage collection, coroutines, communication - channels and a clean syntax. + channels and a clean syntax. </longdescription> <upstream> <remote-id type="cpe">cpe:/a:golang:go</remote-id> diff --git a/dev-lang/rust-bin/Manifest b/dev-lang/rust-bin/Manifest index 89d85c82ff90..c29831f637f8 100644 --- a/dev-lang/rust-bin/Manifest +++ b/dev-lang/rust-bin/Manifest @@ -969,6 +969,41 @@ DIST rust-1.97.1-x86_64-unknown-linux-gnu.tar.xz 201303968 BLAKE2B b34681966c6d1 DIST rust-1.97.1-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B bd7e3ff768fc85127b05149bcea780946655dc9739c16890b91ac5c072c447e95e017e48dbd923f1f72707c6d58a90c6d94afa0a8bf9f5180fcdff1fa9915595 SHA512 a956a6ab9380d4ced3b2936cb21a08df53b12207255ef1bbd7449fbdb05e5c3be7700fd66b742391721b45c66740f3e577f7b82531ed54a063cf337bbb6bba20 DIST rust-1.97.1-x86_64-unknown-linux-musl.tar.xz 303757716 BLAKE2B 3f5f348946480dde1914d4c34c7dd8f8a4b0a1e8fab3080f30d52abd5b57a11f855a14e338bdfc1cfbd3fc23ab46f12d343d0dd94aebb012166b263eceb6706e SHA512 4e041737709981d4dd9f16fd542eab4c44de46df8f14bb59d73592c394ea94d44ed9dcdf4796b85ed2a056d573d078975909484b6676467ddd56edd5925d45af DIST rust-1.97.1-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 29f54843b77cf4f94c5d023b554c6e48d7ae3b7d8759a499e940deb0a00e649f38f97f6af59581d40930caba1fba782b1c075d300d2e91a9fb67725b6cf76dac SHA512 eae2c10c61ae3f399376bda5db6f87f963be1d1dcb840ea39b6168af83807b97dc9ddcd7573717fcd573e0d83485ff55deded33221176d033df7f770450ae80e +DIST rust-1.98.1-aarch64-unknown-linux-gnu.tar.xz 182826816 BLAKE2B b4a312b85ddb8b15399ea9eb1f5b769bef746d96aae1beceb608eb09d1c5f2ae536e30242f3413b109b3e660f2ab0dcda3cfedaeb6e50ff58e0f58e15f41e28c SHA512 cd8dbce47aa8af3cc21c0ba1784c4a4b733bf636dc5d8c5a6e5474fe7ce6c9594671c2c738ca9da8cbe2e80307f3aa62facf972e672967380ae18655c11c2182 +DIST rust-1.98.1-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 22d1b6c08bffc2a0799dc81270cd55cf98f867d15249e9fc862ff328f89d6a58b820d3261143829dcbbb8ec2a18a16827a9c440314e7860938c5db9136a21998 SHA512 81d7e26d830630d8776e1e76f3c02114fe479bca69fe42091710727b035d4acfb6f06bdbdc637b896f5cce0440fa68ac299eb292ab4b94486c2553a9a91f4ed7 +DIST rust-1.98.1-aarch64-unknown-linux-musl.tar.xz 277938252 BLAKE2B 00c852bc550256e04eafff8f95d689feb47d097c73bfd40fafc4248023ffd8ebf31b56d43352adb7d325de3b4c0b03041a5b13ad2279a42c134f0a29b87e7b02 SHA512 1f532c70293ed70f2909d1dab5e1b2cbc6f5691eceb9a85c4ee6a1e773df0f3086c96433940f984f4ace850208543f3bde4f404c43e2d149dbecba74d162d66e +DIST rust-1.98.1-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B ea19c9c544d204c69a292e1b4af5a8ce236292d322b80f2eb5147b39c117cab1451f6ae3a900bfcc6f01b31ea1fc42b07da04a34b952b67a29642b0d105b0977 SHA512 d7551e1fba3d1fb2fe44ff001641aa966c65ddff1a0d0db9043e14bfc83553df26d855fda1892719c548efb3d22ff2bcbee70855f1adbf66180164abc1591f32 +DIST rust-1.98.1-arm-unknown-linux-gnueabi.tar.xz 256579464 BLAKE2B 9dc3e5ccaa4a1ce124d2d42a662efd360682d6c7ad659e7381ef80c2700e9b3b9f99aaa2abd965e177832d776ed7f6d7ab38f36e3559dd05e5975327e56f65bb SHA512 932467bd810f89543e8d77f41045133804583817e439005c26b270557167edee9f8f06cdaee7ef8824410154478008bc793c5be8a040c76a810a89abf8e03c6d +DIST rust-1.98.1-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 5a2d21e686e9ff1932a2cbefc84061d2b6a2fc286ce337b90224bfe8fb93af98f0288b704578945d7b4d449ea3f76296c142d17c749efe08fb79ef883cff615b SHA512 05dd2c84ffe98b8e846f300f50882295b6c1f3e90b15d8bf99a1550792dbf4e7177ab244778345099c560c906920a0803e32116f318c17117d24240328f837fa +DIST rust-1.98.1-arm-unknown-linux-gnueabihf.tar.xz 254940280 BLAKE2B 32bd562f6f91939f7423d3859962ecd95359f06ee7ccc62ae09a304d05cced785672c7cb81d355d67357a2c6c532b7d1c787172fe72a9d2d19a19015ba90bdf6 SHA512 5efc5aeed53b52ea9133628055c57df8b65eae9cbf661f096e076478c75628fd1795b10e4d5751220eb2ec574058dede011ba1568352d424c22b983f786a72d5 +DIST rust-1.98.1-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 569cd931c5e1b26314b8c635e679c2ddba72c44e7b2349f6e73f5f7c078fe9f74bb49e87b1e83a93a4c94fb4dc88218637aa8e43b5590facdafc7468be11c191 SHA512 b884a77c3ad6ded0c7ea170dfb4239a9569c626a70087aecb4d729fe3fcdedc8e9163fd9e7161881287c58ebff8a21407ec303a006afc310c89eb0d25a73f8e9 +DIST rust-1.98.1-armv7-unknown-linux-gnueabihf.tar.xz 258744412 BLAKE2B c7cd8736196dd605e5d2cbe671b85e40765184d0b63834a424adba7d15c754a7f6db513e693108f660743ff79471a04097cb09fa767ffa6e1f24057fb2909256 SHA512 fcd49bba8cf1d66cc5f5e9e9254b8fdb4af039b69a0272b225406fecd56df6ea6d7c0a093885d2c993fe5f50c671ce086790fddc00f90a1843a2a4ece11284fb +DIST rust-1.98.1-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B c4d5f923a793081c6d8a299e72ce7e2f157ebf5fa3806e38314cf99c792b72d9c63b7f31253f7c5dc80c64ef609bb027af190d01e40d8885a83267cb5fc19958 SHA512 0d6f7283a8a1f18cf9d7a905d6ddbc6953f2392f502247e6ae37744d31e56c10ebf1042fd1bfc4feebff9e9cdd34279e3ac45a000aef55eb42487633ba21bbe9 +DIST rust-1.98.1-i686-unknown-linux-gnu.tar.xz 294851320 BLAKE2B d93f9578882254eaff7309cb59f509224a3c33437311f4225e081f66187ee4a942e1af114b32f2dd2dfc60133106ba706a863741301438d2218a2c11ae48f560 SHA512 d9a89aacaf90238c78e484ea0683ebf193695a9f230606e8fe8250b0b0956194cf4e0fb1709ea18d6acfc9db791aeacaf736cc1b5322ea1d9b02a406396ee850 +DIST rust-1.98.1-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e5dfb9dbfa7c123b7dc61e25dc7765287f80a96800a65b35bedec27751a7f3ef656f29cfcbc37908c8e56180c0c01252e678c2f769d44bc5b58bba6348cab6ba SHA512 5294995edb70043ad6abecdfd7a9d4e4520d8b48bc4f210f1c76d0260690560bc7d547e64d20913045698b61344d43dbca20d5eb4cb7b96791f673d7503a02f3 +DIST rust-1.98.1-loongarch64-unknown-linux-gnu.tar.xz 292178716 BLAKE2B 40fefd2e591afb0a7764667fca3781efc148ea34949f2186524d66c52f5a2b2e8098abd955076ca95fb6df7ac066435404f3cc7cead5e22fb620a6523826aac6 SHA512 55a597368e9138c45d64aff148f5883256795b0d9b1a124d50e4fbb0fc148a1b66a8a959faffc8e18bcb547f709d5db8189b74e3fc54e7569dac722a42805f77 +DIST rust-1.98.1-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 78d49f0d35338784ce3c24d6563ab4d7901223b95fa4ec19015d1fa119d03c31cffec242b2413b2ad8cbf76bd6a981d11070cf73a26b92bc781ebd607e435626 SHA512 151dea3d985dcdb0d7717b2c8b08c15fa49b301bfb17f4f6b5ce73eb86e578d51f53ce200b18827c33ca98527f8f103d07d2322ba5353a52e14430d03359da98 +DIST rust-1.98.1-mips-unknown-linux-gnu.tar.xz 82998968 BLAKE2B d3c3eba8ab9a763fa4078ccc6423a4f6a7ca47f26c48616ec9853107ffafbfc8ff5f2be322d2f7838a032b9a3d724a1fb6e507618326f11c1692424ead99b0e3 SHA512 d01f525e0780385e3bc98247cc702a48192fd8876b9a87684d5712e7146cd78ffc7707beb98aaf78a4d8f189865777bbd1ff43181c5c3aeb659b3d16826e4896 +DIST rust-1.98.1-mips64-unknown-linux-gnuabi64.tar.xz 82829200 BLAKE2B b62db04df84b965165c17625e59d56b5f91e18331d50e63dc08e3810551bee474b922ef793661e1fe2fe44840c82e89cbf4b41b3238deb100323a6591be34f18 SHA512 ba1a89ce0267b8d9c3eca1336c1d35738102568ce390553fc077b3c7c1e3abdb0c8bbb793c79e4839b2c3076e0c0b480e33f467dd4164675aa5ad6efe4c990c3 +DIST rust-1.98.1-mips64el-unknown-linux-gnuabi64.tar.xz 84489728 BLAKE2B ca071c9a83be8d3a5bee44fed412fd835e3a8cdb389267c08c5cc9b29e9566d96d879e500ab1b01364e6cc46a3faec7ca5ea8d6e215c6050877a923f47889260 SHA512 cee6cc4bf53d231169a2b89e36aea5fdb9f10bc46378e2dd5a17e15b9bc27945c975e1fa26ee3c39bb968e6b63fa218fb8fc30dea7abba1c474412e57fefa453 +DIST rust-1.98.1-mipsel-unknown-linux-gnu.tar.xz 84777848 BLAKE2B aa5753908f4f8f9a4f65653781b1527776c3b09947c9e9044d52ab22361d3cf5f1d1f80d72551c8835d65e0fa709fdeacf31a2ad3c9b471fb93c7d34b36a86a1 SHA512 9f575694aa89f8bb743c6541ebb1c4b05e6cf4ee95e5f1df6ce0edf75a7059fa78c4cd88d5e083649d7d39f27bb04522389b80591eca1f03d91bd8ebf95de7c2 +DIST rust-1.98.1-powerpc-unknown-linux-gnu.tar.xz 282546556 BLAKE2B 569f002068bc2627bef4e46021061b8b948035dc16df1fa7a5815f835d9b5ae7cb40d2af32608db5a25527e5f2a9df3340ee8866da5954889f680baf2d81d5a7 SHA512 07747ae5f43e4faabcfb19cb53c8f2c1254d5197ca594171278f0d523cd05b894ecf5634735f4e53f937c0b792fff4b3043bc85368176f5b98bdac6946f42ea1 +DIST rust-1.98.1-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 174e6da5cfd771f3f9ca24a55083f9698ba6c8d8e6736be0dce0f19860b361ea336b82c854cf6d5dece92fddd340e853c32acbb5ac6b6a1223f35b114bafe0b6 SHA512 dafffd4ab16ccd2a73fec23f7931e2c9f4e8ec469c8dee79b0c5267ed3262240ba99e6c36ac404627ad666a350d86947900d461f2ff185581a5b23d5de9444e5 +DIST rust-1.98.1-powerpc64-unknown-linux-gnu.tar.xz 283751128 BLAKE2B 9137602ea2371ef02dc2950547be2e2c9781093a65fc485d8f8cfa5041ea910948f6e6a6c8fd1b5ea12efd34e1a2b8c31bd391eedba7fade746417c10505339f SHA512 a8f21059f296308b6be99865e20e8d4cf443c8d6c8a336184b7e598a776fa0468eb62d06176b5e457a2466b86a7ed54918d6212ae7a021657259f98cde1ebdc5 +DIST rust-1.98.1-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 1da50601219c6a51b4edce60d67a07d416ab8822ec979564b2b1d373abbbcec01f8f92cf2745e08b155ec1351ec58c4b3305f05fed13b3eb554b827e53eccc23 SHA512 eef45fa634c8e255ffcc1f30d5f1dc2c42b1d679411e1798f51772bff4922f25d0b2ca07e112a0c5eda36b004fd4d3607ec60a026f14b4169ef8fefcc0564406 +DIST rust-1.98.1-powerpc64-unknown-linux-musl.tar.xz 87345456 BLAKE2B 7854c98aeb68136719351bd4ebae4d353cb3607fdf42ed48c574366c14699202bcffbb66a79413c09e7a1bd3dcd24bdb1617f39857b0b428a283a12292ae627a SHA512 1e3c8518637edd2ab0bc0b8c7794a1c233d31663d8182ee86d4e49ce2954f31822b421de23c104c6de45dfc96fded300336a1cae05078993eaba97ec67586802 +DIST rust-1.98.1-powerpc64le-unknown-linux-gnu.tar.xz 302535636 BLAKE2B 67936077c5f482fc490e581f78f86a8429b74e7bdf66312fdfec2f2cd6fd8cf726178718f0453b52a0ecb2964f288b8851657c935906b9e0c3125583a7ddc2e6 SHA512 03a947c8cd268eda39de3c8558eba52a71b07e7b620ed87798500959ac33b7c221b3e8847a62093057e9ffe123ea577209bd527fdfc5e212d3112da9bd7a54d7 +DIST rust-1.98.1-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 08b886bf164070d201dde10b2dd664823114229c0e61666faaa6892c81422ac1a9aac939c89a42fc41e186d837f6b7e026e71942fcaf85dea795b45cf6881900 SHA512 888d63591c13bbfa778df2b3fc296e53af7d2c6c74b57143ee1f350bfaa181cf39f275ead71476d374432fdd5fac367c519f591291ebbc734da3fe9ab4fb9f82 +DIST rust-1.98.1-riscv64gc-unknown-linux-gnu.tar.xz 276387076 BLAKE2B 3cf93f837c91ea769f24fdc718d240ff731754459bba55cee20ed19490f166bd10c0fd400a2e31c792a644f460e19984d23d80c49af722ad671198b4e8cbcf47 SHA512 7bd7e9d48c5f96c0256fdf7aa8950f86863ba11613da8417821eaefce0dc9c69013314e48cf610974d14bbfe990403b98949369abfd28d655f16f3046a7d0742 +DIST rust-1.98.1-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 0e2437c3aafc02edf9e9c11681ecdf710ffc5c788197945d4e5914f2b1367e079452d968db412619729f4073ffd7651924351972c2ba3a53107813e8bcf3a9ac SHA512 cb0b8af11e3ca95dcd5312ef87c6b1336d86d6485b659c8043d54e6f99bd800ccfb0171fc7ac8c3299078769f81910cea20585129ce6f5e7621472cdf28928b7 +DIST rust-1.98.1-riscv64gc-unknown-linux-musl.tar.xz 91871692 BLAKE2B 15f1f42860e85dc3dde5a68818be7e8fe441c585cf97b3326e55f26aefc3c04e257134094956dc59754da553bcc63ca7e1fc3c27c80393aef5bbe8be461bf891 SHA512 d17877eb32aef1e6888e3925165441489e1398b3b5e023dc8d61a77de469cbdef491fc07dc6cf0f23946cea08683051431926c68ed4550af76e5c1f87cb63a28 +DIST rust-1.98.1-s390x-unknown-linux-gnu.tar.xz 274406204 BLAKE2B 7e845bbba27f51fbdd585af2efebf2a325161456d7e0fcf37b001d5f2aef5f74485b36c6d64cfcfbb614b00b2db77b650e0dc7821503abe6a4471ad036a4e0ad SHA512 4d35f6f5ddd9bab933e8e43bd5e207023d3c2f3c88e0ba0fd0387c9b714a6b5eef1e2b1c0c7f4215d061e015940f9ca25b57fdb965c486500b32522652f89108 +DIST rust-1.98.1-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B ed1ca8f191b35da0cde979e556f379be45a5394c15b0260f3d81514308b6a9a09982bf7982b3ae011f7842434aa10c632d65f7ac7b694990e7cd2663e34ee131 SHA512 9d741f9c30ec1562e976a5264da3664a351677427cf69fccd310441ee9e8803c11eaa684f5a9b6055b609938419b897edce55747a3121de31628d58d3ef42796 +DIST rust-1.98.1-sparc64-unknown-linux-gnu.tar.xz 80476244 BLAKE2B 5b9c70486bc9a7bdba2cc61095b03cc778a544b7e3e1d402dea075a17eb356b033f38fda1129899f6edf41c831e83447bd2775bbefcfc3aebb8870571cf050bc SHA512 3d4091bed3c1ec1e74cc40b1f60f3b1fd5ae582e05025054933dbdd94a4ffd8337b18ac64f0836598326719936e40c2565581105f77231b26a5c934542d52753 +DIST rust-1.98.1-x86_64-unknown-linux-gnu.tar.xz 202560136 BLAKE2B 7418f0b386ef4ccd111e44e35cb08b7f85814f85bfa46d8e38d7156582c2c3cc9db3f0b9df97531cfa57f1873f1135bfe70fbb1ba5a04b11a7467b2559edec36 SHA512 eb66023aa9014091485e9dc400969040283c54de62a7ad8bbf3510d239c2756a4c47da79c2829e2769531ed128eece8f549cb4d79384cce3d629054e51ea7dcf +DIST rust-1.98.1-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 8b80744332642bf008fee49c5bca353077745a57a34cb2ee032f399bd3318cd75fd9a2d43b1eb55a91d1bdd2923f67af19ce2f38e5378281b3b990974a7c6a36 SHA512 80b0f668b4581b9dd27657473c495604656b2d62ed99613ceb66a2b8e2992067c8c4a96fe542be87c4930e45ddf975ce6983de329d7bf87f83df50eea528cc28 +DIST rust-1.98.1-x86_64-unknown-linux-musl.tar.xz 323672928 BLAKE2B 933a3ec8a17dd4ec68c6a1afb1724b87870b1ebdd342825f7ebe44a7f380bcf4584fa8db661ccf50dd54889417559874ab803e4b359fc63dadd6f7c84c112b0c SHA512 a0aeb4730c63023b49fe00b30dea9f7db79f671b429f4b78cb5fd8c3eb21359b68ed88f602e1624952ff4d81828873c8bb63c9c7883966af71801d9017eb9fd6 +DIST rust-1.98.1-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B e900be29f69f99944b0b42ed87dba207358f2bc6001712c014bb2b904bcd221e6d756e15a09af1fe950244168abff6df16594830639f25c10793b3750c884cee SHA512 e021d13de96b82e2af5f89e509d2974c65df736f09ad31fcc770d68f8bf3df5576abcf06ff4f417ea850036e3a3187b49177baa4724085c7bf49887ea03eaabb DIST rust-src-1.74.1.tar.xz 2544036 BLAKE2B d95431b69f102782f51878ff73ce8802cac6dab7909497c3231d1c479b95dc2a618cc6efd8bac9c6bd59a2b10dc6be05199f1e1bd74e45cc640ee52352c29268 SHA512 11467d0936193c5a5be8c2eba1aefe2b7028af48494698863de2c4057d68ce33dcee1fc66dc2d68b1d32f0202ce49e9b906727849de8f8d904dd07930e76d5a4 DIST rust-src-1.75.0.tar.xz 2570256 BLAKE2B 9db7ccff07ffe6991233e9f530321fd6ba48c561dcf1226537afa70c7d045421d8e83c5300b0866ec6fccfaae96dd67b9f204e9e0e12108c0c766d467cd78909 SHA512 e7565cea2f1658a05237a698e38880df2544319b41b6d8b0805db5f1f94fd3bb4f986967d0440fcdfe3a135e33246f3c747665b964f57ff5942f56133af78cdd DIST rust-src-1.76.0.tar.xz 2590884 BLAKE2B d1a6215dab34d7b10c3177d2b248f997d3a846388f3442567572880aa5c5bc51b56398f5d4dc32727cee7c9dbef494430d6534a76b66c4ae5ac4fed07266644d SHA512 39d2fe58fae8c8c5a6cb3fb1ef2a1c7548c018fef6ccea531659fdfecd68a4aa77125299d2cbe5b58e500337b4d074928318fa9ebce358af500d0ef27260e3ca @@ -997,3 +1032,4 @@ DIST rust-src-1.94.1.tar.xz 3751284 BLAKE2B fd15a40f67fd4180adf48c4a4972858f68d7 DIST rust-src-1.95.0.tar.xz 3827368 BLAKE2B b19d0c6043b405fc5d1889f58cbeb8c4b00226ba8ccfb139ff8d3e3c86196a3ebcac5145e9b6befe3e193d1934766d16c190299afa4d87343dc76570c1eb2069 SHA512 7936cd86c35c5283e0845cf848470fb96b142020a43a7a632c646a0bc3e7eb7d7c6f934b84d2a583747decc03be5ef5318de0c7974c8286ba2951cd60db217b2 DIST rust-src-1.96.1.tar.xz 3868228 BLAKE2B f509efa5be0be11da292a9b2d9f4ae87667ea69293fdf81329ae6fb1790437fe3f01c5c7c0691e4e535d5386bca0e1dd090a4b74f7e55f58db4d63be27fff419 SHA512 daca9d4df578682c1a92e0addf4fcb258e135ff9610c81826004089d4ffdf41b3f0b3dbfa2a1562f9531d4e5a58f744e87655f011ff9bbafe04ac5bc63e16639 DIST rust-src-1.97.1.tar.xz 5660384 BLAKE2B 23357e49cc9ba35d1f9f1999af32589fd6e12790cb16ec1895aa9272a8f73a4bea93b0ad4d2b0d330ba46bc5458ca9ade9b5a2400d7f96ef093d4f537a567672 SHA512 fe1ba24325d63c66de18c5bd877cd247173ee3bbb67f6fdc54519c52841658f602d28b3b648849ac9a916b9b5c5f7684415bd8c05556137d717bf73367650db7 +DIST rust-src-1.98.1.tar.xz 5741168 BLAKE2B b5d80e3f45b4d36da9ea2cf6262e41f0213a7c3903a9011850f3ecd4d56de29a1da2e9a98c6da910a786ca21df2ade52e8703a8749b224ac9680a82812cd15ab SHA512 9b3536ecedc719e151c51c11ff1a3f67972ccfbadaa57a5d395f436ab45db78a27e1cb55268cdc72389c333080de08cdf9af0012c4cdda7e384fd24369518198 diff --git a/dev-lang/rust-bin/rust-bin-1.97.1.ebuild b/dev-lang/rust-bin/rust-bin-1.97.1.ebuild index eca8d155fa21..ef4415f94837 100644 --- a/dev-lang/rust-bin/rust-bin-1.97.1.ebuild +++ b/dev-lang/rust-bin/rust-bin-1.97.1.ebuild @@ -24,7 +24,7 @@ else SRC_URI="$(rust_all_arch_uris "rust-${PV}") rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/2026-07-16/rust-src-${PV}.tar.xz ) " - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" fi GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PVR}" # omit trailing slash diff --git a/dev-lang/rust-bin/rust-bin-1.98.1.ebuild b/dev-lang/rust-bin/rust-bin-1.98.1.ebuild new file mode 100644 index 000000000000..b09ce50a5887 --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.98.1.ebuild @@ -0,0 +1,336 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 22 ) +LLVM_OPTIONAL="yes" + +inherit edo llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature + +if [[ ${PV} == *9999* ]]; then + # We need to fetch a tarball in src_unpack + PROPERTIES+=" live" +elif [[ ${PV} == *beta* ]]; then + # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep "xz_url.*rust-src" + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + RUST_TOOLCHAIN_BASEURL=https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/ + SRC_URI="$(rust_all_arch_uris rust-beta rust-${PV}) + rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/rust-src-beta.tar.xz -> rust-src-${PV}.tar.xz ) + " +else + # curl -Ls static.rust-lang.org/dist/channel-rust-${PV}.toml | grep "xz_url.*rust-src" + SRC_URI="$(rust_all_arch_uris "rust-${PV}") + rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/2026-09-03/rust-src-${PV}.tar.xz ) + " + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PVR}" # omit trailing slash + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +if [[ ${PV} != *9999* && ${PV} != *beta* ]] ; then + # Keep this separate to allow easy commenting out if not yet built + SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-sparc64-unknown-linux-gnu.tar.xz ) " + SRC_URI+=" mips? ( + abi_mips_o32? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips-unknown-linux-gnu.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mipsel-unknown-linux-gnu.tar.xz ) + ) + abi_mips_n64? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips64-unknown-linux-gnuabi64.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips64el-unknown-linux-gnuabi64.tar.xz ) + ) + )" + SRC_URI+=" riscv? ( + elibc_musl? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-riscv64gc-unknown-linux-musl.tar.xz ) + )" + SRC_URI+=" ppc64? ( elibc_musl? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-powerpc64-unknown-linux-musl.tar.xz ) + ) )" +fi + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual stable +IUSE="big-endian +clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src +rustfmt" + +# net-misc/curl is needed for our own bootstrapped rustc, since cross-compiling bundled curl is not supported +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + net-misc/curl + sys-apps/lsb-release + || ( + llvm-runtimes/libgcc + sys-devel/gcc:* + ) + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" +BDEPEND=" + prefix? ( dev-util/patchelf ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" +[[ ${PV} == *9999* ]] && BDEPEND+=" net-misc/curl" + +REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )" + +# stripping rust may break it (at least on x86_64) +# https://github.com/rust-lang/rust/issues/112286 +RESTRICT="strip" + +QA_PREBUILT=" + opt/rust-bin-${SLOT}/bin/.* + opt/rust-bin-${SLOT}/lib/.*.so* + opt/rust-bin-${SLOT}/libexec/.* + opt/rust-bin-${SLOT}/lib/rustlib/.*/bin/.* + opt/rust-bin-${SLOT}/lib/rustlib/.*/lib/.* +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="opt/${PN}-${SLOT}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/rust.asc" + +src_unpack() { + if [[ ${PV} == *9999* ]]; then + # We need to fetch the latest nightly listing and get the apprapriate src_uri for our arch + local rust_bin_url rustc_src_url + # Cut down on webrequests by fetching the nightly toml once + curl -Ls static.rust-lang.org/dist/channel-rust-nightly.toml > "${WORKDIR}/channel-rust-nightly.toml" || + die "Failed to fetch nightly revision info" + rustc_src_url=$(grep 'xz_url.*rust-src' "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2) + + if use rust-src; then + einfo "Using nightly Rust-src from: ${rustc_src_url}" + # We need to fetch the rust-src tarball + einfo "Fetching nightly rust-src tarball ..." + curl --progress-bar -L "${rustc_src_url}" -o "${WORKDIR}/rust-src-${PV}.tar.xz" || + die "Failed to fetch nightly rust-src tarball." + # no verify-sig here, just unpack it + tar -xf "${WORKDIR}/rust-src-${PV}.tar.xz" || die "Failed to unpack nightly rust-src tarball" + fi + + local v + for v in $(multilib_get_enabled_abi_pairs); do + rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))" + rust_bin_url=$(grep "xz_url.*rust-nightly-${rust_target}" "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2) + einfo "Using nightly Rust from ${rust_bin_url} for ${rust_target}" + + einfo "Fetching nightly Rust tarball for ${rust_target} ..." + curl --progress-bar -L "${rust_bin_url}" -O || die "Failed to fetch nightly tarball for ${rust_target}" + if use verify-sig; then + einfo "Fetching nightly signature for ${rust_target} ..." + curl --progress-bar -L "${rust_bin_url}.asc" -O || die "Failed to fetch nightly signature for ${rust_target}" + verify-sig_verify_detached "${WORKDIR}/rust-nightly-${rust_target}.tar.xz" \ + "${WORKDIR}/rust-nightly-${rust_target}.tar.xz.asc" + fi + + tar -xf "${WORKDIR}/rust-nightly-${rust_target}.tar.xz" || die "Failed to unpack nightly tarball for ${rust_target}" + done + else + # sadly rust-src tarball does not have corresponding .asc file + # so do partial verification + if use verify-sig; then + for f in ${A}; do + if [[ -f ${DISTDIR}/${f}.asc ]]; then + verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc" + fi + done + fi + + default_src_unpack + fi + + # We only want to do this for the native ABI. Non-native ABIs are + # handled differently in multilib_src_install. + case ${PV} in + *9999*) + mv "${WORKDIR}/rust-nightly-$(rust_abi)" "${S}" || die + ;; + *beta*) + mv "${WORKDIR}/rust-beta-$(rust_abi)" "${S}" || die + ;; + *) + mv "${WORKDIR}/rust-${PV}-$(rust_abi)" "${S}" || die + ;; + esac +} + +patchelf_for_bin() { + local filetype=$(file -b ${1}) + if [[ ${filetype} == *ELF*interpreter* ]]; then + einfo "${1}'s interpreter changed" + patchelf ${1} --set-interpreter ${2} || die + elif [[ ${filetype} == *script* ]]; then + hprefixify ${1} + fi +} + +rust_native_abi_install() { + pushd "${S}" >/dev/null || die + local std="$(grep 'std' ./components || die "std not found in components")" + local components=( "rustc" "cargo" "${std}" ) + use doc && components+=( "rust-docs" ) + use clippy && components+=( "clippy-preview" ) + use rustfmt && components+=( "rustfmt-preview" ) + if use rust-analyzer; then + local analysis="$(grep 'analysis' ./components || die "analysis not found in components")" + components+=( "rust-analyzer-preview" "${analysis}" ) + fi + # Rust component 'rust-src' is extracted from separate archive + if use rust-src; then + einfo "Combining rust and rust-src installers" + case ${PV} in + *9999*) + mv -v "${WORKDIR}/rust-src-nightly/rust-src" "${S}" || die + ;; + *beta*) + mv -v "${WORKDIR}/rust-src-beta/rust-src" "${S}" || die + ;; + *) + mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die + ;; + esac + echo rust-src >> ./components || die + components+=( "rust-src" ) + fi + edo ./install.sh \ + --components="$(IFS=,; echo "${components[*]}")" \ + --disable-verify \ + --prefix="${ED}/opt/rust-bin-${SLOT}" \ + --mandir="${ED}/opt/rust-bin-${SLOT}/man" \ + --disable-ldconfig + + docompress /opt/${P}/man/ + + if use prefix; then + local interpreter=$(patchelf --print-interpreter "${EPREFIX}"/bin/bash) + ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/rust-bin-${SLOT}/bin" + find "${ED}/opt/rust-bin-${SLOT}/bin" -type f -print0 | \ + while IFS= read -r -d '' filename; do + patchelf_for_bin ${filename} ${interpreter} \; || die + done + eend $? + fi + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /opt/rust-bin-<ver>/bin/rustc-<ver> + local ver_i="${i}-bin-${SLOT}" + ln -v "${ED}/opt/rust-bin-${SLOT}/bin/${i}" "${ED}/opt/rust-bin-${SLOT}/bin/${ver_i}" || die + dosym -r "/opt/rust-bin-${SLOT}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym -r "/opt/rust-bin-${SLOT}/lib" "/usr/lib/rust/lib-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/man" "/usr/lib/rust/man-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/lib/rustlib" "/usr/lib/rustlib-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/share/doc/rust" "/usr/share/doc/rust-bin-${SLOT}" + + # make all capital underscored variable + local CARGO_TRIPLET="$(rust_abi)" + CARGO_TRIPLET="${CARGO_TRIPLET//-/_}" + CARGO_TRIPLET="${CARGO_TRIPLET^^}" + cat <<-_EOF_ > "${T}/50${P}" + MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${SLOT}" + $(usev elibc_musl "CARGO_TARGET_${CARGO_TRIPLET}_RUSTFLAGS=\"-C target-feature=-crt-static\"") + _EOF_ + doenvd "${T}/50${P}" + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${PN}-${SLOT}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${PN}-${SLOT}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${PN}-${SLOT}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${PN}-${SLOT}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${PN}-${SLOT}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${PN}-${SLOT}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${PN}-${SLOT}" + popd >/dev/null || die +} + +multilib_src_install() { + if multilib_is_native_abi; then + rust_native_abi_install + else + local rust_target version + case ${PV} in + *9999*) + version=nightly + ;; + *beta*) + version=beta + ;; + *) + version=${PV} + ;; + esac + rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))" + dodir "/opt/${P}/lib/rustlib" + cp -vr "${WORKDIR}/rust-${version}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\ + "${ED}/opt/${P}/lib/rustlib" || die + fi + + # BUG: installs x86_64 binary on other arches + rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die +} + +pkg_postinst() { + eselect rust update + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + optfeature "emacs support for rust" app-emacs/rust-mode + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + optfeature "vim support for rust" app-vim/rust-vim + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust-common/Manifest b/dev-lang/rust-common/Manifest index 63ea5f330b38..a02a9957513a 100644 --- a/dev-lang/rust-common/Manifest +++ b/dev-lang/rust-common/Manifest @@ -36,3 +36,5 @@ DIST rustc-1.96.1-src.tar.xz 241602032 BLAKE2B b8a489293a232faf24a7eaaa439f752bc DIST rustc-1.96.1-src.tar.xz.asc 801 BLAKE2B b54bed57d90fed66806fe0b16c6d81d880bf0398030d639cdc440d7df5a8699d1d0ec5803baee9f0ffd9503be11be3b202f6f4ec86a2167f5349317a714bd265 SHA512 1765666d2509d93cbbad5f47507ba7510fc07cf650689238a8d39d33be0d85a06c4cd67281d78a1b5e29258002d7dd6da912c9015a8d0e942ee01fc46fa0dca3 DIST rustc-1.97.1-src.tar.xz 242787896 BLAKE2B d54e89d84b25d68761663f1c243480f1bb061c30ee17e731f3d9cd1ff52639cf198647347884d7325f2dbc1582a3d8095908352edcb944a49e5b0581160d5fb6 SHA512 a04178bf0f2c43cbb503a5ea48145eebfee371766a589c0855079ae6a7f3945223850dcc6bce2a94b9f9ead1595d99de09bb00cd6180300e0da58dc247f043eb DIST rustc-1.97.1-src.tar.xz.asc 801 BLAKE2B d0841e9decf17d18c13c33bf0bdb8a51873799465bafa402090f7f680046d141eea0a633278a7387ee741a8a5dd6ceac40384b4a06132e99b34bb7e22f740d04 SHA512 9d3ca698b1a1a453cac8758622609414f10868e8890491d8cd8c0eed796b689623f91cc28377c1e4c33095f02e92af7d1230458fe4e1fd830b6139799af50f32 +DIST rustc-1.98.1-src.tar.xz 244440824 BLAKE2B a055c8341556f29a6e2ca5137ca7943365d61d3b7dc30b182c5c62907659d16ad0caf8c5e884ce2bcf79a01844e19563c9c208fecbebe0c38f8ae6473f60e0eb SHA512 58941e5606651d5a254f36d9771bf6524347068a69ad6fcfb72d0f02b066b16fb415e5d54c8e1266fef777a64ede69c47042f13525a29e39be3e9da84dbccdf4 +DIST rustc-1.98.1-src.tar.xz.asc 801 BLAKE2B abee669a3b9545a50cbc8e4c604a8ff167bf4f0ebf77ef5efebe2c38141e22930ab11ec6c54cd2892bca5295510cb4b65a5a28eba5f70b148cd474921e4fd140 SHA512 2c030148eca74e2d1e5f497b6dc0725a3d3d5dc328ad9f854d46067f24b682f99e7cee9de415b3450e8c315015dd73c1945dd2785163d12dfd0119d089b78276 diff --git a/dev-lang/rust-common/rust-common-1.97.1.ebuild b/dev-lang/rust-common/rust-common-1.97.1.ebuild index 1037d635a091..44d5013f245f 100644 --- a/dev-lang/rust-common/rust-common-1.97.1.ebuild +++ b/dev-lang/rust-common/rust-common-1.97.1.ebuild @@ -32,7 +32,7 @@ else verify-sig? ( https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz.asc ) " S="${WORKDIR}/rustc-${MY_PV}-src" - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86" fi LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" diff --git a/dev-lang/rust-common/rust-common-1.98.1.ebuild b/dev-lang/rust-common/rust-common-1.98.1.ebuild new file mode 100644 index 000000000000..1037d635a091 --- /dev/null +++ b/dev-lang/rust-common/rust-common-1.98.1.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc +inherit shell-completion verify-sig + +DESCRIPTION="Common files shared between multiple slots of Rust" +HOMEPAGE="https://www.rust-lang.org/" + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + # In case cargo is not in sync we'll fetch it as a submodule + # Nightly users will probably already have the repo cloned and up-to-date anyway. + EGIT_REPO_URI="https://github.com/rust-lang/rust.git" + EGIT_SUBMODULES=( "-*" "src/tools/cargo" ) +elif [[ ${PV} == *beta* ]]; then + # Identify the snapshot date of the beta release: + # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep beta-src.tar.xz + MY_PV=beta + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + SRC_URI="https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz + verify-sig? ( https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc + -> rustc-${PV}-src.tar.xz.asc ) + " + S="${WORKDIR}/rustc-${MY_PV}-src" +else + MY_PV=${PV} + SRC_URI="https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz + verify-sig? ( https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz.asc ) + " + S="${WORKDIR}/rustc-${MY_PV}-src" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="0" + +# Legacy non-slotted versions bash completions will collide. +RDEPEND=" + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" +BDEPEND="verify-sig? ( sec-keys/openpgp-keys-rust )" + +src_unpack() { + if [[ ${PV} == *9999* ]]; then + git-r3_src_unpack + else + if use verify-sig ; then + verify-sig_verify_detached "${DISTDIR}"/rustc-${PV}-src.tar.xz "${DISTDIR}"/rustc-${PV}-src.tar.xz.asc + fi + + # Avoid unpacking the whole tarball which would need check-reqs + tar -xf "${DISTDIR}"/rustc-${PV}-src.tar.xz \ + "rustc-${MY_PV}-src/src/tools/cargo/src/etc/"{_cargo,cargo.bashcomp.sh} || die + fi +} + +src_configure() { + : +} + +src_compile() { + : +} + +src_install() { + newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo + dozshcomp src/tools/cargo/src/etc/_cargo +} diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest index f46c2a8d9865..7545061c2a72 100644 --- a/dev-lang/rust/Manifest +++ b/dev-lang/rust/Manifest @@ -26,6 +26,7 @@ DIST rust-patches-1.94.1.tar.bz2 3152 BLAKE2B 211eb9785b231225f02673967b05cb0f1f DIST rust-patches-1.95.0.tar.bz2 2972 BLAKE2B f826baad880a245f9baa9c7ba4a2a7c70fe3d594c8ffb94e58633e5f4149e96a07ce561562cd3d9b303507d7299e535e7031165c108b53a962f8b848682e0c96 SHA512 0fb6662f20490b5fb0512bc670a98fa7d661476de2387fa8025edfbb8359fcef11c7e917e46750ea92231fb49a91b0228fbbe94dbf0427e7a5a924498328f3ce DIST rust-patches-1.96.1.tar.bz2 2993 BLAKE2B e0e908bc33d6876e491291c6db012f3b670a84c4199faada379f49f2022b74b6f439a7bf26ef945a8f3c868e0493b4b95477ee51a403cafc21ca31449219c635 SHA512 dafbccc233fffad6a294164e536fc6c8d9fe803892ae3462731439ca02fd6e6dcbe17633eca55b308c2bab2436eabbd2bb7ecd2acc57ffb75a63a35f0d27b361 DIST rust-patches-1.97.1.tar.bz2 2987 BLAKE2B 0db863f0c51612a619b74d08818987c18d13270f808db844f002c0eb0799430a7bfeefe026082584baa8cf0f3e1a0f5f018f94297d94ae9291e48a180ec90678 SHA512 6fec796d4c98b23814d0237e0cb5baa514dcd100ec875dd94a56f4d5d9614af4ba44d805fdf385cf36a8ffbdcf54e5f994c5b8212512c4dfb7f929be1f6494d3 +DIST rust-patches-1.98.1.tar.bz2 2980 BLAKE2B 3f5f4c76dd2a23d74f4b00b89a269157a930fd30309cf2bd04c6f8bc8861e648ed092d138fee6315e6031855b2cb425dfdd0c5f89eba260d259b8bf974c145ae SHA512 ad5614457553b803858108432591e1a404a555e68fc374dbbb9e52a781a7f6705560028d9c92dac2852e604abb63bb6f4975d6b9856f2dd05d3efe00506c1bd1 DIST rustc-1.74.1-src.tar.xz 155968724 BLAKE2B e05f2379ac94b286f85791a138e1928e5b5b5a7749f0981d82c40c2a12860f55bf96bb2f0e924e35a0f8b2447b13052d38adea909aaa3199105787bb5a4861b3 SHA512 14c7e7ed2f38ab60299d8c7d41d78f042b6b57ef822d577b5138e60bdde31cf141eccd4332a25bc5da3d58eb5313d63c1448b5dfe9e11b8055bb8ea133a9038d DIST rustc-1.74.1-src.tar.xz.asc 801 BLAKE2B ddf73175b164233babf31ca3a381b03e20c0f36d017c1d5f85d6ab11f0986d861ab23b11c061e6b2444ced70c3d6a494cc3de4ec86f0deb221a805491bd75420 SHA512 9a96ff9ba9a4e2af4e267b2ec126fc0675c78d0eb767703daa2f28491c3d85c2ab00fbd8584390bf658812ec6c4ab6c57e43b386db59fd505bd3134a8873a09e DIST rustc-1.75.0-src.tar.xz 159624388 BLAKE2B 8937b80585eddaa3e1f1ef948899d14a170308518c6fef9fe569560cdd870053776956743f796055f2119399b9ca6c0df12fedd789ae46324d071e5126c4e495 SHA512 7b0f25d91b1b5c317980fc88e059200bd43b56a70b445fbc72fb9b96e09775bfd3a98e9bd9d662af80f0ce3aef527c777ee82777e96ca876f47a972d63da8606 @@ -82,3 +83,5 @@ DIST rustc-1.96.1-src.tar.xz 241602032 BLAKE2B b8a489293a232faf24a7eaaa439f752bc DIST rustc-1.96.1-src.tar.xz.asc 801 BLAKE2B b54bed57d90fed66806fe0b16c6d81d880bf0398030d639cdc440d7df5a8699d1d0ec5803baee9f0ffd9503be11be3b202f6f4ec86a2167f5349317a714bd265 SHA512 1765666d2509d93cbbad5f47507ba7510fc07cf650689238a8d39d33be0d85a06c4cd67281d78a1b5e29258002d7dd6da912c9015a8d0e942ee01fc46fa0dca3 DIST rustc-1.97.1-src.tar.xz 242787896 BLAKE2B d54e89d84b25d68761663f1c243480f1bb061c30ee17e731f3d9cd1ff52639cf198647347884d7325f2dbc1582a3d8095908352edcb944a49e5b0581160d5fb6 SHA512 a04178bf0f2c43cbb503a5ea48145eebfee371766a589c0855079ae6a7f3945223850dcc6bce2a94b9f9ead1595d99de09bb00cd6180300e0da58dc247f043eb DIST rustc-1.97.1-src.tar.xz.asc 801 BLAKE2B d0841e9decf17d18c13c33bf0bdb8a51873799465bafa402090f7f680046d141eea0a633278a7387ee741a8a5dd6ceac40384b4a06132e99b34bb7e22f740d04 SHA512 9d3ca698b1a1a453cac8758622609414f10868e8890491d8cd8c0eed796b689623f91cc28377c1e4c33095f02e92af7d1230458fe4e1fd830b6139799af50f32 +DIST rustc-1.98.1-src.tar.xz 244440824 BLAKE2B a055c8341556f29a6e2ca5137ca7943365d61d3b7dc30b182c5c62907659d16ad0caf8c5e884ce2bcf79a01844e19563c9c208fecbebe0c38f8ae6473f60e0eb SHA512 58941e5606651d5a254f36d9771bf6524347068a69ad6fcfb72d0f02b066b16fb415e5d54c8e1266fef777a64ede69c47042f13525a29e39be3e9da84dbccdf4 +DIST rustc-1.98.1-src.tar.xz.asc 801 BLAKE2B abee669a3b9545a50cbc8e4c604a8ff167bf4f0ebf77ef5efebe2c38141e22930ab11ec6c54cd2892bca5295510cb4b65a5a28eba5f70b148cd474921e4fd140 SHA512 2c030148eca74e2d1e5f497b6dc0725a3d3d5dc328ad9f854d46067f24b682f99e7cee9de415b3450e8c315015dd73c1945dd2785163d12dfd0119d089b78276 diff --git a/dev-lang/rust/rust-1.97.1.ebuild b/dev-lang/rust/rust-1.97.1.ebuild index ca030bbee5b7..5b3eeda68df2 100644 --- a/dev-lang/rust/rust-1.97.1.ebuild +++ b/dev-lang/rust/rust-1.97.1.ebuild @@ -61,7 +61,7 @@ else " S="${WORKDIR}/${MY_P}-src" - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86" fi DESCRIPTION="Systems programming language originally developed by Mozilla" @@ -262,6 +262,17 @@ pkg_setup() { pre_build_checks python-any-r1_pkg_setup + if ! [[ -v _RUST_LLVM_MAP[${SLOT}] ]] ; then + die "${SLOT} is missing from rust.eclass's RUST_LLVM_MAP! Please fix the eclass." + fi + local found_slot i + for (( i = 0; i < ${#_RUST_SLOTS_ORDERED[@]} ; i++ )) ; do + [[ ${_RUST_SLOTS_ORDERED[i]} == ${SLOT} ]] && found_slot=1 + done + if ! [[ -v found_slot ]] ; then + die "${SLOT} is missing from rust.eclass's _RUST_SLOTS_ORDERED! Please fix the eclass." + fi + export LIBGIT2_NO_PKG_CONFIG=1 #749381 if tc-is-cross-compiler; then use system-llvm && die "USE=system-llvm not allowed when cross-compiling" diff --git a/dev-lang/rust/rust-1.98.1.ebuild b/dev-lang/rust/rust-1.98.1.ebuild new file mode 100644 index 000000000000..7a14c866f493 --- /dev/null +++ b/dev-lang/rust/rust-1.98.1.ebuild @@ -0,0 +1,963 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Bump notes: https://wiki.gentoo.org/wiki/Project:Rust/Rust_bump + +LLVM_COMPAT=( 22 ) +PYTHON_COMPAT=( python3_{13..14} ) + +# Patches are kept in rust-patches.git, see its README.rst for the versioning +# scheme. +# +# We use _pN from the ebuild version for the patchset but it can be overridden +# in the ebuild for changes that don't require a revbump. +# +# Uncomment this line when the ebuild needs a patchset update but no revbump. +# RUST_PATCH_VER=${PV}-1 + +RUST_MAX_VER=${PV%%_*} +RUST_PV=${PV%%_p*} +RUST_P=${PN}-${RUST_PV} +[[ -z ${RUST_PATCH_VER} ]] && RUST_PATCH_VER=${PV} + +if [[ ${PV} == *9999* ]]; then + # Update this as new `beta` releases come out. + RUST_MIN_VER="1.93.0" +elif [[ ${PV} == *beta* ]]; then + RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" +else + RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" +fi + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature +inherit multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs +inherit verify-sig + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 +elif [[ ${PV} == *beta* ]]; then + # Identify the snapshot date of the beta release: + # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep beta-src.tar.xz + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SRC_URI=" + https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${RUST_PV}-src.tar.xz + https://gitweb.gentoo.org/proj/rust-patches.git/snapshot/rust-patches-${RUST_PATCH_VER}.tar.bz2 + verify-sig? ( + https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc + -> rustc-${RUST_PV}-src.tar.xz.asc + ) + " + S="${WORKDIR}/${MY_P}-src" +else + MY_P="rustc-${RUST_PV}" + SRC_URI=" + https://static.rust-lang.org/dist/${MY_P}-src.tar.xz + https://gitweb.gentoo.org/proj/rust-patches.git/snapshot/rust-patches-${RUST_PATCH_VER}.tar.bz2 + verify-sig? ( https://static.rust-lang.org/dist/${MY_P}-src.tar.xz.asc ) + " + S="${WORKDIR}/${MY_P}-src" + + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +DESCRIPTION="Systems programming language originally developed by Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai ) +ALL_LLVM_TARGETS+=( LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV ) +ALL_LLVM_TARGETS+=( SystemZ VE WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +# https://github.com/rust-lang/llvm-project/blob/rustc-1.87.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done + +# Bare metal targets which can be built on the host system and have no +# dependency on compiler runtime, libc and unwinder. +ALL_RUST_SYSROOTS=( bpf wasm ) +ALL_RUST_SYSROOTS=( "${ALL_RUST_SYSROOTS[@]/#/rust_sysroots_}" ) + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual stable + +IUSE="big-endian +clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto" +IUSE+=" +rustfmt rust-analyzer rust-src +system-llvm test" +IUSE+=" ${ALL_LLVM_TARGETS[*]} ${ALL_RUST_SYSROOTS[*]}" + +if [[ ${PV} = *9999* ]]; then + # These USE flags require nightly rust + IUSE+=" miri" +fi + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "llvm-core/llvm:\${LLVM_SLOT}[${_x}=]") )" ) + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi +done +LLVM_DEPEND+=( " rust_sysroots_wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) + +# dev-libs/oniguruma is used for documentation +BDEPEND=" + ${PYTHON_DEPS} + app-eselect/eselect-rust + dev-libs/oniguruma + || ( + >=sys-devel/gcc-4.7[cxx] + >=llvm-core/clang-3.5 + ) + lto? ( system-llvm? ( + || ( + $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') + sys-devel/mold + ) + ) ) + rust_sysroots_wasm? ( llvm-core/clang ) + !system-llvm? ( + >=dev-build/cmake-3.13.4 + app-alternatives/ninja + ) + test? ( dev-debug/gdb ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +DEPEND=" + >=app-arch/xz-utils-5.2 + dev-db/sqlite:3 + net-misc/curl[http2,ssl] + virtual/zlib:= + dev-libs/openssl:0= + system-llvm? ( + ${LLVM_DEPEND[*]} + llvm-libunwind? ( llvm-runtimes/libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND=" + ${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" + +REQUIRED_USE=" + || ( ${ALL_LLVM_TARGETS[*]} ) + rust-analyzer? ( rust-src ) + test? ( ${ALL_LLVM_TARGETS[*]} ) + rust_sysroots_bpf? ( llvm_targets_BPF ) + rust_sysroots_wasm? ( llvm_targets_WebAssembly ) + x86? ( cpu_flags_x86_sse2 ) +" + +# we don't use cmake.eclass, but can get a warning +CMAKE_WARN_UNUSED_CLI=no + +QA_FLAGS_IGNORED=" + usr/lib/${PN}/${SLOT}/bin/.* + usr/lib/${PN}/${SLOT}/libexec/.* + usr/lib/${PN}/${SLOT}/lib/lib.*.so + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/.* + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so +" + +QA_SONAME=" + usr/lib/${PN}/${SLOT}/lib/lib.*.so.* + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so +" + +QA_PRESTRIPPED=" + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/rust-llvm-dwp + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/rust-objcopy + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/self-contained/crtn.o +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="usr/lib/${PN}/${SLOT}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +# causes double bootstrap +RESTRICT="test" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +pre_build_checks() { + local M=9216 + # multiply requirements by 1.3 if we are doing x86-multilib + if use amd64; then + M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) + fi + M=$(( $(usex clippy 128 0) + ${M} )) + if [[ ${PV} == *9999* ]]; then + M=$(( $(usex miri 128 0) + ${M} )) + fi + M=$(( $(usex rustfmt 256 0) + ${M} )) + # add 2G if we compile llvm and 256M per llvm_target + if ! use system-llvm; then + M=$(( 2048 + ${M} )) + local ltarget + for ltarget in ${ALL_LLVM_TARGETS[@]}; do + M=$(( $(usex ${ltarget} 256 0) + ${M} )) + done + fi + M=$(( $(usex rust_sysroots_bpf 256 0) + ${M} )) + M=$(( $(usex rust_sysroots_wasm 256 0) + ${M} )) + M=$(( $(usex debug 2 1) * ${M} )) + eshopts_push -s extglob + if is-flagq '-g?(gdb)?([1-9])'; then + M=$(( 15 * ${M} / 10 )) + fi + eshopts_pop + M=$(( $(usex doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "llvm-core/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include <ciso646> +#if defined(_LIBCPP_VERSION) + HAVE_LIBCXX +#endif +' + local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 + [[ ${out} == *HAVE_LIBCXX* ]] +} + +pkg_pretend() { + pre_build_checks +} + +pkg_setup() { + pre_build_checks + python-any-r1_pkg_setup + + if ! [[ -v _RUST_LLVM_MAP[${SLOT}] ]] ; then + die "${SLOT} is missing from rust.eclass's RUST_LLVM_MAP! Please fix the eclass." + fi + local found_slot i + for (( i = 0; i < ${#_RUST_SLOTS_ORDERED[@]} ; i++ )) ; do + [[ ${_RUST_SLOTS_ORDERED[i]} == ${SLOT} ]] && found_slot=1 + done + if ! [[ -v found_slot ]] ; then + die "${SLOT} is missing from rust.eclass's _RUST_SLOTS_ORDERED! Please fix the eclass." + fi + + export LIBGIT2_NO_PKG_CONFIG=1 #749381 + if tc-is-cross-compiler; then + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + rust_pkg_setup + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix)/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +rust_live_get_sources() { + EGIT_REPO_URI=" + https://anongit.gentoo.org/git/proj/rust-patches.git + " + EGIT_CHECKOUT_DIR="${WORKDIR}/rust-patches-${RUST_PATCH_VER}" + git-r3_src_unpack + + EGIT_REPO_URI=" + https://github.com/rust-lang/rust.git + " + EGIT_SUBMODULES=( + "*" + "-src/gcc" + ) + S="${WORKDIR}/rust" + EGIT_CHECKOUT_DIR="${S}" + git-r3_src_unpack +} + +src_unpack() { + if [[ ${PV} == *9999* ]] ; then + rust_live_get_sources + + # Vendor dependencies + mkdir "${S}/.cargo" || die # The vendor script has a check for .cargo/config{,.toml} + touch "${S}/.cargo/bootstrap.toml" || die + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + # Configure vendor to use the portage-provided toolchain. This prevents it from + # attempting to fetch a `beta` toolchain from the internet. + cat <<- _EOF_ > "${T}/vendor-bootstrap.toml" + # Suppresses a warning about tracking changes which we don't care about. + change-id = "ignore" + [build] + build = "$(rust_abi "${CBUILD}")" + host = ["$(rust_abi "${CHOST}")"] + target = ["$(rust_abi "${CHOST}")"] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + _EOF_ + # We're using git sources so we need to run the Vendor script + # to ensure that all dependencies are present and up-to-date + mkdir "${S}/vendor" || die + # This also compiles the 'build helper', there's no way to avoid this. + ${EPYTHON} "${S}"/x.py vendor -v --config="${T}"/vendor-bootstrap.toml \ + -j$(get_makeopts_jobs) || + die "Failed to vendor dependencies" + # TODO: This has to be generated somehow, this is from a 1.84.x tarball I had lying around. + cat <<- _EOF_ > "${S}/.cargo/config.toml" + [source.crates-io] + replace-with = "vendored-sources" + + [source."git+https://github.com/rust-lang/team"] + git = "https://github.com/rust-lang/team" + replace-with = "vendored-sources" + + [source.vendored-sources] + directory = "vendor" + _EOF_ + elif use verify-sig ; then + # Patch tarballs are not signed (but we trust Gentoo infra) + verify-sig_verify_detached "${DISTDIR}"/rustc-${RUST_PV}-src.tar.xz{,.asc} + default + else + default + fi +} + +src_prepare() { + # Commit patches to the appropriate branch in proj/rust-patches.git + # then cut a new tag / tarball. Don't add patches to ${FILESDIR} + PATCHES=( + "${WORKDIR}/rust-patches-${RUST_PATCH_VER}/" + ) + + if use lto && tc-is-clang && ! tc-ld-is-lld && ! tc-ld-is-mold; then + export RUSTFLAGS+=" -C link-arg=-fuse-ld=lld" + fi + + default +} + +src_configure() { + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + + local rust_host_triple="$(rust_abi "${CHOST}")" + + # https://docs.rs/pkg-config/latest/pkg_config/#cross-compilation + local pcvar + for pcvar in PKG_CONFIG_{PATH,LIBDIR} ; do + pcvar="${pcvar}_${rust_host_triple//-/_}" + + [[ -n ${!pcvar} ]] && continue + + case ${pcvar} in + *PKG_CONFIG_PATH*) + printf -v "${pcvar}" "${ESYSROOT}/usr/$(get_libdir)/pkgconfig" + ;; + *PKG_CONFIG_LIBDIR*) + printf -v "${pcvar}" "${ESYSROOT}/usr/$(get_libdir)" + ;; + *) + continue + ;; + esac + + export "${pcvar}" + done + + # https://docs.rs/openssl/latest/openssl/#manual + local osslvar + for osslvar in OPENSSL_{INCLUDE_,LIB_,}DIR ; do + osslvar="${rust_host_triple}_${osslvar}" + osslvar="${osslvar^^}" + osslvar="${osslvar//-/_}" + + [[ -n ${!osslvar} ]] && continue + + case ${osslvar} in + *OPENSSL_DIR*) + printf -v "${osslvar}" "${ESYSROOT}/usr" + ;; + *OPENSSL_INCLUDE_DIR*) + printf -v "${osslvar}" "${ESYSROOT}/usr/include" + ;; + *OPENSSL_LIB_DIR*) + printf -v "${osslvar}" "${ESYSROOT}/usr/$(get_libdir)" + ;; + *) + continue + ;; + esac + + export "${osslvar}" + done + + # https://issues.chromium.org/issues/357917328 + # https://github.com/rust-lang/libz-sys/blob/1.1.18/build.rs#L25 + export LIBZ_SYS_STATIC=1 + fi + + # Avoid bundled copies of libraries + export RUSTONIG_SYSTEM_LIBONIG=1 + export LIBSQLITE3_SYS_USE_PKG_CONFIG=1 + + filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 + + local rust_target="" rust_targets="" arch_cflags + + # Collect rust target names to compile standard libs for all ABIs. + for v in $(multilib_get_enabled_abi_pairs); do + rust_targets+=",\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" + done + if use rust_sysroots_bpf; then + rust_targets+=",\"bpfeb-unknown-none\",\"bpfel-unknown-none\"" + fi + if use rust_sysroots_wasm; then + rust_targets+=",\"wasm32-unknown-unknown\"" + if use system-llvm; then + # un-hardcode rust-lld linker for this target + # https://bugs.gentoo.org/715348 + sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/base/wasm.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + # cargo and rustdoc are mandatory and should always be included + local tools='"cargo","rustdoc"' + use clippy && tools+=',"clippy"' + use rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' + use rust-src && tools+=',"src"' + + if [[ ${PV} == *9999* ]]; then + use miri && tools+=',"miri"' + fi + + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + # in case of prefix it will be already prefixed, as --print sysroot returns full path + [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" + + rust_target="$(rust_abi)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) + fi + done + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} + + local cm_btype="$(usex debug DEBUG RELEASE)" + local build_channel + local build_miri="false" + case "${PV}" in + *9999*) + build_channel="nightly" + ;; + *beta*) + build_channel="beta" + ;; + *) + build_channel="stable" + ;; + esac + + # TODO: Add optimized-compiler-builtins for system-llvm to avoid + # building bundled compiler-rt. + cat <<- _EOF_ > "${S}"/bootstrap.toml + # Suppresses a warning about tracking changes which we don't care about. + change-id = "ignore" + # https://github.com/rust-lang/rust/issues/135358 (bug #947897) + profile = "dist" + [llvm] + download-ci-llvm = false + optimize = $(toml_usex !debug) + release-debuginfo = $(toml_usex debug) + assertions = $(toml_usex debug) + ninja = true + targets = "${LLVM_TARGETS// /;}" + experimental-targets = "${RUST_EXPERIMENTAL_TARGETS// /;}" + link-shared = $(toml_usex system-llvm) + $(if is_libcxx_linked; then + # https://bugs.gentoo.org/732632 + echo "use-libcxx = true" + echo "static-libstdcpp = false" + fi) + $(case "${rust_target}" in + i586-*-linux-*) + # https://github.com/rust-lang/rust/issues/93059 + echo 'cflags = "-fcf-protection=none"' + echo 'cxxflags = "-fcf-protection=none"' + echo 'ldflags = "-fcf-protection=none"' + ;; + *) + ;; + esac) + enable-warnings = false + [llvm.build-config] + CMAKE_VERBOSE_MAKEFILE = "ON" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + target = [${rust_targets}] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + description = "gentoo" + docs = $(toml_usex doc) + compiler-docs = false + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = true + tools = [${tools}] + verbose = 2 + sanitizers = false + profiler = true + cargo-native-static = false + [install] + prefix = "${EPREFIX}/usr/lib/${PN}/${SLOT}" + sysconfdir = "etc" + docdir = "share/doc/rust" + bindir = "bin" + libdir = "lib" + mandir = "share/man" + [rust] + # https://github.com/rust-lang/rust/issues/54872 + codegen-units-std = 1 + optimize = true + debug = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + debug-assertions-std = $(toml_usex debug) + debuginfo-level = $(usex debug 2 0) + debuginfo-level-rustc = $(usex debug 2 0) + debuginfo-level-std = $(usex debug 2 0) + debuginfo-level-tools = $(usex debug 2 0) + debuginfo-level-tests = 0 + backtrace = true + incremental = false + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"${CHOST}-cc\"" + fi) + channel = "${build_channel}" + rpath = true + verbose-tests = true + optimize-tests = $(toml_usex !debug) + codegen-tests = true + omit-git-hash = false + dist-src = false + remap-debuginfo = true + lld = $(usex system-llvm false $(toml_usex rust_sysroots_wasm)) + $(if use lto && tc-is-clang && ! tc-ld-is-mold; then + echo "use-lld = true" + fi) + # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it + # https://github.com/rust-lang/rust/issues/74976 + # https://github.com/rust-lang/rust/issues/76526 + deny-warnings = $(usex rust_sysroots_wasm $(usex doc false true) true) + backtrace-on-ice = true + jemalloc = false + # See https://github.com/rust-lang/rust/issues/121124 + lto = "$(usex lto thin off)" + [dist] + src-tarball = false + compression-formats = ["xz"] + compression-profile = "balanced" + _EOF_ + + for v in $(multilib_get_enabled_abi_pairs); do + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + arch_cflags="$(get_abi_CFLAGS ${v##*.})" + + export CFLAGS_${rust_target//-/_}="${arch_cflags}" + + cat <<- _EOF_ >> "${S}"/bootstrap.toml + [target.${rust_target}] + ar = "$(tc-getAR)" + cc = "$(tc-getCC)" + cxx = "$(tc-getCXX)" + linker = "$(tc-getCC)" + ranlib = "$(tc-getRANLIB)" + llvm-libunwind = "$(usex llvm-libunwind $(usex system-llvm system in-tree) no)" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/bootstrap.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + # by default librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; + # but we patch it and set to false here as well + if use elibc_musl; then + cat <<- _EOF_ >> "${S}"/bootstrap.toml + crt-static = false + musl-root = "$($(tc-getCC) -print-sysroot)/usr" + _EOF_ + fi + done + if use rust_sysroots_wasm; then + wasm_target="wasm32-unknown-unknown" + if tc-is-clang; then + local wasm_cc=$(tc-getCC) + local wasm_cxx=$(tc-getCXX) + else + local wasm_cc=${CHOST}-clang + local wasm_cxx=${CHOST}-clang++ + fi + export CFLAGS_${wasm_target//-/_}="$( + CC="${wasm_cc} --target=wasm32-unknown-unknown" + filter-flags '-mcpu*' '-march*' '-mtune*' + strip-unsupported-flags + echo "${CFLAGS}" + )" + cat <<- _EOF_ >> "${S}"/bootstrap.toml + [target.wasm32-unknown-unknown] + cc = "${wasm_cc}" + cxx = "${wasm_cxx}" + linker = "$(usex system-llvm lld rust-lld)" + # wasm target does not have profiler_builtins https://bugs.gentoo.org/848483 + profiler = false + _EOF_ + fi + + if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below + # experimental cross support + # discussion: https://bugs.gentoo.org/679878 + # TODO: c*flags, clang, system-llvm, cargo.eclass target support + # it would be much better if we could split out stdlib + # complilation to separate ebuild and abuse CATEGORY to + # just install to /usr/lib/rustlib/<target> + + # extra targets defined as a bash array + # spec format: <LLVM target>:<rust-target>:<CTARGET> + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form <LLVM target>:<rust-target>:<CTARGET> + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, <rust-target>:<CTARGET> + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/bootstrap.toml + [target.${cross_rust_target}] + ar = "${cross_toolchain}-ar" + cc = "${cross_toolchain}-gcc" + cxx = "${cross_toolchain}-g++" + linker = "${cross_toolchain}-gcc" + ranlib = "${cross_toolchain}-ranlib" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/bootstrap.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + if [[ "${cross_toolchain}" == *-musl* ]]; then + cat <<- _EOF_ >> "${S}"/bootstrap.toml + musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" + _EOF_ + fi + if [[ "${cross_rust_target}" == *-uefi ]]; then + # Profiler is not supported on bare-metal + cat <<- _EOF_ >> "${S}"/bootstrap.toml + profiler = false + _EOF_ + fi + + # append cross target to "normal" target list + # example 'target = ["powerpc64le-unknown-linux-gnu"]' + # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' + + rust_targets="${rust_targets},\"${cross_rust_target}\"" + sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" bootstrap.toml || die + + ewarn + ewarn "Enabled ${cross_rust_target} rust target" + ewarn "Using ${cross_toolchain} cross toolchain" + ewarn + if ! has_version -b 'sys-devel/binutils[multitarget]' ; then + ewarn "'sys-devel/binutils[multitarget]' is not installed" + ewarn "'strip' will be unable to strip cross libraries" + ewarn "cross targets will be installed with full debug information" + ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" + ewarn + ewarn "Alternatively llvm-strip can be used, it supports stripping any target" + ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" + ewarn + fi + done + fi # I_KNOW_WHAT_I_AM_DOING_CROSS + + einfo "Rust configured with the following flags:" + echo + echo RUSTFLAGS="\"${RUSTFLAGS}\"" + echo RUSTFLAGS_BOOTSTRAP="\"${RUSTFLAGS_BOOTSTRAP}\"" + echo RUSTFLAGS_NOT_BOOTSTRAP="\"${RUSTFLAGS_NOT_BOOTSTRAP}\"" + echo MAGIC_EXTRA_RUSTFLAGS="\"${MAGIC_EXTRA_RUSTFLAGS}\"" + env | grep "CARGO_TARGET_.*_RUSTFLAGS=" + env | grep "CFLAGS_.*" + echo + einfo "bootstrap.toml contents:" + cat "${S}"/bootstrap.toml || die + echo +} + +src_compile() { + # -v will show invocations, -vv "very verbose" is overkill, -vvv "very very verbose" is insane + RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -v \ + --config="${S}"/bootstrap.toml -j$(get_makeopts_jobs) || die +} + +src_test() { + # https://rustc-dev-guide.rust-lang.org/tests/intro.html + + # those are basic and codegen tests. + local tests=( + codegen-units + crashes + codegen-llvm + incremental + mir-opt + pretty + run-make + run-make-cargo + ) + + # tests for standard and core library + local std_tests=( + std + core + ) + + # fails if llvm is not built with ALL targets. + # and known to fail with system llvm sometimes. + use system-llvm || tests+=( assembly-llvm ) + + # fragile/expensive/less important tests + # or tests that require extra builds + # TODO: instead of skipping, just make some nonfatal. + if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then + tests+=( + rustdoc + rustdoc-js + rustdoc-js-std + rustdoc-ui + ui + ui-fulldeps + ) + fi + + local i failed=() + einfo "rust_src_test: enabled tests ${tests[@]} ${std_tests[@]}" + for i in "tests/${tests[@]}" "library/${std_tests[@]}"; do + local t="${i}" + einfo "rust_src_test: running ${t}" + if ! RUST_BACKTRACE=1 "${EPYTHON}" ./x.py test -vv --config="${S}"/bootstrap.toml \ + -j$(get_makeopts_jobs) --no-doc --no-fail-fast "${t}" + then + failed+=( "${t}" ) + eerror "rust_src_test: ${t} failed" + fi + done + + if [[ ${#failed[@]} -ne 0 ]]; then + eerror "rust_src_test: failure summary: ${failed[@]}" + die "aborting due to test failures" + fi +} + +src_install() { + DESTDIR="${D}" "${EPYTHON}" ./x.py install -v \ + --config="${S}"/bootstrap.toml -j$(get_makeopts_jobs) || die + + docompress /usr/lib/${PN}/${SLOT}/share/man/ + + # bash-completion files are installed by dev-lang/rust-common instead + # bug #689562, #689160. + rm -v "${ED}/usr/lib/${PN}/${SLOT}/etc/bash_completion.d/cargo" || die + rmdir -v "${ED}/usr/lib/${PN}/${SLOT}/etc/bash_completion.d" || die + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + if [[ ${PV} = *9999* ]]; then + use miri && symlinks+=( miri cargo-miri ) + fi + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver> + # need to fix eselect-rust to remove this hack. + local ver_i="${i}-${RUST_PV%%_*}" + if [[ -f "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}" ]]; then + einfo "Installing ${i} symlink" + ln -v "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}" "${ED}/usr/lib/${PN}/${SLOT}/bin/${ver_i}" || die + else + ewarn "${i} symlink requested, but source file not found" + ewarn "please report this" + fi + dosym "../lib/${PN}/${SLOT}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "${SLOT}/lib" "/usr/lib/${PN}/lib-${SLOT}" + use rust-analyzer && dosym "${SLOT}/libexec" "/usr/lib/${PN}/libexec-${SLOT}" + dosym "${SLOT}/share/man" "/usr/lib/${PN}/man-${SLOT}" + dosym "rust/${SLOT}/lib/rustlib" "/usr/lib/rustlib-${SLOT}" + dosym "../../lib/${PN}/${SLOT}/share/doc/rust" "/usr/share/doc/${RUST_P}" + + newenvd - "50${RUST_P}" <<-_EOF_ + MANPATH="${EPREFIX}/usr/lib/rust/man-${SLOT}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${SLOT}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${SLOT}/bin"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${SLOT}/doc"/*.old || die + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${PN}-${SLOT}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${RUST_P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${RUST_P}" + fi + if [[ ${SLOT} == *9999* ]] && use miri; then + echo /usr/bin/miri >> "${T}/provider-${RUST_P}" + echo /usr/bin/cargo-miri >> "${T}/provider-${RUST_P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${RUST_P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${RUST_P}" + fi + if use rust-analyzer; then + echo /usr/lib/rust/libexec >> "${T}/provider-${RUST_P}" + echo /usr/bin/rust-analyzer >> "${T}/provider-${RUST_P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${PN}-${SLOT}" + + if use dist; then + "${EPYTHON}" ./x.py dist -v --config="${S}"/bootstrap.toml \ + -j$(get_makeopts_jobs) || die + insinto "/usr/lib/${PN}/${SLOT}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_postinst() { + eselect rust update + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${RUST_PV}." + fi + + if has_version app-editors/emacs; then + optfeature "emacs support for rust" app-emacs/rust-mode + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + optfeature "vim support for rust" app-vim/rust-vim + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust/rust-9999.ebuild b/dev-lang/rust/rust-9999.ebuild index cbf34ecb6833..2ebfd7ba7f3f 100644 --- a/dev-lang/rust/rust-9999.ebuild +++ b/dev-lang/rust/rust-9999.ebuild @@ -262,6 +262,17 @@ pkg_setup() { pre_build_checks python-any-r1_pkg_setup + if ! [[ -v _RUST_LLVM_MAP[${SLOT}] ]] ; then + die "${SLOT} is missing from rust.eclass's RUST_LLVM_MAP! Please fix the eclass." + fi + local found_slot i + for (( i = 0; i < ${#_RUST_SLOTS_ORDERED[@]} ; i++ )) ; do + [[ ${_RUST_SLOTS_ORDERED[i]} == ${SLOT} ]] && found_slot=1 + done + if ! [[ -v found_slot ]] ; then + die "${SLOT} is missing from rust.eclass's _RUST_SLOTS_ORDERED! Please fix the eclass." + fi + export LIBGIT2_NO_PKG_CONFIG=1 #749381 if tc-is-cross-compiler; then use system-llvm && die "USE=system-llvm not allowed when cross-compiling" diff --git a/dev-libs/libmirage/Manifest b/dev-libs/libmirage/Manifest index f9696b2866be..e7414827d5b0 100644 --- a/dev-libs/libmirage/Manifest +++ b/dev-libs/libmirage/Manifest @@ -1 +1,2 @@ DIST libmirage-3.3.2.tar.xz 274492 BLAKE2B e2abd9497e48649939b990a60fc11f79002fd67160c42f8d729ac74a4fdf657437133f338db9e7f3311b35d7da1197152348a9c84c8fac07760b8bccd1bc4d04 SHA512 e9cc7e97d2271159a26fda92dda8197a518608dce1d467ca081edc6aa28bf669dcb783abfaaab1d2ec4c58e3cc20608bbbe31459db23ccd6106a11c147aa92ce +DIST libmirage-3.3.3.tar.xz 274956 BLAKE2B b095b4e208da80de810fad4c39ac05f36ce9e77937b0faf3df68e7b093da1252c32b078235d1d5f4c2143d22dbb379228ad0d528316ceba6ec45b92d119eac18 SHA512 52cc4d07356926f6a5791d86d32971ebdbb9aff5e1ff62c6a2ec22cf3a3428775857485cdefff3c9220bf647d1250780cb7b10862fbaa7fe7bb3b7a71f38b9e7 diff --git a/dev-libs/libmirage/libmirage-3.3.3.ebuild b/dev-libs/libmirage/libmirage-3.3.3.ebuild new file mode 100644 index 000000000000..8ce0a9712692 --- /dev/null +++ b/dev-libs/libmirage/libmirage-3.3.3.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake xdg-utils + +DESCRIPTION="CD and DVD image access library" +HOMEPAGE="https://cdemu.sourceforge.io" +SRC_URI="https://download.sourceforge.net/cdemu/libmirage/${P}.tar.xz" + +LICENSE="GPL-2+" +SLOT="0/12" +KEYWORDS="~amd64 ~x86" +IUSE="crypt doc +introspection" + +DEPEND=" + >=app-arch/bzip2-1:= + >=app-arch/xz-utils-5:= + >=dev-libs/glib-2.38:2 + >=media-libs/libchdr-0.2:= + >=media-libs/libsamplerate-0.1:= + >=media-libs/libsndfile-1.0:= + virtual/zlib:= + crypt? ( dev-libs/libgcrypt:= ) + introspection? ( >=dev-libs/gobject-introspection-1.82.0-r2 ) +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + dev-util/desktop-file-utils + dev-util/intltool + sys-devel/gettext + virtual/pkgconfig + doc? ( dev-util/gtk-doc ) + introspection? ( >=dev-libs/gobject-introspection-1.82.0-r2 ) +" + +DOCS=( AUTHORS README ) + +src_configure() { + local mycmakeargs=( + -DGTKDOC_ENABLED="$(usex doc)" + -DINTROSPECTION_ENABLED="$(usex introspection)" + -DPOST_INSTALL_HOOKS=OFF # avoid sandbox violation, #487304 + -DLIBGCRYPT_ENABLED=$(usex crypt) + ) + cmake_src_configure +} + +pkg_postinst() { + xdg_mimeinfo_database_update +} + +pkg_postrm() { + xdg_mimeinfo_database_update +} diff --git a/dev-libs/simdjson/Manifest b/dev-libs/simdjson/Manifest index 1d4597989577..552a74f2a7fb 100644 --- a/dev-libs/simdjson/Manifest +++ b/dev-libs/simdjson/Manifest @@ -1,5 +1,6 @@ DIST CPM_0.40.2.cmake 41017 BLAKE2B 012ee2bfc1aac818efc49a04a52e77a3f574c63a12b260b06258d5dced5fc14da860eedc0d8c13c61efc77623f92503150733fa9932276e57b8dd88839ac0de9 SHA512 5cb650049473690466c9678ac5f1c42185429c0c12f95e2bab0577c34640fa80c1331b0f46af18ecae258a9eb3c6ed980df4f1cca07650f5ca2a084a88415ffc DIST simdjson-4.3.0.gh.tar.gz 6620038 BLAKE2B dc916ef76b5e1e254af076358f35f3b6ce335770ed28963072c28d12422108ec77ff38b69be68f91c09e80da1b0332794402e966ab6f09dbcdd17e08dc163a6c SHA512 e0aee07decb7d6f82b4b32d3a6f41ec35c1902558c7278a6fad595fbe151a957fab4f16292a13a103a6d1f828003656f7ae855f725fcac96e91585425c868eb4 +DIST simdjson-4.6.10.gh.tar.gz 6694097 BLAKE2B 53178327959d97417834198830e8165a5b8e15a8dd4d1d76707f588099fef6821885d02688a595337dc3ba6113fbe3dcc0b97e43d8c2df218019cc157523202a SHA512 65f1efcb6ba1288782e42af316b0c04c53b4f5c58f4e22116c2ae4930a819abdfc07b8feadd993f614abaa5c400c7880ae96fdec5a51479d0f2768703cdedc98 DIST simdjson-4.6.2.gh.tar.gz 6678316 BLAKE2B 17669f71eb6cb6f03a5f0d6e69cec42a5b821f4d0984662c3633622ae7101e1cb152f541a2185f80c334a20ac701f2302e50309137c2f4a707c28d24de8966d1 SHA512 69612610cb91854c8e7160470ee268f7de3b3513b5e4097d260d3e87860be111c0b3ac4ccc6dcfd8b81801305d88db09def3ab933ed977bfccc46ff60dbe4d54 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 diff --git a/dev-libs/simdjson/simdjson-4.6.10.ebuild b/dev-libs/simdjson/simdjson-4.6.10.ebuild new file mode 100644 index 000000000000..9b89182eacef --- /dev/null +++ b/dev-libs/simdjson/simdjson-4.6.10.ebuild @@ -0,0 +1,107 @@ +# 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" +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 +" + +LICENSE="Apache-2.0 Boost-1.0 BSD MIT" +SLOT="0/33" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +IUSE="+all-impls 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" || 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 + + 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 + -DSIMDJSON_ENABLE_FUZZING:BOOL=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/amqp/amqp-5.3.1.ebuild b/dev-python/amqp/amqp-5.3.1.ebuild index fb26fe332810..1611d5749cf6 100644 --- a/dev-python/amqp/amqp-5.3.1.ebuild +++ b/dev-python/amqp/amqp-5.3.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 @@ -22,19 +22,15 @@ IUSE="extras" RDEPEND=" >=dev-python/vine-5.0.0[${PYTHON_USEDEP}] " -BDEPEND=" - test? ( - >=dev-python/pytest-rerunfailures-6.0[${PYTHON_USEDEP}] - ) -" distutils_enable_sphinx docs \ '>=dev-python/sphinx-celery-2.1.3' +EPYTEST_PLUGINS=( pytest-rerunfailures ) distutils_enable_tests pytest EPYTEST_IGNORE=( # rmq tests require a rabbitmq instance - t/integration/test_rmq.py + /integration/test_rmq.py ) EPYTEST_DESELECT=( diff --git a/dev-python/bashate/bashate-2.1.1.ebuild b/dev-python/bashate/bashate-2.1.1.ebuild index e68185dae39d..3d894aa13f2f 100644 --- a/dev-python/bashate/bashate-2.1.1.ebuild +++ b/dev-python/bashate/bashate-2.1.1.ebuild @@ -17,7 +17,7 @@ IUSE="test" RESTRICT="!test? ( test )" BDEPEND=" - >dev-python/pbr-2.1.0[${PYTHON_USEDEP}] + >=dev-python/pbr-2.2.0[${PYTHON_USEDEP}] test? ( dev-python/fixtures[${PYTHON_USEDEP}] dev-python/testtools[${PYTHON_USEDEP}] diff --git a/dev-python/bitstring/Manifest b/dev-python/bitstring/Manifest index d138be1eee0a..d63992109a84 100644 --- a/dev-python/bitstring/Manifest +++ b/dev-python/bitstring/Manifest @@ -1,2 +1 @@ -DIST bitstring-4.3.1.tar.gz 251426 BLAKE2B 9dfc8e3b31c8edcba3a492e844ceca5da9fb874e655bb45c1dc478b8c0fe54a66beebb8869d70fbe9fbc02fc0cccfb8faee73602d99051abd732ff4d18e02e01 SHA512 5c36d37eb447632c95559788187ea40436fb327a6fab72c6c7332a11726172a1ac9f9ea115022ed2bab644152f04e73541efd838a057890763a2dba78d1dc4ab DIST bitstring-4.4.0.tar.gz 255209 BLAKE2B f060e2ac349cb5b8430b87d262f738b3c028e9246cc6f3e2e041bd35f23326d36b48b79f43b1dd3d8974997db941b6068f42f9b84f618ce82217187be8aaad9a SHA512 ee845ba43cf77f9e36fee1109b73a0f61c35a4f08fd5bcba38bc3be934b9405830f4666704d77811593302bfcdecc25403c1a455a3fdf9174b133be758a46ccc diff --git a/dev-python/bitstring/bitstring-4.3.1.ebuild b/dev-python/bitstring/bitstring-4.3.1.ebuild deleted file mode 100644 index 310c3680f019..000000000000 --- a/dev-python/bitstring/bitstring-4.3.1.ebuild +++ /dev/null @@ -1,35 +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="A pure Python module for creation and analysis of binary data" -HOMEPAGE=" - https://github.com/scott-griffiths/bitstring/ - https://pypi.org/project/bitstring/ -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="amd64 ~arm arm64 x86" - -RDEPEND=" - =dev-python/bitarray-3*[${PYTHON_USEDEP}] - >=dev-python/gfloat-0.1[${PYTHON_USEDEP}] -" -BDEPEND=" - test? ( - dev-python/hypothesis[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -EPYTEST_IGNORE=( - tests/test_benchmarks.py -) diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest index c2d96d08589b..b01887e7d931 100644 --- a/dev-python/boto3/Manifest +++ b/dev-python/boto3/Manifest @@ -16,3 +16,4 @@ DIST boto3-1.43.83.gh.tar.gz 1218064 BLAKE2B 0758e28dd9b086615b045e107aece2ef46b DIST boto3-1.43.85.gh.tar.gz 1219943 BLAKE2B 4fe0a155efcdd5dcc17c91047fab4c59edb71ac6574fc1e6472db83d9b5effb66d69d346767a159f6708d7e2f61f2f59f6bf84557df98eb6fab83b4438f7540e SHA512 3f8ca9eb5857d3376dbc204b4c3755704e6039ddc3363665e7c3a3d764808815b43c3ce0181e19113a51b5e3c8965d3030c875435cf9b872df6e02bb6136e09f DIST boto3-1.43.86.gh.tar.gz 1222155 BLAKE2B 9d7b9fcc7a0b016779a75fba6bbefc9e8482a4f0d323be4f70df93501384a089eb9958e70d54f8ae7034d20783f123124eed5e3bef80d432b2d73cfc1994ba4d SHA512 928731d0772f743654316b3280821450979dd219457370bbbbf2cd4670a1f0c414c022c042b35a950b6c1fdc7de2c7865f4ada12c3f43851a7279d056073964a DIST boto3-1.43.87.gh.tar.gz 1223277 BLAKE2B 382ae63edc6c2578875d90f94132ac3d78d638121ba661f5ea38b9baba02a247e427d3a84ab1b9fac989ee6dfc9a125c7388e816951507346c59a657d5cf451a SHA512 2962861366281d0bb3c29554d90110dc4b86ae7e0c62aef9ed211443350329701d722d1b17a55706f9aa8ed96a2c7e9364f21f1eac8609786219fc8e3d4b386e +DIST boto3-1.43.88.gh.tar.gz 1224962 BLAKE2B 653cabca3187a1b1bad1e8d7163b889599393c0f82e59aa920081eaa284b6fbc9b4fc4b1e43e9bfb4639ddd7e8b6f0083e67b64df5115645d0686b0d884c6ff8 SHA512 2f8a49a4a587b86964faaa995a8b1a3e4b8867e65c6854d68b9129fc9db90e357c1548f044f51931a9157405bc71fd70784444b7e7cc88fe4bde1a16d4c34efe diff --git a/dev-python/boto3/boto3-1.43.88.ebuild b/dev-python/boto3/boto3-1.43.88.ebuild new file mode 100644 index 000000000000..93fbbe6dd59b --- /dev/null +++ b/dev-python/boto3/boto3-1.43.88.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 ~sparc ~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 a6a964795f2e..e615538f788b 100644 --- a/dev-python/botocore/Manifest +++ b/dev-python/botocore/Manifest @@ -16,3 +16,4 @@ DIST botocore-1.43.83.gh.tar.gz 17038145 BLAKE2B f74b399b04f9b259e1a2f424719c4b8 DIST botocore-1.43.85.gh.tar.gz 17071353 BLAKE2B 84edcc7b58925e2674af6610760d683e74351dbf53c86d8fb5412739b4705677b2bd66a7f9b904ef917894cf0f1d818821fd3a61730c544d25f13e6ab54a3e1f SHA512 425d67488cfe19cd306792ab3a72e0afff0c269abb46fb26121c302f41bf683f905f480729b21929718e86ac74e390a70c07f52d0fabdc7961e063cfc87f49df DIST botocore-1.43.86.gh.tar.gz 17090953 BLAKE2B 678080faeba0124717742214de0d2aeff669d12c315dda79df1213d897435fba91ceee6f999ae57e5f98784bdce771cbc4da735b1228c5ce945a08cd8e086173 SHA512 107571fc5da8d1ca180b64001f866e03099bec06d37129de9874ac2f28512dc0ff3915334b7681f151c4c6e4d50d58b1417552d0379afcb67c4743a0575acf99 DIST botocore-1.43.87.gh.tar.gz 17095695 BLAKE2B 9b964d12a54442537fab058a04da654314b17f075aa03d3a4f38f73f4d1a7893d9d5f7e5b9a34387e1a865f520cb50e0a8e919733a1060a5d58afbf700981903 SHA512 4cc96344bcad8ce8e0d72b998a7448cf6f6caa8520f0cef4bcdca0933ba897188ce9a70d164a867c8a19c0efb5a3aa0ebd88393ac1a7effb8f5677784bced3c8 +DIST botocore-1.43.88.gh.tar.gz 17108559 BLAKE2B 1e73e271b312208c14dd217d87046a973ddf2ee8e6f7fcd41bc03809dd86e0b890541fa43c9a6bb1c5d25b771fc7146df507b159e0a95081de27734d5db527e9 SHA512 76561aac063440763130062e5e5293198b18064c425b2cda695400c52644840f8d9c8135470952483204ac37fa11649e064f19ecb95d2ac2ec79e929fe921df1 diff --git a/dev-python/botocore/botocore-1.43.88.ebuild b/dev-python/botocore/botocore-1.43.88.ebuild new file mode 100644 index 000000000000..a3a161f78545 --- /dev/null +++ b/dev-python/botocore/botocore-1.43.88.ebuild @@ -0,0 +1,67 @@ +# 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 ~sparc ~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 + ) + + epytest tests/{functional,unit} +} diff --git a/dev-python/capturer/capturer-3.0-r1.ebuild b/dev-python/capturer/capturer-3.0-r1.ebuild index 1b8fc19488ea..76b19a22f22a 100644 --- a/dev-python/capturer/capturer-3.0-r1.ebuild +++ b/dev-python/capturer/capturer-3.0-r1.ebuild @@ -23,6 +23,7 @@ PATCHES=( ) distutils_enable_sphinx docs +EPYTEST_PLUGINS=() distutils_enable_tests pytest python_test() { diff --git a/dev-python/django-otp/Manifest b/dev-python/django-otp/Manifest index 098529081a6e..e95d0ba3a06b 100644 --- a/dev-python/django-otp/Manifest +++ b/dev-python/django-otp/Manifest @@ -1,2 +1,2 @@ -DIST django_otp-1.7.0.tar.gz 75858 BLAKE2B 5c6ed23664e4c0d5af9a161e132d268dceb8518ffe795159e37ef324bef04773ac98c9e000e7b32c2703e9fcf2e048e584093f3a7d20cb125a5a1f56b8e7d9e5 SHA512 ecaeb839002ff348cd26e0a90c49e6191d01f49adc49691fda16beb062b1454a002c77e27dca791ec041dafd4d5cdd7b1ed08e1711809cfa18f1ade77662fa96 DIST django_otp-1.7.1.tar.gz 76923 BLAKE2B 96915810b86a52ac490f6f8a28bd516d07ee5d8890c66bd5120be2ee4bc9a72997cef6f0ac6e42e20a1f83b2a257ad02160b5976343a94a81f7d2f34893dda00 SHA512 db81dc18505a89a1be109d27c700891bb16df8bf2f281a51886c9c4666d3102a70bd0d87284407026b4ab1a478ca2029d348e908a09533e018c8583f65cd261d +DIST django_otp-1.7.2.tar.gz 77376 BLAKE2B 197ac5c2375159523fbab9a02cba0a7507f8d0731c260c38edc10c08a6d91a27b42a1a28bd91b4c5505cb68a376ebfaa94836587d08358ccab4bf9f0a5b05765 SHA512 ffec0cd2ab0069615dee2e6a87501d89294d9c50ca0d28ef9bee5b600cdfe84a9df4b751aaa81c9fa330cb372fb3fdc9dd6bd0ab19cde26acd6dd1dd566dd051 diff --git a/dev-python/django-otp/django-otp-1.7.0.ebuild b/dev-python/django-otp/django-otp-1.7.2.ebuild index 963a451ff6e8..963a451ff6e8 100644 --- a/dev-python/django-otp/django-otp-1.7.0.ebuild +++ b/dev-python/django-otp/django-otp-1.7.2.ebuild diff --git a/dev-python/gherkin-official/gherkin-official-42.0.1.ebuild b/dev-python/gherkin-official/gherkin-official-42.0.1.ebuild index c123c65c80a2..7bafaa7c6544 100644 --- a/dev-python/gherkin-official/gherkin-official-42.0.1.ebuild +++ b/dev-python/gherkin-official/gherkin-official-42.0.1.ebuild @@ -21,7 +21,7 @@ S=${WORKDIR}/gherkin-${PV}/python LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm64" +KEYWORDS="amd64 arm64" RDEPEND=" dev-python/typing-extensions[${PYTHON_USEDEP}] diff --git a/dev-python/google-api-core/Manifest b/dev-python/google-api-core/Manifest index e1369f6d88e8..b1786660c322 100644 --- a/dev-python/google-api-core/Manifest +++ b/dev-python/google-api-core/Manifest @@ -4,3 +4,5 @@ DIST google_api_core-2.34.0.tar.gz 187953 BLAKE2B 5dd6c5fc1fe7317da1c2ad62cca890 DIST google_api_core-2.34.0.tar.gz.provenance 6103 BLAKE2B 0d06be8f59bfda59e4f00ec463d603f536c6f04fd8249f685f4d1eab449f3034c47e9f259cb3386ff8a96c399384c011f1f6c2c7a87d489c5361a478d91deb58 SHA512 5b1ad715956badb3fa8d0c991438e3ad5ad8c674277bba4de59f9dabcac6f548bdfe5b1e68ee83e00f35fbabca685f855cdb0e2598b122a1e2f898a3b71dbec5 DIST google_api_core-2.35.0.tar.gz 192600 BLAKE2B 3b124dabd34faba1b46b00c6cf4c1aadb95d8dec31a21df76e9980163de46a3b0b3961cf304b62af870478fc84c117b5c01ed7466d084962eb7549e1644eb80f SHA512 b577c925ef3f09a4ab5b5bb263883056dca9311f486c82178ddf112076083ec3b98f05e4423f2c544c5f598182fb6954259d5e5d7ca1fae85868b47848d24a53 DIST google_api_core-2.35.0.tar.gz.provenance 6093 BLAKE2B f40b129971da678fc75f68ba2b84bf408f5d00a5c713f4832d2a9c3e33e0bb35a279471d84317d0b1824d6fa5eef7fa62e1919aab7df8843a16d7efe384e5258 SHA512 1559570c5be55e094e23f38462e9b0189de0d2c2bdd8ea4bee01640eb9485fc1e2ca0222f71d3a83641da325ffddbe2e13ec07702917b57e5cad99dbde6dbe0e +DIST google_api_core-2.36.0.tar.gz 196879 BLAKE2B b9026e37bec28104b81040536544938b319e6e559296c846991c74147399eb07042e8f2b9810af6e13f5d5936918d088f024005e999ee8bf497079431d22c15d SHA512 119d446ebd67bdd2f527d8bbc05e7877e1fa528e9421dabbef95597cf2e1a4555fe630f9e573b10836b98a65aa437c3a7d72a89a06d700cbf5214fd7084a44ca +DIST google_api_core-2.36.0.tar.gz.provenance 5964 BLAKE2B ef264b3a188a19058f713cd8f83323e71734276d465b72f77b99a37c2ece8f0b9e25a70faa3879305621f84f1f99fe31029ec7c4f5c435565518c83a0ec4c17b SHA512 63ddeb9323376f41ce5368674f4a29cf5a8bfa0d9a4b60f3a469e4a11e2c8aaa3288cad03159ef4da605f93726ad1e4d46952403c2c00b90147014dc8e641835 diff --git a/dev-python/google-api-core/google-api-core-2.36.0.ebuild b/dev-python/google-api-core/google-api-core-2.36.0.ebuild new file mode 100644 index 000000000000..2b11a77adbaf --- /dev/null +++ b/dev-python/google-api-core/google-api-core-2.36.0.ebuild @@ -0,0 +1,58 @@ +# Copyright 2020-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_VERIFY_REPO=gcp:google-cloud-sdk-py@oss-exit-gate-prod.iam.gserviceaccount.com +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Core Library for Google Client Libraries" +HOMEPAGE=" + https://github.com/googleapis/google-cloud-python/ + https://pypi.org/project/google-api-core/ + https://googleapis.dev/python/google-api-core/latest/index.html +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="grpc" + +RDEPEND=" + >=dev-python/googleapis-common-protos-1.69.2[${PYTHON_USEDEP}] + >=dev-python/google-auth-1.25.0[${PYTHON_USEDEP}] + <dev-python/opentelemetry-api-2[${PYTHON_USEDEP}] + >=dev-python/opentelemetry-api-1.44.0[${PYTHON_USEDEP}] + >=dev-python/proto-plus-1.26.1[${PYTHON_USEDEP}] + >=dev-python/protobuf-6.33.5[${PYTHON_USEDEP}] + >=dev-python/requests-2.33.0[${PYTHON_USEDEP}] + <dev-python/requests-3[${PYTHON_USEDEP}] + grpc? ( + >=dev-python/grpcio-1.75.1[${PYTHON_USEDEP}] + >=dev-python/grpcio-status-1.75.1[${PYTHON_USEDEP}] + ) +" +BDEPEND=" + test? ( + >=dev-python/grpcio-1.75.1[${PYTHON_USEDEP}] + >=dev-python/grpcio-status-1.75.1[${PYTHON_USEDEP}] + >=dev-python/opentelemetry-sdk-1.44.0[${PYTHON_USEDEP}] + dev-python/rsa[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-{asyncio,mock} ) +distutils_enable_tests pytest + +EPYTEST_IGNORE=( + # The grpc_gcp module is missing to perform a stress test + tests/unit/test_grpc_helpers.py +) + +python_test() { + rm -rf google || die + epytest tests +} diff --git a/dev-python/google-auth/Manifest b/dev-python/google-auth/Manifest index 5bba6e561de4..229766c16e9e 100644 --- a/dev-python/google-auth/Manifest +++ b/dev-python/google-auth/Manifest @@ -4,3 +4,5 @@ DIST google_auth-2.56.3.tar.gz 367110 BLAKE2B d1c415d18e686ca7f0fd30f463261a9132 DIST google_auth-2.56.3.tar.gz.provenance 5911 BLAKE2B 33eeb083308a9f009de72cf9e50a16f7ab06729b9b60a575d5f4086eb43d980bda64a167a8333f318e540d5c35325231ced0c5a2d01b6aaa554806f7dc1801f1 SHA512 c339ee649742bc69d8bd2b447d90dc953475ad805677f3718c80d9f742e1f8e7552379b84579d958b648172030b039cadd8dd45a28dc1776a3be540841474d4d DIST google_auth-2.57.0.tar.gz 370794 BLAKE2B 6ba872c80505223bf510547702abcb016abcb85e6d30fa6d819bc29e27b0700b2d41c29b4dd4e8b1965e8026ccdc683ff996ded74c32b82ae1283689127be873 SHA512 8aa4d2054273ce7c7f4b0ad771d19f1aa857ac7e47757bdf3e2e57184978cb57ad21479a335402e1b152deaa7caf3dc3e68a6c76eede687e81c6609e36ae3b7a DIST google_auth-2.57.0.tar.gz.provenance 6089 BLAKE2B c62f6c80cc0ed0c5395d8e7a46462121ecc1adaaca6c440a1e9d4868373240157a4be21442f76088febccf0450741875ce433079b0d4205c6dc55293f3590432 SHA512 088c42769c686e08aebe04e3a70979f2e85ea9e360446448f12d59697176e051e839ca7d616d29f04a75fc323dd8f7fffd2e50b0225838eeb2f71dd0eb8ccaf8 +DIST google_auth-2.57.1.tar.gz 372426 BLAKE2B 55f44f41186b6fa55254c2bb50ca088fabc7263923fd0cf5be73c83f1e7a7f63ac3eefaa8016e87139529b23b875d098b62661164171a1bd82c274c1c90bbcac SHA512 355df27135280e6b7d1ee8741eb2fa57717146e6f56e1cb094bf5e0e88eedaae3efc0a01d619dd31e1c4323cc1321625ec9f25fa60712a7643bf4a3cd7cea21a +DIST google_auth-2.57.1.tar.gz.provenance 6136 BLAKE2B 3f723f6b4ba7e50c326e24d4b4277a9c5e82c812a7c05680118ffa2071ed1034adf70f8ac0697d546330e784233ebd2b5efa8418625be0bea07c1f3bba182309 SHA512 b90e933a30f62868d9cd748c506d552023568c7713e76cd78bcd9dd6e26ebce3326117fb8ab0b63f4ac388d91d28b3b6cdfe1d88d77a78e588acfaeca0aa3d47 diff --git a/dev-python/google-auth/google-auth-2.57.1.ebuild b/dev-python/google-auth/google-auth-2.57.1.ebuild new file mode 100644 index 000000000000..e460c792a87a --- /dev/null +++ b/dev-python/google-auth/google-auth-2.57.1.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_VERIFY_REPO=gcp:google-cloud-sdk-py@oss-exit-gate-prod.iam.gserviceaccount.com +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Google Authentication Library" +HOMEPAGE=" + https://github.com/googleapis/google-auth-library-python/ + https://pypi.org/project/google-auth/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +# TODO: rsa is now optional +RDEPEND=" + >=dev-python/cryptography-41.0.5[${PYTHON_USEDEP}] + >=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}] + >=dev-python/pyasn1-modules-0.2.1[${PYTHON_USEDEP}] + >=dev-python/rsa-3.1.4[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/aiohttp[${PYTHON_USEDEP}] + dev-python/aioresponses[${PYTHON_USEDEP}] + dev-python/flask[${PYTHON_USEDEP}] + dev-python/freezegun[${PYTHON_USEDEP}] + >=dev-python/pyjwt-2.0[${PYTHON_USEDEP}] + dev-python/pyopenssl[${PYTHON_USEDEP}] + dev-python/pyu2f[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/responses[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-{asyncio,localserver} ) +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # tests are broken with up-to-date pyopenssl + tests/transport/test__mtls_helper.py::TestDecryptPrivateKey::test_success +) + +EPYTEST_IGNORE=( + # these are compatibility tests with oauth2client + # disable them to unblock removal of that package + tests/test__oauth2client.py +) + +src_prepare() { + distutils-r1_src_prepare + + # unpin deps + sed -i -e 's:,<[0-9.]*::' setup.py || die +} diff --git a/dev-python/googleapis-common-protos/Manifest b/dev-python/googleapis-common-protos/Manifest index 52528c3f6b05..1e25eb15a045 100644 --- a/dev-python/googleapis-common-protos/Manifest +++ b/dev-python/googleapis-common-protos/Manifest @@ -4,3 +4,5 @@ DIST googleapis_common_protos-1.75.1.tar.gz 150967 BLAKE2B 7af6c2314ce6ea567a287 DIST googleapis_common_protos-1.75.1.tar.gz.provenance 5974 BLAKE2B 720967601e6d83119a439dfcb95aad4695ebf36167d9213a338b1f95bb7144edb2b147a59449d609654e84b52f8a27cd63834b29059ef39825d49fa5561f26df SHA512 4c3a6cb8b25fa373278be9dd5005dd48f462435d14631847e8b4e4bae37075f5cccb2ea2bf243a12b2c25bff24dcb083589b10c73ca501eeea88fa28fae50fd6 DIST googleapis_common_protos-1.75.2.tar.gz 154083 BLAKE2B 50f1bb744f232e37c93a3ef6b71e8df77f0c9c74a67998c6d08faead3bf3b67a9338b91113cd75c7f28388fca04db424695eb8ff79ecb695158bed8b2e4b46ba SHA512 993e03c956c370f96703aea6477534f8eaa57ba7e4119f4739b1380c7ace478160c135137c8401804f0d47bf2def264b80eb336c92299a61965f7bb81d8dd53e DIST googleapis_common_protos-1.75.2.tar.gz.provenance 6117 BLAKE2B dc55edaeb136c7943a9723724dcb11f8a8c7f8c1dfafb82b42d9b4d3924f7e4821a1dddd46a0ae5ce79935104452b9e42d6e93b6de8846f8a25e0ab29675ba90 SHA512 663e49e09567e48ecc660a542f27ad8c810a1ae9cef78f5a72af6f6f162fa6752d7d319f00509e9cc368630d95b7be0b5f68a284a6d4ccb540db7ba415368d60 +DIST googleapis_common_protos-1.75.3.tar.gz 153905 BLAKE2B c735728ca27c4781f4c8ca73662d4a5ad53c72932b2a0a0e8c91e9b77e580aec0d183a689d44a91307e64b8ac7eb5ec429d9d382324e64e4d2edc339f7cfbdef SHA512 3122c836efe8340e40d33bed4097f1fa765ee35146c186c2578af2166ba4e2070aea2e949499bee37ad41ae0229ec9840c7c3ed346d07485f095531f58a4598a +DIST googleapis_common_protos-1.75.3.tar.gz.provenance 5976 BLAKE2B 3980706aec265c9584ea7004dd9be8b76926ba601f599f703c0d2d235308dcbc70b7be330a8d96bce447004dacb31f6df7d27a1fb6a56460d2bdd1d589f2c8e4 SHA512 5830412389ee994a9ccd04c480f796e5c6d516fc6dcada66c5a7094b61eb68b3ea615a147135f0855b7fdc9ab885ec9c494192efb7501714d321d3414b31d46d diff --git a/dev-python/googleapis-common-protos/googleapis-common-protos-1.75.3.ebuild b/dev-python/googleapis-common-protos/googleapis-common-protos-1.75.3.ebuild new file mode 100644 index 000000000000..ff059c44f854 --- /dev/null +++ b/dev-python/googleapis-common-protos/googleapis-common-protos-1.75.3.ebuild @@ -0,0 +1,29 @@ +# Copyright 2020-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_VERIFY_REPO=gcp:google-cloud-sdk-py@oss-exit-gate-prod.iam.gserviceaccount.com +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Python classes generated from the common protos in the googleapis repository" +HOMEPAGE=" + https://github.com/googleapis/python-api-common-protos/ + https://github.com/googleapis/google-cloud-python/tree/main/packages/googleapis-common-protos/ + https://pypi.org/project/googleapis-common-protos/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" + +RDEPEND=" + <dev-python/protobuf-8[${PYTHON_USEDEP}] + >=dev-python/protobuf-6.33.5[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest diff --git a/dev-python/micawber/Manifest b/dev-python/micawber/Manifest index a0413630ee55..bfe99b9a592c 100644 --- a/dev-python/micawber/Manifest +++ b/dev-python/micawber/Manifest @@ -1,2 +1,3 @@ DIST micawber-0.7.0.tar.gz 20023 BLAKE2B 438607127c1a742991bf7a2c725949ada5129817142c8d581bdb2a4dcbcde8ad041b93b83674975e9d73609f9c7aa3059e748fb86ab6019615ea711416ffe27d SHA512 58e3be30f26e7d939821dc4ce8a27b61a692ebe0734cd6f887a94d5b9ef8100c334a330590c7a4b07b4b9097abafc5e85f4d0b1ce18040dd0110f1cac15a1d01 DIST micawber-0.7.1.tar.gz 21456 BLAKE2B 430a8b2483aff09f58e10fd0e64e19256827864f16d8958f971ac035252e433ab72845c021feeaf9a4dbc98c319e9623b407348e0ef1a6ecbb02e651e78d30e9 SHA512 8b7d9e4bb28afd002d6b5fa2529c7248213b44f82e76e8ea1365a8674c09cf8dbcb79db65bc26d9f522c10d7f9bf6cf28c266b8b209d6d838d12c259c8adf2c7 +DIST micawber-0.8.0.tar.gz 38226 BLAKE2B 9683cc1644eaed4e37842b9b072ccb0e6d902dffce3ddfd9549b20a370d78f648de018966c8617155eca7ea0acfcdac2a8adb10e3f222652f6f44841456263b8 SHA512 97bc157d574c514108c8fbd40d6d3a622bf8c2e9188c0828158a3823474aab33858bad76c5ced8ec8d2331b05b3312409534869f5236e6a7ac339e86cdbb90a4 diff --git a/dev-python/micawber/micawber-0.8.0.ebuild b/dev-python/micawber/micawber-0.8.0.ebuild new file mode 100644 index 000000000000..cb8a6196134a --- /dev/null +++ b/dev-python/micawber/micawber-0.8.0.ebuild @@ -0,0 +1,35 @@ +# 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="A small library for extracting rich content from urls" +HOMEPAGE=" + https://github.com/coleifer/micawber/ + https://pypi.org/project/micawber/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/beautifulsoup4-4.4[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + $(python_gen_impl_dep sqlite) + dev-python/django[${PYTHON_USEDEP}] + ) +" + +python_test() { + "${EPYTHON}" runtests.py || die "Tests failed with ${EPYTHON}" +} diff --git a/dev-python/pymongo/Manifest b/dev-python/pymongo/Manifest index ded7b6a71d97..e1fee0e79488 100644 --- a/dev-python/pymongo/Manifest +++ b/dev-python/pymongo/Manifest @@ -1,3 +1,2 @@ -DIST mongo-python-driver-4.13.2.gh.tar.gz 2227437 BLAKE2B 3aa6d0feedc6a33eb4e9299d85eeab2a9638bf713cfadf9f4018f6bd668758d3afd5b9b4b71dec037fb3f99e89cc34e299e1d9b4521c8ace9da9ce50ae95142b SHA512 845cf92e702a9970f2ef1b5085fffcca96021e0f2fc5133e24b2860482dafabe7770d9421922659d0c6008aac1d5a70834ee4f1728a648fd83e6d33bc33568b0 DIST mongo-python-driver-4.16.0.gh.tar.gz 2569546 BLAKE2B 7e81fd259f6ed21d4a600f41b6945f520b650bcde2764cdafab85664143dbe76b2d9e1a1db0306bc39afdcd62afc3e250c6e04031b01ffd9dacda8b968786c21 SHA512 38e347599fe26cbe9846ef7f1e0e4adb3aea5dc949d0e8a4bd61806dc00808804e1c34e9213f09c30aab75d26243dd2ed54ab5014e604b127a5c71337855195f DIST mongo-python-driver-4.17.0.gh.tar.gz 2597488 BLAKE2B ad733542ca37f1de3e267ef58b5d4c23a4ee10f1b7a9e43ad95adc8602b427cee4ed4126632618c2f1f7134da3d51ee31bed27c36aab47c9f0ee1ebb47e5e6ce SHA512 da3d2d6136e9e4c697f6f5a9a38010bcd6f00a5cbf018de7b6afb3bc9e459ce9a8fcc95db79422eb2ef5d677baa564934db01a5ca4e2909a63c4538098986ab7 diff --git a/dev-python/pymongo/pymongo-4.13.2.ebuild b/dev-python/pymongo/pymongo-4.13.2.ebuild deleted file mode 100644 index d0593db55e90..000000000000 --- a/dev-python/pymongo/pymongo-4.13.2.ebuild +++ /dev/null @@ -1,202 +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=hatchling -PYTHON_COMPAT=( python3_{13..14} ) - -inherit check-reqs distutils-r1 - -MY_P=mongo-python-driver-${PV} -DESCRIPTION="Python driver for MongoDB" -HOMEPAGE=" - https://github.com/mongodb/mongo-python-driver/ - https://pypi.org/project/pymongo/ -" -SRC_URI=" - https://github.com/mongodb/mongo-python-driver/archive/${PV}.tar.gz - -> ${MY_P}.gh.tar.gz -" -S=${WORKDIR}/${MY_P} - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -IUSE="doc kerberos +native-extensions +test-full" - -RDEPEND=" - <dev-python/dnspython-3.0.0[${PYTHON_USEDEP}] - kerberos? ( dev-python/kerberos[${PYTHON_USEDEP}] ) -" -BDEPEND=" - dev-python/setuptools[${PYTHON_USEDEP}] - test? ( - dev-python/pytest-asyncio[${PYTHON_USEDEP}] - dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] - test-full? ( - >=dev-db/mongodb-2.6.0 - ) - ) -" - -distutils_enable_sphinx doc -distutils_enable_tests pytest - -reqcheck() { - if use test && use test-full; then - # During the tests, database size reaches 1.5G. - local CHECKREQS_DISK_BUILD=1536M - - check-reqs_${1} - fi -} - -pkg_pretend() { - reqcheck pkg_pretend -} - -pkg_setup() { - reqcheck pkg_setup -} - -src_prepare() { - distutils-r1_src_prepare - # we do not want hatch-requirements-txt and its ton of NIH deps - sed -i -e '/requirements/d' pyproject.toml || die -} - -python_compile() { - # causes build errors to be fatal - local -x TOX_ENV_NAME=whatever - local DISTUTILS_ARGS=() - # unconditionally implicitly disabled on pypy3 - if ! use native-extensions; then - export NO_EXT=1 - else - export PYMONGO_C_EXT_MUST_BUILD=1 - unset NO_EXT - fi - - distutils-r1_python_compile - - # upstream forces setup.py build_ext -i in their setuptools hack - find -name '*.so' -delete || die -} - -python_test() { - rm -rf bson pymongo || die - - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - local EPYTEST_DESELECT=( - # network-sandbox - test/asynchronous/test_async_loop_unblocked.py::TestClientLoopUnblocked::test_client_does_not_block_loop - test/asynchronous/test_client.py::AsyncClientUnitTest::test_connection_timeout_ms_propagates_to_DNS_resolver - test/asynchronous/test_client.py::AsyncClientUnitTest::test_detected_environment_logging - test/asynchronous/test_client.py::AsyncClientUnitTest::test_detected_environment_warning - test/asynchronous/test_client.py::TestClient::test_service_name_from_kwargs - test/asynchronous/test_client.py::TestClient::test_srv_max_hosts_kwarg - test/test_client.py::ClientUnitTest::test_connection_timeout_ms_propagates_to_DNS_resolver - test/test_client.py::ClientUnitTest::test_detected_environment_logging - test/test_client.py::ClientUnitTest::test_detected_environment_warning - test/test_client.py::TestClient::test_service_name_from_kwargs - test/test_client.py::TestClient::test_srv_max_hosts_kwarg - test/test_dns.py::TestCaseInsensitive::test_connect_case_insensitive - test/asynchronous/test_dns.py::IsolatedAsyncioTestCaseInsensitive::test_connect_case_insensitive - test/test_srv_polling.py - test/asynchronous/test_srv_polling.py - test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_custom_srvServiceName - test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_invalid_type_for_srvMaxHosts - test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_negative_integer_for_srvMaxHosts - test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_positive_srvMaxHosts_and_loadBalanced=fa - test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts - test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_loadBalanced=true - test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_replicaSet - - # broken regularly by changes in mypy - test/test_typing.py::TestMypyFails::test_mypy_failures - - # fragile to timing? fails because we're getting too many logs - test/test_connection_logging.py::TestConnectionLoggingConnectionPoolOptions::test_maxConnecting_should_be_included_in_connection_pool_created_message_when_specified - - # hangs? - test/asynchronous/test_grid_file.py::AsyncTestGridFile::test_small_chunks - - # broken async tests? - test/asynchronous/test_encryption.py - - # -Werror - test/test_read_preferences.py::TestMongosAndReadPreference::test_read_preference_hedge_deprecated - test/asynchronous/test_read_preferences.py::TestMongosAndReadPreference::test_read_preference_hedge_deprecated - - # fragile to timing? Internet? - test/test_client.py::TestClient::test_repr_srv_host - test/asynchronous/test_client.py::TestClient::test_repr_srv_host - test/asynchronous/test_ssl.py::TestSSL::test_pyopenssl_ignored_in_async - ) - - if ! use test-full; then - # .invalid is guaranteed to return NXDOMAIN per RFC 6761 - local -x DB_IP=mongodb.invalid - epytest -p asyncio - return - fi - - # Yes, we need TCP/IP for that... - local -x DB_IP=127.0.0.1 - local -x DB_PORT=27000 - - local dbpath=${TMPDIR}/mongo.db - local logpath=${TMPDIR}/mongod.log - - local failed= - mkdir -p "${dbpath}" || die - while true; do - ebegin "Trying to start mongod on port ${DB_PORT}" - - # mongodb is extremely inefficient - # https://www.mongodb.com/docs/manual/reference/ulimit/#review-and-set-resource-limits - ulimit -n 64000 || die - - local mongod_options=( - --dbpath "${dbpath}" - --bind_ip "${DB_IP}" - --port "${DB_PORT}" - --unixSocketPrefix "${TMPDIR}" - --logpath "${logpath}" - --fork - - # try to reduce resource use - --wiredTigerCacheSizeGB 0.25 - ) - - LC_ALL=C mongod "${mongod_options[@]}" && sleep 2 - - # Now we need to check if the server actually started... - if [[ ${?} -eq 0 && -S "${TMPDIR}"/mongodb-${DB_PORT}.sock ]]; then - # yay! - eend 0 - break - elif grep -q 'Address already in use' "${logpath}"; then - # ay, someone took our port! - eend 1 - : $(( DB_PORT += 1 )) - continue - else - eend 1 - eerror "Unable to start mongod for tests. See the server log:" - eerror " ${logpath}" - die "Unable to start mongod for tests." - fi - done - - nonfatal epytest -p asyncio -p rerunfailures --reruns=5 \ - -m "default or default_async or encryption" || failed=1 - - mongod --dbpath "${dbpath}" --shutdown || die - - [[ ${failed} ]] && die "Tests fail with ${EPYTHON}" - - rm -rf "${dbpath}" || die -} diff --git a/dev-python/pyqt6-sip/pyqt6-sip-13.12.0.ebuild b/dev-python/pyqt6-sip/pyqt6-sip-13.12.0.ebuild index b6efea97c713..030dcc8529d3 100644 --- a/dev-python/pyqt6-sip/pyqt6-sip-13.12.0.ebuild +++ b/dev-python/pyqt6-sip/pyqt6-sip-13.12.0.ebuild @@ -14,4 +14,4 @@ HOMEPAGE="https://pypi.org/project/PyQt6-sip/" LICENSE="BSD-2" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86" diff --git a/dev-python/pytest-rerunfailures/Manifest b/dev-python/pytest-rerunfailures/Manifest index 30418ec4686f..ba27fc32d04d 100644 --- a/dev-python/pytest-rerunfailures/Manifest +++ b/dev-python/pytest-rerunfailures/Manifest @@ -1,3 +1,4 @@ DIST pytest_rerunfailures-16.4.tar.gz 36635 BLAKE2B 7c58727d8a7a0525a385744df124b4c7cf0ae0342407e3f458809316b66afeae4f0635d210fdab4d3222c0795a53cb652b8c6ec926430406702ee1cec2cb7b72 SHA512 d8b9f6fec33305654b7283802cad6b3741d91e0157f1ba901aa4f75c853a3bd73e7be6be0de17ae95707f161755f7a0905267a9171c20fa904033fcb0ad460ef DIST pytest_rerunfailures-16.5.tar.gz 41475 BLAKE2B b9ca891a231d275714e0184c1907a89be7ed87a7df96195fb6d474d53d6130989ab0d9d8432a080a643d9b703a695bebf763d5947c4ace1ac34c726bb0d4467b SHA512 13752459ed30e5cf45c772ce71e04e2cca0e7cbe8788a8fdd8d5077117855b0c64194a21438ab15c945200597686c64711766e8b405ef74cf9d60e38ee91d92b +DIST pytest_rerunfailures-16.6.1.tar.gz 47719 BLAKE2B a2ba5ba2d1a6ae81af4a8c69616d7f6fb86594dbee5d47356493ea783984c58669526cf264adc7538a57dd68a115e3217f73aa03f021aef2ef3ed5d1be67f6b2 SHA512 cd623dba6a31dccffb577ec452495c6ca60f7868dd904316cdcad557e5a504cb3cd446d9b0ec4dbe579171fbe11c48419956165584bb9df8c038ee43eee10ef4 DIST pytest_rerunfailures-16.6.tar.gz 42806 BLAKE2B 480cc28393b98efb749b9ffde5e9ab348b5447ed82ea095212192902e106b6304a11cb4d9c8c2d7d8e7842dad3720b0d6e7b2c1b9ea6935fa6c7729348abacc7 SHA512 13e89a18d70054eeb023836666a0246db268b3361fe943137a05890c8d57035d6e3dda7bc758f6c101df5ea14a14c0be944c18c1c94924e685511e1061291b9d diff --git a/dev-python/pytest-rerunfailures/pytest-rerunfailures-16.6.1.ebuild b/dev-python/pytest-rerunfailures/pytest-rerunfailures-16.6.1.ebuild new file mode 100644 index 000000000000..58e4cd8777e3 --- /dev/null +++ b/dev-python/pytest-rerunfailures/pytest-rerunfailures-16.6.1.ebuild @@ -0,0 +1,29 @@ +# 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="pytest plugin to re-run tests to eliminate flaky failures" +HOMEPAGE=" + https://github.com/pytest-dev/pytest-rerunfailures/ + https://pypi.org/project/pytest-rerunfailures/ +" + +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + >=dev-python/packaging-17.1[${PYTHON_USEDEP}] + >=dev-python/pytest-8.2.3[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGIN_LOAD_VIA_ENV=1 +EPYTEST_PLUGINS=( "${PN}" ) +EPYTEST_XDIST=1 +distutils_enable_tests pytest diff --git a/dev-python/setuptools-scm/Manifest b/dev-python/setuptools-scm/Manifest index 8aa3ff89c4f7..3f3c1004ea19 100644 --- a/dev-python/setuptools-scm/Manifest +++ b/dev-python/setuptools-scm/Manifest @@ -2,5 +2,7 @@ DIST setuptools_scm-10.2.1.tar.gz 154237 BLAKE2B 250978fc39815dc05f79aa5da3a6883 DIST setuptools_scm-10.2.1.tar.gz.provenance 10217 BLAKE2B 305ce26746d8239bca467956131f6d61b10084218e72e668cdee2108af9c03da6597d663d7bbc8309e056c3865d4808538ac7187c31dcfdeb9f659571754ef4c SHA512 e1620b0da56d77d6ca658e993d7663a86ac3cd5eb7d4e31ce147d156ad3365d922aa28ab42cf61c8c85f0f8e2cc350590d1f5cf4b2a63def8517d963125f870f DIST setuptools_scm-10.2.2.tar.gz 67111 BLAKE2B ce2f0eb600dbe7c6622bacb7307e8cc49273b516f9b907cb6cc93332c53e1ebdb5eab2e75312632931e7e81d519596dc38a40fb207341882c4aa98a05df3f347 SHA512 6b790910b6658c0843e8dd74ed21a2aa50eee67dbf20648ab7a466f020f871037f7826a0392c6398f515df5e7e57ed7c92bf855245d2e8b6275c73a5147e4dfe DIST setuptools_scm-10.2.2.tar.gz.provenance 10207 BLAKE2B 4d2aed3ed9bfb79eceeb1ab5dd138afd11452beca54062c7a20523eaef910225e839c3548ef268ff1533697284ccda84fd902641e7c602bb79b5ab49b2103d36 SHA512 93502cdff448756fda9ff9ca45de0480a2250745a5fd63cc57b369d4378baf42755cf942925eb03fff90433b95c603293dd6014c032ccc16fba1edabfbc1bdb7 +DIST setuptools_scm-10.2.3.tar.gz 67696 BLAKE2B 43d36a0ef3221f96d980311b5c4ac884320b7f54665fefe4f56e03ae3172954bd95f29bb881074bbb04f3c248c6140e7281b2ae5232f9fa09770449a5c7e5fcb SHA512 845403e925247c70f9399dc98da08e13fd5bbdbabb339ed380abccc07590eaf35efc592c04f5b8b44e55bbbf63d5c92e423fc12cf06534efafff20fb70c53f57 +DIST setuptools_scm-10.2.3.tar.gz.provenance 10125 BLAKE2B 581394d2844a82bd6f4eabc86a6c77d355a573573140e151a4b0d99525e51ea0df8fec8cbae2c331764f4377b3c4283620d8f1336251218f1c14b58318a2e31a SHA512 304b057feab4715373caff13d24b4599e73711a9de0833b4f0e6422914be997ad63fbb4fb15b14329c03e772c89493c5b68d97d6b0a37e6d99c5907db77c4298 DIST setuptools_scm-9.2.2.tar.gz 203385 BLAKE2B 8577c4c6265ae851212be04b245b3da8b49d541174f5e675dea916c76b3cba5b5ab9f6264a97904e2d5ca02dee4e3f8eb88c9e8badbba2ed53bed531fe9f6b6c SHA512 757ca11a3d13601606b6914ea70e3d271d287f26ada976ec77334fc0f611208669585d2580994f1ddff830cd698a837d3e882dd5cdccdaf9f8eba34fdd8cb708 DIST setuptools_scm-9.2.2.tar.gz.provenance 9705 BLAKE2B b710df7f8cbb324aa2927243ab0416869319813016d64f589b7a9f565576fff58c1aee18da4ea9bc3fb5a969cf74c1fcaa1332812bf88267ec9f2bf437876e53 SHA512 6ac563d0ab5f1afce28976eb030364a451508ec7d47b6e99668c37b8ba09e3b56500b104d62ad6047fad9f6be0b2b6ebea66b561041485b9d15b84c39fe92313 diff --git a/dev-python/setuptools-scm/setuptools-scm-10.2.3.ebuild b/dev-python/setuptools-scm/setuptools-scm-10.2.3.ebuild new file mode 100644 index 000000000000..1670599d087d --- /dev/null +++ b/dev-python/setuptools-scm/setuptools-scm-10.2.3.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# please keep this ebuild at EAPI 8 -- sys-apps/portage dep +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_VERIFY_REPO=https://github.com/pypa/setuptools-scm +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Manage versions by scm tags via setuptools" +HOMEPAGE=" + https://github.com/pypa/setuptools-scm/ + https://pypi.org/project/setuptools-scm/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +# there's an optional dep on rich for cute logs +RDEPEND=" + dev-python/packaging[${PYTHON_USEDEP}] + >=dev-python/setuptools-64[${PYTHON_USEDEP}] + =dev-python/vcs-versioning-2*[${PYTHON_USEDEP}] + >=dev-python/vcs-versioning-2.3.2[${PYTHON_USEDEP}] +" +BDEPEND=" + =dev-python/vcs-versioning-2*[${PYTHON_USEDEP}] + >=dev-python/vcs-versioning-2.3.2[${PYTHON_USEDEP}] + test? ( + dev-python/build[${PYTHON_USEDEP}] + dev-python/typing-extensions[${PYTHON_USEDEP}] + dev-vcs/git + ) +" + +EPYTEST_PLUGINS=( pytest-timeout ) +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # Internet + testing_scm/test_functions.py::test_dump_version_mypy + testing_scm/test_integration.py::test_xmlsec_download_regression + testing_scm/test_regressions.py::test_pip_download + # dependent on ruff version + testing_scm/test_functions.py::test_dump_version_ruff + ) + + if ! has_version "dev-python/pip[${PYTHON_USEDEP}]"; then + EPYTEST_DESELECT+=( + testing_scm/test_integration.py::test_editable_install_without_env_var + testing_scm/test_integration.py::test_editable_install_version_file + ) + fi + + epytest +} diff --git a/dev-python/sip/sip-6.16.1.ebuild b/dev-python/sip/sip-6.16.1.ebuild index 6d5b58e93a85..eda9bce6bed2 100644 --- a/dev-python/sip/sip-6.16.1.ebuild +++ b/dev-python/sip/sip-6.16.1.ebuild @@ -16,7 +16,7 @@ SRC_URI=" LICENSE="BSD-2 BSD" SLOT="5" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86" RDEPEND=" dev-python/packaging[${PYTHON_USEDEP}] diff --git a/dev-python/spyder/Manifest b/dev-python/spyder/Manifest index 7d0b8f90a449..42660b235a18 100644 --- a/dev-python/spyder/Manifest +++ b/dev-python/spyder/Manifest @@ -1,2 +1,3 @@ DIST spyder-6.1.6.gh.tar.gz 16204529 BLAKE2B 6d1948db87f392a5578755b942baf2414da4c15a3197e75dd0fa3293fd9590d7bb8e86970b6240628522f1237a6e3453eaca422877c6dc15d437514f4c214b44 SHA512 0159bcd0b7ea1f4b9bbc428cd5d154d199a8ec9c71d15f431e10a5000418343fea4ece9fd65c8ba19800bde7a9861f2fef0dfa391397bca6b420a1ee2d8ac7f7 +DIST spyder-6.1.7.gh.tar.gz 16213857 BLAKE2B 2803581a911e501de3e0b41b313519b32d7e73c22479781945e9feda99b80b75abe6a1c408417a53e9dd8433a6680c335cd4a9e92bb8f8a597402637e1bbf283 SHA512 35953b23e7769b725337d928d139ac3d224e13b53fae2d2e2cc54ee6aa1bdebf614a6f99a6e775e2b59419713075cf17a585ce1a92a12b3838a0c87bca9a7010 DIST spyder-docs-98004cb46d97fa9fa1cfc3f469919928761e7054.gh.tar.gz 93375891 BLAKE2B c98d391bb33b1ba70bf9c8e8072073e87437541aacd4be42140711b786e8ae07bf5a7ca53dffdb826922b5523150fa2950b04117c335dc57f7c2c22eb693c23f SHA512 55e13f9a55075aed007be32581af954d406703dd9586352084162e01865f943c5aff3aa11b50bdc9813dd8a3a52f8fa8f961c73cfc3f96d95930f2a7b823a1d1 diff --git a/dev-python/spyder/spyder-6.1.7.ebuild b/dev-python/spyder/spyder-6.1.7.ebuild new file mode 100644 index 000000000000..63d451a76f0a --- /dev/null +++ b/dev-python/spyder/spyder-6.1.7.ebuild @@ -0,0 +1,209 @@ +# 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 optfeature xdg #virtualx + +# Commit of documentation to fetch +DOCS_PV="98004cb46d97fa9fa1cfc3f469919928761e7054" + +DESCRIPTION="The Scientific Python Development Environment" +HOMEPAGE=" + https://www.spyder-ide.org/ + https://github.com/spyder-ide/spyder/ + https://pypi.org/project/spyder/ +" +SRC_URI=" + https://github.com/spyder-ide/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz + https://github.com/spyder-ide/${PN}-docs/archive/${DOCS_PV}.tar.gz -> ${PN}-docs-${DOCS_PV}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +# Missing deps and broken +RESTRICT="test" + +RDEPEND=" + >=dev-python/aiohttp-3.11.2[${PYTHON_USEDEP}] + >=dev-python/asyncssh-2.14.0[${PYTHON_USEDEP}] + <dev-python/asyncssh-3.0.0[${PYTHON_USEDEP}] + >=dev-python/bcrypt-4.3.0[${PYTHON_USEDEP}] + >=dev-python/chardet-5.2.0[${PYTHON_USEDEP}] + <dev-python/chardet-8.0.0[${PYTHON_USEDEP}] + >=dev-util/cookiecutter-1.6.0[${PYTHON_USEDEP}] + >=dev-python/diff-match-patch-20181111[${PYTHON_USEDEP}] + >=dev-python/intervaltree-3.0.2[${PYTHON_USEDEP}] + >=dev-python/ipython-pygments-lexers-1.0.0[${PYTHON_USEDEP}] + >=dev-python/jellyfish-0.7[${PYTHON_USEDEP}] + >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}] + >=dev-python/keyring-17.0.0[${PYTHON_USEDEP}] + >=dev-python/markdown-it-py-3.0.0[${PYTHON_USEDEP}] + >=dev-python/nbconvert-4.0[${PYTHON_USEDEP}] + >=dev-python/numpydoc-0.6.0[${PYTHON_USEDEP}] + >=dev-python/packaging-20.0[${PYTHON_USEDEP}] + >=dev-python/pexpect-4.4.0[${PYTHON_USEDEP}] + >=dev-python/pickleshare-0.4[${PYTHON_USEDEP}] + >=dev-python/psutil-5.3[${PYTHON_USEDEP}] + >=dev-python/pygithub-2.3.0[${PYTHON_USEDEP}] + >=dev-python/pygments-2.0[${PYTHON_USEDEP}] + >=dev-python/pylint-venv-3.0.2[${PYTHON_USEDEP}] + >=dev-python/python-lsp-black-2.0.0[${PYTHON_USEDEP}] + <dev-python/python-lsp-black-3.0.0[${PYTHON_USEDEP}] + >=dev-python/python-lsp-ruff-2.3.0[${PYTHON_USEDEP}] + <dev-python/python-lsp-ruff-3.0.0[${PYTHON_USEDEP}] + >=dev-python/pyls-spyder-0.4.0[${PYTHON_USEDEP}] + >=dev-python/pyuca-1.2[${PYTHON_USEDEP}] + >=dev-python/pyxdg-0.26[${PYTHON_USEDEP}] + >=dev-python/pyzmq-24.0.0[${PYTHON_USEDEP}] + >=dev-python/qdarkstyle-3.2.0[${PYTHON_USEDEP}] + <dev-python/qdarkstyle-3.3.0[${PYTHON_USEDEP}] + >=dev-python/qstylizer-0.2.2[${PYTHON_USEDEP}] + >=dev-python/qtawesome-1.4.1[${PYTHON_USEDEP}] + <dev-python/qtawesome-1.5.0[${PYTHON_USEDEP}] + >=dev-python/qtconsole-5.7.2[${PYTHON_USEDEP}] + <dev-python/qtconsole-5.9.0[${PYTHON_USEDEP}] + >=dev-python/qtpy-2.4.0[${PYTHON_USEDEP},pyqt6,quick,svg,webengine] + >=dev-python/rtree-0.9.7[${PYTHON_USEDEP}] + >=dev-python/sphinx-7.2.0[${PYTHON_USEDEP}] + >=dev-python/spyder-kernels-3.1.6[${PYTHON_USEDEP}] + <dev-python/spyder-kernels-3.2.0[${PYTHON_USEDEP}] + >=dev-python/superqt-0.6.2[${PYTHON_USEDEP}] + <dev-python/superqt-1.0.0[${PYTHON_USEDEP}] + >=dev-python/textdistance-4.2.0[${PYTHON_USEDEP}] + >=dev-python/three-merge-0.1.1[${PYTHON_USEDEP}] + >=dev-python/watchdog-0.10.3[${PYTHON_USEDEP}] + >=dev-python/yarl-1.9.4[${PYTHON_USEDEP}] +" + +# BDEPEND=" +# test? ( +# dev-python/cython[${PYTHON_USEDEP}] +# dev-python/flaky[${PYTHON_USEDEP}] +# dev-python/matplotlib[tk,${PYTHON_USEDEP}] +# dev-python/pandas[${PYTHON_USEDEP}] +# dev-python/pillow[${PYTHON_USEDEP}] +# dev-python/pytest-lazy-fixture[${PYTHON_USEDEP}] +# dev-python/pytest-mock[${PYTHON_USEDEP}] +# dev-python/pytest-order[${PYTHON_USEDEP}] +# dev-python/pytest-qt[${PYTHON_USEDEP}] +# dev-python/pytest-timeout[${PYTHON_USEDEP}] +# dev-python/pyyaml[${PYTHON_USEDEP}] +# dev-python/qtpy[${PYTHON_USEDEP}] +# dev-python/scipy[${PYTHON_USEDEP}] +# dev-python/sympy[${PYTHON_USEDEP}] +# )" + +# Based on the courtesy of Arfrever +# This patch removes a call to update-desktop-database during build +# This fails because access is denied to this command during build +PATCHES=( + "${FILESDIR}/${PN}-5.0.0-build.patch" + "${FILESDIR}/${PN}-6.0.3-no-dep-on-importlib.patch" +) + +DOCS=( + "AUTHORS.txt" + "Announcements.md" + "CHANGELOG.md" + "CODE_OF_CONDUCT.md" + "CONTRIBUTING.md" + "NOTICE.txt" + "README.md" + "RELEASE.md" +) + +distutils_enable_tests pytest +# TODO: Package sphinx-design +# distutils_enable_sphinx docs/doc \ +# dev-python/sphinx-panels \ +# dev-python/pydata-sphinx-theme \ +# dev-python/sphinx-multiversion + +python_prepare_all() { + # move docs into workdir + mv ../spyder-docs-${DOCS_PV}* docs || die + + # these dependencies are packaged separately: + # dev-python/spyder-kernels, + # dev-python/python-lsp-server, + # dev-python/qdarkstyle + rm -r external-deps/* || die + # runs against things packaged in external-deps dir + rm conftest.py || die + + # Do not depend on pyqt5<5.16, this dependency is carried by QtPy[pyqt5] + # Do not depend on pyqtwebengine<5.16, this dependency is carried by QtPy[webengine] + # Do not depend on parso and jedi, this is dependency is carried in python-lsp-server + # Do not depend on python-lsp-server, this dependency is carried in pyls-spyder + # Do not depend on ipython, this dependency is carried in spyder-kernels + # The explicit version requirements only make things more complicated, if e.g. + # pyls-spyder gains compatibility with a newer version of python-lsp-server + # in a new release it will take time for this information to propagate into + # the next spyder release. So just remove the dependency and let the other + # ebuilds handle the version requirements to speed things up and prevent + # issues such as Bug 803269. + sed -i \ + -e "/'pyqt5[ 0-9<=>.,]*',/d" \ + -e "/'pyqtwebengine[ 0-9<=>.,]*',/d" \ + -e "/'python-lsp-server\[all\][ 0-9<=>.,]*',/d" \ + -e "/'parso[ 0-9<=>.,]*',/d" \ + -e "/'jedi[ 0-9<=>.,]*',/d" \ + -e "/'pylint[ 0-9<=>.,]*',/d" \ + setup.py || die + # -e "/'ipython[ 0-9<=>.,]*',/d" \ + sed -i \ + -e "/^PYLS_REQVER/c\PYLS_REQVER = '>=0.0.1'" \ + -e "/^PYLSP_REQVER/c\PYLSP_REQVER = '>=0.0.1'" \ + -e "/^PARSO_REQVER/c\PARSO_REQVER = '>=0.0.1'" \ + -e "/^JEDI_REQVER/c\JEDI_REQVER = '>=0.0.1'" \ + -e "/^PYLINT_REQVER/c\PYLINT_REQVER = '>=0.0.1'" \ + spyder/dependencies.py || die + # -e "/^IPYTHON_REQVER/c\IPYTHON_REQVER = '>=0.0.1'" \ + + # do not check deps, fails because we removed dependencies above + sed -i -e 's:test_dependencies_for_spyder_setup_install_requires_in_sync:_&:' \ + spyder/tests/test_dependencies_in_sync.py || die + + # skip online test + rm spyder/widgets/github/tests/test_github_backend.py || die + + export SPYDER_QT_BINDING=pyqt6 + + distutils-r1_python_prepare_all +} + +# Calling pytest directly somehow passes the pytest arguments to spyder +# causing an invalid argument error +# python_test() { +# virtx "${EPYTHON}" runtests.py +# } + +pkg_postinst() { + xdg_pkg_postinst + + optfeature "2D/3D plotting in the Python and IPython consoles" dev-python/matplotlib + optfeature "View and edit DataFrames and Series in the Variable Explorer" dev-python/pandas + optfeature "View and edit two or three dimensional arrays in the Variable Explorer" dev-python/numpy + optfeature "Symbolic mathematics in the IPython console" dev-python/sympy + optfeature "Import Matlab workspace files in the Variable Explorer" dev-python/scipy + optfeature "Run Cython files in the IPython console" dev-python/cython + optfeature "The hdf5/h5py plugin" dev-python/h5py + optfeature "The line profiler plugin" dev-python/spyder-line-profiler + optfeature "Vim key bindings" dev-python/spyder-vim + optfeature "Unittest support" dev-python/spyder-unittest + optfeature "System terminal inside spyder" dev-python/spyder-terminal + optfeature "Jupyter notebook support" dev-python/spyder-notebook + # spyder-memory-profiler is not compatible with spyder-5.2+ yet + # optfeature "The memory profiler plugin" dev-python/spyder-memory-profiler + # spyder-reports not yet updated to >=spyder-4.0.0 + # optfeature "Markdown reports using Pweave" dev-python/spyder-reports + # Plugins with no release yet: + # optfeature "Manage virtual environments and packages" dev-python/spyder-env-manager + # optfeature "VCS (e.g. git) integration" dev-python/spyder-vcs +} diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest index c7560ce4379f..f09370f4637e 100644 --- a/dev-python/sqlglot/Manifest +++ b/dev-python/sqlglot/Manifest @@ -1,2 +1,2 @@ -DIST sqlglot-30.16.0.tar.gz 5984853 BLAKE2B d53a8f73b7029642a726d0c71c9bbd6c5ba736381df2e11776704ff3a7eeb78eee76011edec18b4be45c13392276f5a351d2440896e3af27367a3667e41bea01 SHA512 2c6bda73778bd7a8e669351362e78c807a5bbf17a282c4d17e4f3de7557103f7e7635a42cdf88a60bd3d6b29d2bd80eb671dd8631b6ff1d8daa72ae5684f2616 DIST sqlglot-30.17.0.tar.gz 5999019 BLAKE2B 7d9e3855bc37296b01f55cde9f48a4da4ababc9600e59a9afe1748d00ae99046aaf41fce488ecee3a096351e73464c6da0da3b1b3481b427d768314b87e69cab SHA512 f451481fd2aea96e6c7818604414ac3759c478bbd4adff655358e0c551e125111ce12b956e9fac6cb1ec5e0cb5338991744a90972e1fe546954978ebd856d730 +DIST sqlglot-30.18.0.tar.gz 6018496 BLAKE2B 0df58a325c3c5b19ba79d667d6e2be5cfbab5d61714056784a12f5f689fae3cd5ef887ee366f6f38c4a0ee42c26f0c1a771da8d6e7142c71ce2d83273e4ea90d SHA512 817c667e7dc7f178d3b9b838d3db10e28a25d0c903b6fd80eef80f74eeaec2ef49db5ceb6a425d2359aaf864d201603bc4e8e82ab436d881d4685d4ff6601356 diff --git a/dev-python/sqlglot/sqlglot-30.16.0.ebuild b/dev-python/sqlglot/sqlglot-30.18.0.ebuild index 063fa5096326..063fa5096326 100644 --- a/dev-python/sqlglot/sqlglot-30.16.0.ebuild +++ b/dev-python/sqlglot/sqlglot-30.18.0.ebuild diff --git a/dev-python/urwid/Manifest b/dev-python/urwid/Manifest index 831387b0d64e..70aa575c999f 100644 --- a/dev-python/urwid/Manifest +++ b/dev-python/urwid/Manifest @@ -8,3 +8,5 @@ DIST urwid-4.0.9.tar.gz 880825 BLAKE2B 466b04d033482a9bc09f628bee147a8f1a481d5d3 DIST urwid-4.0.9.tar.gz.provenance 9679 BLAKE2B 8b53a0a266492cbc0bf19d8d6a7f0fff0e9935ca0c19f82c13494266d46d8cb2654e822c4003843a18b3acab5e0e1c598faadd69ac401e3fab2b4bbf4e1153bc SHA512 c76ef14f4023eec53998bf55dc91dd8ce06a3c9dd5c82b3437ecdde86644415e45a4084cfe2773a1329724489bf783debeddf02cf402e209f054c43bf3f1080c DIST urwid-4.1.0.tar.gz 929987 BLAKE2B a66a8830bcad394ee4d6c7cb59533325f7dadcea1dfb0277ad130649b9da3879bbbf48f876d63241afba03d40ba9936b58156f2b7b4dde44bb752c9b26fd4d35 SHA512 f364bb288a0e2a2767fa7554da71a6d4b9a5fa4b84a65f9d44a30792c1744ce65705503d69921ca061a93d0a3478679ad7318e36a30e3ab6ef4f356051691a57 DIST urwid-4.1.0.tar.gz.provenance 9448 BLAKE2B 5b62f268c52e6b3f3565f2e37d805d614455004e8ec1051b0699036f5c8107f10e3e0c24a5fb55ee62c26df34510b9efdd049b9f4ac2e2f71b27c396ecb621a3 SHA512 acec0570ee000146a801f7511cb5bc92b4f342634afea8750cbffeb84f44fe094260c66924778e87cd68204f9b1888fea293b5591e2be97bb25fc935f7635b49 +DIST urwid-4.1.1.tar.gz 931618 BLAKE2B e95dd2d7e6b3031bef3c18ad281061b4d28c4e94c0a37d7c2373bc5de3a9d95e0414cb175f725788e59ef5e0ff3258a8718ec07912433528e8eb4f8dac33bd83 SHA512 3c6e0fe1c6d88fe4ccacc62265d112cefa671a856c06061cab41dd63ed038dd38e7fffe23bd0d35e8c1e645b518284da5803960dd55022c3407fc17b7b268001 +DIST urwid-4.1.1.tar.gz.provenance 9585 BLAKE2B 6d7c6f2771f44b0d58dc1637f1ee2619a0984e6f18d90040e748bc8e825574dbeab7945718212b94c7e6eb2b0517d994cf61aaa459dc6f4beb686bf7342636b2 SHA512 eddcc53048ce59d01caa6c9f8a6f7cc936fc98148d10f856f6ae68b4033d77957b454333e8a91af383a4c3cdf492f1aec8e36666b6a460e2145c1c1665dc6828 diff --git a/dev-python/urwid/urwid-4.1.1.ebuild b/dev-python/urwid/urwid-4.1.1.ebuild new file mode 100644 index 000000000000..aba0d14bbb3d --- /dev/null +++ b/dev-python/urwid/urwid-4.1.1.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_VERIFY_REPO=https://github.com/urwid/urwid +PYTHON_COMPAT=( python3_{13..14} ) +PYTHON_REQ_USE="ncurses" + +inherit distutils-r1 optfeature pypi + +DESCRIPTION="Curses-based user interface library for Python" +HOMEPAGE=" + https://urwid.org/ + https://pypi.org/project/urwid/ + https://github.com/urwid/urwid/ +" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="examples" + +RDEPEND=" + dev-python/typing-extensions[${PYTHON_USEDEP}] + >=dev-python/wcwidth-0.4[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/setuptools-scm[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + sed -i -e 's:--cov --cov-report=term::' pyproject.toml || die +} + +python_install_all() { + use examples && dodoc -r examples + distutils-r1_python_install_all +} + +pkg_postinst() { + optfeature "Trio event loop" "dev-python/trio" +} diff --git a/dev-python/vcs-versioning/Manifest b/dev-python/vcs-versioning/Manifest index c0fa35050544..ab01c2b4bd55 100644 --- a/dev-python/vcs-versioning/Manifest +++ b/dev-python/vcs-versioning/Manifest @@ -6,3 +6,5 @@ DIST vcs_versioning-2.3.1.tar.gz 156292 BLAKE2B 5d8ceee494d3d048e6e6102455123ff7 DIST vcs_versioning-2.3.1.tar.gz.provenance 10199 BLAKE2B 3e9f7ba44894c8a28eadd9cf6d5398dd56ed53a60776e89d0f6eadbe379e0c0f6d973ebaa4580c96e1f7862bf711ab6e1db26f196c5bdff42f8e271ed2c053e5 SHA512 cbafe022dbcf0bc28db3d4e17a272f052ff2ab17c44a155a8e63b11fe640bdbdbec8ab4b9ba3fe8ed9028de3a756190e0b76eed1be692d7234a5086046839a3c DIST vcs_versioning-2.3.2.tar.gz 149377 BLAKE2B 59ef750eef0f2bfe8a23697830bd1b30aaf262a875f4926d362a71390cec5ef38e7d741587751432ae02df563ec457aff1a72ec385887dce0927bb705197d7d5 SHA512 d50d809d2062e828181180d74f983aa68bb35e3cc985e5a14cad785da47a99c390b44da66ab473bcff22b49d340338ae2027efbb70087938ba23743550eaead0 DIST vcs_versioning-2.3.2.tar.gz.provenance 10156 BLAKE2B a4ff73c5f12f0da7c2cbd20f9eff44a60fe9e9157a040439059f0e577744b0505b4fb870ad2c9c937dce791e06a366950db382b89e4dc5930fefb91d9e78bd96 SHA512 4f0de3cf863dc730cd5d2ac0e4802fbdd0803749254c4ec0e30095d2619ebcab52bcef284c46d95c6a9c4c679150c370bcd328b611b51e81c1bf8cc28db90195 +DIST vcs_versioning-2.3.4.tar.gz 149647 BLAKE2B 1ca6aea0effd2d743140e23828ed025be1cb22190be1a971f31de912de539f70e1c6316472ed4d0535bee1dfd647771884e4297f6d58fc5f5362cfa932064c7f SHA512 6eebdf57d70f994e9f760c736fd66613eb639d72ee71737d9a8e9fb05edcc07a6532f0ee16dc4f6296f502f903300b86042892f57fe14ee4ab50fe10bc54dd8a +DIST vcs_versioning-2.3.4.tar.gz.provenance 10246 BLAKE2B 562e356ece3ee4061fe5b55ffc9c7f67d621aa903c8cc8ac724789f4e8bae4f7a5044d49fed38130ac74afdaedc4f456af31aa9b9a24759e6580773c0d17d1fa SHA512 48e6903166bce3c2157f5c8622c07d254e3daa9ef14a404780fdc25d7d7bb9eea3a37a8c183c51df9fc1f0ee5d37cbaf8a2fb8454c4ea24f3b0b966f4651e02c diff --git a/dev-python/vcs-versioning/vcs-versioning-2.3.4.ebuild b/dev-python/vcs-versioning/vcs-versioning-2.3.4.ebuild new file mode 100644 index 000000000000..f253689d01b8 --- /dev/null +++ b/dev-python/vcs-versioning/vcs-versioning-2.3.4.ebuild @@ -0,0 +1,39 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_VERIFY_REPO=https://github.com/pypa/setuptools-scm +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Core VCS versioning functionality from setuptools-scm" +HOMEPAGE=" + https://github.com/pypa/setuptools-scm/ + https://pypi.org/project/vcs-versioning/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + >=dev-python/packaging-26.2[${PYTHON_USEDEP}] +" +BDEPEND=" + ${RDEPEND} + test? ( + >=dev-python/setuptools-scm-10.1.1[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-timeout ) +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # the usual nondescript gpg-agent failure + testing_vcs/test_git.py::test_git_getdate_signed_commit +) diff --git a/dev-python/vdirsyncer/Manifest b/dev-python/vdirsyncer/Manifest index f154cfb80fbc..388a2498c170 100644 --- a/dev-python/vdirsyncer/Manifest +++ b/dev-python/vdirsyncer/Manifest @@ -1 +1,2 @@ DIST vdirsyncer-0.20.0.tar.gz 126633 BLAKE2B 4d9c984d18eddcee4dea2fe29b76060ce1ca51cff23a6f188fed12d848a7e544102333808d584fcf342faf08fa792f54e0ce997d0a3ca846c6cf9741a21a2c9a SHA512 8499440ce8ba036d40f5bbff9d7cadb485be8bb2419d1fbad947f244259dabba9f2527ffff24298f697dd10e6ccd39155ea9547a480c584f64da0eadb993dad7 +DIST vdirsyncer-0.21.0.tar.gz 130993 BLAKE2B 2e92d069cf5dbbb1ec9987b31d3972e6aaf4075ff2aba805a2f8bfc297c6230079c58cfe5a2e12a0cf5fea488a5ac5e9a9cd778f3f10b94d2baac0a3084e04de SHA512 ac7dfab03221cbe682de6cb88042d99bbcefce7bf6b07bd24ed3e92b2085023e18ac5514c83cec3c0d07fe7ffe49ddff89c99da7b51d4dc7c46724a729547f67 diff --git a/dev-python/vdirsyncer/vdirsyncer-0.21.0.ebuild b/dev-python/vdirsyncer/vdirsyncer-0.21.0.ebuild new file mode 100644 index 000000000000..62c99768b6b0 --- /dev/null +++ b/dev-python/vdirsyncer/vdirsyncer-0.21.0.ebuild @@ -0,0 +1,70 @@ +# 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} ) +PYTHON_REQ_USE="sqlite" + +inherit distutils-r1 pypi systemd + +DESCRIPTION="Synchronize calendars and contacts" +HOMEPAGE=" + https://github.com/pimutils/vdirsyncer/ + https://pypi.org/project/vdirsyncer/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" + +RDEPEND=" + >=dev-python/aiohttp-3.9.0[${PYTHON_USEDEP}] + dev-python/aiohttp-oauthlib[${PYTHON_USEDEP}] + >=dev-python/aiostream-0.4.3[${PYTHON_USEDEP}] + >=dev-python/click-5.0[${PYTHON_USEDEP}] + >=dev-python/click-log-0.3.0[${PYTHON_USEDEP}] + >=dev-python/requests-2.20.0[${PYTHON_USEDEP}] + >=dev-python/tenacity-9.0.0[${PYTHON_USEDEP}] +" +BDEPEND=" + >=dev-python/setuptools-scm-8[${PYTHON_USEDEP}] + test? ( + dev-python/aioresponses[${PYTHON_USEDEP}] + dev-python/trustme[${PYTHON_USEDEP}] + ) +" + +DOCS=( AUTHORS.rst CHANGELOG.rst CONTRIBUTING.rst README.rst config.example ) + +EPYTEST_PLUGINS=( hypothesis pytest-{asyncio,httpserver} ) +distutils_enable_tests pytest + +src_prepare() { + # unpin deps + sed -i -e 's:,<[0-9.]*::' pyproject.toml || die + distutils-r1_src_prepare +} + +python_test() { + # skip tests needing servers running + local -x DAV_SERVER=skip + local -x REMOTESTORAGE_SERVER=skip + # pytest dies hard if the envvars do not have any value... + local -x CI=false + local -x DETERMINISTIC_TESTS=false + + local EPYTEST_DESELECT=( + # Internet + tests/system/utils/test_main.py::test_request_ssl + ) + + epytest -o addopts= +} + +src_install() { + distutils-r1_src_install + + systemd_douserunit contrib/vdirsyncer.{service,timer} +} diff --git a/dev-python/zmq-anyio/Manifest b/dev-python/zmq-anyio/Manifest index 4377c104aed8..aa1a14d0b449 100644 --- a/dev-python/zmq-anyio/Manifest +++ b/dev-python/zmq-anyio/Manifest @@ -1,3 +1,4 @@ -DIST zmq_anyio-0.3.10.tar.gz 14648 BLAKE2B 96864cddc1287df6c80432cd3693865eadf508482e10af3788ec1ffee6a2ea9fbc50ba13e8f527682c90fab5027be5cd1abbddecb05b099c4f8da0e78b60ff0a SHA512 b41ea654cff258fdba05108e4603c113bac8d56439ed65184d9cbb1c88b45471d989b7a0e232d9f5fc587691720135982fc39d39f0dfc7efc01178128f386630 DIST zmq_anyio-0.3.14.tar.gz 12132 BLAKE2B 94a2e1f25a04a41eea6d76f91a0def9e4c9fe1627781ccd5900519d915acf3b9aa5dd8934893c90c004108a7a7812cb076949d49ded5d192c09c156a3ed1bcf3 SHA512 8fc85c1cdf995e1e606856991a70eb3c77c14df82eb9b62b470e90dda5671ff9de7c8a623b37b8c3773b753f6d55a5ebc566441889e7076feba961c05f26ada4 DIST zmq_anyio-0.3.14.tar.gz.provenance 9620 BLAKE2B 136683af915869833bf3eed3d7a7b6ec4bea60bc6c1b3324bad5913ebfb9ac99474c6f74cec233e95e10d4116a72ec0361655811a16016e2b764978c1d94c043 SHA512 ce913788aae5d0b2366a839a94f693e5b07d91b1f4a02b104376792d141e147c27e18c75b4316608eac05d7cb205fc171fc5c12b19ca3c1b7fa70879f12ca54a +DIST zmq_anyio-0.4.1.tar.gz 12610 BLAKE2B 7ebba47ed6d68d0f49ffd6f7866849c04f60df39137212ec79acff5e9b1724c1c77ddf7e2d45b0202a9c538c28e09b4808e81c18d67f680ca70cbd9c6cbc9bf7 SHA512 bb8dd4cef0d209b27177db6118a8a7d2eaf249c85e3636fbca8ddef8c13d7e1c99e1d07f99ff3f6313c0dd5170a6edff57b37523ab065f23c0eecc62fae842db +DIST zmq_anyio-0.4.1.tar.gz.provenance 9897 BLAKE2B 342ea73e0f61cc9481d2dc0f9e15ecf59787bde8f27e5e84b416e3f28c8fb727ca497fa6619cc21c1b69f3b5e130128652c84a525f79b7db1d78363f36a2c009 SHA512 e63a63b69fbb0416b65bc3ef4cec9a45665e5f5249aa5b63fd0a10161194d86b2d54ccd6975b9cc5d17c621572ec4b4f96a0d779b3f7903339f3d14d66e2a597 diff --git a/dev-python/zmq-anyio/zmq-anyio-0.3.10.ebuild b/dev-python/zmq-anyio/zmq-anyio-0.3.10.ebuild deleted file mode 100644 index bb9c39b57348..000000000000 --- a/dev-python/zmq-anyio/zmq-anyio-0.3.10.ebuild +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright 2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=hatchling -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Asynchronous API for ZMQ using AnyIO" -HOMEPAGE=" - https://github.com/QuantStack/zmq-anyio/ - https://pypi.org/project/zmq-anyio/ -" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -IUSE="test-rust" - -RDEPEND=" - <dev-python/anyio-5[${PYTHON_USEDEP}] - >=dev-python/anyio-4.8.0[${PYTHON_USEDEP}] - <dev-python/anyioutils-0.8[${PYTHON_USEDEP}] - >=dev-python/anyioutils-0.7.1[${PYTHON_USEDEP}] - <dev-python/pyzmq-28[${PYTHON_USEDEP}] - >=dev-python/pyzmq-26.0.0[${PYTHON_USEDEP}] -" -BDEPEND=" - test? ( - dev-python/pytest-timeout[${PYTHON_USEDEP}] - test-rust? ( - >=dev-python/trio-0.27.0[${PYTHON_USEDEP}] - ) - ) -" - -EPYTEST_PLUGINS=( anyio ) -distutils_enable_tests pytest - -python_test() { - local args=() - if ! has_version "dev-python/trio[${PYTHON_USEDEP}]"; then - args+=( -k "not trio" ) - fi - - epytest "${args[@]}" -} diff --git a/dev-python/zmq-anyio/zmq-anyio-0.4.1.ebuild b/dev-python/zmq-anyio/zmq-anyio-0.4.1.ebuild new file mode 100644 index 000000000000..4985177026cf --- /dev/null +++ b/dev-python/zmq-anyio/zmq-anyio-0.4.1.ebuild @@ -0,0 +1,35 @@ +# Copyright 2025-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/QuantStack/zmq-anyio +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Asynchronous API for ZMQ using AnyIO" +HOMEPAGE=" + https://github.com/QuantStack/zmq-anyio/ + https://pypi.org/project/zmq-anyio/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" + +RDEPEND=" + <dev-python/anyio-5[${PYTHON_USEDEP}] + >=dev-python/anyio-4.15.0[${PYTHON_USEDEP}] + <dev-python/pyzmq-28[${PYTHON_USEDEP}] + >=dev-python/pyzmq-27.1.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + >=dev-python/trio-0.27.0[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( anyio pytest-timeout ) +distutils_enable_tests pytest diff --git a/dev-qt/qt-creator/Manifest b/dev-qt/qt-creator/Manifest index 05c7fb312cc3..bd68cd621d3e 100644 --- a/dev-qt/qt-creator/Manifest +++ b/dev-qt/qt-creator/Manifest @@ -1,2 +1 @@ -DIST qt-creator-opensource-src-20.0.0.tar.xz 40130492 BLAKE2B 4b22ef73e4fd4b5ee850561218cc92c7708661182137bae761a6655d2c79ce75e70fc4e767d69edc3e4e21af0957a9470dd37d87fc37cac52b832df8238cb571 SHA512 16d5435f47c7ab79641a9020f293a3577aa2468d7c46ceaad48880cdcbfa64aa2a393e93c54391f694e1af28714e927ce562f7f5b750f0df3f02ef65e19985bf DIST qt-creator-opensource-src-20.0.1.tar.xz 40201704 BLAKE2B 9426c4a1b00ddde501a08b5bba4ffd70cecec07b373478ef0357f80e8a78d4c4135bfef6b7f9f72ef7b050e03026340ea4d0d93ab22ba99b911ee7619325b15e SHA512 199d7473d9ee3f729a05a79bf499c14e53aeb252ff8aba5fe4e59085a793f8c29000a090c58967ff7021470f7af81ac6004d8c3e71bdb8e8037a5566f3803618 diff --git a/dev-qt/qt-creator/files/qt-creator-20.0.1-libcxx23.patch b/dev-qt/qt-creator/files/qt-creator-20.0.1-libcxx23.patch new file mode 100644 index 000000000000..f4be0cf0e530 --- /dev/null +++ b/dev-qt/qt-creator/files/qt-creator-20.0.1-libcxx23.patch @@ -0,0 +1,44 @@ +https://bugs.gentoo.org/981862 +https://github.com/nonstd-lite/span-lite/pull/88 +https://github.com/nonstd-lite/span-lite/commit/5ac676ad861 +--- a/src/libs/3rdparty/span/span.hpp ++++ b/src/libs/3rdparty/span/span.hpp +@@ -47,4 +47,20 @@ + #endif + ++#ifndef span_CONFIG_CONTRACT_LEVEL_ON ++# define span_CONFIG_CONTRACT_LEVEL_ON 1 ++#endif ++ ++#ifndef span_CONFIG_CONTRACT_VIOLATION_THROWS ++# define span_CONFIG_CONTRACT_VIOLATION_THROWS 0 ++#endif ++ ++#ifndef span_CONFIG_CONTRACT_VIOLATION_TERMINATES ++# if span_CONFIG_CONTRACT_VIOLATION_THROWS ++# define span_CONFIG_CONTRACT_VIOLATION_TERMINATES 0 ++# else ++# define span_CONFIG_CONTRACT_VIOLATION_TERMINATES 1 ++# endif ++#endif ++ + #ifndef span_CONFIG_EXTENT_TYPE + # define span_CONFIG_EXTENT_TYPE std::size_t +@@ -171,6 +187,6 @@ + #endif + +-#if defined( span_CONFIG_CONTRACT_VIOLATION_THROWS ) && span_CONFIG_CONTRACT_VIOLATION_THROWS && \ +- defined( span_CONFIG_CONTRACT_VIOLATION_TERMINATES ) && span_CONFIG_CONTRACT_VIOLATION_TERMINATES ++#if span_CONFIG_CONTRACT_VIOLATION_THROWS && \ ++ span_CONFIG_CONTRACT_VIOLATION_TERMINATES + # error Please define none or one of span_CONFIG_CONTRACT_VIOLATION_THROWS and span_CONFIG_CONTRACT_VIOLATION_TERMINATES to 1, but not both. + #endif +@@ -497,4 +513,8 @@ + #endif + ++#if span_CONFIG( CONTRACT_VIOLATION_TERMINATES ) ++# include <exception> ++#endif ++ + // Contract violation + diff --git a/dev-qt/qt-creator/qt-creator-20.0.0.ebuild b/dev-qt/qt-creator/qt-creator-20.0.0.ebuild deleted file mode 100644 index 07eafae97d73..000000000000 --- a/dev-qt/qt-creator/qt-creator-20.0.0.ebuild +++ /dev/null @@ -1,285 +0,0 @@ -# Copyright 2023-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LLVM_COMPAT=( {17..22} ) -LLVM_OPTIONAL=1 -PYTHON_COMPAT=( python3_{13..14} ) -inherit cmake flag-o-matic llvm-r2 python-any-r1 readme.gentoo-r1 xdg - -if [[ ${PV} == 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI=( - "https://code.qt.io/qt-creator/qt-creator.git" - "https://github.com/qt-creator/qt-creator.git" - ) - EGIT_SUBMODULES=( - perfparser - src/libs/qlitehtml - src/libs/qlitehtml/src/3rdparty/litehtml - ) -else - QTC_PV=${PV/_/-} - QTC_P=${PN}-opensource-src-${QTC_PV} - [[ ${QTC_PV} == ${PV} ]] && QTC_REL=official || QTC_REL=development - SRC_URI=" - https://download.qt.io/${QTC_REL}_releases/qtcreator/$(ver_cut 1-2)/${PV/_/-}/${QTC_P}.tar.xz - " - S=${WORKDIR}/${QTC_P} - KEYWORDS="amd64" -fi - -DESCRIPTION="Lightweight IDE for C++/QML development centering around Qt" -HOMEPAGE="https://www.qt.io/product/development-tools" - -LICENSE="GPL-3" -SLOT="0" -IUSE=" - +clang designer doc +help keyring plugin-dev qmldesigner - serialterminal +svg test +tracing webengine -" -REQUIRED_USE="clang? ( ${LLVM_REQUIRED_USE} )" -RESTRICT="!test? ( test )" - -QT_PV=6.7.3:6 - -# := is used where Qt's private APIs are used for safety -COMMON_DEPEND=" - app-arch/libarchive:= - dev-cpp/yaml-cpp:= - >=dev-qt/qtbase-${QT_PV}=[concurrent,dbus,gui,network,ssl,widgets,xml] - >=dev-qt/qtdeclarative-${QT_PV}= - >=dev-qt/qthttpserver-${QT_PV} - >=dev-qt/qttasktree-${QT_PV} - clang? ( - $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT}= - llvm-core/llvm:${LLVM_SLOT}= - ') - ) - designer? ( >=dev-qt/qttools-${QT_PV}[designer] ) - help? ( - >=dev-qt/qttools-${QT_PV}[assistant] - webengine? ( >=dev-qt/qtwebengine-${QT_PV} ) - ) - keyring? ( - app-crypt/libsecret - dev-libs/glib:2 - ) - qmldesigner? ( - >=dev-qt/qtquick3d-${QT_PV}= - >=dev-qt/qtsvg-${QT_PV} - >=dev-qt/qtwebsockets-${QT_PV} - webengine? ( >=dev-qt/qtwebengine-${QT_PV} ) - ) - serialterminal? ( >=dev-qt/qtserialport-${QT_PV} ) - svg? ( >=dev-qt/qtsvg-${QT_PV} ) - tracing? ( - app-arch/zstd:= - dev-libs/elfutils - >=dev-qt/qtcharts-${QT_PV} - >=dev-qt/qtshadertools-${QT_PV} - ) -" -# qtimageformats for .webp in examples, semi-optfeature but useful in general -RDEPEND=" - ${COMMON_DEPEND} - help? ( >=dev-qt/qtimageformats-${QT_PV} ) - qmldesigner? ( >=dev-qt/qtquicktimeline-${QT_PV} ) -" -DEPEND="${COMMON_DEPEND}" -BDEPEND=" - ${PYTHON_DEPS} - >=dev-qt/qttools-${QT_PV}[linguist] - doc? ( >=dev-qt/qttools-${QT_PV}[qdoc,qtattributionsscanner] ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-16.0.0-musl-no-execinfo.patch - "${FILESDIR}"/${PN}-12.0.0-musl-no-malloc-trim.patch -) - -src_prepare() { - cmake_src_prepare - - # needed for finding docs at runtime in PF - sed -e "/_IDE_DOC_PATH/s/qtcreator/${PF}/" \ - -i cmake/QtCreatorAPIInternal.cmake || die - - # avoid building manual tests (aka not ran) for nothing (bug #950010) - cmake_comment_add_subdirectory -f tests/CMakeLists.txt manual - - if use plugin-dev; then #928423 - # cmake --install --component integrates poorly with the cmake - # eclass and the install targets are otherwise missing, so strip - # out EXCLUDE_FROM_ALL until figure out a better solution - find . \( -name CMakeLists.txt -o -name '*.cmake' \) -exec sed -i -zE \ - 's/COMPONENT[[:space:]]+Devel[[:space:]]+EXCLUDE_FROM_ALL//g' {} + || die - fi -} - -src_configure() { - use clang && llvm_chost_setup - - replace-flags '-O[sz]' -O2 #980116 - - # -Werror=lto-type-mismatch issues, needs looking into - filter-lto - - # temporary workaround for musl-1.2.4 (bug #903611), this ideally - # needs fixing in qtbase as *64 usage comes from its headers' macros - use elibc_musl && append-lfs-flags - - local mycmakeargs=( - -DBUILD_DEVELOPER_DOCS=$(usex doc) - -DBUILD_DOCS_BY_DEFAULT=$(usex doc) - -DBUILD_WITH_PCH=no - -DWITH_DOCS=$(usex doc) - -DWITH_TESTS=$(usex test) - - # sticking to bundled for now until it switches to KF6's - -DBUILD_LIBRARY_KSYNTAXHIGHLIGHTING=yes - - # Much can be optional, but do not want to flood users (or maintainers) - # with too many flags. Not to mention that many plugins are merely - # wrappers around still optional tools (e.g. cvs) and any unwanted - # plugins can be disabled at runtime. So optional flags are limited - # to plugins with additional build-time dependencies. - -DBUILD_LIBRARY_TRACING=$(usex tracing) # qml+perfprofiler,ctfvisual - -DBUILD_EXECUTABLE_PERFPARSER=$(usex tracing) - -DBUILD_PLUGIN_APPSTATISTICSMONITOR=$(usex tracing) - - -DBUILD_PLUGIN_CLANGCODEMODEL=$(usex clang) - -DBUILD_PLUGIN_CLANGFORMAT=$(usex clang) - -DBUILD_PLUGIN_CLANGTOOLS=$(usex clang) - -DCLANGTOOLING_LINK_CLANG_DYLIB=yes - - -DBUILD_PLUGIN_DESIGNER=$(usex designer) - - -DBUILD_PLUGIN_HELP=$(usex help) - -DBUILD_HELPVIEWERBACKEND_QTWEBENGINE=$(usex webengine) - # TODO?: unbundle litehtml, but support for latest releases - # tend to lag behind and bundled may work out better for now - -DBUILD_LIBRARY_QLITEHTML=$(usex help $(usex !webengine)) - - # help shouldn't use with the above, but qmldesigner is automagic - $(use help || use qmldesigner && - cmake_use_find_package webengine Qt6WebEngineWidgets) - - -DBUILD_PLUGIN_SERIALTERMINAL=$(usex serialterminal) - -DENABLE_SVG_SUPPORT=$(usex svg) - -DWITH_QMLDESIGNER=$(usex qmldesigner) - - # cmdbridge-server is a hardly used maintenance burden (bug #967488) - -DBUILD_EXECUTABLE_CMDBRIDGE=no - - # meant to be in sync with qtbase[journald], but think(?) not worth - # handling given qt-creator can use QT_FORCE_STDERR_LOGGING=1 nowadays - -Djournald=no - - # not packaged, but allow using if found - #-DCMAKE_DISABLE_FIND_PACKAGE_LibDDemangle=yes - #-DCMAKE_DISABLE_FIND_PACKAGE_LibRustcDemangle=yes - - # for bundled qtkeychain (no switch to unbundle right now) - # reminder: if ever unbundled/optional, qtbase[dbus] can be removed - -DLIBSECRET_SUPPORT=$(usex keyring) - ) - - cmake_src_configure -} - -src_test() { - local -x QT_QPA_PLATFORM=offscreen - - local CMAKE_SKIP_TESTS=( - # broke since 17.0.0 and hasn't really been looked into yet, - # does not seem to cause visible problems so skipping for now - tst_process - # skipping same tests+label as upstream's CI by default - # `grep ctest .github/workflows/build_cmake.yml` - tst_perfdata - ) - - cmake_src_test --label-exclude exclude_from_precheck -} - -src_install() { - cmake_src_install - - if use doc; then - dodoc -r "${BUILD_DIR}"/doc/html - dodoc "${BUILD_DIR}"/share/doc/${PF}/qtcreator{,-dev}.qch - docompress -x /usr/share/doc/${PF}/qtcreator{,-dev}.qch - fi - - local DISABLE_AUTOFORMATTING=yes - local DOC_CONTENTS="\ -Some plugins (if used) may need optional extra dependencies/USE. - -This list provides associations with Gentoo's packages (if exists) -ordered as in Qt Creator's Help -> About Plugins (not exhaustive). - -dev-qt/qt-docs:6 with USE=\"examples qch\" is notably recommended, or -else the example tab will be empty alongside missing documentation. - -Build Systems: -- CMakeProjectManager (dev-build/cmake) -- MesonProjectManager (dev-build/meson) -- QbsProjectManager (dev-util/qbs) - -C++: -- Beautifier (dev-util/astyle and/or dev-util/uncrustify) -- ClangCodeModel (USE=clang, dev-util/clazy to understand Qt semantics) -- ClangFormat (USE=clang) - -Code Analyzer: -- ClangTools (USE=clang) -- Cppcheck (dev-util/cppcheck) -- CtfVisualizer (USE=tracing) -- PerfProfiler (USE=tracing) -- Valgrind (dev-debug/valgrind) - -Core: -- Help (USE=help + dev-qt/qt-docs:6 with USE=\"examples qch\") - -Device Support: -- Android (virtual/jdk, will also want the unpackaged Qt for Android) - -Other Languages: -- Nim (dev-lang/nim) -- Python (dev-lang/python) - -Qt Creator: -- Designer (USE=designer) - -Qt Quick: -- Insight (USE=qmldesigner) -- QmlDesigner (USE=qmldesigner) -- QmlProfiler (USE=tracing) - -Utilities: -- AppStatisticsMonitor (USE=tracing) -- Autotest (dev-cpp/catch, dev-cpp/gtest, or dev-libs/boost if used) -- Conan (dev-util/conan) -- Docker (app-containers/docker) -- Haskell (dev-lang/ghc) -- ScreenRecorder (media-video/ffmpeg) -- SerialTerminal (USE=serialterminal) -- SilverSearcher (sys-apps/the_silver_searcher) -- StudioWelcome (USE=qmldesigner) - -Version Control: -- CVS (dev-vcs/cvs) -- Fossil (dev-vcs/fossil) -- Git (dev-vcs/git) -- Mercurial (dev-vcs/mercurial) -- Subversion (dev-vcs/subversion)" - readme.gentoo_create_doc -} - -pkg_postinst() { - xdg_pkg_postinst - readme.gentoo_print_elog -} diff --git a/dev-qt/qt-creator/qt-creator-20.0.1.ebuild b/dev-qt/qt-creator/qt-creator-20.0.1.ebuild index 07eafae97d73..a0231c0af349 100644 --- a/dev-qt/qt-creator/qt-creator-20.0.1.ebuild +++ b/dev-qt/qt-creator/qt-creator-20.0.1.ebuild @@ -3,7 +3,7 @@ EAPI=8 -LLVM_COMPAT=( {17..22} ) +LLVM_COMPAT=( {17..23} ) LLVM_OPTIONAL=1 PYTHON_COMPAT=( python3_{13..14} ) inherit cmake flag-o-matic llvm-r2 python-any-r1 readme.gentoo-r1 xdg @@ -98,6 +98,7 @@ BDEPEND=" PATCHES=( "${FILESDIR}"/${PN}-16.0.0-musl-no-execinfo.patch "${FILESDIR}"/${PN}-12.0.0-musl-no-malloc-trim.patch + "${FILESDIR}"/${PN}-20.0.1-libcxx23.patch ) src_prepare() { diff --git a/dev-qt/qt-creator/qt-creator-9999.ebuild b/dev-qt/qt-creator/qt-creator-9999.ebuild index 37d4f56877bb..b235109e708c 100644 --- a/dev-qt/qt-creator/qt-creator-9999.ebuild +++ b/dev-qt/qt-creator/qt-creator-9999.ebuild @@ -3,7 +3,7 @@ EAPI=8 -LLVM_COMPAT=( {17..22} ) +LLVM_COMPAT=( {17..23} ) LLVM_OPTIONAL=1 PYTHON_COMPAT=( python3_{13..14} ) inherit cmake flag-o-matic llvm-r2 python-any-r1 readme.gentoo-r1 xdg @@ -97,6 +97,7 @@ BDEPEND=" PATCHES=( "${FILESDIR}"/${PN}-21.0.0-musl-no-execinfo.patch + "${FILESDIR}"/${PN}-20.0.1-libcxx23.patch ) src_prepare() { diff --git a/dev-qt/qttools/Manifest b/dev-qt/qttools/Manifest index fdda753d0d10..b588e8b2738e 100644 --- a/dev-qt/qttools/Manifest +++ b/dev-qt/qttools/Manifest @@ -1,2 +1,3 @@ +DIST qttools-6.11.2-llvm22.patch.xz 4676 BLAKE2B 29944c9ef71e0b3830c312bd7d32694ed9d3b4aab2a1bd8d1c6cf1ba4126567aca3086c25b3b5397b75eba907bbd5e0e02635798b44564a16832f35cc5ef90ba SHA512 b2dcf4e0b8600ecae612b78f42ab505b7f77db381e7dd122b7d40545e0443e66c9dd868f470aa15a3ebab2da04ab305706fe9258d11b20330f71e3cb5ab714a8 DIST qttools-everywhere-src-6.11.1.tar.xz 10225832 BLAKE2B 29acbe64c62dd2a0cf1f1833a532e338c564fa8b1c73a131476869cb9caf988a6d5de1abba837661bf916d29068383f1fe724282de9eacf40a93bac133553872 SHA512 826d21ed3e45feebe8c083b9fc9fc8e2a64aaec972d58388c94eabeaa3c2d8e4c86f1620a7caa6a1784f2f84641aec3df4b20006fe369eeaeb1968b838497b56 DIST qttools-everywhere-src-6.11.2.tar.xz 10226452 BLAKE2B 52489f7754aa37884cae0149cf4b0c5f3882c182170d3c92f6bfd95f0cc9e30162eb9d1349fdb8f634f8ab29b863d10cf54d98521ba6e14209067bba2f33b23c SHA512 2c420cbafbcfa300168e1c46d0e8a71e15671b065e6a2190eebcb4f1456cc95175c0e8ce0831ab9e4cca7263ba18c0320f4a1c677c4aa2f796c19afe8a76f482 diff --git a/dev-qt/qttools/qttools-6.11.2.ebuild b/dev-qt/qttools/qttools-6.11.2.ebuild index de64f0f3663a..556443683ed3 100644 --- a/dev-qt/qttools/qttools-6.11.2.ebuild +++ b/dev-qt/qttools/qttools-6.11.2.ebuild @@ -3,8 +3,9 @@ EAPI=8 -# match QDOC_SUPPORTED_CLANG_VERSIONS in src/qdoc/cmake/QDocConfiguration.cmake -LLVM_COMPAT=( {17..21} ) +# see QDOC_SUPPORTED_CLANG_VERSIONS in src/qdoc/cmake/QDocConfiguration.cmake +# for officially supported versions, but newer may work +LLVM_COMPAT=( {17..23} ) LLVM_OPTIONAL=1 # behaves very badly when qttools is not already installed, also @@ -15,6 +16,9 @@ QT6_RESTRICT_TESTS=1 inherit flag-o-matic llvm-r2 optfeature qt6-build xdg DESCRIPTION="Qt Tools Collection" +SRC_URI+=" + https://distfiles.gentoo.org/pub/dev/ionen@gentoo.org/${PN}-6.11.2-llvm22.patch.xz +" if [[ ${QT6_BUILD_TYPE} == release ]]; then KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" @@ -65,6 +69,10 @@ DEPEND=" ) " +PATCHES=( + "${WORKDIR}"/${PN}-6.11.2-llvm22.patch +) + src_prepare() { qt6-build_src_prepare diff --git a/dev-qt/qttools/qttools-6.11.9999.ebuild b/dev-qt/qttools/qttools-6.11.9999.ebuild index de64f0f3663a..556443683ed3 100644 --- a/dev-qt/qttools/qttools-6.11.9999.ebuild +++ b/dev-qt/qttools/qttools-6.11.9999.ebuild @@ -3,8 +3,9 @@ EAPI=8 -# match QDOC_SUPPORTED_CLANG_VERSIONS in src/qdoc/cmake/QDocConfiguration.cmake -LLVM_COMPAT=( {17..21} ) +# see QDOC_SUPPORTED_CLANG_VERSIONS in src/qdoc/cmake/QDocConfiguration.cmake +# for officially supported versions, but newer may work +LLVM_COMPAT=( {17..23} ) LLVM_OPTIONAL=1 # behaves very badly when qttools is not already installed, also @@ -15,6 +16,9 @@ QT6_RESTRICT_TESTS=1 inherit flag-o-matic llvm-r2 optfeature qt6-build xdg DESCRIPTION="Qt Tools Collection" +SRC_URI+=" + https://distfiles.gentoo.org/pub/dev/ionen@gentoo.org/${PN}-6.11.2-llvm22.patch.xz +" if [[ ${QT6_BUILD_TYPE} == release ]]; then KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" @@ -65,6 +69,10 @@ DEPEND=" ) " +PATCHES=( + "${WORKDIR}"/${PN}-6.11.2-llvm22.patch +) + src_prepare() { qt6-build_src_prepare diff --git a/dev-qt/qttools/qttools-6.12.9999.ebuild b/dev-qt/qttools/qttools-6.12.9999.ebuild index b3dc19d06eaf..3700693b0bd1 100644 --- a/dev-qt/qttools/qttools-6.12.9999.ebuild +++ b/dev-qt/qttools/qttools-6.12.9999.ebuild @@ -3,8 +3,9 @@ EAPI=8 -# match QDOC_SUPPORTED_CLANG_VERSIONS in src/qdoc/cmake/QDocConfiguration.cmake -LLVM_COMPAT=( {17..22} ) +# see QDOC_SUPPORTED_CLANG_VERSIONS in src/qdoc/cmake/QDocConfiguration.cmake +# for officially supported versions, but newer may work +LLVM_COMPAT=( {17..23} ) LLVM_OPTIONAL=1 # behaves very badly when qttools is not already installed, also diff --git a/dev-qt/qttools/qttools-6.9999.ebuild b/dev-qt/qttools/qttools-6.9999.ebuild index b3dc19d06eaf..3700693b0bd1 100644 --- a/dev-qt/qttools/qttools-6.9999.ebuild +++ b/dev-qt/qttools/qttools-6.9999.ebuild @@ -3,8 +3,9 @@ EAPI=8 -# match QDOC_SUPPORTED_CLANG_VERSIONS in src/qdoc/cmake/QDocConfiguration.cmake -LLVM_COMPAT=( {17..22} ) +# see QDOC_SUPPORTED_CLANG_VERSIONS in src/qdoc/cmake/QDocConfiguration.cmake +# for officially supported versions, but newer may work +LLVM_COMPAT=( {17..23} ) LLVM_OPTIONAL=1 # behaves very badly when qttools is not already installed, also diff --git a/dev-util/github-cli/Manifest b/dev-util/github-cli/Manifest index bb4f07c8c87a..a3b881dfa78d 100644 --- a/dev-util/github-cli/Manifest +++ b/dev-util/github-cli/Manifest @@ -1,3 +1,5 @@ +DIST github-cli-2.100.0-deps.tar.xz 62670456 BLAKE2B c8f93715498cac5090d2490688c238f32e5495d7df20006a260abcdd71b0abdf7212e23dacf9550e54a0b3ea0e686402bf7eb9eed956fcfa27ee8a02e8bcafbd SHA512 11b9ddb673749b90201b008fb9b7fe7a47fa356b7c33915f2220d710ff5edf4607119d51dbdba27e4f8374dadd2aba833554695ec2e4fa13a9731868584d6f7b +DIST github-cli-2.100.0.tar.gz 15067137 BLAKE2B 4fd52c059dfdc931d27860d953fbfbf8e0b2ce604549b6e28e9fdf8054014d807c42c542c3bba35cc73880df9f9177d2aa4c81d00c4816271bc6e7ba5097d74e SHA512 af9ea93dd72bc57ce7f66f164d26b11a1f7c2c2b7b8c76c447d5d3785d214757cac6e4682a409b05bd5560f170cd96423b5274351ac3042581d1fe65c67a8664 DIST github-cli-2.96.0-deps.tar.xz 62178716 BLAKE2B 9e06cb75d05b00785cc073d2c8ea4dd081a12686dd356586ef9335c8c453ed56aa87a783e2c11ae19b3402941c066054c227c695af8094af236452d99938ab28 SHA512 f2589251d1c65609338d3d20b0eba3db7379375f14f6bb9a65966d39cde98d3a32d1e7870343c957ab44794763846504329f0f198bd40e4496890c64a848a969 DIST github-cli-2.96.0.tar.gz 14796760 BLAKE2B 6fadf6a785d2f5fd5ec4ebc55bb08bb3eaaa135929595ca04119ebd0ecee131a1b2cec4ce77c59a408bf106a6b28ff8793b2bbc602f7a8cfb0a168445cb50553 SHA512 af530e2bd052bc75e20c1285712e35c952872160a690afba9127bd4654ea35d0963231e908648d5766803bfec803d39a58479b69e605d8e9ac7121ad0be1a6ca DIST github-cli-2.98.0-deps.tar.xz 62386296 BLAKE2B cc07ec3afe4723a366939648eb1b1985a109501077902c1e9982c0723b1373868284b2f91bddab6e9ce5b7ab785470d5c701194978f37ef02d9b5ba3cbab4b9a SHA512 4fe76d421986a8f2edc6262620c5e5ebe9321a3946fd82f52f17e3e9ef67dcc5b1e8f85d9d4ab43be08b4bbbf6b9ebab7c187425017ce97627accc0e83356505 diff --git a/dev-util/github-cli/github-cli-2.100.0.ebuild b/dev-util/github-cli/github-cli-2.100.0.ebuild new file mode 100644 index 000000000000..f45edf95ba48 --- /dev/null +++ b/dev-util/github-cli/github-cli-2.100.0.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=9 + +inherit go-module + +DESCRIPTION="GitHub CLI" +HOMEPAGE="https://github.com/cli/cli" + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/cli/cli.git" +else + SRC_URI="https://github.com/cli/cli/archive/v${PV}.tar.gz -> ${P}.tar.gz" + SRC_URI+=" https://github.com/gentoo-golang-dist/${PN}/releases/download/v${PV}/${P}-deps.tar.xz" + KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv" + S="${WORKDIR}/cli-${PV}" +fi + +LICENSE="MIT" +# Dependent licenses +LICENSE+=" Apache-2.0 BSD BSD-2 ISC MIT MPL-2.0 Unlicense" +SLOT="0" +RESTRICT="test" + +RDEPEND=">=dev-vcs/git-1.7.3" +BDEPEND=">=dev-lang/go-1.26.1" + +PATCHES=( + "${FILESDIR}/${PN}-2.92.0-disable-telemetry.patch" +) + +src_unpack() { + if [[ ${PV} == *9999 ]]; then + git-r3_src_unpack + go-module_live_vendor + else + go-module_src_unpack + fi +} + +src_compile() { + [[ ${PV} != 9999 ]] && export GH_VERSION="v${PV}" + emake prefix="${EPREFIX}/usr" bin/gh manpages completions +} + +src_install() { + emake prefix="${EPREFIX}/usr" DESTDIR="${D}" install + dodoc README.md +} diff --git a/dev-util/github-cli/metadata.xml b/dev-util/github-cli/metadata.xml index 17492b5107c4..478583f5b166 100644 --- a/dev-util/github-cli/metadata.xml +++ b/dev-util/github-cli/metadata.xml @@ -5,5 +5,9 @@ <email>williamh@gentoo.org</email> <name>William Hubbs</name> </maintainer> + <maintainer type="person"> + <email>arthurzam@gentoo.org</email> + <name>Arthur Zamarin</name> + </maintainer> <origin>baldeagleos-repo</origin> </pkgmetadata> diff --git a/dev-util/gitlab-cli/Manifest b/dev-util/gitlab-cli/Manifest index d54c3c621fc8..d189fb171ab0 100644 --- a/dev-util/gitlab-cli/Manifest +++ b/dev-util/gitlab-cli/Manifest @@ -2,6 +2,8 @@ DIST gitlab-cli-1.100.0-vendor.tar.xz 10362492 BLAKE2B bdb8e415d77a15eeb67cd1c7f DIST gitlab-cli-1.100.0.tar.bz2 17607550 BLAKE2B e4237b9ff926988edb5ac35baca3860beb894d6652dae8b065666e5f7d5bc62313e9e66233a3c191b793a453b489b52c54446c5a85a458248fdacd2049d14c73 SHA512 18eaa1202395b6285641cd0c775c5508ad9cd657eedb4f9e314434d7694fca181704ccf947435aa9ba8c0292510528679e2ba730e0daba9bedc77e793bc3594b DIST gitlab-cli-1.106.0-vendor.tar.xz 10388708 BLAKE2B 14bb5b6bcd8c4450bba277fbf69ba63350a357e34f2ac60c8556b17b81c9f822ed1ab78acc3015726110e56d0acbe07edc20b54153d18e45d290dfd2db5fdcc7 SHA512 44aa4d5dda1cc044e72476776c0e0a82c58dedf516ef3038f7df9b50493c4a3639752a908c93d8f00e45801c5dbd3a110d2fa4b4295d59d04bbafa48a699eeca DIST gitlab-cli-1.106.0.tar.bz2 17711631 BLAKE2B 4069c0094f73d1c0c79e1c6e9c92f9095b45237b46f51b3a9fe32ae14c20b0e075d9c1384f4f705fd6a07e3b49e01086476e44b1038f1a367cc6ce52e77e0889 SHA512 b8b287d7b7ae5f7b11ece75502c07c22fbfc17fbf313e20d59049041aab81a6d0c139be016c8b7a2c00e274177593580c096947aa0ba8c4b95507cc46422c19e +DIST gitlab-cli-1.116.0-vendor.tar.xz 10438712 BLAKE2B 92c55aac214c4f646813bb25697aa66b1c0eda7d4d0687b90092a1259d5cd5f5a06bb92b78f64235b62de25e12c269be1614b8b656ebda441ee7107de1c5385d SHA512 d8e89662c23a3156023169f81e41c2812131243d2f93b03ee0e49d56a3626c5d8503a1d9342d079cfb3e7226915fa9e10f77491fae42ddde796bcb9487ad3dcd +DIST gitlab-cli-1.116.0.tar.bz2 17874337 BLAKE2B 0524389cd0d4b2c3c9eb4a9c0ef3d8739dd38e3b0365b1a6d68afe14e87ed7e00f7c11852fbcc30f2ef4275215c9b273519385e83f935cc73942efe96ea8085f SHA512 22193ea737d6944bbe0aa6e220d6e5607a9e3c77a4cb054349947b51e415ab2d09268c7b593c8757ee36a307a891ab1115d2ff0963ed892ea57e70496a918ba0 DIST gitlab-cli-1.65.0-deps.tar.xz 45676844 BLAKE2B 62def35751dfb2fed5ac811520f45452468a71ae24947154a4731ea7011430626d3696cdad5e7887abc32abd74a587a2ceb56f6c7e2118e7ed619d5328f17dc7 SHA512 87edf69548b80277050bfd52ef53f4a3830042c512e4329353aa8c9ddc24442f2227d2c7ee4aa857b52760032e4e0b421f2ea0290f43d4dcbc280505e5183436 DIST gitlab-cli-1.65.0-man.tar.xz 30832 BLAKE2B cf0aacd559b9a98bb1ac85137020ea48f2ed7ae4fc61ae8159b0d019cbd3573c9140e5f6036ae31f77b578ce2ff28929eb8c44f4da9ed9ff8e3ebe7997d96c92 SHA512 b828de026c1f3c891e4a5da411c3d292933a9f82ddadeb1eaadf640934746bd9955ed19b8ebb509374057dfd91386451986cacb48b015c4b8a9495f70eaf3d7c DIST gitlab-cli-1.65.0.tar.bz2 16964412 BLAKE2B 5cb5d073c5624acfe890eb73fd504aadadd8cfd2d33040db25234f840a1d78e0afd149eb1c2d7f23d277e6f74cbfd5fd53734d7b185f26b5c3d59c3134d455d4 SHA512 e01548eb4419ebd441c991b7e30037ddc7a6184a7ddbcde4206a45a0d64a41baaf044db137f56e781eeadef85421f793d59b162922fb32a31f886092f44406e9 diff --git a/dev-util/gitlab-cli/gitlab-cli-1.116.0.ebuild b/dev-util/gitlab-cli/gitlab-cli-1.116.0.ebuild new file mode 100644 index 000000000000..90a43f0528c6 --- /dev/null +++ b/dev-util/gitlab-cli/gitlab-cli-1.116.0.ebuild @@ -0,0 +1,54 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=9 + +inherit go-module shell-completion sysroot + +# update on every bump +GIT_COMMIT=e8436ca8a1715369087a8c67787493b2434a3822 + +DESCRIPTION="the official gitlab command line interface" +HOMEPAGE="https://gitlab.com/gitlab-org/cli" +SRC_URI="https://gitlab.com/gitlab-org/cli/-/archive/v${PV}/${PN}-v${PV}.tar.bz2 -> ${P}.tar.bz2" +SRC_URI+=" https://github.com/gentoo-golang-dist/${PN}/releases/download/v${PV}/${P}-vendor.tar.xz" +S="${WORKDIR}/cli-v${PV}-${GIT_COMMIT}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +# tests communicate with gitlab.com and require a personal access token +RESTRICT="test" + +BDEPEND=">=dev-lang/go-1.27.0" + +QA_PRESTRIPPED=usr/bin/glab + +src_unpack() { + mkdir -p "${S}" || die + ln -s "../${P}/vendor" "${S}/vendor" || die + go-module_src_unpack +} + +src_compile() { + emake \ + BUILD_COMMIT_SHA=${GIT_COMMIT::8} \ + GLAB_VERSION=v${PV} \ + build manpage + + einfo "generating shell completion files" + sysroot_try_run_prefixed bin/glab completion -s bash > "${T}"/glab.bash || die + sysroot_try_run_prefixed bin/glab completion -s zsh > "${T}"/glab.zsh || die + sysroot_try_run_prefixed bin/glab completion -s fish > "${T}"/glab.fish || die +} + +src_install() { + dobin bin/glab + dodoc README.md + doman share/man/man1/* + + [[ -s "${T}"/glab.bash ]] && newbashcomp "${T}"/glab.bash glab + [[ -s "${T}"/glab.zsh ]] && newzshcomp "${T}"/glab.zsh _glab + [[ -s "${T}"/glab.fish ]] && dofishcomp "${T}"/glab.fish +} diff --git a/dev-util/gitlab-cli/metadata.xml b/dev-util/gitlab-cli/metadata.xml index 17492b5107c4..478583f5b166 100644 --- a/dev-util/gitlab-cli/metadata.xml +++ b/dev-util/gitlab-cli/metadata.xml @@ -5,5 +5,9 @@ <email>williamh@gentoo.org</email> <name>William Hubbs</name> </maintainer> + <maintainer type="person"> + <email>arthurzam@gentoo.org</email> + <name>Arthur Zamarin</name> + </maintainer> <origin>baldeagleos-repo</origin> </pkgmetadata> diff --git a/dev-util/intellij-idea/Manifest b/dev-util/intellij-idea/Manifest index 6c0891364886..2c8b5854c000 100644 --- a/dev-util/intellij-idea/Manifest +++ b/dev-util/intellij-idea/Manifest @@ -1,2 +1,2 @@ -DIST intellij-idea-2026.2.1-aarch64.tar.gz 1623506701 BLAKE2B 46dd9fea1428e3f4942338246337980ef20a089bfbe3a1faa60d06295507b30c6c86529a19a8b024a533dac94fb1415da9ee900b24bdaef67b984eadf9893e28 SHA512 1a54a9dee975a628d810eeaf0ed7183830f3629c7182a78e788342059a124a66d73a36a48d4e67716a4d005e2675998b473e31f6d1fafdfe82d8bc74d327f3c5 -DIST intellij-idea-2026.2.1.tar.gz 1600796874 BLAKE2B 065d0aeb62142a4ad8e6fd2d2a88d0fa616b23788c32ad863e8c56cc51a6f5e1b168de3a635b4ba5c7d77bd78a013aebfe5942367f41e583339827ca2b3d341f SHA512 d0f9798426c6603dfac1db32c77957cb8951501a876e6005ac7a760e89ef1354d2b812eb6c49eadc269cbecb262a9e9470c3359c28c15bf3aabf846e47ea5004 +DIST intellij-idea-2026.2.2-aarch64.tar.gz 1628647297 BLAKE2B cb87a1d607d02e5b1e28f68d60d7cd3048fa08428fd422511620a7781efde94f65bee87ff8d3ffcdb12e0eecf4fdc83a5442e0c707baa045d80f057fc4adb5ab SHA512 e73850ca6a321fcf71127637c989b2d24bd8b76e1cd586a590c1f36874573e05213f91ec62c76ba6ac8409f297c37444736f6c87e29ae8b6c8314e27671e22d6 +DIST intellij-idea-2026.2.2.tar.gz 1606104586 BLAKE2B cb0e2c63256857c72b1191e00b2e57c5f98807c616f68751ff320346317f233d9a833a0e6d0100c1c29a6b2e789ddcf7735dabf0a3d9a6f26ece2579b631a6d8 SHA512 03d89b0d1e423ab3d5af9a8412f581f96dd5cb84cc35c72abd12df50d570628aacf81cefd23523db88c1588f9d25b0efc1b3be5a33c358d17b015d6f7cb1f674 diff --git a/dev-util/intellij-idea/intellij-idea-2026.2.1.ebuild b/dev-util/intellij-idea/intellij-idea-2026.2.2.ebuild index 7ab03efa4565..7ab03efa4565 100644 --- a/dev-util/intellij-idea/intellij-idea-2026.2.1.ebuild +++ b/dev-util/intellij-idea/intellij-idea-2026.2.2.ebuild diff --git a/dev-util/pixi/Manifest b/dev-util/pixi/Manifest index 37bbe570fa76..949cf6fede2e 100644 --- a/dev-util/pixi/Manifest +++ b/dev-util/pixi/Manifest @@ -1,6 +1,6 @@ -DIST pixi-0.77.1-crates.tar.xz 78456632 BLAKE2B 0e4f740dd69f74f39a67c66b61883aaad301b5fd9b5cca14f56a97a569e9709d5a0df51e1c6b16d2ba71d0ba8e2cc2210827c4dffed8522a94320edbc1f04c11 SHA512 d86ea7dab16b6848286f085604e2f4683838fae8f346e15d0d5976006f9e3182d3a39453ed8bd82e9ebf5e45d0ff9dcb4b9c7b725200e84ff9719ea4f803dd9b -DIST pixi-0.77.1.tar.gz 19822590 BLAKE2B ae51fb04f7abc6648e1da7e00a3537705dcd2864148709e52a886cd99d63a721675fd99a446cada1804737a993c9569eecaec9d2942bdcd97061a984e1e43531 SHA512 df836333d74e3b6bd22f34167ea7ee3574e615cbfae718971ff6c7702d967644694cf798fa1eae7d3f7ee4749e401d328a692eb05e98b1119bb26245daa00701 DIST pixi-0.78.0-crates.tar.xz 78464748 BLAKE2B 1302ce5ab22d0167af1fdcff6602e865f37478d93a1bf2c78a5ce2d0c82b98f2f1947c488f952d8aa4bf60a5fc8cea182f05b0e845d4b782e6006697f7b7522d SHA512 eac5649d36e4c70576f72e65c5be03e2a3b768ef33c2691a53c5b929aa50d6182b46d686d09ac2fd23d94ebfab06ac5de3fd8996bbb519ca63291df239d6ab85 DIST pixi-0.78.0.tar.gz 19863645 BLAKE2B 7c70cb172db3588d435c670ee74ba5d832a096ee25272f558299175281950f281cbce33940cc30cff921b0a185b4ab90f1c494b6e7fa2060670a4bd036a43937 SHA512 f91c043e5b462a26077ceff31c2b02150c6addefc62c7a10442427c6b45c75610af93216f237233bd96348228f0db61069e78d512e299480eca676b3e946377a +DIST pixi-0.79.0-crates.tar.xz 78344160 BLAKE2B 4965008f0b0185ef729fa728215d7ae72c2b8357f62f75a1416b58be90e9ac0b2f21315d803d62e84b13cde063ea4ec7e7853e6dc3f4023f5bbf86d6c2335f18 SHA512 3a8dbbdc75148add5a5ad8b3f3211ef48976c612a0b4a77560b93766bcf15f6a0e0ea5bd4d9b0d3ad09bfb92b7f5e27093ece3bf469472d3ebd4db836507b76c +DIST pixi-0.79.0.tar.gz 19868796 BLAKE2B d736801e76bae9aa5cd0dc004db96142c42aa35aa7a6a8eae11635b2c96dbe41ec5a01a8d72dc1d611ce85a24399501a4bc71383a7dda2385682a02e09097398 SHA512 ae6a01d5b07b8b23b02b04cef8bc01a894236681a7203cce8ddd8502482532c7694e4633a5ceee0fe0fe7e9f7dc6387668ed41cb9bb4a93854b55e65a699486e DIST pubgrub-d8efd77673c9a90792da9da31b6c0da7ea8a324b.gh.tar.gz 100042 BLAKE2B cacdd77783aae1a94c3aaea56c2bd47b22f13ca34eddcef53b5d205244a213eff2934db03965532085c1aa6892b27bbbabfc19513f62936f8ac1faa466570dd4 SHA512 3a2a146fd9d9b458dced6563a1f5674e81e8ba36de11be5c189b0c76b6ede6f32957f48fb0978b97b0892768822c6c4c32c6870141e8fc1ea5d8b8f7d8b5b464 DIST uv-3cffe97c2e48c9e49422c738da3af95919dd0bf5.gh.tar.gz 5303746 BLAKE2B b45e64d4c036c2fb54ca3e82a1ce953363f10786e76bb1128e20a6204c03dff3e0d18e3ca652320f81d78b94cebdaefd463b45da639260659e00fa0e2cd3d1f6 SHA512 444defce55de8bca79d9d572dc5231198c23df07a43048c7b621496d35ea46fc274b3aa3eb97fcfc4a045ac81ab540dcf9657ef1d74d5a9535e1a86a68e7d9e6 diff --git a/dev-util/pixi/pixi-0.77.1.ebuild b/dev-util/pixi/pixi-0.79.0.ebuild index 8913b7bf42cc..8913b7bf42cc 100644 --- a/dev-util/pixi/pixi-0.77.1.ebuild +++ b/dev-util/pixi/pixi-0.79.0.ebuild diff --git a/dev-vcs/jj/Manifest b/dev-vcs/jj/Manifest index 5e9ae2c0b6f9..9ad83bb7246a 100644 --- a/dev-vcs/jj/Manifest +++ b/dev-vcs/jj/Manifest @@ -5,4 +5,6 @@ DIST jj-0.42.0-crates.tar.xz 29760440 BLAKE2B e3d2d8929b832ac7a430f7347f69524252 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 diff --git a/dev-vcs/jj/jj-0.45.1.ebuild b/dev-vcs/jj/jj-0.45.1.ebuild new file mode 100644 index 000000000000..800ab3bf6b1f --- /dev/null +++ b/dev-vcs/jj/jj-0.45.1.ebuild @@ -0,0 +1,58 @@ +# 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 +} + +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 +} diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass index 004c04293585..e53499cb4b11 100644 --- a/eclass/distutils-r1.eclass +++ b/eclass/distutils-r1.eclass @@ -1120,30 +1120,36 @@ distutils_pep517_install() { fi ;; sip) - if [[ -n ${DISTUTILS_ARGS[@]} ]]; then - # NB: for practical reasons, we support only --foo=bar, - # not --foo bar - local arg - for arg in "${DISTUTILS_ARGS[@]}"; do - [[ ${arg} != -* ]] && - die "Bare arguments in DISTUTILS_ARGS unsupported: ${arg}" - done + # NB: for practical reasons, we support only --foo=bar, + # not --foo bar + local arg + for arg in "${DISTUTILS_ARGS[@]}"; do + [[ ${arg} != -* ]] && + die "Bare arguments in DISTUTILS_ARGS unsupported: ${arg}" + done - config_settings=$( - "${EPYTHON}" - "${DISTUTILS_ARGS[@]}" <<-EOF || die - import collections - import json - import sys + local sip_args=( + # sip adds manylinux to tags by default which is wrong + # without a curated environment and causes problems on + # musl with gpep517's --verify-tags + --no-manylinux + "${DISTUTILS_ARGS[@]}" + ) - args = collections.defaultdict(list) - for arg in (x.split("=", 1) for x in sys.argv[1:]): \ - args[arg[0]].extend( - [arg[1]] if len(arg) > 1 else []) + config_settings=$( + "${EPYTHON}" - "${sip_args[@]}" <<-EOF || die + import collections + import json + import sys - print(json.dumps(args)) - EOF - ) - fi + args = collections.defaultdict(list) + for arg in (x.split("=", 1) for x in sys.argv[1:]): \ + args[arg[0]].extend( + [arg[1]] if len(arg) > 1 else []) + + print(json.dumps(args)) + EOF + ) ;; *) [[ -n ${DISTUTILS_ARGS[@]} ]] && diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass index b07ceaf63ce7..ed601c9a0fe3 100644 --- a/eclass/elisp-common.eclass +++ b/eclass/elisp-common.eclass @@ -25,7 +25,7 @@ # When relying on the emacs USE flag, you need to add # # @CODE -# emacs? ( >=app-editors/emacs-26.3:* ) +# emacs? ( >=app-editors/emacs-27.2:* ) # @CODE # # to your DEPEND/RDEPEND line and use the functions provided here to @@ -206,7 +206,7 @@ EMACS=${EPREFIX}/usr/bin/emacs # @ECLASS_VARIABLE: EMACSFLAGS # @DESCRIPTION: # Flags for executing Emacs in batch mode. -# These work for Emacs versions 18 to 30, so don't change them. +# These work for Emacs versions 18 to 31, so don't change them. EMACSFLAGS="-batch -q --no-site-file" # @ECLASS_VARIABLE: BYTECOMPFLAGS @@ -217,7 +217,7 @@ BYTECOMPFLAGS="-L ." # @ECLASS_VARIABLE: NEED_EMACS # @DESCRIPTION: # The minimum Emacs version required for the package. -: "${NEED_EMACS:=26.3}" +: "${NEED_EMACS:=27.2}" # @ECLASS_VARIABLE: _ELISP_EMACS_VERSION # @INTERNAL @@ -234,8 +234,9 @@ elisp-emacs-version() { local version ret tmout="timeout -k 5 55" # Run without timeout if the command is not available ${tmout} true &>/dev/null || tmout="" - # The following will work for at least versions 18 to 30. - echo "(princ emacs-version)" >"${T}"/emacs-version.el + # The following will work for at least versions 18 to 31. + printf '%s\n' ";;-*-lexical-binding:t-*-" "(princ emacs-version)" \ + >"${T}"/emacs-version.el version=$( # EMACS could be a microemacs variant that ignores the -batch # option and would therefore hang, waiting for user interaction. diff --git a/eclass/rust.eclass b/eclass/rust.eclass index 6d2a676dec91..112b63ac8a13 100644 --- a/eclass/rust.eclass +++ b/eclass/rust.eclass @@ -68,6 +68,7 @@ fi # Definitive list of Rust slots and the associated LLVM slot, newest first. declare -A -g -r _RUST_LLVM_MAP=( ["9999"]=22 + ["1.98.1"]=22 ["1.97.1"]=22 ["1.96.1"]=22 ["1.95.0"]=22 @@ -106,6 +107,7 @@ declare -A -g -r _RUST_LLVM_MAP=( # this array is used to store the Rust slots in a more convenient order for iteration. declare -a -g -r _RUST_SLOTS_ORDERED=( "9999" + "1.98.1" "1.97.1" "1.96.1" "1.95.0" diff --git a/games-emulation/pcsx2/files/pcsx2-2.8.1-libcxx23.patch b/games-emulation/pcsx2/files/pcsx2-2.8.1-libcxx23.patch new file mode 100644 index 000000000000..0ae7d6186584 --- /dev/null +++ b/games-emulation/pcsx2/files/pcsx2-2.8.1-libcxx23.patch @@ -0,0 +1,62 @@ +--- a/common/Linux/LnxHostSys.cpp ++++ b/common/Linux/LnxHostSys.cpp +@@ -19,2 +19,5 @@ + #include <ucontext.h> ++#ifndef __FreeBSD__ ++#include <cstdlib> ++#endif + #endif +--- a/common/ReadbackSpinManager.cpp ++++ b/common/ReadbackSpinManager.cpp +@@ -6,2 +6,3 @@ + #include <algorithm> ++#include <cstdlib> + +--- a/common/SmallString.cpp ++++ b/common/SmallString.cpp +@@ -9,2 +9,3 @@ + #include <cstdio> ++#include <cstdlib> + #include <cstring> +--- a/common/YAML.cpp ++++ b/common/YAML.cpp +@@ -12,2 +12,3 @@ + #include <csetjmp> ++#include <exception> + +--- a/pcsx2/CDVD/ThreadedFileReader.h ++++ b/pcsx2/CDVD/ThreadedFileReader.h +@@ -11,2 +11,3 @@ + #include <condition_variable> ++#include <string> + +--- a/pcsx2/GS/MultiISA.cpp ++++ b/pcsx2/GS/MultiISA.cpp +@@ -14,2 +14,3 @@ + #ifdef _M_X86 ++#include <cstdlib> + +--- a/pcsx2/Host/SDLAudioStream.cpp ++++ b/pcsx2/Host/SDLAudioStream.cpp +@@ -9,2 +9,3 @@ + ++#include <cstdlib> + #include <SDL3/SDL.h> +--- a/pcsx2/Patch.h ++++ b/pcsx2/Patch.h +@@ -22,2 +22,3 @@ + ++#include <cstdlib> + #include <string> +--- a/pcsx2/USB/qemu-usb/core.cpp ++++ b/pcsx2/USB/qemu-usb/core.cpp +@@ -35,2 +35,3 @@ + #include <climits> ++#include <cstdlib> + #include <cstring> +--- a/pcsx2/USB/qemu-usb/usb-ohci.cpp ++++ b/pcsx2/USB/qemu-usb/usb-ohci.cpp +@@ -10,2 +10,3 @@ + ++#include <cstdlib> + #include <cstring> diff --git a/games-emulation/pcsx2/pcsx2-2.8.1.ebuild b/games-emulation/pcsx2/pcsx2-2.8.1.ebuild index cc2f77f3f6c5..5b40bcce55ad 100644 --- a/games-emulation/pcsx2/pcsx2-2.8.1.ebuild +++ b/games-emulation/pcsx2/pcsx2-2.8.1.ebuild @@ -94,6 +94,7 @@ PATCHES=( "${FILESDIR}"/${PN}-2.6.3-cubeb-alsa.patch "${FILESDIR}"/${PN}-2.6.3-ffmpeg9.patch "${FILESDIR}"/${PN}-2.8.0-musl-sysconf.patch + "${FILESDIR}"/${PN}-2.8.1-libcxx23.patch ) CMAKE_QA_COMPAT_SKIP=1 #957976 diff --git a/games-emulation/pcsx2/pcsx2-9999.ebuild b/games-emulation/pcsx2/pcsx2-9999.ebuild index 6676ff0e7e00..a4259237a982 100644 --- a/games-emulation/pcsx2/pcsx2-9999.ebuild +++ b/games-emulation/pcsx2/pcsx2-9999.ebuild @@ -93,6 +93,7 @@ PATCHES=( "${FILESDIR}"/${PN}-2.6.3-climits.patch "${FILESDIR}"/${PN}-2.6.3-cubeb-alsa.patch "${FILESDIR}"/${PN}-2.8.0-musl-sysconf.patch + "${FILESDIR}"/${PN}-2.8.1-libcxx23.patch ) CMAKE_QA_COMPAT_SKIP=1 #957976 diff --git a/llvm-runtimes/libunwind/libunwind-17.0.6.ebuild b/llvm-runtimes/libunwind/libunwind-17.0.6.ebuild index 36bfaf30e75a..381ab69fa60d 100644 --- a/llvm-runtimes/libunwind/libunwind-17.0.6.ebuild +++ b/llvm-runtimes/libunwind/libunwind-17.0.6.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 diff --git a/llvm-runtimes/libunwind/libunwind-18.1.8.ebuild b/llvm-runtimes/libunwind/libunwind-18.1.8.ebuild index 9e958d90dd1a..334ea1dcdaf6 100644 --- a/llvm-runtimes/libunwind/libunwind-18.1.8.ebuild +++ b/llvm-runtimes/libunwind/libunwind-18.1.8.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 diff --git a/llvm-runtimes/libunwind/libunwind-19.1.7.ebuild b/llvm-runtimes/libunwind/libunwind-19.1.7.ebuild index 5b8cd8f4064d..f3b5f8aec6da 100644 --- a/llvm-runtimes/libunwind/libunwind-19.1.7.ebuild +++ b/llvm-runtimes/libunwind/libunwind-19.1.7.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 diff --git a/llvm-runtimes/libunwind/libunwind-20.1.8-r1.ebuild b/llvm-runtimes/libunwind/libunwind-20.1.8-r1.ebuild index 432b4300ec37..f4492eb10845 100644 --- a/llvm-runtimes/libunwind/libunwind-20.1.8-r1.ebuild +++ b/llvm-runtimes/libunwind/libunwind-20.1.8-r1.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 diff --git a/llvm-runtimes/libunwind/libunwind-21.1.8.ebuild b/llvm-runtimes/libunwind/libunwind-21.1.8.ebuild index 5a8d206b7e4a..d65c980a9bd7 100644 --- a/llvm-runtimes/libunwind/libunwind-21.1.8.ebuild +++ b/llvm-runtimes/libunwind/libunwind-21.1.8.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 diff --git a/llvm-runtimes/libunwind/libunwind-22.1.8.ebuild b/llvm-runtimes/libunwind/libunwind-22.1.8-r1.ebuild index d65c980a9bd7..af3f07541e13 100644 --- a/llvm-runtimes/libunwind/libunwind-22.1.8.ebuild +++ b/llvm-runtimes/libunwind/libunwind-22.1.8-r1.ebuild @@ -13,7 +13,7 @@ HOMEPAGE="https://llvm.org/docs/ExceptionHandling.html" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="0" KEYWORDS="amd64 arm arm64 ~loong ~mips ~ppc ppc64 ~riscv ~sparc x86 ~arm64-macos ~x64-macos" -IUSE="+clang debug static-libs test" +IUSE="cet +clang debug static-libs test" REQUIRED_USE="test? ( clang )" RESTRICT="!test? ( test )" @@ -133,6 +133,7 @@ multilib_src_configure() { -DLLVM_ENABLE_RUNTIMES="libunwind" -DLLVM_LIBDIR_SUFFIX=${libdir#lib} -DLLVM_INCLUDE_TESTS=OFF + -DLIBUNWIND_ENABLE_CET=$(usex cet) -DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug) -DLIBUNWIND_ENABLE_STATIC=$(usex static-libs) -DLIBUNWIND_INCLUDE_TESTS=$(usex test) diff --git a/llvm-runtimes/libunwind/libunwind-23.1.0.ebuild b/llvm-runtimes/libunwind/libunwind-23.1.0-r1.ebuild index a0ae74127f79..c8f3e271aa11 100644 --- a/llvm-runtimes/libunwind/libunwind-23.1.0.ebuild +++ b/llvm-runtimes/libunwind/libunwind-23.1.0-r1.ebuild @@ -13,7 +13,7 @@ HOMEPAGE="https://llvm.org/docs/ExceptionHandling.html" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="0" KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~arm64-macos ~x64-macos" -IUSE="+clang debug static-libs test" +IUSE="cet +clang debug static-libs test" REQUIRED_USE="test? ( clang )" RESTRICT="!test? ( test )" @@ -134,6 +134,7 @@ multilib_src_configure() { -DLLVM_LIBDIR_SUFFIX=${libdir#lib} -DLLVM_INCLUDE_TESTS=OFF -DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug) + -DLIBUNWIND_ENABLE_CET=$(usex cet) -DLIBUNWIND_ENABLE_STATIC=$(usex static-libs) -DLIBUNWIND_INCLUDE_TESTS=$(usex test) -DLIBUNWIND_INSTALL_HEADERS=ON diff --git a/llvm-runtimes/libunwind/libunwind-24.0.0.9999.ebuild b/llvm-runtimes/libunwind/libunwind-24.0.0.9999.ebuild index 3a2535cd561c..264dc5aae763 100644 --- a/llvm-runtimes/libunwind/libunwind-24.0.0.9999.ebuild +++ b/llvm-runtimes/libunwind/libunwind-24.0.0.9999.ebuild @@ -12,7 +12,7 @@ HOMEPAGE="https://llvm.org/docs/ExceptionHandling.html" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="0" -IUSE="+clang +debug static-libs test" +IUSE="cet +clang +debug static-libs test" REQUIRED_USE="test? ( clang )" RESTRICT="!test? ( test )" @@ -132,6 +132,7 @@ multilib_src_configure() { -DLLVM_ENABLE_RUNTIMES="libunwind" -DLLVM_LIBDIR_SUFFIX=${libdir#lib} -DLLVM_INCLUDE_TESTS=OFF + -DLIBUNWIND_ENABLE_CET=$(usex cet) -DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug) -DLIBUNWIND_ENABLE_STATIC=$(usex static-libs) -DLIBUNWIND_INCLUDE_TESTS=$(usex test) diff --git a/llvm-runtimes/libunwind/libunwind-24.0.0_pre20260725.ebuild b/llvm-runtimes/libunwind/libunwind-24.0.0_pre20260725.ebuild index 3a2535cd561c..264dc5aae763 100644 --- a/llvm-runtimes/libunwind/libunwind-24.0.0_pre20260725.ebuild +++ b/llvm-runtimes/libunwind/libunwind-24.0.0_pre20260725.ebuild @@ -12,7 +12,7 @@ HOMEPAGE="https://llvm.org/docs/ExceptionHandling.html" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="0" -IUSE="+clang +debug static-libs test" +IUSE="cet +clang +debug static-libs test" REQUIRED_USE="test? ( clang )" RESTRICT="!test? ( test )" @@ -132,6 +132,7 @@ multilib_src_configure() { -DLLVM_ENABLE_RUNTIMES="libunwind" -DLLVM_LIBDIR_SUFFIX=${libdir#lib} -DLLVM_INCLUDE_TESTS=OFF + -DLIBUNWIND_ENABLE_CET=$(usex cet) -DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug) -DLIBUNWIND_ENABLE_STATIC=$(usex static-libs) -DLIBUNWIND_INCLUDE_TESTS=$(usex test) diff --git a/llvm-runtimes/libunwind/metadata.xml b/llvm-runtimes/libunwind/metadata.xml index c7ae1c9b678f..68eba1b42287 100644 --- a/llvm-runtimes/libunwind/metadata.xml +++ b/llvm-runtimes/libunwind/metadata.xml @@ -5,6 +5,7 @@ <email>llvm@gentoo.org</email> </maintainer> <use> + <flag name="cet">Enable Intel Control-flow Enforcement Technology</flag> <flag name="clang">Force building using installed clang (rather than the default CC/CXX; required for testing).</flag> </use> diff --git a/mail-client/thunderbird/thunderbird-140.15.0.ebuild b/mail-client/thunderbird/thunderbird-140.15.0.ebuild index dcfeaa6de6d3..e2afe1d68d63 100644 --- a/mail-client/thunderbird/thunderbird-140.15.0.ebuild +++ b/mail-client/thunderbird/thunderbird-140.15.0.ebuild @@ -74,7 +74,7 @@ else fi LICENSE="MPL-2.0 GPL-2 LGPL-2.1" -KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~x86" +KEYWORDS="amd64 arm64 ~loong ~ppc64 ~x86" IUSE="+clang debug eme-free hardened hwaccel jack libproxy pgo pulseaudio selinux sndio" IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx" diff --git a/mail-mta/postfix/Manifest b/mail-mta/postfix/Manifest index 4f6f1c82ae54..84bdbe5fec14 100644 --- a/mail-mta/postfix/Manifest +++ b/mail-mta/postfix/Manifest @@ -1,4 +1,4 @@ DIST postfix-3.11.6.tar.gz 5289392 BLAKE2B e4a1194fa3f718212413bcee4f61f3c7fe3bd6b0bc6e96a714ca4093e3827350c2eda0e68c5826d865fc9c657e6bcebb0724b99c282c7a85dd877f2207de5075 SHA512 eddb71b7b64a8f9e0fca8a93679e86ac53eebc458a09910e5f3a871523d35361071a391cc904e511835137d4461a6a779c1b24c519e2f6a7de577e55e71a75ba DIST postfix-3.11.6.tar.gz.asc 220 BLAKE2B 594b165846bf1ef6ead41a135b38cc9e4180a61450c529bd57f022180758074a9f546c472ccca21452b49f723395c0f33e02bb314d20dc708438ed992f51f5e3 SHA512 d8255c2d7fda771b45e261d68ba8d1a066217b851c88a2d9c5de231b98c0ec5f1d7a41948d51c5f388400301cf6a804c7ded24561ad137f1f635b21c24281651 -DIST postfix-3.12-20260821.tar.gz 5424185 BLAKE2B 51555c48908359300cd9db553a8837cb215c1c1d11ec12c5912d9b525895ebdb4add7cde5387d8f188c31a915896bf167afbee6336e50108ec143e2f7a4045b8 SHA512 c4a637537992048368303e8d01811e4a440a83ced0ea5155e25764c5dc4a42d96af6aeb70eb49791dbf00b95abd0e7c39955aedd1b7780310169541ceb52edab -DIST postfix-3.12-20260821.tar.gz.asc 220 BLAKE2B caeefac4fa4134a2eb7612836ffd939e4fd9f40693ec05916cc6028ce680af3b3e31f4da75062bc4077bdfc0419b399b65f2db9465e5f4dde3aa4081f6944b92 SHA512 cc243360f2ab20d30cadcd43ef9cf15601d3a40e466b516f0b2f11db7a089d780ede26e6f5ec4237059881c925614c6b2eaeada2605161ba5719c0359b6f9cd0 +DIST postfix-3.12-20260901.tar.gz 5425210 BLAKE2B 8d17972e29d76d0dfe9d1fbb53d590d3b927f8e6add27b8b154311ab8a557ef0904f4110fd06fa0400e256464875400ffe7decd3a80dbd7b278f942badef0715 SHA512 6c1a6cea8871f4c0e7b6ddc1240bc32a75cdad92e9d2ec6d0b8d708b3d603031f211f8e51373e185251c5df63dc4c575c88ec9dcb9182f71e6ffffdc896be52f +DIST postfix-3.12-20260901.tar.gz.asc 220 BLAKE2B ec001e12e7062b59477fcba11e03c80256d62f408c3962e034a59cc34ace5bf00d977a3d13c6e733c1aa36b4cc667cd2de81ca7790a5a9a00c00910e1b86a072 SHA512 d3f8e54d064d896e69f3c0a36e8979417e79a4aaa33fc036f4ae76b6d41b5d957f5b5686939d0ffb6cf5799979655226a81ae5afac0a58e75adc25a0c634a3c2 diff --git a/mail-mta/postfix/postfix-3.12_pre20260821.ebuild b/mail-mta/postfix/postfix-3.12_pre20260901.ebuild index d4d30ce8dba2..3e568b90be9c 100644 --- a/mail-mta/postfix/postfix-3.12_pre20260821.ebuild +++ b/mail-mta/postfix/postfix-3.12_pre20260901.ebuild @@ -36,9 +36,7 @@ DEPEND=" eai? ( dev-libs/icu:= ) ldap? ( net-nds/openldap:= ) ldap-bind? ( net-nds/openldap:=[sasl] ) - lmdb? ( - dev-db/lmdb:0= - ) + lmdb? ( dev-db/lmdb:0= ) mongodb? ( >=dev-libs/mongo-c-driver-1.23.0 >=dev-libs/libbson-1.23.0 ) mysql? ( dev-db/mysql-connector-c:0= ) nis? ( net-libs/libnsl:= ) diff --git a/media-radio/fldigi/Manifest b/media-radio/fldigi/Manifest index 6795f623959f..2bfb656a7d16 100644 --- a/media-radio/fldigi/Manifest +++ b/media-radio/fldigi/Manifest @@ -1,3 +1 @@ -DIST fldigi-4.2.11.tar.gz 5282315 BLAKE2B e25cb530138ad4f6161b429137313ba860e1285e751330a4d97035c90179ba797315541a450cba4a254f16167ec71c9cfd5e47a7e7d87c1a55b8ea5eacef2885 SHA512 3cd085ff6af34b358c68e6ae898ebb4738c9c09f8841ac69874b8383eba804232d40ffa31756da4690947f19547f1797be9c553ca456a4e89ac0db65425788e0 -DIST fldigi-4.2.12.tar.gz 5245873 BLAKE2B 6c4c3c86116c8464787c8c87926dfdeb2e2db3d40f2d7f299e3a1dd7a5c3c707bac41ab129790a96bc119600cc787afef475ecc92eb77d93345e5a9b36dfd2bd SHA512 aa68f2f0f39c2db7b0884374fb39a3cb8407d847e855c094c66b3d605235534489fbc1b775019ed6e11a7783525e0194e2442e3ca781fe24d5dfac907d156ed1 DIST fldigi-4.2.13.tar.gz 5244956 BLAKE2B c6878e7527bc2aab70bfef5bd89b1a3baf9cd4c25a5f5b0b6335dfda95c78a8f9669018683d663662d5c3a3c3ebbff0214ed7830952913b390b845bac0913be1 SHA512 1346dec156cdd6a1e6874feea615506ecef11f801093a8cb65973559de6fd71bd3617fe078aac8c06af01d77182831d8e199d2ec588e7a432e87d77be1d8ada8 diff --git a/media-radio/fldigi/fldigi-4.2.11.ebuild b/media-radio/fldigi/fldigi-4.2.11.ebuild deleted file mode 100644 index 09fe975ecc52..000000000000 --- a/media-radio/fldigi/fldigi-4.2.11.ebuild +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit flag-o-matic - -DESCRIPTION="Sound card based multimode software modem for Amateur Radio use" -HOMEPAGE="http://www.w1hkj.com" -SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="hamlib nls pulseaudio" -IUSE_CPU_FLAGS=" sse sse2 sse3" -IUSE+=" ${IUSE_CPU_FLAGS// / cpu_flags_x86_}" - -RDEPEND="x11-libs/fltk:1=[threads(+),xft(+)] - x11-libs/libX11 - virtual/libudev:= - media-libs/libsamplerate - media-libs/libpng:= - x11-misc/xdg-utils - dev-perl/RPC-XML - dev-perl/Term-ReadLine-Perl - || ( - media-libs/portaudio[oss] - media-libs/portaudio[alsa] - ) - hamlib? ( media-libs/hamlib:= ) - pulseaudio? ( media-libs/libpulse ) - media-libs/libsndfile" -DEPEND="${RDEPEND} - nls? ( sys-devel/gettext ) - virtual/pkgconfig" - -DOCS=( AUTHORS ChangeLog NEWS README ) - -PATCHES=( "${FILESDIR}/${PN}-drop-nullptr-definition.patch" ) - -src_configure() { - #fails to compile with -flto (bug #860405) - filter-lto - - append-cxxflags $(test-flags-CXX -std=c++14) - local myconf="" - - use cpu_flags_x86_sse && myconf="${myconf} --enable-optimizations=sse" - use cpu_flags_x86_sse2 && myconf="${myconf} --enable-optimizations=sse2" - use cpu_flags_x86_sse3 && myconf="${myconf} --enable-optimizations=sse3" - - econf ${myconf} \ - --with-sndfile \ - $(use_with hamlib) \ - $(use_enable nls) \ - $(use_with pulseaudio) \ - --without-asciidoc -} diff --git a/media-radio/fldigi/fldigi-4.2.12.ebuild b/media-radio/fldigi/fldigi-4.2.12.ebuild deleted file mode 100644 index 819eec8d0fb4..000000000000 --- a/media-radio/fldigi/fldigi-4.2.12.ebuild +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit flag-o-matic - -DESCRIPTION="Sound card based multimode software modem for Amateur Radio use" -HOMEPAGE="http://www.w1hkj.com" -SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="hamlib nls pulseaudio" -IUSE_CPU_FLAGS=" sse sse2 sse3" -IUSE+=" ${IUSE_CPU_FLAGS// / cpu_flags_x86_}" - -RDEPEND="x11-libs/fltk:1=[threads(+),xft(+)] - x11-libs/libX11 - virtual/libudev:= - media-libs/libsamplerate - media-libs/libpng:= - x11-misc/xdg-utils - dev-perl/RPC-XML - dev-perl/Term-ReadLine-Perl - || ( - media-libs/portaudio[oss] - media-libs/portaudio[alsa] - ) - hamlib? ( media-libs/hamlib:= ) - pulseaudio? ( media-libs/libpulse ) - media-libs/libsndfile" -DEPEND="${RDEPEND} - nls? ( sys-devel/gettext ) - virtual/pkgconfig" - -DOCS=( AUTHORS ChangeLog NEWS README ) - -PATCHES=( "${FILESDIR}/${PN}-drop-nullptr-definition.patch" ) - -src_configure() { - #fails to compile with -flto (bug #860405) - filter-lto - - append-cxxflags $(test-flags-CXX -std=c++14) - local myconf="" - - use cpu_flags_x86_sse && myconf="${myconf} --enable-optimizations=sse" - use cpu_flags_x86_sse2 && myconf="${myconf} --enable-optimizations=sse2" - use cpu_flags_x86_sse3 && myconf="${myconf} --enable-optimizations=sse3" - - econf ${myconf} \ - --with-sndfile \ - $(use_with hamlib) \ - $(use_enable nls) \ - $(use_with pulseaudio) \ - --without-asciidoc -} diff --git a/media-radio/flrig/Manifest b/media-radio/flrig/Manifest index bb10cc848c4a..6691589ba916 100644 --- a/media-radio/flrig/Manifest +++ b/media-radio/flrig/Manifest @@ -1,2 +1 @@ -DIST flrig-2.0.10.tar.gz 1225020 BLAKE2B b28691a07f13262e4a755979091fa73523da1f68ca0934072f72adbe0c7bd19fefb7024d9de644f9ce12ee7d693582b2b7b4e15b095cae82745322c64c3a9ad9 SHA512 d8ee677561f5bf3ba49f1c3da62836ce8504611b1774135e1f920eda71296bb3f45d056537111ac58c08d255fd3cd6a194dabd7adf2736dae811e68b5ffe82be DIST flrig-2.0.12.tar.gz 1233270 BLAKE2B 5648466fba123ed34257d7f53439f23d30fae458cc6d08b8db2b4d652ad3a57d5e2095aba4f4725a2ab4204d700be781f2351e38c85875a0599696392cd5e7b2 SHA512 717df725afa3512cf663f1667a20c3caa6fd023efb078aa164f0ad233d498b1d6d38390c03090bd84dae663462bcb8b16abc03f94a93ae449a41b87902f0b079 diff --git a/media-radio/flrig/flrig-2.0.10-r1.ebuild b/media-radio/flrig/flrig-2.0.10-r1.ebuild deleted file mode 100644 index e3b0ae627a21..000000000000 --- a/media-radio/flrig/flrig-2.0.10-r1.ebuild +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit flag-o-matic - -DESCRIPTION="Transceiver control program for Amateur Radio use" -HOMEPAGE="http://www.w1hkj.com/flrig-help/index.html" -SRC_URI="https://downloads.sourceforge.net/fldigi/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="nls" - -DOCS=(AUTHORS ChangeLog README) - -RDEPEND="x11-libs/libX11 - x11-libs/fltk:1= - x11-misc/xdg-utils" - -DEPEND="${RDEPEND} - sys-devel/gettext" - -PATCHES=( - "${FILESDIR}/${PN}-2.0.05-musl.patch" - "${FILESDIR}/${PN}-2.0.10-build-m4.patch" - ) - -src_prepare() { - default_src_prepare - eapply_user - autoreconf -i -} - -src_configure() { - #fails to compile with -flto (bug #860408) - filter-lto - - econf -} diff --git a/media-sound/beets/Manifest b/media-sound/beets/Manifest index c046418d0bb7..0ef3bab64fe5 100644 --- a/media-sound/beets/Manifest +++ b/media-sound/beets/Manifest @@ -1,9 +1,4 @@ -DIST beets-1.7.0_pre20240501.gh.tar.gz 2247319 BLAKE2B e215c8a2a30a44d298746351be4fa2de1cebb7d6aec2bc7dfc679b133ea5eddefec20d038aa1aa1d734b176c09163b93f917c6c29ea5115c4c2349e090c8c5df SHA512 f397c72b481d7d8822db598ab37c99d0b9063ae45455c0d34116fab7b5a4cc683a3357bdfe436181b1dea46ee05192cc37faf355b5e093d63c2e440e523b92bc -DIST beets-2.10.0.tar.gz 2282966 BLAKE2B 7e5819f1857d48a32581e854a7e4095afc28c2cb446a5f1fca6a3621d7443005ba901a753340cd2035cc8e2bcf176323b268fe0b903563d4983b8d9a9e0ee05d SHA512 9a34720f7d851b769f74bf573d8a8d8324f443b20dd6ec5c91f18457144a9ab5a912cb24d58a1da4d50ba3438f1a58f7763cb7268f1db134195369b07064e5d6 -DIST beets-2.10.0.tar.gz.provenance 9362 BLAKE2B b5a0eb9fd1a9da6d51218aed9003018e4f32c7cc9ef005f9775417b10bc3961c1374691cb7511b1c4a25602c971531e2a5c8ca5bdd0728e10c58d37b513197df SHA512 34f83916b45d2c97af64b4a0f46b4e33509d2a055c112daee627a2c44ab8d3e49df0149b36a06e3bdf5674cd3bfa19f167cabf70c29400cde22638c55653bb00 -DIST beets-2.11.0.tar.gz 2298259 BLAKE2B 33a8bd82c79fc41b3303424e36f7fcb98ed9d1480fbd1c0939044f7f354c48162a344a06698fba718f4bc7bcec40fb4758f72f80577aeb0984cf983a49278bee SHA512 54e077d893485786f3448e04c956b74aa247e731b85f6359dc208cf993bf2b7f4a4139dec6e8bc81bca05a79326314ba4a0427256eee63b56fe29085b972cf3a -DIST beets-2.11.0.tar.gz.provenance 9609 BLAKE2B 6dbcf6417c4127515e1860c7bee942bf824126aceae06a061ac2c7e2db92daaa0c584521c6e9c54f3faef63f3d0e08d5f1e6d0e9ee3779100d662c0298eb5bbc SHA512 f3f151bcb271c312f6b1927443701edebd2dcee1afee6c957aa80cf6789a6c2840446c231ba61f6e56633509d0e8c974607864b452b3f103238fd94ac5ed5992 DIST beets-2.12.0.tar.gz 2305682 BLAKE2B 40b4295a6cf8e66ed513b9c51600a80284baa9851ec91c9f17a17c3c54f3b019b4d70725159e814738ee716297be2a48d349b571fae85ea17169437a43647fd1 SHA512 ab069c6494925442b63b62c3530a122cdf1ba54281e086791f32699e91a59c3b81cfbe4687cbb28a70c6d47ae7889cf940461198247c4f52ba07287960319480 DIST beets-2.12.0.tar.gz.provenance 9656 BLAKE2B fe285697ea3ec8f907eb4a31a3d69637aa10b4d49cc9b6a1f980ac0b9e610b238f427c14118a5a32f3f2b521924b926474a7e2bf80ff8d02af602c164f5f8ed7 SHA512 bb033e9c9b2c80192cfe0e443e78fc030aa0342645ad595a0e27109b1b91dbba938ef063c4242fa9be710aa6f66cc2a6dade968109dbe47d5d50db8af98e9945 -DIST beets-2.3.1.tar.gz 2133246 BLAKE2B 1c5eb7ab0029683448bf996c82579f780940752146fa40a764cd3d353b7894226a4c7f8ae3c7ecca58c25dc1f2f8d44f0d66053f037c332f65396d0d90aa9754 SHA512 b065dd9f1ce5dd63779b085d44510e5158d23046fdc9ecaa1ce9a10d5f8fa660e1ad130c68fed4ddac323453fcbf6d1ea2dc2a9897931c486da099b87dcfc047 -DIST beets-2.3.1.tar.gz.provenance 9322 BLAKE2B ce059df773672f050ef9c3e0dee65313ce064190a8d3a8b0448947a2a288433cc5eff7cddae1d0c295f9067ac3efedaaac9a4a01e925ea22202b925e1f446186 SHA512 39ee130a52bac880d4565200a61a85cb7b2b3169841e66318fa392a6302ef1f5bed2be7cac0aaec8172a34747a88a52f9032f28c8144346e2cac80c33fb900c8 +DIST beets-2.13.1.tar.gz 2447541 BLAKE2B a483c5166f6deac68ea0bd027b2d6af7a33b61812c9208130c9638bdeb9ada0f3b317138f512f31d8b5d4acb8ca8bb5427433492deefe5ff8ccbf7dc0c88e25a SHA512 3a3eaeb16f061ede4648da1b1df9324ec9c7ec026e2ab8f59fcc19521c8715b4c98eb1ea04aa91c654ef10183f8053a41d4f5b7c72dec641bffa2dc979efc1d6 +DIST beets-2.13.1.tar.gz.provenance 9615 BLAKE2B f9588a8cde19117d183492592556be7595043014048bfb465809636ef7fed26c0a3573929e755c98cf199c85695639eb001d7245e4f85a0d1537da9bae13265e SHA512 92cdcc5c45b3b28c494beba4dfad0015a9583615f3e77dfbb5e8e3fdef828edf8a4537c638539181b55bb328b596558f97fb706decf9b2f01950bd75f8e82c33 diff --git a/media-sound/beets/beets-1.7.0_pre20240501-r1.ebuild b/media-sound/beets/beets-1.7.0_pre20240501-r1.ebuild deleted file mode 100644 index a893c29e24f8..000000000000 --- a/media-sound/beets/beets-1.7.0_pre20240501-r1.ebuild +++ /dev/null @@ -1,174 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_SINGLE_IMPL=1 -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{13..14} ) -PYTHON_REQ_USE="sqlite" - -# These envvars are used to treat github tarball builds differently -# from pypi sources. Enable where required -: ${IS_VCS_SOURCE="no"} -: ${UPDATE_VERSION="no"} - -inherit distutils-r1 bash-completion-r1 multiprocessing optfeature - -if [[ ${PV} == "9999" ]]; then - EGIT_REPO_URI="https://github.com/beetbox/beets.git" - inherit git-r3 -else - MY_COMMIT=c75f07a0da6c622d3cd0f5aad0a08edaea360dad - # This should be set to 1 if we're not sourcing tarballs from pypi; we need to generate mans. - IS_VCS_SOURCE="yes" - UPDATE_VERSION="yes" - SRC_URI="https://github.com/beetbox/beets/archive/${MY_COMMIT}.tar.gz -> ${P}.gh.tar.gz" - KEYWORDS="amd64 ~x86" - S="${WORKDIR}/${PN}-${MY_COMMIT}" -fi - -DESCRIPTION="Media library management system for obsessive music geeks" -HOMEPAGE="https://beets.io/ https://pypi.org/project/beets/" - -LICENSE="MIT" -SLOT="0" -IUSE="doc test" -RESTRICT="!test? ( test )" - -RDEPEND=" - $(python_gen_cond_dep ' - >=dev-python/jellyfish-0.7.1[${PYTHON_USEDEP}] - dev-python/munkres[${PYTHON_USEDEP}] - >=media-libs/mutagen-1.33[${PYTHON_USEDEP}] - >=dev-python/musicbrainzngs-0.4[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/confuse[${PYTHON_USEDEP}] - dev-python/mediafile[${PYTHON_USEDEP}] - dev-python/reflink[${PYTHON_USEDEP}] - dev-python/requests-oauthlib[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - dev-python/typing-extensions[${PYTHON_USEDEP}] - dev-python/unidecode[${PYTHON_USEDEP}] - ')" -DEPEND=" - ${RDEPEND} -" -BDEPEND=" - doc? ( - dev-python/sphinx - dev-python/pydata-sphinx-theme - ) - $(python_gen_cond_dep ' - test? ( - dev-db/sqlite[icu] - dev-python/beautifulsoup4[${PYTHON_USEDEP}] - dev-python/bluelet[${PYTHON_USEDEP}] - dev-python/python3-discogs-client[${PYTHON_USEDEP}] - dev-python/flask[${PYTHON_USEDEP}] - dev-python/mock[${PYTHON_USEDEP}] - dev-python/pyacoustid[${PYTHON_USEDEP}] - dev-python/pylast[${PYTHON_USEDEP}] - dev-python/pygobject:3[${PYTHON_USEDEP}] - dev-python/python-mpd2[${PYTHON_USEDEP}] - dev-python/pyxdg[${PYTHON_USEDEP}] - dev-python/reflink[${PYTHON_USEDEP}] - || ( - dev-python/pillow[${PYTHON_USEDEP}] - media-gfx/imagemagick - ) - dev-python/rarfile[${PYTHON_USEDEP}] - dev-python/responses[${PYTHON_USEDEP}] - dev-python/wheel[${PYTHON_USEDEP}] - media-libs/chromaprint[tools] - media-libs/flac - media-libs/gst-plugins-bad:1.0 - media-libs/gst-plugins-good:1.0 - media-sound/mp3val - media-sound/mp3gain - media-plugins/gst-plugins-libav:1.0 - media-video/ffmpeg[encode(+)] - app-shells/bash-completion - ) - ')" - -# Beets uses sphinx to generate manpages; these are not available -# directly in VCS sources, only pypi tarballs, so handle the dependency -# here automagically. -if [[ ${PV} == "9999" ]] || [[ ${IS_VCS_SOURCE} == "yes" ]]; then - BDEPEND+=" - dev-python/sphinx - " -fi - -DOCS=( README.rst docs/changelog.rst ) - -EPYTEST_XDIST=1 -distutils_enable_tests pytest - -src_prepare() { - # https://github.com/beetbox/beets/commit/8b4983fe7cae9397acd3e23602e419d8dc1041d4 - # merged code coverage into standard test runs; since we disable coverage globally - # we need to sed out some 'addopts' for coverage in setup.cfg that cause tests to choke. - sed -i -e "/--cov=beets/,+9d" setup.cfg || die "Failed to disable code coverage options in setup.cfg" - # Update the version if we're not building from pypy; it's probably a _pre or live ebuild. - if [[ ${PV} == "9999" ]] || [[ ${UPDATE_VERSION} == "yes" ]]; then - sed -i -e "s/version=\".*\"/version=\"${PV}\"/" setup.py || die "Failed to update version in VCS sources" - sed -i -e "s/__version__ = \".*\"/__version__ = \"${PV}\"/" beets/__init__.py - fi - default -} - -python_prepare_all() { - distutils-r1_python_prepare_all -} - -python_compile_all() { - if use doc ; then - sphinx-build -b html docs docs/build/html || die - fi - # If building from VCS sources we need to generate manpages, then copy them to ${S}/man - # We could install mans from the sphinx build path, but to be consistent with pypi for src_install - # we'll instead generate them and copy to the same install location if building from VCS sources. - if [[ ${PV} == "9999" ]] || [[ ${IS_VCS_SOURCE} == "yes" ]]; then - einfo "Building man pages" - sphinx-build -b man docs docs/build/man || die "Failed to generate man pages" - mkdir "${S}/man" || die - cp docs/build/man/{beet.1,beetsconfig.5} "${S}/man" || die - fi -} - -python_test() { - # https://github.com/beetbox/beets/issues/5243 testing bash completions is broken. - local EPYTEST_DESELECT=( - test/test_ui.py::CompletionTest::test_completion - ) - epytest -n$(makeopts_jobs) -v -} - -python_install_all() { - distutils-r1_python_install_all - - doman man/* - use doc && local HTML_DOCS=( docs/build/html/. ) - einstalldocs - # Generate the bash completions; we'll set PYTHONPATH for this invocation so that beets can start. - PYTHONPATH="${ED}/usr/lib/${PYTHON}:$PYTHONPATH" ${PYTHON} "${ED}/usr/bin/beet" completion > "${T}/beet.bash" || die - newbashcomp "${T}/beet.bash" beet - insinto /usr/share/zsh/site-functions - newins "${S}/extra/_beet" _beet - - optfeature "badfiles support" "media-libs/flac media-sound/mp3val" - optfeature "chromaprint support" "dev-python/pyacoustid media-libs/chromaprint[tools]" - optfeature "discogs support" dev-python/python3-discogs-client - optfeature "ffmpeg support" media-video/ffmpeg - optfeature "gstreamer support" "media-libs/gst-plugins-bad media-libs/gst-plugins-good" - optfeature "icu support" dev-db/sqlite[icu] - optfeature "lastfm support" dev-python/pylast - optfeature "mpd support" "dev-python/bluelet dev-python/python-mpd2" - optfeature "replaygain with gstreamer support" "dev-python/pygobject media-plugins/gst-plugins-libav" - optfeature "replaygain without gstreamer support" media-sound/mp3gain - optfeature "thumbnail support" dev-python/pyxdg "dev-python/pillow media-gfx/imagemagick" - optfeature "webserver support" dev-python/flask - optfeature "webserver cors support" dev-python/flask-cors -} diff --git a/media-sound/beets/beets-2.11.0.ebuild b/media-sound/beets/beets-2.11.0.ebuild deleted file mode 100644 index f258a8caec43..000000000000 --- a/media-sound/beets/beets-2.11.0.ebuild +++ /dev/null @@ -1,172 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_SINGLE_IMPL=1 -DISTUTILS_USE_PEP517=poetry -PYTHON_COMPAT=( python3_{13..14} ) -PYTHON_REQ_USE="sqlite" - -# These envvars are used to treat github tarball builds differently -# from pypi sources. Enable where required -: ${IS_VCS_SOURCE="no"} -: ${UPDATE_VERSION="no"} - -inherit distutils-r1 optfeature shell-completion - -if [[ ${PV} == "9999" ]]; then - EGIT_REPO_URI="https://github.com/beetbox/beets.git" - IS_VCS_SOURCE="yes" - UPDATE_VERSION="yes" - inherit git-r3 -else - PYPI_VERIFY_REPO=https://github.com/beetbox/beets - inherit pypi - MY_PV=${PV/_beta/-beta.} - MY_P=${PN}-${MY_PV} - KEYWORDS="amd64" - S="${WORKDIR}/${MY_P}" -fi - -DESCRIPTION="Media library management system for obsessive music geeks" -HOMEPAGE="https://beets.io/ https://pypi.org/project/beets/" - -LICENSE="MIT" -SLOT="0" - -# TODO: test-full with GITHUB_ACTIONS=true. Would require packaging more dependencies. - -RDEPEND=" - $(python_gen_cond_dep ' - >=dev-python/jellyfish-0.7.1[${PYTHON_USEDEP}] - >=media-libs/mutagen-1.33[${PYTHON_USEDEP}] - >=dev-python/confuse-2.2.0[${PYTHON_USEDEP}] - >=dev-python/lap-0.5.12[${PYTHON_USEDEP}] - >=dev-python/mediafile-0.16.2[${PYTHON_USEDEP}] - >=dev-python/numpy-2[${PYTHON_USEDEP}] - >=dev-python/packaging-24.0[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/reflink[${PYTHON_USEDEP}] - >=dev-python/requests-ratelimiter-0.7.0[${PYTHON_USEDEP}] - >=dev-python/requests-2.32.5[${PYTHON_USEDEP}] - dev-python/typing-extensions[${PYTHON_USEDEP}] - >=dev-python/unidecode-1.3.6[${PYTHON_USEDEP}] - ') -" -BDEPEND=" - $(python_gen_cond_dep ' - test? ( - dev-db/sqlite[icu] - dev-python/beautifulsoup4[${PYTHON_USEDEP}] - dev-python/bluelet[${PYTHON_USEDEP}] - dev-python/dbus-python[${PYTHON_USEDEP}] - dev-python/python3-discogs-client[${PYTHON_USEDEP}] - dev-python/flask[${PYTHON_USEDEP}] - dev-python/mock[${PYTHON_USEDEP}] - dev-python/pyacoustid[${PYTHON_USEDEP}] - dev-python/pylast[${PYTHON_USEDEP}] - dev-python/pygobject:3[${PYTHON_USEDEP}] - dev-python/python-mpd2[${PYTHON_USEDEP}] - dev-python/pyxdg[${PYTHON_USEDEP}] - dev-python/reflink[${PYTHON_USEDEP}] - || ( - dev-python/pillow[${PYTHON_USEDEP}] - media-gfx/imagemagick - ) - dev-python/rarfile[${PYTHON_USEDEP}] - dev-python/requests-mock[${PYTHON_USEDEP}] - dev-python/responses[${PYTHON_USEDEP}] - dev-python/wheel[${PYTHON_USEDEP}] - media-libs/chromaprint[tools] - media-libs/flac - media-libs/gst-plugins-bad:1.0 - media-libs/gst-plugins-good:1.0 - media-sound/mp3val - media-sound/mp3gain - media-plugins/gst-plugins-libav:1.0 - media-video/ffmpeg[encode(+)] - app-shells/bash-completion - ) - ') -" - -# Beets uses sphinx to generate manpages; these are not available -# directly in VCS sources, only pypi tarballs, so handle the dependency -# here automagically. -if [[ ${PV} == "9999" ]] || [[ ${IS_VCS_SOURCE} == "yes" ]]; then - BDEPEND+=" $(python_gen_cond_dep 'dev-python/sphinx[${PYTHON_USEDEP}]')" -fi - -DOCS=( README.rst docs/changelog.rst ) - -EPYTEST_PLUGINS=( pytest-flask ) -EPYTEST_IGNORE=( - # Not relevant downstream - test/test_release.py - # Unpackaged test dependencies: titlecase and pytest-factoryboy - # (These tests aren't included in the sdist) - test/plugins -) -EPYTEST_XDIST=1 -distutils_enable_tests pytest - -python_prepare_all() { - distutils-r1_python_prepare_all - - if [[ ${PV} == "9999" ]] || [[ ${UPDATE_VERSION} == "yes" ]]; then - sed -i -e "s/^version = \".*\"$/version = \"${PV}\"/" \ - pyproject.toml \ - || die "Failed to update version in VCS sources" - sed -i -e "s/__version__ = \".*\"/__version__ = \"${PV}\"/" beets/__init__.py - fi - - # Don't require extra unpackaged sphinx dependencies to generate man pages on live - sed -e '/sphinx_design/d' \ - -e '/sphinx_copybutton/d' \ - -e '/sphinx_toolbox/d' \ - -i docs/conf.py || die -} - -python_compile_all() { - # If building from VCS sources we need to generate manpages, then copy them to ${S}/man - # We could install mans from the sphinx build path, but to be consistent with pypi for src_install - # we'll instead generate them and copy to the same install location if building from VCS sources. - if [[ ${PV} == "9999" ]] || [[ ${IS_VCS_SOURCE} == "yes" ]]; then - einfo "Building man pages" - sphinx-build -b man docs docs/build/man || die "Failed to generate man pages" - mkdir "${S}/man" || die - cp docs/build/man/{beet.1,beetsconfig.5} "${S}/man" || die - fi -} - -python_install_all() { - distutils-r1_python_install_all - - # remove leftover file in sdist - if [[ -e man/_sphinx_design_static ]]; then - rm -rf man/_sphinx_design_static || die - fi - doman man/* - einstalldocs - - # Generate the bash completions; we'll set PYTHONPATH for this invocation so that beets can start. - PYTHONPATH="${ED}/usr/lib/${PYTHON}:$PYTHONPATH" ${PYTHON} "${ED}/usr/bin/beet" completion > "${T}/beet.bash" || die - newbashcomp "${T}/beet.bash" beet - newzshcomp "${S}/extra/_beet" _beet - - optfeature "badfiles support" "media-libs/flac media-sound/mp3val" - optfeature "chromaprint support" "dev-python/pyacoustid media-libs/chromaprint[tools]" - optfeature "discogs support" dev-python/python3-discogs-client - optfeature "ffmpeg support" media-video/ffmpeg - optfeature "gstreamer support" "media-libs/gst-plugins-bad media-libs/gst-plugins-good" - optfeature "icu support" dev-db/sqlite[icu] - optfeature "lastfm support" dev-python/pylast - optfeature "mpd support" "dev-python/bluelet dev-python/python-mpd2" - optfeature "replaygain with gstreamer support" "dev-python/pygobject media-plugins/gst-plugins-libav" - optfeature "replaygain without gstreamer support" media-sound/mp3gain - optfeature "thumbnail support" dev-python/pyxdg "dev-python/pillow media-gfx/imagemagick" - optfeature "webserver support" dev-python/flask - optfeature "webserver cors support" dev-python/flask-cors - optfeature "Amarok metadata synchronisation" dev-python/dbus-python -} diff --git a/media-sound/beets/beets-2.10.0.ebuild b/media-sound/beets/beets-2.13.1.ebuild index dae900843d0f..5e4b5b095d52 100644 --- a/media-sound/beets/beets-2.10.0.ebuild +++ b/media-sound/beets/beets-2.13.1.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_SINGLE_IMPL=1 -DISTUTILS_USE_PEP517=poetry +DISTUTILS_USE_PEP517=hatchling PYTHON_COMPAT=( python3_{13..14} ) PYTHON_REQ_USE="sqlite" @@ -25,7 +25,7 @@ else inherit pypi MY_PV=${PV/_beta/-beta.} MY_P=${PN}-${MY_PV} - KEYWORDS="~amd64" + KEYWORDS="~amd64 ~x86" S="${WORKDIR}/${MY_P}" fi @@ -103,12 +103,11 @@ DOCS=( README.rst docs/changelog.rst ) EPYTEST_PLUGINS=( pytest-flask ) EPYTEST_IGNORE=( # Not relevant downstream - test/test_release.py + test/extra/test_release.py # Unpackaged test dependencies: titlecase and pytest-factoryboy # (These tests aren't included in the sdist) test/plugins ) -EPYTEST_XDIST=1 distutils_enable_tests pytest python_prepare_all() { @@ -133,6 +132,7 @@ python_compile_all() { # We could install mans from the sphinx build path, but to be consistent with pypi for src_install # we'll instead generate them and copy to the same install location if building from VCS sources. if [[ ${PV} == "9999" ]] || [[ ${IS_VCS_SOURCE} == "yes" ]]; then + local -x PYTHONPATH=. einfo "Building man pages" sphinx-build -b man docs docs/build/man || die "Failed to generate man pages" mkdir "${S}/man" || die diff --git a/media-sound/beets/beets-2.3.1.ebuild b/media-sound/beets/beets-2.3.1.ebuild deleted file mode 100644 index 3a90be343d40..000000000000 --- a/media-sound/beets/beets-2.3.1.ebuild +++ /dev/null @@ -1,173 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_SINGLE_IMPL=1 -DISTUTILS_USE_PEP517=poetry -PYPI_VERIFY_REPO=https://github.com/beetbox/beets -PYTHON_COMPAT=( python3_{13..14} ) -PYTHON_REQ_USE="sqlite" - -# These envvars are used to treat github tarball builds differently -# from pypi sources. Enable where required -: ${IS_VCS_SOURCE="no"} -: ${UPDATE_VERSION="no"} - -inherit distutils-r1 multiprocessing optfeature shell-completion - -if [[ ${PV} == "9999" ]]; then - EGIT_REPO_URI="https://github.com/beetbox/beets.git" - IS_VCS_SOURCE="yes" - UPDATE_VERSION="yes" - inherit git-r3 -else - inherit pypi - MY_PV=${PV/_beta/-beta.} - MY_P=${PN}-${MY_PV} - KEYWORDS="amd64" - S="${WORKDIR}/${MY_P}" -fi - -DESCRIPTION="Media library management system for obsessive music geeks" -HOMEPAGE="https://beets.io/ https://pypi.org/project/beets/" - -LICENSE="MIT" -SLOT="0" -IUSE="doc test" -RESTRICT="!test? ( test )" - -RDEPEND=" - $(python_gen_cond_dep ' - >=dev-python/jellyfish-0.7.1[${PYTHON_USEDEP}] - >=media-libs/mutagen-1.33[${PYTHON_USEDEP}] - >=dev-python/musicbrainzngs-0.4[${PYTHON_USEDEP}] - dev-python/confuse[${PYTHON_USEDEP}] - >=dev-python/lap-0.5.12[${PYTHON_USEDEP}] - dev-python/mediafile[${PYTHON_USEDEP}] - >=dev-python/numpy-1.24.4[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/reflink[${PYTHON_USEDEP}] - dev-python/requests-oauthlib[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - dev-python/typing-extensions[${PYTHON_USEDEP}] - dev-python/unidecode[${PYTHON_USEDEP}] - ')" -DEPEND=" - ${RDEPEND} -" -BDEPEND=" - doc? ( - dev-python/sphinx - dev-python/pydata-sphinx-theme - ) - $(python_gen_cond_dep ' - test? ( - dev-db/sqlite[icu] - dev-python/beautifulsoup4[${PYTHON_USEDEP}] - dev-python/bluelet[${PYTHON_USEDEP}] - dev-python/dbus-python[${PYTHON_USEDEP}] - dev-python/python3-discogs-client[${PYTHON_USEDEP}] - dev-python/flask[${PYTHON_USEDEP}] - dev-python/mock[${PYTHON_USEDEP}] - dev-python/pyacoustid[${PYTHON_USEDEP}] - dev-python/pylast[${PYTHON_USEDEP}] - dev-python/pygobject:3[${PYTHON_USEDEP}] - dev-python/pytest-flask[${PYTHON_USEDEP}] - dev-python/python-mpd2[${PYTHON_USEDEP}] - dev-python/pyxdg[${PYTHON_USEDEP}] - dev-python/reflink[${PYTHON_USEDEP}] - || ( - dev-python/pillow[${PYTHON_USEDEP}] - media-gfx/imagemagick - ) - dev-python/rarfile[${PYTHON_USEDEP}] - dev-python/requests-mock[${PYTHON_USEDEP}] - dev-python/responses[${PYTHON_USEDEP}] - dev-python/wheel[${PYTHON_USEDEP}] - media-libs/chromaprint[tools] - media-libs/flac - media-libs/gst-plugins-bad:1.0 - media-libs/gst-plugins-good:1.0 - media-sound/mp3val - media-sound/mp3gain - media-plugins/gst-plugins-libav:1.0 - media-video/ffmpeg[encode(+)] - app-shells/bash-completion - ) - ')" - -# Beets uses sphinx to generate manpages; these are not available -# directly in VCS sources, only pypi tarballs, so handle the dependency -# here automagically. -if [[ ${PV} == "9999" ]] || [[ ${IS_VCS_SOURCE} == "yes" ]]; then - BDEPEND+=" - dev-python/sphinx - " -fi - -DOCS=( README.rst docs/changelog.rst ) - -EPYTEST_XDIST=1 -distutils_enable_tests pytest - -src_prepare() { - if [[ ${PV} == "9999" ]] || [[ ${UPDATE_VERSION} == "yes" ]]; then - sed -i -e "s/^version = \".*\"$/version = \"${PV}\"/" \ - pyproject.toml \ - || die "Failed to update version in VCS sources" - sed -i -e "s/__version__ = \".*\"/__version__ = \"${PV}\"/" beets/__init__.py - fi - default -} - -python_prepare_all() { - distutils-r1_python_prepare_all -} - -python_compile_all() { - if use doc ; then - sphinx-build -b html docs docs/build/html || die - fi - # If building from VCS sources we need to generate manpages, then copy them to ${S}/man - # We could install mans from the sphinx build path, but to be consistent with pypi for src_install - # we'll instead generate them and copy to the same install location if building from VCS sources. - if [[ ${PV} == "9999" ]] || [[ ${IS_VCS_SOURCE} == "yes" ]]; then - einfo "Building man pages" - sphinx-build -b man docs docs/build/man || die "Failed to generate man pages" - mkdir "${S}/man" || die - cp docs/build/man/{beet.1,beetsconfig.5} "${S}/man" || die - fi -} - -python_test() { - # test/test_art_resize.py can be flaky, parallelisation? - epytest -n$(makeopts_jobs) -v -} - -python_install_all() { - distutils-r1_python_install_all - - doman man/* - use doc && local HTML_DOCS=( docs/build/html/. ) - einstalldocs - # Generate the bash completions; we'll set PYTHONPATH for this invocation so that beets can start. - PYTHONPATH="${ED}/usr/lib/${PYTHON}:$PYTHONPATH" ${PYTHON} "${ED}/usr/bin/beet" completion > "${T}/beet.bash" || die - newbashcomp "${T}/beet.bash" beet - newzshcomp "${S}/extra/_beet" _beet - - optfeature "badfiles support" "media-libs/flac media-sound/mp3val" - optfeature "chromaprint support" "dev-python/pyacoustid media-libs/chromaprint[tools]" - optfeature "discogs support" dev-python/python3-discogs-client - optfeature "ffmpeg support" media-video/ffmpeg - optfeature "gstreamer support" "media-libs/gst-plugins-bad media-libs/gst-plugins-good" - optfeature "icu support" dev-db/sqlite[icu] - optfeature "lastfm support" dev-python/pylast - optfeature "mpd support" "dev-python/bluelet dev-python/python-mpd2" - optfeature "replaygain with gstreamer support" "dev-python/pygobject media-plugins/gst-plugins-libav" - optfeature "replaygain without gstreamer support" media-sound/mp3gain - optfeature "thumbnail support" dev-python/pyxdg "dev-python/pillow media-gfx/imagemagick" - optfeature "webserver support" dev-python/flask - optfeature "webserver cors support" dev-python/flask-cors - optfeature "Amarok metadata synchronisation" dev-python/dbus-python -} diff --git a/net-mail/b4/b4-0.16.0-r1.ebuild b/net-mail/b4/b4-0.16.0-r1.ebuild index 955ab11f9371..8449780e0a75 100644 --- a/net-mail/b4/b4-0.16.0-r1.ebuild +++ b/net-mail/b4/b4-0.16.0-r1.ebuild @@ -35,6 +35,7 @@ BDEPEND=" dev-python/shtab[${PYTHON_USEDEP}] " +EPYTEST_PLUGINS=( pytest-asyncio ) distutils_enable_tests pytest EPYTEST_DESELECT=( # broken upstream diff --git a/net-misc/freerdp/Manifest b/net-misc/freerdp/Manifest index 1baa6f6da2a5..f2f01036fa57 100644 --- a/net-misc/freerdp/Manifest +++ b/net-misc/freerdp/Manifest @@ -1,8 +1,2 @@ -DIST freerdp-3.29.0.tar.gz 11067925 BLAKE2B 2202eae9cca1275b366b6b87935760ec438b10ef0e15222241ee8126b74614938dc47586d51c28e68e1597fc46a0a02130238af7dff5db4fc850d6604e516548 SHA512 daa1dc6d561c5ffa65a422ffbd218a6244dd3eff400759a456f33ead3618461302d13543ae32a41aa188b2e3590f15b143cf158b13f38b235fe992c38c9916f9 -DIST freerdp-3.29.0.tar.gz.asc 228 BLAKE2B 5df8af1b75bfe5eb0be2526908c39d6324c9bbd04219528b84b467e9db875ed4b406e550d8e2a4ca4ee528d405063183d551f98aa405a1361fdc28307a0b3453 SHA512 46373f21988db91fa9179364290e0daf3a8b2d58cc084a6c1fbd5870994b011bebab01b8e9ee32e7df266350fb0a647defaab37aa5d10246f8922b196460d1ff -DIST freerdp-3.30.0.tar.gz 11070523 BLAKE2B 654816d8fede28e5a302f4288481411ae6dc07ab2bd090026e2d92c3d19a896e40b5d8ca79fe45daa7e77459b21b540ef825abd3df1d573a88a59c2dccdcfade SHA512 a7048c67936640779c9a754af35466fe4821b4cf98f68ebeccdbc6793ddf755e53e672390a91cd0440d26b9be9ae65e67689d8e3c9c249ce6971bee3a10c6629 -DIST freerdp-3.30.0.tar.gz.asc 228 BLAKE2B 4ffb2710ca3a24df878a77c350b875c44515a1696a212a99596f3dbb79433ed3a2f066f4aa3187653a579db4a37d0d0b342aac372db0a3803ba8bf0c52fc3673 SHA512 df68f5ff8d0c895202c579b4b14f1dcc0555b6459ba0c73ad82224d8b2f031a88ff35c50a92c9426cc13c64ede138179eaa256a6785a77b78aefb7e55f7c1c24 -DIST freerdp-3.31.0.tar.gz 11106371 BLAKE2B 62b2a227e05a6e96f031888de95281a37db9d0b82a52117a2b88570f0a0e0308469194e5c93542d56bb335ce6091641f2139359ce65daa5394e5e93b72183676 SHA512 3543a32b0204dcdc64deb6d4a410e223dce5c4195de8bc5c5931f569cf184a54441ddf315ca509e6500f79735693372c8f7dd108d94dd187df0da3f935a2c28d -DIST freerdp-3.31.0.tar.gz.asc 228 BLAKE2B 91e961f6987090cb85f9189415620dc8eed578afa5599e698579b0e075a858c3ade2952935e746d3811fc661180facfa53f70a156e1d3156c76e43452634fe1d SHA512 0e001b1ff461fe9eca67e80f0487d9d069c9a188412667a6bf5e3e21a0d5189126fe7b4ae0ee173ba8935ce915d5d1c2d49adc03b5b09bf8ae4863a09de73f98 DIST freerdp-3.31.1.tar.gz 11111567 BLAKE2B 97d47a4daab1341b558212da34c580543fc9c62d5e4fa6ea71b230a8b79b8c5aa2d960aa49294b48f19fcf27f0a6d81cae9c75d3987477c8ff964a1ec71d723b SHA512 708fa170d70c01cbd5b16b2bc0359092114e0158c3a76c38862b58b19bc2757a467656cf0f326cd9e81c366f2a9c1ff11073a099ee81304006556dac0d8b5a7e DIST freerdp-3.31.1.tar.gz.asc 228 BLAKE2B 6b009b8969c06a2123469eadf02a85a18567a541b745b7a7a82324dd3c27faa99f53c05846933ee24001686f4bc297d32d48a9f4d7f82045161d94bf7586f0f5 SHA512 5c9bfc3cb28cc900cce93f9b9f94e41e3e7ed1ee1b87c68d46bed260ddc294bab3035676a2361e8943c5d6be8791c237f89032e04dc772e16d0bc6117d13ded9 diff --git a/net-misc/freerdp/files/freerdp-3.31.0-debug.patch b/net-misc/freerdp/files/freerdp-3.31.0-debug.patch deleted file mode 100644 index 6c7e299c4f52..000000000000 --- a/net-misc/freerdp/files/freerdp-3.31.0-debug.patch +++ /dev/null @@ -1,63 +0,0 @@ -https://bugs.gentoo.org/981480 -https://github.com/FreeRDP/FreeRDP/pull/13283 - -From 6055267480f91dcdfd2060922af778d152a5662a Mon Sep 17 00:00:00 2001 -From: Armin Novak <armin.novak@thincast.com> -Date: Wed, 26 Aug 2026 22:06:58 +0200 -Subject: [PATCH] [debug,logs] fix warnings and errors WITH_DEBUG_ALL - ---- - client/common/client_cliprdr_file.c | 4 ++-- - libfreerdp/codec/include/bitmap.h | 3 ++- - libfreerdp/core/server.c | 2 +- - 3 files changed, 5 insertions(+), 4 deletions(-) - -diff --git a/client/common/client_cliprdr_file.c b/client/common/client_cliprdr_file.c -index 5095ab856c75..947bda8cb834 100644 ---- a/client/common/client_cliprdr_file.c -+++ b/client/common/client_cliprdr_file.c -@@ -998,7 +998,7 @@ static BOOL request_file_range_async(CliprdrFileContext* file_context, CliprdrFu - // NOLINTBEGIN(clang-analyzer-unix.Malloc) - DEBUG_CLIPRDR( - file_context->log, -- "Requested file range (%zu Bytes at offset %lu) for file \"%s\" with stream id %u", -+ "Requested file range (%zu Bytes at offset %ld) for file \"%s\" with stream id %u", - requested_size, offset, fuse_file->filename, fuse_request->stream_id); - - return TRUE; -@@ -1104,7 +1104,7 @@ static void cliprdr_file_fuse_readdir(fuse_req_t fuse_req, fuse_ino_t fuse_ino, - return; - } - -- DEBUG_CLIPRDR(file_context->log, "Reading directory \"%s\" at offset %lu", -+ DEBUG_CLIPRDR(file_context->log, "Reading directory \"%s\" at offset %ld", - fuse_file->filename_with_root, offset); - - if ((offset < 0) || ((size_t)offset >= ArrayList_Count(fuse_file->children))) -diff --git a/libfreerdp/codec/include/bitmap.h b/libfreerdp/codec/include/bitmap.h -index 07874dade123..f180fb5abb15 100644 ---- a/libfreerdp/codec/include/bitmap.h -+++ b/libfreerdp/codec/include/bitmap.h -@@ -153,7 +153,8 @@ static inline BOOL RLEDECOMPRESS(const BYTE* WINPR_RESTRICT pbSrcBuffer, UINT32 - code = ExtractCodeId(*pbSrc); - - #if defined(WITH_DEBUG_CODECS) -- WLog_VRB(TAG, "pbSrc=%p code=%s, rem=%" PRIuz, pbSrc, rle_code_str(code), pbEnd - pbSrc); -+ WLog_VRB(TAG, "pbSrc=%p code=%s, rem=%ld", (const void*)pbSrc, rle_code_str(code), -+ pbEnd - pbSrc); - #endif - - /* Handle Background Run Orders. */ -diff --git a/libfreerdp/core/server.c b/libfreerdp/core/server.c -index 9183843f9375..f5a06553eb6c 100644 ---- a/libfreerdp/core/server.c -+++ b/libfreerdp/core/server.c -@@ -375,7 +375,7 @@ static BOOL wts_read_drdynvc_pdu_ready(rdpPeerChannel* channel, wStream* s, UINT - return FALSE; - - DEBUG_DVC("Cmd %s ChannelId %" PRIu32 " length %" PRIuz "", drdynvc_get_packet_type(Cmd), -- ChannelId, length); -+ ChannelId, Stream_GetRemainingLength(s)); - table = channel->vcm->dynamicVirtualChannels; - if (!table) - return FALSE; diff --git a/net-misc/freerdp/freerdp-3.29.0.ebuild b/net-misc/freerdp/freerdp-3.29.0.ebuild deleted file mode 100644 index 3398e4ac12ec..000000000000 --- a/net-misc/freerdp/freerdp-3.29.0.ebuild +++ /dev/null @@ -1,192 +0,0 @@ -# Copyright 2011-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake flag-o-matic - -if [[ ${PV} == *9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/FreeRDP/FreeRDP.git" - case ${PV} in - 2.*) EGIT_BRANCH="stable-2.0";; - esac -else - inherit verify-sig - MY_P=${P/_/-} - S="${WORKDIR}/${MY_P}" - SRC_URI="https://pub.freerdp.com/releases/${MY_P}.tar.gz - verify-sig? ( https://pub.freerdp.com/releases/${MY_P}.tar.gz.asc )" - KEYWORDS="~alpha amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86" - BDEPEND="verify-sig? ( sec-keys/openpgp-keys-akallabeth )" - VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/akallabeth.asc" -fi - -DESCRIPTION="Free implementation of the Remote Desktop Protocol" -HOMEPAGE="https://www.freerdp.com/" - -LICENSE="Apache-2.0" -SLOT="3" -IUSE="aad alsa camera cpu_flags_arm_neon +client cups debug +ffmpeg +fuse gstreamer +icu jpeg kerberos openh264 pulseaudio sdl server smartcard systemd test usb valgrind wayland X xinerama xv" -RESTRICT="!test? ( test )" - -BDEPEND+=" - virtual/pkgconfig - app-text/docbook-xsl-stylesheets - dev-libs/libxslt -" -COMMON_DEPEND=" - dev-libs/openssl:0= - virtual/zlib:= - aad? ( dev-libs/cJSON ) - alsa? ( media-libs/alsa-lib ) - cups? ( net-print/cups ) - usb? ( - virtual/libudev:0= - sys-apps/util-linux:0= - dev-libs/dbus-glib:0= - virtual/libusb:1= - ) - X? ( - x11-libs/libXcursor - x11-libs/libXext - x11-libs/libXi - x11-libs/libXrender - xinerama? ( x11-libs/libXinerama ) - xv? ( x11-libs/libXv ) - ) - ffmpeg? ( media-video/ffmpeg:0= ) - !ffmpeg? ( - x11-libs/cairo:0= - ) - fuse? ( sys-fs/fuse:3= ) - gstreamer? ( - media-libs/gstreamer:1.0 - media-libs/gst-plugins-base:1.0 - X? ( x11-libs/libXrandr ) - ) - icu? ( dev-libs/icu:0= ) - jpeg? ( media-libs/libjpeg-turbo:0= ) - kerberos? ( virtual/krb5 ) - openh264? ( media-libs/openh264:0= ) - pulseaudio? ( media-libs/libpulse ) - server? ( - X? ( - x11-libs/libXcursor - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrandr - x11-libs/libXtst - xinerama? ( x11-libs/libXinerama ) - ) - ) - smartcard? ( sys-apps/pcsc-lite ) - systemd? ( sys-apps/systemd:0= ) - client? ( - camera? ( media-libs/libv4l ) - sdl? ( - media-libs/libsdl3 - media-libs/sdl3-ttf - ) - wayland? ( - dev-libs/wayland - x11-libs/libxkbcommon - ) - ) - X? ( - x11-libs/libX11 - x11-libs/libxkbfile - ) -" -DEPEND="${COMMON_DEPEND} - test? ( - ffmpeg? ( media-video/ffmpeg:0[x264(-)] ) - ) - valgrind? ( dev-debug/valgrind ) -" -RDEPEND="${COMMON_DEPEND} - !net-misc/freerdp:0 - client? ( !net-misc/freerdp:2[client] ) - server? ( !net-misc/freerdp:2[server] ) - smartcard? ( app-crypt/p11-kit ) -" - -option() { - usex "$1" ON OFF -} - -option_client() { - if use client; then - option "$1" - else - echo OFF - fi -} - -src_configure() { - use debug || append-cppflags -DNDEBUG - local mycmakeargs=( - -Wno-dev - - -DBUILD_TESTING=$(option test) - - # https://bugs.gentoo.org/927037 - -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF - - -DCHANNEL_URBDRC=$(option usb) - -DCHANNEL_RDPECAM_CLIENT=$(option_client camera) - -DWITH_AAD=$(option aad) - -DWITH_ALSA=$(option alsa) - -DWITH_CCACHE=OFF - -DWITH_CLIENT=$(option client) - -DWITH_CLIENT_SDL2=OFF - -DWITH_CLIENT_SDL3=$(option_client sdl) - -DWITH_SAMPLE=OFF - -DWITH_CUPS=$(option cups) - -DWITH_DEBUG_ALL=$(option debug) - -DWITH_VERBOSE_WINPR_ASSERT=$(option debug) - -DWITH_MANPAGES=ON - -DWITH_FFMPEG=$(option ffmpeg) - -DWITH_FREERDP_DEPRECATED_COMMANDLINE=ON - -DWITH_SWSCALE=$(option ffmpeg) - -DWITH_CAIRO=$(option !ffmpeg) - -DWITH_DSP_FFMPEG=$(option ffmpeg) - -DWITH_FUSE=$(option fuse) - -DWITH_GSTREAMER_1_0=$(option gstreamer) - -DWITH_JPEG=$(option jpeg) - -DWITH_KRB5=$(option kerberos) - -DWITH_NEON=$(option cpu_flags_arm_neon) - -DWITH_OPENH264=$(option openh264) - -DWITH_OSS=OFF - -DWITH_PCSC=$(option smartcard) - -DWITH_PKCS11=$(option smartcard) - -DWITH_PULSE=$(option pulseaudio) - -DWITH_SERVER=$(option server) - -DWITH_LIBSYSTEMD=$(option systemd) - -DWITH_UNICODE_BUILTIN=$(option !icu) - -DWITH_VALGRIND_MEMCHECK=$(option valgrind) - -DWITH_X11=$(option X) - -DWITH_XINERAMA=$(option xinerama) - -DWITH_XV=$(option xv) - -DWITH_WAYLAND=$(option_client wayland) - -DWITH_WEBVIEW=OFF - -DWITH_WINPR_TOOLS=$(option server) - ) - cmake_src_configure -} - -src_test() { - # TestBacktrace: bug 930636 - # TestSynchCritical, TestSynchMultipleThreads: bug 951301 - local CMAKE_SKIP_TESTS=( TestBacktrace TestSynchCritical TestSynchMultipleThreads ) - if has network-sandbox ${FEATURES}; then - CMAKE_SKIP_TESTS+=( TestConnect ) - fi - cmake_src_test -} - -src_install() { - cmake_src_install - mv "${ED}"/usr/share/man/man7/wlog{,3}.7 || die -} diff --git a/net-misc/freerdp/freerdp-3.30.0.ebuild b/net-misc/freerdp/freerdp-3.30.0.ebuild deleted file mode 100644 index e3a36bfd8578..000000000000 --- a/net-misc/freerdp/freerdp-3.30.0.ebuild +++ /dev/null @@ -1,192 +0,0 @@ -# Copyright 2011-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake flag-o-matic - -if [[ ${PV} == *9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/FreeRDP/FreeRDP.git" - case ${PV} in - 2.*) EGIT_BRANCH="stable-2.0";; - esac -else - inherit verify-sig - MY_P=${P/_/-} - S="${WORKDIR}/${MY_P}" - SRC_URI="https://pub.freerdp.com/releases/${MY_P}.tar.gz - verify-sig? ( https://pub.freerdp.com/releases/${MY_P}.tar.gz.asc )" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" - BDEPEND="verify-sig? ( sec-keys/openpgp-keys-akallabeth )" - VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/akallabeth.asc" -fi - -DESCRIPTION="Free implementation of the Remote Desktop Protocol" -HOMEPAGE="https://www.freerdp.com/" - -LICENSE="Apache-2.0" -SLOT="3" -IUSE="aad alsa camera cpu_flags_arm_neon +client cups debug +ffmpeg +fuse gstreamer +icu jpeg kerberos openh264 pulseaudio sdl server smartcard systemd test usb valgrind wayland X xinerama xv" -RESTRICT="!test? ( test )" - -BDEPEND+=" - virtual/pkgconfig - app-text/docbook-xsl-stylesheets - dev-libs/libxslt -" -COMMON_DEPEND=" - dev-libs/openssl:0= - virtual/zlib:= - aad? ( dev-libs/cJSON ) - alsa? ( media-libs/alsa-lib ) - cups? ( net-print/cups ) - usb? ( - virtual/libudev:0= - sys-apps/util-linux:0= - dev-libs/dbus-glib:0= - virtual/libusb:1= - ) - X? ( - x11-libs/libXcursor - x11-libs/libXext - x11-libs/libXi - x11-libs/libXrender - xinerama? ( x11-libs/libXinerama ) - xv? ( x11-libs/libXv ) - ) - ffmpeg? ( media-video/ffmpeg:0= ) - !ffmpeg? ( - x11-libs/cairo:0= - ) - fuse? ( sys-fs/fuse:3= ) - gstreamer? ( - media-libs/gstreamer:1.0 - media-libs/gst-plugins-base:1.0 - X? ( x11-libs/libXrandr ) - ) - icu? ( dev-libs/icu:0= ) - jpeg? ( media-libs/libjpeg-turbo:0= ) - kerberos? ( virtual/krb5 ) - openh264? ( media-libs/openh264:0= ) - pulseaudio? ( media-libs/libpulse ) - server? ( - X? ( - x11-libs/libXcursor - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrandr - x11-libs/libXtst - xinerama? ( x11-libs/libXinerama ) - ) - ) - smartcard? ( sys-apps/pcsc-lite ) - systemd? ( sys-apps/systemd:0= ) - client? ( - camera? ( media-libs/libv4l ) - sdl? ( - media-libs/libsdl3 - media-libs/sdl3-ttf - ) - wayland? ( - dev-libs/wayland - x11-libs/libxkbcommon - ) - ) - X? ( - x11-libs/libX11 - x11-libs/libxkbfile - ) -" -DEPEND="${COMMON_DEPEND} - test? ( - ffmpeg? ( media-video/ffmpeg:0[x264(-)] ) - ) - valgrind? ( dev-debug/valgrind ) -" -RDEPEND="${COMMON_DEPEND} - !net-misc/freerdp:0 - client? ( !net-misc/freerdp:2[client] ) - server? ( !net-misc/freerdp:2[server] ) - smartcard? ( app-crypt/p11-kit ) -" - -option() { - usex "$1" ON OFF -} - -option_client() { - if use client; then - option "$1" - else - echo OFF - fi -} - -src_configure() { - use debug || append-cppflags -DNDEBUG - local mycmakeargs=( - -Wno-dev - - -DBUILD_TESTING=$(option test) - - # https://bugs.gentoo.org/927037 - -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF - - -DCHANNEL_URBDRC=$(option usb) - -DCHANNEL_RDPECAM_CLIENT=$(option_client camera) - -DWITH_AAD=$(option aad) - -DWITH_ALSA=$(option alsa) - -DWITH_CCACHE=OFF - -DWITH_CLIENT=$(option client) - -DWITH_CLIENT_SDL2=OFF - -DWITH_CLIENT_SDL3=$(option_client sdl) - -DWITH_SAMPLE=OFF - -DWITH_CUPS=$(option cups) - -DWITH_DEBUG_ALL=$(option debug) - -DWITH_VERBOSE_WINPR_ASSERT=$(option debug) - -DWITH_MANPAGES=ON - -DWITH_FFMPEG=$(option ffmpeg) - -DWITH_FREERDP_DEPRECATED_COMMANDLINE=ON - -DWITH_SWSCALE=$(option ffmpeg) - -DWITH_CAIRO=$(option !ffmpeg) - -DWITH_DSP_FFMPEG=$(option ffmpeg) - -DWITH_FUSE=$(option fuse) - -DWITH_GSTREAMER_1_0=$(option gstreamer) - -DWITH_JPEG=$(option jpeg) - -DWITH_KRB5=$(option kerberos) - -DWITH_NEON=$(option cpu_flags_arm_neon) - -DWITH_OPENH264=$(option openh264) - -DWITH_OSS=OFF - -DWITH_PCSC=$(option smartcard) - -DWITH_PKCS11=$(option smartcard) - -DWITH_PULSE=$(option pulseaudio) - -DWITH_SERVER=$(option server) - -DWITH_LIBSYSTEMD=$(option systemd) - -DWITH_UNICODE_BUILTIN=$(option !icu) - -DWITH_VALGRIND_MEMCHECK=$(option valgrind) - -DWITH_X11=$(option X) - -DWITH_XINERAMA=$(option xinerama) - -DWITH_XV=$(option xv) - -DWITH_WAYLAND=$(option_client wayland) - -DWITH_WEBVIEW=OFF - -DWITH_WINPR_TOOLS=$(option server) - ) - cmake_src_configure -} - -src_test() { - # TestBacktrace: bug 930636 - # TestSynchCritical, TestSynchMultipleThreads: bug 951301 - local CMAKE_SKIP_TESTS=( TestBacktrace TestSynchCritical TestSynchMultipleThreads ) - if has network-sandbox ${FEATURES}; then - CMAKE_SKIP_TESTS+=( TestConnect ) - fi - cmake_src_test -} - -src_install() { - cmake_src_install - mv "${ED}"/usr/share/man/man7/wlog{,3}.7 || die -} diff --git a/net-misc/freerdp/freerdp-3.31.0-r1.ebuild b/net-misc/freerdp/freerdp-3.31.0-r1.ebuild deleted file mode 100644 index 7c228858a6e0..000000000000 --- a/net-misc/freerdp/freerdp-3.31.0-r1.ebuild +++ /dev/null @@ -1,197 +0,0 @@ -# Copyright 2011-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake flag-o-matic - -if [[ ${PV} == *9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/FreeRDP/FreeRDP.git" - case ${PV} in - 2.*) EGIT_BRANCH="stable-2.0";; - esac -else - inherit verify-sig - MY_P=${P/_/-} - S="${WORKDIR}/${MY_P}" - SRC_URI="https://pub.freerdp.com/releases/${MY_P}.tar.gz - verify-sig? ( https://pub.freerdp.com/releases/${MY_P}.tar.gz.asc )" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" - BDEPEND="verify-sig? ( sec-keys/openpgp-keys-akallabeth )" - VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/akallabeth.asc" -fi - -DESCRIPTION="Free implementation of the Remote Desktop Protocol" -HOMEPAGE="https://www.freerdp.com/" - -LICENSE="Apache-2.0" -SLOT="3" -IUSE="aad alsa camera cpu_flags_arm_neon +client cups debug +ffmpeg +fuse gstreamer +icu jpeg kerberos openh264 pulseaudio sdl server smartcard systemd test usb valgrind wayland X xinerama xv" -RESTRICT="!test? ( test )" - -BDEPEND+=" - virtual/pkgconfig - app-text/docbook-xsl-stylesheets - dev-libs/libxslt -" -COMMON_DEPEND=" - dev-libs/openssl:0= - virtual/zlib:= - aad? ( dev-libs/cJSON ) - alsa? ( media-libs/alsa-lib ) - cups? ( net-print/cups ) - usb? ( - virtual/libudev:0= - sys-apps/util-linux:0= - dev-libs/dbus-glib:0= - virtual/libusb:1= - ) - X? ( - x11-libs/libXcursor - x11-libs/libXext - x11-libs/libXi - x11-libs/libXrender - xinerama? ( x11-libs/libXinerama ) - xv? ( x11-libs/libXv ) - ) - ffmpeg? ( media-video/ffmpeg:0= ) - !ffmpeg? ( - x11-libs/cairo:0= - ) - fuse? ( sys-fs/fuse:3= ) - gstreamer? ( - media-libs/gstreamer:1.0 - media-libs/gst-plugins-base:1.0 - X? ( x11-libs/libXrandr ) - ) - icu? ( dev-libs/icu:0= ) - jpeg? ( media-libs/libjpeg-turbo:0= ) - kerberos? ( virtual/krb5 ) - openh264? ( media-libs/openh264:0= ) - pulseaudio? ( media-libs/libpulse ) - server? ( - X? ( - x11-libs/libXcursor - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrandr - x11-libs/libXtst - xinerama? ( x11-libs/libXinerama ) - ) - ) - smartcard? ( sys-apps/pcsc-lite ) - systemd? ( sys-apps/systemd:0= ) - client? ( - camera? ( media-libs/libv4l ) - sdl? ( - media-libs/libsdl3 - media-libs/sdl3-ttf - ) - wayland? ( - dev-libs/wayland - x11-libs/libxkbcommon - ) - ) - X? ( - x11-libs/libX11 - x11-libs/libxkbfile - ) -" -DEPEND="${COMMON_DEPEND} - test? ( - ffmpeg? ( media-video/ffmpeg:0[x264(-)] ) - ) - valgrind? ( dev-debug/valgrind ) -" -RDEPEND="${COMMON_DEPEND} - !net-misc/freerdp:0 - client? ( !net-misc/freerdp:2[client] ) - server? ( !net-misc/freerdp:2[server] ) - smartcard? ( app-crypt/p11-kit ) -" - -PATCHES=( - "${FILESDIR}/freerdp-3.31.0-debug.patch" -) - -option() { - usex "$1" ON OFF -} - -option_client() { - if use client; then - option "$1" - else - echo OFF - fi -} - -src_configure() { - use debug || append-cppflags -DNDEBUG - local mycmakeargs=( - -Wno-dev - - -DBUILD_TESTING=$(option test) - - # https://bugs.gentoo.org/927037 - -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF - - -DCHANNEL_URBDRC=$(option usb) - -DCHANNEL_RDPECAM_CLIENT=$(option_client camera) - -DWITH_AAD=$(option aad) - -DWITH_ALSA=$(option alsa) - -DWITH_CCACHE=OFF - -DWITH_CLIENT=$(option client) - -DWITH_CLIENT_SDL2=OFF - -DWITH_CLIENT_SDL3=$(option_client sdl) - -DWITH_SAMPLE=OFF - -DWITH_CUPS=$(option cups) - -DWITH_DEBUG_ALL=$(option debug) - -DWITH_VERBOSE_WINPR_ASSERT=$(option debug) - -DWITH_MANPAGES=ON - -DWITH_FFMPEG=$(option ffmpeg) - -DWITH_FREERDP_DEPRECATED_COMMANDLINE=ON - -DWITH_SWSCALE=$(option ffmpeg) - -DWITH_CAIRO=$(option !ffmpeg) - -DWITH_DSP_FFMPEG=$(option ffmpeg) - -DWITH_FUSE=$(option fuse) - -DWITH_GSTREAMER_1_0=$(option gstreamer) - -DWITH_JPEG=$(option jpeg) - -DWITH_KRB5=$(option kerberos) - -DWITH_NEON=$(option cpu_flags_arm_neon) - -DWITH_OPENH264=$(option openh264) - -DWITH_OSS=OFF - -DWITH_PCSC=$(option smartcard) - -DWITH_PKCS11=$(option smartcard) - -DWITH_PULSE=$(option pulseaudio) - -DWITH_SERVER=$(option server) - -DWITH_LIBSYSTEMD=$(option systemd) - -DWITH_UNICODE_BUILTIN=$(option !icu) - -DWITH_VALGRIND_MEMCHECK=$(option valgrind) - -DWITH_X11=$(option X) - -DWITH_XINERAMA=$(option xinerama) - -DWITH_XV=$(option xv) - -DWITH_WAYLAND=$(option_client wayland) - -DWITH_WEBVIEW=OFF - # https://bugs.gentoo.org/981523 - #-DWITH_WINPR_TOOLS=$(option server) - ) - cmake_src_configure -} - -src_test() { - # TestBacktrace: bug 930636 - # TestSynchCritical, TestSynchMultipleThreads: bug 951301 - local CMAKE_SKIP_TESTS=( TestBacktrace TestSynchCritical TestSynchMultipleThreads ) - if has network-sandbox ${FEATURES}; then - CMAKE_SKIP_TESTS+=( TestConnect ) - fi - cmake_src_test -} - -src_install() { - cmake_src_install - mv "${ED}"/usr/share/man/man7/wlog{,3}.7 || die -} diff --git a/net-misc/freerdp/freerdp-3.31.1.ebuild b/net-misc/freerdp/freerdp-3.31.1.ebuild index ff26f7257c8b..00793ccacb25 100644 --- a/net-misc/freerdp/freerdp-3.31.1.ebuild +++ b/net-misc/freerdp/freerdp-3.31.1.ebuild @@ -17,7 +17,7 @@ else S="${WORKDIR}/${MY_P}" SRC_URI="https://pub.freerdp.com/releases/${MY_P}.tar.gz verify-sig? ( https://pub.freerdp.com/releases/${MY_P}.tar.gz.asc )" - KEYWORDS="~alpha ~amd64 arm arm64 ~loong ~ppc ppc64 ~riscv ~x86" + KEYWORDS="~alpha amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86" BDEPEND="verify-sig? ( sec-keys/openpgp-keys-akallabeth )" VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/akallabeth.asc" fi diff --git a/net-misc/gallery-dl/Manifest b/net-misc/gallery-dl/Manifest index f59cecc80066..c4b429382b15 100644 --- a/net-misc/gallery-dl/Manifest +++ b/net-misc/gallery-dl/Manifest @@ -1,4 +1,4 @@ -DIST gallery-dl-1.32.10.gh.tar.gz 1145881 BLAKE2B 1fcd613e5b7f42c2d6ab620a86a442074152c9d2b229d986debf1b8745512f888d166781e723d411fdeddb92c91e2fc68294146a8b1e1b530005934afae92d89 SHA512 8c09c43eb51280a26e43e9c497e760a3c44fbb39c5fe2b5f93277aee7800b48e96c7caf9e8aa0f6e928cf83decfc18cae0b7fcd86f8bde2047ebeef6194afb1b +DIST gallery-dl-1.32.10.codeberg.tar.gz 1271009 BLAKE2B 340375456255e7495827cf620f64da8405c366df6b35461a057697d3d0bc09e95c4785d10d6b666a92be99bfa2da94891a0367c9919b31d2e490cc57fbc4329e SHA512 ef83fb0538331dd4bc5cc612078db17a2179c83de6a4081f20ff3c612195a5df97b38ef4e50c1d55b30634d2b9863495f926ce076f15c1d43ac631311266551c DIST gallery-dl-1.32.6.gh.tar.gz 1144576 BLAKE2B 4056a43b7caf99812faee983417ebe8257a83e997f4f25e7a2542ebf2d9d239ad2dadd489f301337ccf428cef0ee0ca1c2ee4ba57dbcb156ef0fe10d5be75810 SHA512 1eee3701083bc487527433c8b367963cd43ab583fc7d8839b0470c1bffbc7ed13defb823e3c1906105b49500587ccdf42af87a5790dcd6475a0e3e925becab26 DIST gallery-dl-1.32.8.gh.tar.gz 1144378 BLAKE2B 619c745592448d90ad8b62c88bc9fc216f0b34f114c7d22761338a61605d1244617fc6a65db0f3bdfba52aac5e1512b6a73e9b18fde3a88eb8b40806124b8974 SHA512 8dcf9df4b364decf9daa5f3e48c157c534ee467a4f17398a905adf6b3fb9e4cc2832851063fe31657f09f8abd0e9971e5c4149f690fd5172127c162e4dcc1068 DIST gallery-dl-1.32.9.gh.tar.gz 1144928 BLAKE2B 6c0776849259d48a2c4822d4aeb330c3e58e6b3efca5d0439d7ecef4b06ed62be8b5a03115b0640f8bb589ebf463281cd5ee8ab3aafe780e3a64e9a782e7f519 SHA512 9bfcd4a68af20e882260cd7a821877a8d64a711df246e968d541993020e791fc877520eae4c520ada50821c25538e68024e4505fe9ac0f4cbd947bb1981606c9 diff --git a/net-misc/gallery-dl/gallery-dl-1.32.10.ebuild b/net-misc/gallery-dl/gallery-dl-1.32.10-r1.ebuild index b3ff03178a27..a4b1349cec6a 100644 --- a/net-misc/gallery-dl/gallery-dl-1.32.10.ebuild +++ b/net-misc/gallery-dl/gallery-dl-1.32.10-r1.ebuild @@ -10,14 +10,16 @@ DISTUTILS_USE_PEP517="setuptools" inherit distutils-r1 optfeature DESCRIPTION="Download image galleries and collections from several image hosting sites" -HOMEPAGE="https://github.com/mikf/gallery-dl/" +HOMEPAGE="https://codeberg.org/mikf/gallery-dl/ + https://github.com/mikf/gallery-dl/" if [[ "${PV}" == *9999* ]]; then inherit git-r3 - EGIT_REPO_URI="https://github.com/mikf/${PN}" + EGIT_REPO_URI="https://codeberg.org/mikf/${PN}" else - SRC_URI="https://github.com/mikf/${PN}/archive/v${PV}.tar.gz - -> ${P}.gh.tar.gz" + SRC_URI="https://codeberg.org/mikf/${PN}/archive/v${PV}.tar.gz + -> ${P}.codeberg.tar.gz" + S="${WORKDIR}/${PN}" KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86" fi diff --git a/net-misc/gallery-dl/gallery-dl-9999.ebuild b/net-misc/gallery-dl/gallery-dl-9999.ebuild index b3ff03178a27..a4b1349cec6a 100644 --- a/net-misc/gallery-dl/gallery-dl-9999.ebuild +++ b/net-misc/gallery-dl/gallery-dl-9999.ebuild @@ -10,14 +10,16 @@ DISTUTILS_USE_PEP517="setuptools" inherit distutils-r1 optfeature DESCRIPTION="Download image galleries and collections from several image hosting sites" -HOMEPAGE="https://github.com/mikf/gallery-dl/" +HOMEPAGE="https://codeberg.org/mikf/gallery-dl/ + https://github.com/mikf/gallery-dl/" if [[ "${PV}" == *9999* ]]; then inherit git-r3 - EGIT_REPO_URI="https://github.com/mikf/${PN}" + EGIT_REPO_URI="https://codeberg.org/mikf/${PN}" else - SRC_URI="https://github.com/mikf/${PN}/archive/v${PV}.tar.gz - -> ${P}.gh.tar.gz" + SRC_URI="https://codeberg.org/mikf/${PN}/archive/v${PV}.tar.gz + -> ${P}.codeberg.tar.gz" + S="${WORKDIR}/${PN}" KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86" fi diff --git a/net-misc/gallery-dl/metadata.xml b/net-misc/gallery-dl/metadata.xml index 53ec7d516144..a376b93d1700 100644 --- a/net-misc/gallery-dl/metadata.xml +++ b/net-misc/gallery-dl/metadata.xml @@ -6,7 +6,7 @@ <name>Maciej Barć</name> </maintainer> <upstream> - <bugs-to>https://github.com/mikf/gallery-dl/issues/</bugs-to> + <bugs-to>https://codeberg.org/mikf/gallery-dl/issues/</bugs-to> </upstream> <stabilize-allarches /> <longdescription> diff --git a/net-misc/kea/files/kea-confd-r4 b/net-misc/kea/files/kea-confd-r4 new file mode 100644 index 000000000000..a39610acadc7 --- /dev/null +++ b/net-misc/kea/files/kea-confd-r4 @@ -0,0 +1,7 @@ +# KEA_SVC must be defined here! +# Available values: dhcp4 dhcp6 dhcp-ddns +KEA_SVC="@KEA_SVC@" + +#KEA_USER=dhcp +#KEA_GROUP=dhcp +#KEA_CONFIG=/etc/kea/kea-@KEA_SVC@.conf diff --git a/net-misc/kea/files/kea-initd-r5 b/net-misc/kea/files/kea-initd-r5 new file mode 100644 index 000000000000..0208b21d4678 --- /dev/null +++ b/net-misc/kea/files/kea-initd-r5 @@ -0,0 +1,78 @@ +#!/sbin/openrc-run +# Copyright 2025-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +: ${KEA_USER:=dhcp} +: ${KEA_GROUP:=dhcp} +: ${KEA_CONFIG:=/etc/kea/${RC_SVCNAME}.conf} + +description="kea ${KEA_SVC} services" +command="/usr/sbin/kea-${KEA_SVC}" +command_args="-c ${KEA_CONFIG}" +command_user="${KEA_USER}:${KEA_GROUP}" +pidfile="/run/kea/$(basename ${KEA_CONFIG%.*}).kea-${KEA_SVC}.pid" +required_files="${KEA_CONFIG}" +start_stop_daemon_args="--background" + +extra_commands="check_kea_svc checkconfig" +extra_started_commands="reload" + +check_kea_svc() { + if [ "${RC_SVCNAME}" = "kea" ]; then + eerror "You are not supposed to run this script directly." + eerror "Create a symlink for the kea service you want to run." + eerror "Symlinks should have been created during installation." + return 1 + fi + + case "${KEA_SVC}" in + dhcp4) + capabilities="^cap_net_bind_service,^cap_net_raw" + ;; + dhcp6|dhcp-ddns) + capabilities="^cap_net_bind_service" + ;; + *) + eerror "KEA_SVC is undefined or invalid!" + eerror "It should be defined in /etc/conf.d/${RC_SVCNAME}" + return 1 + ;; + esac +} + +checkconfig() { + ${command} -t ${KEA_CONFIG} 1>/dev/null || return 1 +} + +reload() { + checkconfig || return 1 + ebegin "Reloading ${RC_SVCNAME}" + start-stop-daemon --signal HUP --pidfile ${pidfile} + eend $? +} + +start_pre() { + check_kea_svc || return 1 + + if [ $(stat -c "%U:%G" ${KEA_CONFIG}) != "root:${KEA_GROUP}" ] ; then + eerror "${KEA_CONFIG} config file is not owned by root:${KEA_GROUP}" + eerror "you should reset the ownership:" + eerror "chown root:${KEA_GROUP} ${KEA_CONFIG}" + return 1 + fi + + if [ "${RC_CMD}" != "restart" ]; then + checkconfig || return 1 + fi +} + +start_post() { + # Kea creates the pidfile only after it has started successfully. + ewaitfile "${STARTUP_TIMEOUT:-1}" "${pidfile}" +} + +stop_pre() { + if [ "${RC_CMD}" = "restart" ]; then + checkconfig || return 1 + fi +} diff --git a/net-misc/kea/kea-3.2.0-r1.ebuild b/net-misc/kea/kea-3.2.0-r1.ebuild new file mode 100644 index 000000000000..ad055115322a --- /dev/null +++ b/net-misc/kea/kea-3.2.0-r1.ebuild @@ -0,0 +1,335 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/isc.asc +inherit eapi9-ver flag-o-matic meson python-r1 systemd tmpfiles +inherit toolchain-funcs verify-sig + +DESCRIPTION="High-performance production grade DHCPv4 & DHCPv6 server" +HOMEPAGE="https://www.isc.org/kea/" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.isc.org/isc-projects/kea.git" +else + SRC_URI=" + https://downloads.isc.org/isc/kea/${PV}/${P}.tar.xz + !doc? ( https://codeberg.org/peter1010/kea-manpages/archive/kea-manpages-${PV}.tar.gz ) + verify-sig? ( https://downloads.isc.org/isc/kea/${PV}/${P}.tar.xz.asc ) + " + KEYWORDS="~amd64 ~arm ~arm64 ~x86" +fi + +LICENSE="MPL-2.0" +SLOT="0" +IUSE="debug doc kerberos mysql +openssl postgres selinux shell test" + +REQUIRED_USE="shell? ( ${PYTHON_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +COMMON_DEPEND=" + >=dev-libs/boost-1.66:= + dev-libs/log4cplus:= + kerberos? ( virtual/krb5 ) + mysql? ( + app-arch/zstd:= + dev-db/mysql-connector-c:= + dev-libs/openssl:= + virtual/zlib:= + ) + !openssl? ( dev-libs/botan:3=[boost] ) + openssl? ( dev-libs/openssl:0= ) + postgres? ( dev-db/postgresql:* ) + shell? ( ${PYTHON_DEPS} ) +" +DEPEND="${COMMON_DEPEND} + test? ( dev-cpp/gtest ) +" +RDEPEND="${COMMON_DEPEND} + acct-group/dhcp + acct-user/dhcp + selinux? ( sec-policy/selinux-dhcp ) +" +BDEPEND=" + ${PYTHON_DEPS} + >=dev-build/meson-1.8 + virtual/pkgconfig + doc? ( + $(python_gen_any_dep ' + dev-python/sphinx[${PYTHON_USEDEP}] + dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}] + ') + ) + verify-sig? ( sec-keys/openpgp-keys-isc ) +" + +python_check_deps() { + use doc || return 0 + python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]" \ + "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]" +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && python_setup +} + +src_unpack() { + if [[ ${PV} == 9999 ]]; then + git-r3_src_unpack + return + fi + + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${P}.tar.xz{,.asc} + fi + + default +} + +src_prepare() { + default + + # Fix up all doc paths, whether or not we are installing full set of docs + sed -e "s:'doc/kea':'doc/${PF}':" \ + -i meson.build || die + sed -e "s:'share/doc/kea':'share/doc/${PF}':" \ + -i doc/meson.build || die + sed -e "s:'doc/kea':'doc/${PF}':" \ + -i doc/sphinx/meson.build || die + sed -e "s:share/doc/kea/:share/doc/${PF}/:" \ + -i doc/sphinx/arm/install.rst || die + sed -e "s:share/doc/kea/examples:share/doc/${PF}/examples:" \ + -i doc/sphinx/arm/config.rst || die + + # set shebang before meson whether or not we are installing the shell + sed -e 's:^#!@PYTHON@:#!/usr/bin/env python3:' \ + -i src/bin/shell/kea-shell.in || die + + # Don't allow meson to install shell, we shall do that if required + sed -e 's:install\: true:install\: false:' \ + -i src/bin/shell/meson.build || die + + # do not create /run + sed -e '/^install_emptydir(RUNSTATEDIR/d' \ + -i meson.build || die +} + +src_configure() { + # https://bugs.gentoo.org/861617 + # https://gitlab.isc.org/isc-projects/kea/-/issues/3946 + # + # Upstream does not support LTO + filter-lto + + if use !openssl; then + append-cxxflags -std=c++20 + fi + + # Note: https://gitlab.isc.org/isc-projects/kea/-/issues/4171 suggests patching meson.build to set umask, + # instead here we pass install-umask as an argument to do the same thing, i.e. control permissions on + # installed files. + local emesonargs=( + --localstatedir="${EPREFIX}/var" + -Drunstatedir="${EPREFIX}/run" + $(meson_feature kerberos krb5) + -Dnetconf=disabled + -Dcrypto=$(usex openssl openssl botan) + $(meson_feature mysql) + $(meson_feature postgres postgresql) + $(meson_feature test tests) + --install-umask=0o023 + ) + if use debug; then + emesonargs+=( + --debug + ) + fi + meson_src_configure +} + +src_compile() { + meson_src_compile + + use doc && meson_src_compile doc +} + +src_test() { + # Get list of all test suites into an associative array + # the meson test --list returns either "kea / test_suite", "kea:shell-tests / test_suite" or + # "kea:python-tests / test_suite" + # Note: In meson >= 1.10 the format has changed to + # the meson test --list returns either "kea:test_suite", "shell-tests - kea:test_suite" or + # "python-tests - kea:test_suite" + # + # Discard the shell tests as we can't run shell tests in sandbox + + pushd "${BUILD_DIR}" || die + + local -A test_suites + local -a words + while IFS="/: " read -ra words ; do + if [[ "${words[0]}" != "shell-tests" ]] && [[ "${words[2]}" != "shell-tests" ]]; then + test_suites["${words[-1]}"]=1 + fi + done < <(meson test --list || die) + popd || die + + # Some other tests will fail for interface access restrictions, we have to remove the test suites those tests + # belong to + local -a skip_tests=( + dhcp-radius-tests + kea-log-buffer_logger_test.sh + kea-log-console_test.sh + dhcp-lease-query-tests + kea-dhcp6-tests + kea-dhcp4-tests + kea-dhcp-tests + ) + + # skip shell tests that require a running instance of MySQL + if use mysql; then + skip_tests+=( + kea-mysql-tests + dhcp-mysql-lib-tests + dhcp-forensic-log-libload-tests + ) + fi + + # skip shell tests that require a running instance of PgSQL + if use postgres; then + skip_tests+=( + kea-pgsql-tests + dhcp-pgsql-lib-tests + dhcp-forensic-log-libload-tests + ) + fi + + if use kerberos; then + skip_tests+=( + ddns-gss-tsig-tests + ) + fi + + if [[ $(tc-get-ptr-size) -eq 4 ]]; then + # see https://bugs.gentoo.org/958171 for reason for skipping these tests + skip_tests+=( + kea-util-tests + kea-dhcpsrv-tests + dhcp-ha-lib-tests + kea-d2-tests + ) + fi + + local name + for name in ${skip_tests[@]}; do + unset -v 'test_suites[${name}]' + done + + meson_src_test "${!test_suites[@]}" +} + +install_shell() { + local orig_build_dir=$1 + python_domodule "${orig_build_dir}"/src/bin/shell/*.py + python_doscript "${orig_build_dir}"/src/bin/shell/kea-shell + + # fix path to import kea modules + sed -e "/^sys.path.append/s|(.*)|('$(python_get_sitedir)/${PN}')|" \ + -i "${ED}"/usr/lib/python-exec/${EPYTHON}/kea-shell || die +} + +src_install() { + meson_install + + # Remove unused database files + if use !mysql; then + rm -r "${ED}"/usr/share/kea/scripts/mysql || die + fi + if use !postgres; then + rm -r "${ED}"/usr/share/kea/scripts/pgsql || die + fi + + # No easy way to control how meson_install sets permissions in meson < 1.9 + # So make sure permissions are same as in previous versions of kea + # To avoid any differences between an update vers first time install + fperms -R 0755 /usr/sbin + fperms -R 0755 /usr/bin + fperms -R 0755 /usr/$(get_libdir) + + if use shell; then + python_moduleinto ${PN} + python_foreach_impl install_shell "${BUILD_DIR}" + fi + + # We don't use keactrl.conf so move to reduce confusion + mv "${ED}"/etc/${PN}/keactrl.conf "${ED}"/usr/share/doc/${PF}/examples/keactrl.conf || die + + fowners -R root:dhcp /etc/${PN} + + # A side effect of using install_umask 023 in meson setup is setting config files to be world readable + # lets not do that + fperms -R 0750 /etc/${PN} + chmod 0640 "${ED}"/etc/${PN}/*.conf || die + + # Install a conf per service and a linked init script per service + newinitd "${FILESDIR}"/${PN}-initd-r5 ${PN} + local svc + for svc in dhcp4 dhcp6 dhcp-ddns; do + newconfd "${FILESDIR}"/${PN}-confd-r4 kea-${svc} + sed -e "s:@KEA_SVC@:${svc}:g" \ + -i "${ED}"/etc/conf.d/kea-${svc} || die + dosym kea "${EPREFIX}"/etc/init.d/kea-${svc} + done + + if use !doc; then + doman "${WORKDIR}"/kea-manpages/man/* + fi + + systemd_newunit "${FILESDIR}"/${PN}-dhcp-ddns.service-r2 ${PN}-dhcp-ddns.service + systemd_newunit "${FILESDIR}"/${PN}-dhcp4.service-r2 ${PN}-dhcp4.service + systemd_newunit "${FILESDIR}"/${PN}-dhcp6.service-r2 ${PN}-dhcp6.service + + newtmpfiles "${FILESDIR}"/${PN}.tmpfiles.conf ${PN}.conf + + keepdir /var/lib/${PN} /var/log/${PN} + fowners -R dhcp:dhcp /var/lib/${PN} /var/log/${PN} + fperms 750 /var/lib/${PN} /var/log/${PN} +} + +pkg_postinst() { + tmpfiles_process ${PN}.conf + + if ver_replacing -lt 2.6; then + ewarn "Several changes have been made for daemons:" + ewarn " To comply with common practices for this package," + ewarn " config paths by default has been changed as below:" + ewarn " /etc/kea/kea-dhcp4.conf" + ewarn " /etc/kea/kea-dhcp6.conf" + ewarn " /etc/kea/kea-dhcp-ddns.conf" + ewarn + ewarn " Daemons are launched by default with the unprivileged user 'dhcp'" + ewarn + ewarn "Please check your configuration!" + fi + + if ver_replacing -lt 3.0; then + ewarn "Make sure that ${EPREFIX}/var/lib/kea and all the files in it are owned by dhcp:" + ewarn "chown -R dhcp:dhcp ${EPREFIX}/var/lib/kea" + ewarn + ewarn "If using openrc;" + ewarn " There are now separate conf.d scripts and associated init.d per daemon!" + ewarn " Each Daemon needs to be launched separately, i.e. the daemons are" + ewarn " kea-dhcp4" + ewarn " kea-dhcp6" + ewarn " kea-dhcp-ddns" + ewarn "Please adjust your service startups appropriately" + fi + + if ! has_version net-misc/kea; then + elog "See examples of config files in:" + elog " ${EROOT}/usr/share/doc/${PF}/examples" + fi +} diff --git a/net-misc/kea/kea-9999.ebuild b/net-misc/kea/kea-9999.ebuild index 4b59b16e4ec3..7e7acad9111b 100644 --- a/net-misc/kea/kea-9999.ebuild +++ b/net-misc/kea/kea-9999.ebuild @@ -5,7 +5,7 @@ EAPI=8 PYTHON_COMPAT=( python3_{13..14} ) VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/isc.asc -inherit eapi9-ver flag-o-matic meson python-r1 systemd tmpfiles +inherit flag-o-matic meson python-r1 systemd tmpfiles inherit toolchain-funcs verify-sig DESCRIPTION="High-performance production grade DHCPv4 & DHCPv6 server" @@ -66,7 +66,7 @@ BDEPEND=" " python_check_deps() { - use doc || return 0; + use doc || return 0 python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]" \ "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]" } @@ -76,7 +76,7 @@ pkg_setup() { } src_unpack() { - if [[ ${PV} == 9999 ]] ; then + if [[ ${PV} == 9999 ]]; then git-r3_src_unpack return fi @@ -112,7 +112,7 @@ src_prepare() { -i src/bin/shell/meson.build || die # do not create /run - sed -e '/^install_emptydir(RUNSTATEDIR)$/d' \ + sed -e '/^install_emptydir(RUNSTATEDIR/d' \ -i meson.build || die } @@ -120,7 +120,7 @@ src_configure() { # https://bugs.gentoo.org/861617 # https://gitlab.isc.org/isc-projects/kea/-/issues/3946 # - # Kea Devs say no to LTO + # Upstream does not support LTO filter-lto if use !openssl; then @@ -152,8 +152,6 @@ src_configure() { src_compile() { meson_src_compile - # Note: If you want man pages doc use has to be set. This may change - # in the future and be like 2.6.3 where man pages were part of the release tarball use doc && meson_src_compile doc } @@ -168,18 +166,19 @@ src_test() { # Discard the shell tests as we can't run shell tests in sandbox pushd "${BUILD_DIR}" || die - local -A TEST_SUITES - while IFS="/: " read -a words ; do + local -A test_suites + local -a words + while IFS="/: " read -ra words ; do if [[ "${words[0]}" != "shell-tests" ]] && [[ "${words[2]}" != "shell-tests" ]]; then - TEST_SUITES["${words[-1]}"]=1 + test_suites["${words[-1]}"]=1 fi done < <(meson test --list || die) - popd + popd || die # Some other tests will fail for interface access restrictions, we have to remove the test suites those tests # belong to - local SKIP_TESTS=( + local -a skip_tests=( dhcp-radius-tests kea-log-buffer_logger_test.sh kea-log-console_test.sh @@ -191,31 +190,31 @@ src_test() { # skip shell tests that require a running instance of MySQL if use mysql; then - SKIP_TESTS+=( + skip_tests+=( kea-mysql-tests dhcp-mysql-lib-tests - dhcp-forensic-log-libloadtests + dhcp-forensic-log-libload-tests ) fi # skip shell tests that require a running instance of PgSQL if use postgres; then - SKIP_TESTS+=( + skip_tests+=( kea-pgsql-tests dhcp-pgsql-lib-tests - dhcp-forensic-log-libloadtests + dhcp-forensic-log-libload-tests ) fi if use kerberos; then - SKIP_TESTS+=( + skip_tests+=( ddns-gss-tsig-tests ) fi if [[ $(tc-get-ptr-size) -eq 4 ]]; then # see https://bugs.gentoo.org/958171 for reason for skipping these tests - SKIP_TESTS+=( + skip_tests+=( kea-util-tests kea-dhcpsrv-tests dhcp-ha-lib-tests @@ -223,16 +222,18 @@ src_test() { ) fi - for SKIP in ${SKIP_TESTS[@]}; do - unset TEST_SUITES["${SKIP}"] + local name + for name in ${skip_tests[@]}; do + unset -v 'test_suites[${name}]' done - meson_src_test ${!TEST_SUITES[@]} + meson_src_test "${!test_suites[@]}" } install_shell() { - python_domodule ${ORIG_BUILD_DIR}/src/bin/shell/*.py - python_doscript ${ORIG_BUILD_DIR}/src/bin/shell/kea-shell + local orig_build_dir=$1 + python_domodule "${orig_build_dir}"/src/bin/shell/*.py + python_doscript "${orig_build_dir}"/src/bin/shell/kea-shell # fix path to import kea modules sed -e "/^sys.path.append/s|(.*)|('$(python_get_sitedir)/${PN}')|" \ @@ -242,7 +243,7 @@ install_shell() { src_install() { meson_install - # Tidy up + # Remove build metadata and unused database files rm -r "${ED}"/usr/share/kea/meson-info || die if use !mysql; then rm -r "${ED}"/usr/share/kea/scripts/mysql || die @@ -260,7 +261,7 @@ src_install() { if use shell; then python_moduleinto ${PN} - ORIG_BUILD_DIR=${BUILD_DIR} python_foreach_impl install_shell + python_foreach_impl install_shell "${BUILD_DIR}" fi # We don't use keactrl.conf so move to reduce confusion @@ -274,16 +275,16 @@ src_install() { chmod 0640 "${ED}"/etc/${PN}/*.conf || die # Install a conf per service and a linked init script per service - newinitd "${FILESDIR}"/${PN}-initd-r4 ${PN} + newinitd "${FILESDIR}"/${PN}-initd-r5 ${PN} + local svc - for svc in dhcp4 dhcp6 dhcp-ddns ctrl-agent; do - newconfd "${FILESDIR}"/${PN}-confd-r3 kea-${svc} + for svc in dhcp4 dhcp6 dhcp-ddns; do + newconfd "${FILESDIR}"/${PN}-confd-r4 kea-${svc} sed -e "s:@KEA_SVC@:${svc}:g" \ -i "${ED}"/etc/conf.d/kea-${svc} || die dosym kea "${EPREFIX}"/etc/init.d/kea-${svc} done - systemd_newunit "${FILESDIR}"/${PN}-ctrl-agent.service-r2 ${PN}-ctrl-agent.service systemd_newunit "${FILESDIR}"/${PN}-dhcp-ddns.service-r2 ${PN}-dhcp-ddns.service systemd_newunit "${FILESDIR}"/${PN}-dhcp4.service-r2 ${PN}-dhcp4.service systemd_newunit "${FILESDIR}"/${PN}-dhcp6.service-r2 ${PN}-dhcp6.service @@ -298,34 +299,6 @@ src_install() { pkg_postinst() { tmpfiles_process ${PN}.conf - if ver_replacing -lt 2.6; then - ewarn "Several changes have been made for daemons:" - ewarn " To comply with common practices for this package," - ewarn " config paths by default has been changed as below:" - ewarn " /etc/kea/kea-dhcp4.conf" - ewarn " /etc/kea/kea-dhcp6.conf" - ewarn " /etc/kea/kea-dhcp-ddns.conf" - ewarn " /etc/kea/kea-ctrl-agent.conf" - ewarn - ewarn " Daemons are launched by default with the unprivileged user 'dhcp'" - ewarn - ewarn "Please check your configuration!" - fi - - if ver_replacing -lt 3.0; then - ewarn "Make sure that ${EPREFIX}/var/lib/kea and all the files in it are owned by dhcp:" - ewarn "chown -R dhcp:dhcp ${EPREFIX}/var/lib/kea" - ewarn - ewarn "If using openrc;" - ewarn " There are now separate conf.d scripts and associated init.d per daemon!" - ewarn " Each Daemon needs to be launched separately, i.e. the daemons are" - ewarn " kea-dhcp4" - ewarn " kea-dhcp6" - ewarn " kea-dhcp-ddns" - ewarn " kea-ctrl" - ewarn "Please adjust your service startups appropriately" - fi - if ! has_version net-misc/kea; then elog "See examples of config files in:" elog " ${EROOT}/usr/share/doc/${PF}/examples" diff --git a/net-vpn/openvpn/Manifest b/net-vpn/openvpn/Manifest index 6924ff2e08f7..6757d7d3eac5 100644 --- a/net-vpn/openvpn/Manifest +++ b/net-vpn/openvpn/Manifest @@ -4,3 +4,5 @@ DIST openvpn-2.7.4.tar.gz 2092050 BLAKE2B 8957cde4fbf04a8108e9cb19720ed089275055 DIST openvpn-2.7.4.tar.gz.asc 833 BLAKE2B 4f0f700a065eef8cd0f11c0935f032d65bd3ad17fe5829239dcc7ce4d209955b8e4782ed89d5dfd74574e13dd3a983087a65786a4ea8626bc57670148a86fed4 SHA512 8a8bde1b6e72dae040cf7ccf546be29d20d298825ce0c4156b3548a3e4a40b830af49600ef785e534c569fdab2362dd64809d1d52bd6d0acb69364905fbcf254 DIST openvpn-2.7.5.tar.gz 2101063 BLAKE2B ea660165d76391239e07522b919936a483944de5a6153ca0a9a0ed66df0515bfac5c0c6ea8bef58e0c084ade68d7ad68043087d44198615e60d6a5d5630ec3f9 SHA512 cc671df2582b0eb2eb1a73d5466dec7593b94518bb6ab31cc31b3d6b14cbc91942fa55e3865b861626acc866bb329cbed0d7a73a37963bd32a2ebece7ba938d2 DIST openvpn-2.7.5.tar.gz.asc 833 BLAKE2B 538b890e60d20f812e21c98e30a231383713f3e0dfae22a05e9693b598abde7d45ded005e1718525f4585b084bfa80ab550d7c6eee134f04e13dc56734be975d SHA512 a60bf826a048e4b2f254fd9c9030e671c1cbea1a302b678b9ac49ae299f41543f2229058a8f91ee4d99ad3df190c3a63ecb0c981533ab1ac060bb881acc3f998 +DIST openvpn-2.7.6.tar.gz 2105678 BLAKE2B 0cf4f6c7337ef3e31cb6f261423863b86fedcaaa69272d26811f4066afcece873ccebca167cb5e9f37bc474ccbbad7f71effc0678b98ed52864a96351a8cc3f0 SHA512 2e45d147f0983b6f343b6772c20b17e67bff0143e7bcf3c2a10551b77d9929c64c86e53b4ade5493023517f3ccd92b0c1011d03cb3543321d0f9faea408e6020 +DIST openvpn-2.7.6.tar.gz.asc 833 BLAKE2B 28d5e137fbe0ee84de4862f03a682bb6313b604c6beded797bfe00e5936ff8ccb33e7266e7ec0a9604d1b4e26c756117292899f8c9779d5b16a766ff82a6b6a3 SHA512 79af977aa59ca3fcf0dc4c3f6c26d397e1b3eac85b92d1282440445486404a5943f1e1e55fed367be28fa38ccaba68cd08fd59613703b15b65f4d091360d02b4 diff --git a/net-vpn/openvpn/openvpn-2.7.6.ebuild b/net-vpn/openvpn/openvpn-2.7.6.ebuild new file mode 100644 index 000000000000..070d0b7bf731 --- /dev/null +++ b/net-vpn/openvpn/openvpn-2.7.6.ebuild @@ -0,0 +1,224 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools dot-a systemd linux-info tmpfiles toolchain-funcs + +DESCRIPTION="Robust and highly flexible tunneling application compatible with many OSes" +HOMEPAGE="https://community.openvpn.net/ https://openvpn.net" + +if [[ ${PV} == "9999" ]]; then + EGIT_REPO_URI="https://github.com/OpenVPN/${PN}.git" + inherit git-r3 +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openvpn.asc + inherit verify-sig + + SRC_URI=" + https://build.openvpn.net/downloads/releases/${P}.tar.gz + verify-sig? ( https://build.openvpn.net/downloads/releases/${P}.tar.gz.asc ) + " + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +LICENSE="GPL-2" +SLOT="0" + +IUSE="dco down-root examples inotify iproute2 kernel-ovpn +lz4 +lzo mbedtls" +IUSE+=" +openssl pam pkcs11 +plugins selinux systemd test" + +RESTRICT="!test? ( test )" +REQUIRED_USE=" + ^^ ( openssl mbedtls ) + pkcs11? ( !mbedtls ) + !plugins? ( !pam !down-root ) + inotify? ( plugins ) + dco? ( !iproute2 ) +" + +COMMON_DEPEND=" + kernel_linux? ( + iproute2? ( sys-apps/iproute2[-minimal] ) + ) + lz4? ( app-arch/lz4 ) + lzo? ( >=dev-libs/lzo-1.07 ) + mbedtls? ( net-libs/mbedtls:3= ) + openssl? ( >=dev-libs/openssl-1.0.2:0= ) + pam? ( sys-libs/pam ) + pkcs11? ( >=dev-libs/pkcs11-helper-1.11 ) + selinux? ( sys-libs/libselinux ) + systemd? ( sys-apps/systemd ) + dco? ( + !kernel-ovpn? ( >=net-vpn/ovpn-dco-0.2 ) + >=dev-libs/libnl-3.2.29:= + ) + sys-libs/libcap-ng:= +" + +BDEPEND=" + virtual/pkgconfig +" + +DEPEND=" + ${COMMON_DEPEND} + test? ( dev-util/cmocka ) +" +RDEPEND=" + ${COMMON_DEPEND} + acct-group/openvpn + acct-user/openvpn + selinux? ( sec-policy/selinux-openvpn ) +" + +if [[ ${PV} = "9999" ]]; then + BDEPEND+=" dev-python/docutils" +else + BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-openvpn-202600704 )" +fi + +pkg_setup() { + local CONFIG_CHECK="~TUN" + if use kernel-ovpn; then + local CONFIG_CHECK+=" ~OVPN" + fi + linux-info_pkg_setup +} + +src_prepare() { + default + + eautoreconf +} + +src_configure() { + local -a myeconfargs + + # See tests-no-lto.patch (done unconditionally to not have the build + # vary with and without tests) + lto-guarantee-fat + + local MBEDTLS_CFLAGS + local MBEDTLS_LIBS + if ! use mbedtls; then + myeconfargs+=( + $(use_enable pkcs11) + ) + else + MBEDTLS_CFLAGS="$($(tc-getPKG_CONFIG) --cflags mbedtls-3 mbedcrypto-3 mbedx509-3)" + MBEDTLS_LIBS="$($(tc-getPKG_CONFIG) --libs mbedtls-3 mbedcrypto-3 mbedx509-3)" + fi + + myeconfargs+=( + $(use_enable inotify async-push) + --with-crypto-library=$(usex mbedtls mbedtls openssl) + $(use_enable lz4) + $(use_enable lzo) + $(use_enable plugins) + $(use_enable iproute2) + $(use_enable pam plugin-auth-pam) + $(use_enable down-root plugin-down-root) + $(use_enable selinux) + $(use_enable systemd) + $(use_enable dco) + ) + + SYSTEMD_UNIT_DIR=$(systemd_get_systemunitdir) \ + TMPFILES_DIR="/usr/lib/tmpfiles.d" \ + IPROUTE=$(usex iproute2 '/bin/ip' '') \ + MBEDTLS_CFLAGS="${MBEDTLS_CFLAGS}" \ + MBEDTLS_LIBS="${MBEDTLS_LIBS}" \ + econf "${myeconfargs[@]}" +} + +src_test() { + local -x RUN_SUDO=false + + elog "Running top-level tests" + emake check + + pushd tests/unit_tests &>/dev/null || die + elog "Running unit tests" + emake check + popd &>/dev/null || die +} + +src_install() { + default + + find "${ED}/usr" -type f -name '*.la' -delete || die + + # install documentation + dodoc AUTHORS ChangeLog PORTS README + + # Install some helper scripts + keepdir /etc/openvpn + exeinto /etc/openvpn + doexe "${FILESDIR}/up.sh" + doexe "${FILESDIR}/down.sh" + + # Install the init script and config file + newinitd "${FILESDIR}/${PN}-2.1.init" openvpn + newconfd "${FILESDIR}/${PN}-2.1.conf" openvpn + + # install examples, controlled by the respective useflag + if use examples ; then + # (is the below comment relevant anymore?) + ## dodoc does not supportly support directory traversal, #15193 + docinto examples + dodoc -r sample contrib + fi + + # https://bugs.gentoo.org/755680#c3 + doman doc/openvpn.8 + + # https://github.com/OpenVPN/openvpn/issues/482 (bug #857648) + newtmpfiles distro/systemd/tmpfiles-openvpn.conf openvpn.conf +} + +pkg_postinst() { + tmpfiles_process openvpn.conf + + if systemd_is_booted || has_version sys-apps/systemd ; then + elog "In order to use OpenVPN with systemd please use the correct systemd service file." + elog + elog "server:" + elog + elog "- Place your server configuration file in /etc/openvpn/server" + elog "- Use the openvpn-server@.service like so" + elog "systemctl start openvpn-server@{Server-config}" + elog + elog "client:" + elog + elog "- Place your client configuration file in /etc/openvpn/client" + elog "- Use the openvpn-client@.service like so:" + elog "systemctl start openvpn-client@{Client-config}" + else + elog "The openvpn init script expects to find the configuration file" + elog "openvpn.conf in /etc/openvpn along with any extra files it may need." + elog + elog "To create more VPNs, simply create a new .conf file for it and" + elog "then create a symlink to the openvpn init script from a link called" + elog "openvpn.newconfname - like so" + elog " cd /etc/openvpn" + elog " ${EDITOR##*/} foo.conf" + elog " cd /etc/init.d" + elog " ln -s openvpn openvpn.foo" + elog + elog "You can then treat openvpn.foo as any other service, so you can" + elog "stop one vpn and start another if you need to." + fi + + if grep -Eq "^[ \t]*(up|down)[ \t].*" "${ROOT}/etc/openvpn"/*.conf 2>/dev/null ; then + ewarn + ewarn "WARNING: If you use the remote keyword then you are deemed to be" + ewarn "a client by our init script and as such we force up,down scripts." + ewarn "These scripts call /etc/openvpn/\$SVCNAME-{up,down}.sh where you" + ewarn "can move your scripts to." + fi + + if use plugins ; then + einfo + einfo "plugins have been installed into /usr/$(get_libdir)/${PN}/plugins" + fi +} diff --git a/net-vpn/tailscale/tailscale-1.102.0.ebuild b/net-vpn/tailscale/tailscale-1.102.0.ebuild index 4c275da9ec73..a9888e11e103 100644 --- a/net-vpn/tailscale/tailscale-1.102.0.ebuild +++ b/net-vpn/tailscale/tailscale-1.102.0.ebuild @@ -20,7 +20,7 @@ LICENSE="MIT" # Dependent licenses LICENSE+=" Apache-2.0 BSD BSD-2 ISC MIT MPL-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +KEYWORDS="~amd64 ~arm arm64 ~ppc64 ~riscv ~x86" RESTRICT="test" CONFIG_CHECK="~TUN" diff --git a/net-wireless/wireless-regdb/Manifest b/net-wireless/wireless-regdb/Manifest index 54b6605da565..64dac884a0df 100644 --- a/net-wireless/wireless-regdb/Manifest +++ b/net-wireless/wireless-regdb/Manifest @@ -1,4 +1,2 @@ DIST wireless-regdb-2025.10.07.tar.xz 31468 BLAKE2B 655c637ca2a9269b6b17bc374c7d09dcbbc5228aaefcbe60cd0c24dc78d778a56848a338f830cac8deed7930100a0fffcfdc2d694513c4afa5d537ccf9397f97 SHA512 9635ba89a45742449a60dd776f1d4b062a11bf11ee5011a7141382042ed24065df8214d9b244644c27bdfe4fa46d18fa467b8674392f28ba68b86cd8994cecd4 -DIST wireless-regdb-2026.02.04.tar.xz 31656 BLAKE2B 51b528effd27bef82337babc911e85586a105efce758264d52065b8b2137f08a803e0962ef07a600fec36fd110eecacd1b88d2569aa73ad2a289702164d88581 SHA512 5c4da6cd94a3f0d3b1265e3aee493c04cc7c3675fedec2982af34a60f6837faf78c2aa112a740a5cb60eeb830043c9ef0c27247c33c686052ab8812c7232f6c9 -DIST wireless-regdb-2026.03.18.tar.xz 31760 BLAKE2B 2d4f1154be1b41911a62ffbcf10b42529282ce1964897af50aa49ac49b17f06a8a9583b5a42d1b8875a12df04e436679c6af3846ea2cc3c9df7fc29daec7f1ce SHA512 e5b1cc0f8696205e977c9a84ac835994f93dbadeb30725f0a3976cd5a734db44c9df7f98c6acef937814ebc6804312dc516d6bff12e3cbf02814bddea8b2588e DIST wireless-regdb-2026.05.30.tar.xz 32044 BLAKE2B 81aa422097580319e6088d0a52a2c4007696331df175c3aed1ce6b6c750e9b7bda08a4aa4ee6249abaa3f283f8a942803eefca8334020de68c33f5e7e35a57e0 SHA512 db06f3115051c030f749419f074543309e24626ebdd59d468c56ac3130f38a6c9e4a69ecebbc3bf65d0cdf9876d9c0de0703e00fc9afb402ab2b1a8a0ca1e146 diff --git a/net-wireless/wireless-regdb/wireless-regdb-20260204.ebuild b/net-wireless/wireless-regdb/wireless-regdb-20260204.ebuild deleted file mode 100644 index 6ac4a2991c22..000000000000 --- a/net-wireless/wireless-regdb/wireless-regdb-20260204.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 linux-info - -MY_P="wireless-regdb-${PV:0:4}.${PV:4:2}.${PV:6:2}" -DESCRIPTION="Wireless Regulatory database for Linux" -HOMEPAGE="https://wireless.docs.kernel.org/en/latest/en/developers/regulatory/wireless-regdb.html" -SRC_URI="https://mirrors.edge.kernel.org/pub/software/network/${PN}/${MY_P}.tar.xz" -S="${WORKDIR}/${MY_P}" - -LICENSE="ISC" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" -REQUIRED_USE="kernel_linux" - -pkg_pretend() { - if kernel_is -ge 4 15; then - if linux_config_exists; then - if linux_chkconfig_builtin CFG80211 && - [[ $(linux_chkconfig_string EXTRA_FIRMWARE) != *regulatory.db* ]]; then - ewarn "REGULATORY DOMAIN PROBLEM:" - ewarn " With CONFIG_CFG80211=y (built-in), the driver(s) won't be able to load regulatory.db from" - ewarn " /lib/firmware, resulting in broken regulatory domain support. Please set CONFIG_CFG80211=m" - ewarn " or add regulatory.db and regulatory.db.p7s to CONFIG_EXTRA_FIRMWARE." - fi - if ! linux_chkconfig_present CFG80211; then - ewarn "REGULATORY DOMAIN PROBLEM:" - ewarn " With CONFIG_CFG80211 unset, the driver(s) won't be able to load the regulatory.db from" - ewarn " /lib/firmware, resulting in broken regulatory domain support. Please set CONFIG_CFG80211=m." - fi - if linux_chkconfig_present EXPERT && linux_chkconfig_present CFG80211_CRDA_SUPPORT; then - ewarn "You can safely disable CFG80211_CRDA_SUPPORT" - fi - fi - else - CONFIG_CHECK="~CFG80211_CRDA_SUPPORT" - WARNING_CFG80211_CRDA_SUPPORT="REGULATORY DOMAIN PROBLEM: \ -please enable CFG80211_CRDA_SUPPORT for proper regulatory domain support" - fi - - check_extra_config -} - -src_compile() { - einfo "Recompiling regulatory database(s) from db.txt would break signature verification." - einfo "Installing unmodified binary version." -} - -src_install() { - # install the files the kernel needs unconditionally, - # they are small and kernels get upgraded - insinto /lib/firmware - doins regulatory.db regulatory.db.p7s - - echo '.so man5/regulatory.bin.5' > regulatory.db.5 || die - # without -i18n= workaround regulatory.db.5 is installed as db/man5/regulatory.5 - doman -i18n= regulatory.db.5 regulatory.bin.5 - dodoc README db.txt -} diff --git a/net-wireless/wireless-regdb/wireless-regdb-20260318.ebuild b/net-wireless/wireless-regdb/wireless-regdb-20260318.ebuild deleted file mode 100644 index 6ac4a2991c22..000000000000 --- a/net-wireless/wireless-regdb/wireless-regdb-20260318.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 linux-info - -MY_P="wireless-regdb-${PV:0:4}.${PV:4:2}.${PV:6:2}" -DESCRIPTION="Wireless Regulatory database for Linux" -HOMEPAGE="https://wireless.docs.kernel.org/en/latest/en/developers/regulatory/wireless-regdb.html" -SRC_URI="https://mirrors.edge.kernel.org/pub/software/network/${PN}/${MY_P}.tar.xz" -S="${WORKDIR}/${MY_P}" - -LICENSE="ISC" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" -REQUIRED_USE="kernel_linux" - -pkg_pretend() { - if kernel_is -ge 4 15; then - if linux_config_exists; then - if linux_chkconfig_builtin CFG80211 && - [[ $(linux_chkconfig_string EXTRA_FIRMWARE) != *regulatory.db* ]]; then - ewarn "REGULATORY DOMAIN PROBLEM:" - ewarn " With CONFIG_CFG80211=y (built-in), the driver(s) won't be able to load regulatory.db from" - ewarn " /lib/firmware, resulting in broken regulatory domain support. Please set CONFIG_CFG80211=m" - ewarn " or add regulatory.db and regulatory.db.p7s to CONFIG_EXTRA_FIRMWARE." - fi - if ! linux_chkconfig_present CFG80211; then - ewarn "REGULATORY DOMAIN PROBLEM:" - ewarn " With CONFIG_CFG80211 unset, the driver(s) won't be able to load the regulatory.db from" - ewarn " /lib/firmware, resulting in broken regulatory domain support. Please set CONFIG_CFG80211=m." - fi - if linux_chkconfig_present EXPERT && linux_chkconfig_present CFG80211_CRDA_SUPPORT; then - ewarn "You can safely disable CFG80211_CRDA_SUPPORT" - fi - fi - else - CONFIG_CHECK="~CFG80211_CRDA_SUPPORT" - WARNING_CFG80211_CRDA_SUPPORT="REGULATORY DOMAIN PROBLEM: \ -please enable CFG80211_CRDA_SUPPORT for proper regulatory domain support" - fi - - check_extra_config -} - -src_compile() { - einfo "Recompiling regulatory database(s) from db.txt would break signature verification." - einfo "Installing unmodified binary version." -} - -src_install() { - # install the files the kernel needs unconditionally, - # they are small and kernels get upgraded - insinto /lib/firmware - doins regulatory.db regulatory.db.p7s - - echo '.so man5/regulatory.bin.5' > regulatory.db.5 || die - # without -i18n= workaround regulatory.db.5 is installed as db/man5/regulatory.5 - doman -i18n= regulatory.db.5 regulatory.bin.5 - dodoc README db.txt -} diff --git a/net-wireless/wireless-regdb/wireless-regdb-20260530.ebuild b/net-wireless/wireless-regdb/wireless-regdb-20260530.ebuild index 6ac4a2991c22..eecf36d9c4fd 100644 --- a/net-wireless/wireless-regdb/wireless-regdb-20260530.ebuild +++ b/net-wireless/wireless-regdb/wireless-regdb-20260530.ebuild @@ -13,7 +13,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="ISC" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86" REQUIRED_USE="kernel_linux" pkg_pretend() { diff --git a/profiles/base/package.use.force b/profiles/base/package.use.force index 7459cb062a6b..847e3a0c30fd 100644 --- a/profiles/base/package.use.force +++ b/profiles/base/package.use.force @@ -120,6 +120,8 @@ llvm-runtimes/libcxxabi clang # echo "dev-lang/rust:${slot} llvm_slot_${_RUST_LLVM_MAP[${slot}]}" # echo "dev-lang/rust-bin:${slot} llvm_slot_${_RUST_LLVM_MAP[${slot}]}" # done +dev-lang/rust:1.98.1 llvm_slot_22 +dev-lang/rust-bin:1.98.1 llvm_slot_22 dev-lang/rust:1.97.1 llvm_slot_22 dev-lang/rust-bin:1.97.1 llvm_slot_22 dev-lang/rust:1.96.1 llvm_slot_22 diff --git a/profiles/base/package.use.mask b/profiles/base/package.use.mask index 8ee274898c66..13a445619ab5 100644 --- a/profiles/base/package.use.mask +++ b/profiles/base/package.use.mask @@ -44,11 +44,6 @@ dev-cpp/eigen:3/3.4 test # uses MeDiPack ~sci-libs/adolc-9999 -mpi -# Andreas Sturmlechner <asturm@gentoo.org> (2026-05-15) -# Various integration packages. Maintainers, you must drop Qt5 support. -<=x11-themes/QGnomePlatform-0.9.2-r7 qt5 -<=x11-themes/adwaita-qt-1.4.2-r1 qt5 - # Michał Górny <mgorny@gentoo.org> (2026-05-07) # Force-enable all PYTHON_TARGETS for python-exec to avoid using private # API. Please remember to keep it in sync with python_targets.desc. diff --git a/profiles/package.mask/00-gentoo b/profiles/package.mask/00-gentoo index 331a61b7a6cf..21111aff1f9b 100644 --- a/profiles/package.mask/00-gentoo +++ b/profiles/package.mask/00-gentoo @@ -36,6 +36,12 @@ #--- END OF EXAMPLES --- +# 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. @@ -73,12 +79,6 @@ acct-group/croc acct-user/croc net-misc/croc -# Arthur Zamarin <arthurzam@gentoo.org> (2026-08-20) -# Masked for testing. Already detected regressions, so downgrade -# unless you want to help test. -# Bug #981130. -=dev-lang/go-1.27.0 - # James Le Cuirot <chewi@gentoo.org> (2026-08-16) # This fork of Barrier sadly didn't get very far. Upstream have now archived the # repository. Use gui-apps/deskflow, which is now the FOSS upstream of the diff --git a/sci-ml/pytorch/Manifest b/sci-ml/pytorch/Manifest index d41e29f2e8ca..e525ede57b4c 100644 --- a/sci-ml/pytorch/Manifest +++ b/sci-ml/pytorch/Manifest @@ -2,3 +2,4 @@ DIST composable_kernel-f1746955.tar.gz 7687217 BLAKE2B 973bf5b8eece2944e053c17eb DIST flash-attention-2.7.4.gh.tar.gz 5841323 BLAKE2B 432999d763f2b3d732580ddfea5d3e01370351db0656546259a5e500a07516dd03c98828bfb55855dabe4adc651033b5d97ea4725ca46158b9970f0fbc662710 SHA512 05a4afb09e666f7404d6a3f8b5256e7bed6eba60a6f1bde2b7dbb96d318975f0b458c2521c7a38d88e97b6e4c27f29077cf787849daf82586e33f43a3d9a84b3 DIST pytorch-2.12.0.tar.gz 64740318 BLAKE2B e5e46a93422454da420563d0a8057c87d1ed4b27e0bd9b3b30e46b5e40cfbb489072144ac00267af2f085432d55e12adf750daf15ea165a1252449b00dca1ff9 SHA512 f5ab0f6933d88271f772b416f8c9b3b0d3e1ffaf8d00838b455206266b40d7c805e34003d84b01cddc7f1ad917dd72d6f79a05063b0962cbf223d9042cff3206 DIST pytorch-2.13.0.tar.gz 66369404 BLAKE2B 373df49b4f2d504aafedd948e34562696335d316ebcd497dbd86a54a3a3c39310d1595050cc2bcae858d0085e6a0c59ed5299962d6a2706441ab28c1699c4821 SHA512 0f7465835ae9206746d507e1b927afb94f8860248473f2d1c5d71ccd40defbd23d0e3e27a1b09deb907e753a7c9008352830170b53441701ade0916d68a42562 +DIST pytorch-2.14.0.tar.gz 69721997 BLAKE2B 8f6ba5cca094ca3dc4d7b3cf2bd9972196b71b84506c54ecf40f9fa80f0f87b469f3bd04b1200766c19aa4faf94b5bf4f1c6477bb98db1a0b26217fa4b2de10d SHA512 403f160b73800739772c54208b0edb2e4a462a45d282cf03b38e8b1e3f3e45053974bfdba57c4249a1d0cc47f7807fd1ff11c22a321306bf74e758f2ccb4cb18 diff --git a/sci-ml/pytorch/files/pytorch-2.14.0-license.patch b/sci-ml/pytorch/files/pytorch-2.14.0-license.patch new file mode 100644 index 000000000000..a1886ce1ff5d --- /dev/null +++ b/sci-ml/pytorch/files/pytorch-2.14.0-license.patch @@ -0,0 +1,10 @@ +--- a/pyproject.toml 2026-09-03 16:46:07.080977356 +0200 ++++ b/pyproject.toml 2026-09-03 18:11:07.550648831 +0200 +@@ -354,7 +354,6 @@ + "LICENSE", + "third_party/**/LICENSE", + "third_party/**/LICENSE.txt", +- "third_party/**/LICENSE.rst", + ] + authors = [{ name = "PyTorch Team", email = "packages@pytorch.org" }] + keywords = ["pytorch", "machine learning"] diff --git a/sci-ml/pytorch/files/pytorch-2.14.0-removekineto-pr178960.patch b/sci-ml/pytorch/files/pytorch-2.14.0-removekineto-pr178960.patch new file mode 100644 index 000000000000..ee083a12b75a --- /dev/null +++ b/sci-ml/pytorch/files/pytorch-2.14.0-removekineto-pr178960.patch @@ -0,0 +1,288 @@ +From 37e33881b9e995f8328da0a149d71f4314bd7aa1 Mon Sep 17 00:00:00 2001 +From: Samaresh Kumar Singh <ssam3003@gmail.com> +Date: Tue, 31 Mar 2026 21:39:08 -0500 +Subject: [PATCH 1/3] profiler: fix USE_KINETO=OFF build failure due to + unconditional ActivityType.h include + +kineto_shim.h was unconditionally including <ActivityType.h>, which is a Kineto header, causing a fatal compile error when building with USE_KINETO=OFF and Kineto is not installed (e.g. on Gentoo with system libraries). + +Guard the include with #ifdef USE_KINETO and provide a minimal stub (enum class ActivityType : uint8_t { NONE = 0 }) so the data structures and function signatures that reference libkineto::ActivityType still compile. Guard the corresponding function bodies in kineto_shim.cpp (addCPUActivity, +deviceTypeFromActivity) and collection.cpp (scopeToType, kinetoType) that use concrete enum values, adding no-op stubs for the non-Kineto paths.Fixes the bug #178939 +--- + torch/csrc/profiler/collection.cpp | 8 ++++++++ + torch/csrc/profiler/kineto_shim.cpp | 16 ++++++++++++++-- + torch/csrc/profiler/kineto_shim.h | 7 +++++++ + 3 files changed, 29 insertions(+), 2 deletions(-) + +diff --git a/torch/csrc/profiler/collection.cpp b/torch/csrc/profiler/collection.cpp +index 1be2d80310910..e8054d4f44df7 100644 +--- a/torch/csrc/profiler/collection.cpp ++++ b/torch/csrc/profiler/collection.cpp +@@ -646,11 +646,13 @@ std::string toString(const ExtraFields<EventType::PyCall>& e) { + e.callsite_.funcname_.str()); + } + ++#ifdef USE_KINETO + auto scopeToType(at::RecordScope scope) { + return scope == at::RecordScope::USER_SCOPE + ? libkineto::ActivityType::USER_ANNOTATION + : libkineto::ActivityType::CPU_OP; + } ++#endif + + int64_t torchOpEndNS( + const ExtraFields<EventType::TorchOp>& e, +@@ -699,6 +701,7 @@ std::string Result::overload_name() const { + [](const auto& e) -> std::string { return ""; })); + } + ++#ifdef USE_KINETO + libkineto::ActivityType Result::kinetoType() const { + return visit(c10::overloaded( + ATTRIBUTE(TorchOp, scopeToType(e.scope_)), +@@ -711,6 +714,11 @@ libkineto::ActivityType Result::kinetoType() const { + ATTRIBUTE(PythonGC, libkineto::ActivityType::PYTHON_FUNCTION), + ATTRIBUTE(Kineto, e.activity_type_))); + } ++#else ++libkineto::ActivityType Result::kinetoType() const { ++ return libkineto::ActivityType::NONE; ++} ++#endif + + uint64_t Result::correlationID() const { + return visit(c10::overloaded( +diff --git a/torch/csrc/profiler/kineto_shim.cpp b/torch/csrc/profiler/kineto_shim.cpp +index fa232e1a01016..0ddf62997a07e 100644 +--- a/torch/csrc/profiler/kineto_shim.cpp ++++ b/torch/csrc/profiler/kineto_shim.cpp +@@ -196,6 +196,7 @@ TraceWrapper::TraceWrapper(const int64_t start_time, const std::string& name) + } + #endif // USE_KINETO + ++#ifdef USE_KINETO + activity_t* TraceWrapper::addCPUActivity( + const std::string& name, + const libkineto::ActivityType type, +@@ -203,7 +204,6 @@ activity_t* TraceWrapper::addCPUActivity( + const uint64_t correlation_id, + const int64_t start_time, + const int64_t end_time) { +-#ifdef USE_KINETO + TORCH_CHECK((bool)(*this), "Cannot add event to non-existent trace."); + cpu_trace_->emplace_activity(cpu_trace_->span, type, name); + auto& act = libkineto::CpuTraceBuffer::toRef(cpu_trace_->activities.back()); +@@ -215,10 +215,18 @@ activity_t* TraceWrapper::addCPUActivity( + act.endTime = end_time; + } + return cpu_trace_->activities.back().get(); ++} + #else ++activity_t* TraceWrapper::addCPUActivity( ++ const std::string& name, ++ const libkineto::ActivityType type, ++ const DeviceAndResource device_and_resource, ++ const uint64_t correlation_id, ++ const int64_t start_time, ++ const int64_t end_time) { + return nullptr; +-#endif // USE_KINETO + } ++#endif // USE_KINETO + + void TraceWrapper::transferCpuTrace(int64_t end_time) { + #ifdef USE_KINETO +@@ -498,6 +506,7 @@ void logInvariantViolation( + + namespace autograd::profiler { + c10::DeviceType deviceTypeFromActivity(libkineto::ActivityType activity_type) { ++#ifdef USE_KINETO + // PrivateUse1 kineto backend reuse some ActivityTypes, + // If PrivateUse1 backend is enabled, this should return + // c10::DeviceType::PrivateUse1. +@@ -551,6 +560,9 @@ c10::DeviceType deviceTypeFromActivity(libkineto::ActivityType activity_type) { + return c10::DeviceType::CPU; + } + } ++#else ++ return c10::DeviceType::CPU; ++#endif // USE_KINETO + } + + void addMetadataJson(const std::string& key, const std::string& value) { +diff --git a/torch/csrc/profiler/kineto_shim.h b/torch/csrc/profiler/kineto_shim.h +index 4f9bdc6770507..44bcb0e18a6e0 100644 +--- a/torch/csrc/profiler/kineto_shim.h ++++ b/torch/csrc/profiler/kineto_shim.h +@@ -12,7 +12,14 @@ + #undef USE_KINETO + #endif + ++#ifdef USE_KINETO + #include <ActivityType.h> ++#else ++// Minimal stub so non-Kineto builds can compile types that hold ActivityType. ++namespace libkineto { ++enum class ActivityType : uint8_t { NONE = 0 }; ++} // namespace libkineto ++#endif + + #include <torch/csrc/Export.h> + #include <torch/csrc/profiler/api.h> + +From f5e3a9d9aa12c6e2006a9243c97ef7703fcbbe2f Mon Sep 17 00:00:00 2001 +From: Samaresh Kumar Singh <ssam3003@gmail.com> +Date: Wed, 1 Apr 2026 10:34:24 -0500 +Subject: [PATCH 2/3] Fixed the USER_ANNOTATION/GPU_USER_ANNOTATION build + errors with external kineto + +When building against a system-installed kineto (e.g. Gentoo's sci-ml/kineto) that lacks USER_ANNOTATION and GPU_USER_ANNOTATION in its ActivityType enum, +init.cpp failed to compile because it referenced those enum member names directly. +--- + torch/csrc/autograd/init.cpp | 7 +------ + torch/csrc/autograd/profiler_kineto.cpp | 7 +++++++ + torch/csrc/autograd/profiler_kineto.h | 1 + + torch/csrc/profiler/kineto_shim.h | 11 +++++++++-- + 4 files changed, 18 insertions(+), 8 deletions(-) + +diff --git a/torch/csrc/autograd/init.cpp b/torch/csrc/autograd/init.cpp +index 1e2442a5d99db..f8e8795c5805e 100644 +--- a/torch/csrc/autograd/init.cpp ++++ b/torch/csrc/autograd/init.cpp +@@ -310,12 +310,7 @@ PyObject* THPAutograd_initExtension(PyObject* _unused, PyObject* unused) { + .def("privateuse1_elapsed_us", &KinetoEvent::privateuse1ElapsedUs) + .def( + "is_user_annotation", +- [](const KinetoEvent& e) { +- return e.activityType() == +- (uint8_t)libkineto::ActivityType::USER_ANNOTATION || +- e.activityType() == +- (uint8_t)libkineto::ActivityType::GPU_USER_ANNOTATION; +- }) ++ [](const KinetoEvent& e) { return e.isUserAnnotation(); }) + .def( + "is_python_function", + [](const KinetoEvent& e) { return e.isPythonFunction(); }) +diff --git a/torch/csrc/autograd/profiler_kineto.cpp b/torch/csrc/autograd/profiler_kineto.cpp +index 9a076f58d7143..6b5165f0872fb 100644 +--- a/torch/csrc/autograd/profiler_kineto.cpp ++++ b/torch/csrc/autograd/profiler_kineto.cpp +@@ -1165,6 +1165,13 @@ + &privateuse1_event_start, &privateuse1_event_end); + } + ++bool KinetoEvent::isUserAnnotation() const { ++ constexpr uint8_t kUserAnnotation = 1; ++ constexpr uint8_t kGpuUserAnnotation = 2; ++ const auto type = activityType(); ++ return type == kUserAnnotation || type == kGpuUserAnnotation; ++} ++ + void KinetoEvent::getPerfEventCounters(std::vector<uint64_t>& in) const { + return result_->visit(c10::overloaded( + [&in](const ExtraFields<EventType::TorchOp>& e) -> void { +diff --git a/torch/csrc/autograd/profiler_kineto.h b/torch/csrc/autograd/profiler_kineto.h +index 777b8a5851ed5..c3135c61245d4 100644 +--- a/torch/csrc/autograd/profiler_kineto.h ++++ b/torch/csrc/autograd/profiler_kineto.h +@@ -72,6 +72,7 @@ struct TORCH_API KinetoEvent { + bool isPythonFunction() const; + int64_t cudaElapsedUs() const; + int64_t privateuse1ElapsedUs() const; ++ bool isUserAnnotation() const; + void getPerfEventCounters(torch::profiler::perf_counters_t& /*in*/) const; + extra_meta_t extraMeta() const; + const typed_metadata_t& typedMetadata() const; +diff --git a/torch/csrc/profiler/kineto_shim.h b/torch/csrc/profiler/kineto_shim.h +index 44bcb0e18a6e0..ddc00c03fa9cc 100644 +--- a/torch/csrc/profiler/kineto_shim.h ++++ b/torch/csrc/profiler/kineto_shim.h +@@ -15,9 +15,16 @@ + #ifdef USE_KINETO + #include <ActivityType.h> + #else +-// Minimal stub so non-Kineto builds can compile types that hold ActivityType. + namespace libkineto { +-enum class ActivityType : uint8_t { NONE = 0 }; ++enum class ActivityType : uint8_t { ++ CPU_OP = 0, ++ USER_ANNOTATION, ++ GPU_USER_ANNOTATION, ++ NONE = CPU_OP, ++}; ++inline const char* toString(ActivityType) { ++ return "CPU_OP"; ++} + } // namespace libkineto + #endif + + +From 717526b7ce90d242cb917db90f4cb13c85c93661 Mon Sep 17 00:00:00 2001 +From: Samaresh Kumar Singh <ssam3003@gmail.com> +Date: Fri, 3 Apr 2026 13:01:01 -0500 +Subject: [PATCH 3/3] profiler: guard GPU ActivityType checks with KINETO GPU + backend macros + +The externalId() function referenced GPU-specific libkineto::ActivityType +values (GPU_MEMCPY, GPU_MEMSET, CONCURRENT_KERNEL, CUDA_RUNTIME, +CUDA_DRIVER, PRIVATEUSE1_RUNTIME, PRIVATEUSE1_DRIVER) that are only +present in kineto builds with GPU backend support. + +System-installed kineto packages built without CUDA/ROCm support +(LIBKINETO_NOCUPTI + LIBKINETO_NOROCTRACER) omit these enum values, +causing compile errors. Guard the check with the existing GPU backend +macros. Also restructures the condition to an early-return to avoid +duplicating the correlation ID lookup. +--- + torch/csrc/autograd/profiler_kineto.cpp | 38 ++++++++++++++----------- + 1 file changed, 22 insertions(+), 16 deletions(-) + +diff --git a/torch/csrc/autograd/profiler_kineto.cpp b/torch/csrc/autograd/profiler_kineto.cpp +index 6b5165f0872fb..466e8d66ab518 100644 +--- a/torch/csrc/autograd/profiler_kineto.cpp ++++ b/torch/csrc/autograd/profiler_kineto.cpp +@@ -1209,18 +1209,25 @@ + return static_cast<int64_t>(linked); + } + ++#if defined(USE_KINETO) && \ ++ (!defined(LIBKINETO_NOCUPTI) || !defined(LIBKINETO_NOROCTRACER)) + // Orphaned GPU activities (no linked CPU op) in these types should not get + // an External id, to avoid incorrect cross-linking in trace viewers. ++ // These GPU-specific ActivityType values are only present when kineto is ++ // built with GPU backend support (CUPTI or ROCtracer). CPU-only kineto ++ // builds (e.g. system packages without GPU support) omit them. + auto type = static_cast<libkineto::ActivityType>(activityType()); +- if (type != libkineto::ActivityType::GPU_MEMCPY && +- type != libkineto::ActivityType::GPU_MEMSET && +- type != libkineto::ActivityType::CONCURRENT_KERNEL && +- type != libkineto::ActivityType::CUDA_RUNTIME && +- type != libkineto::ActivityType::CUDA_DRIVER && +- type != libkineto::ActivityType::XPU_RUNTIME && +- type != libkineto::ActivityType::XPU_DRIVER && +- type != libkineto::ActivityType::PRIVATEUSE1_RUNTIME && +- type != libkineto::ActivityType::PRIVATEUSE1_DRIVER) { ++ if (type == libkineto::ActivityType::GPU_MEMCPY || ++ type == libkineto::ActivityType::GPU_MEMSET || ++ type == libkineto::ActivityType::CONCURRENT_KERNEL || ++ type == libkineto::ActivityType::CUDA_RUNTIME || ++ type == libkineto::ActivityType::CUDA_DRIVER || ++ type == libkineto::ActivityType::PRIVATEUSE1_RUNTIME || ++ type == libkineto::ActivityType::PRIVATEUSE1_DRIVER) { ++ return 0; ++ } ++#endif ++ + return static_cast<int64_t>(result_->visit(c10::overloaded( + [](const ExtraFields<EventType::TorchOp>& e) -> uint64_t { + return e.correlation_id_; +@@ -1229,9 +1236,6 @@ + return e.correlation_id_; + }, + [](const auto&) -> uint64_t { return 0; }))); +- } +- +- return 0; + } + + #define FORWARD_FROM_RESULT(method_name, result_expr) \ diff --git a/sci-ml/pytorch/files/pytorch-2.14.0-unbundle_pocketfft.patch b/sci-ml/pytorch/files/pytorch-2.14.0-unbundle_pocketfft.patch new file mode 100644 index 000000000000..505ffe7940a3 --- /dev/null +++ b/sci-ml/pytorch/files/pytorch-2.14.0-unbundle_pocketfft.patch @@ -0,0 +1,18 @@ +--- a/cmake/Dependencies.cmake ++++ b/cmake/Dependencies.cmake +@@ -276,15 +276,8 @@ + # --- [ PocketFFT + set(AT_POCKETFFT_ENABLED 0) + if(NOT AT_MKL_ENABLED) +- set(POCKETFFT_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/third_party/pocketfft/") +- if(NOT EXISTS "${POCKETFFT_INCLUDE_DIR}") +- message(FATAL_ERROR "pocketfft directory not found, expected ${POCKETFFT_INCLUDE_DIR}") +- elseif(NOT EXISTS "${POCKETFFT_INCLUDE_DIR}/pocketfft_hdronly.h") +- message(FATAL_ERROR "pocketfft headers not found in ${POCKETFFT_INCLUDE_DIR}") +- endif() + + set(AT_POCKETFFT_ENABLED 1) +- message(STATUS "Using pocketfft in directory: ${POCKETFFT_INCLUDE_DIR}") + endif() + + # ---[ Dependencies diff --git a/sci-ml/pytorch/pytorch-2.14.0.ebuild b/sci-ml/pytorch/pytorch-2.14.0.ebuild new file mode 100644 index 000000000000..f824f8d76109 --- /dev/null +++ b/sci-ml/pytorch/pytorch-2.14.0.ebuild @@ -0,0 +1,365 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=scikit-build-core +PYTHON_COMPAT=( python3_{13..14} ) +DISTUTILS_SINGLE_IMPL=1 +DISTUTILS_EXT=1 + +ROCM_VERSION=6.1 +inherit distutils-r1 prefix cuda flag-o-matic rocm multiprocessing + +# pytorch-2.13.0 depends on specific commit of composable kernel +# TODO: replace it with DEPEND in the future +CK_COMMIT=f1746955fdaf80a3414de814bf32437686dac347 +CK_P=composable_kernel-${CK_COMMIT:0:8} + +# Starting from 2.7.0 pytorch moved flash attention out-of-tree, +# but hardcoded it as third_party subproject +# TODO: unbundle +FLASH_PV=2.7.4 +FLASH_PN=flash-attention +FLASH_P=${FLASH_PN}-${FLASH_PV} +FLASH_ATT_URI="https://github.com/Dao-AILab/${FLASH_PN}/archive/refs/tags/v${FLASH_PV}.tar.gz -> ${FLASH_P}.gh.tar.gz" + +DESCRIPTION="Tensors and Dynamic neural networks in Python with strong GPU acceleration" +HOMEPAGE="https://pytorch.org/" +SRC_URI="https://github.com/pytorch/${PN}/archive/refs/tags/v${PV}.tar.gz + -> ${P}.tar.gz + rocm? ( + https://github.com/ROCm/composable_kernel/archive/${CK_COMMIT}.tar.gz + -> ${CK_P}.tar.gz + ) + cuda? ( + flash? ( ${FLASH_ATT_URI} ) + memefficient? ( ${FLASH_ATT_URI} ) + ) +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64" +IUSE="cuda cusparselt distributed fbgemm flash gloo kineto memefficient + mimalloc mkl mpi nccl nnpack +numpy onednn openblas opencl openmp qnnpack + rocm xnnpack" +RESTRICT="test" + +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + mpi? ( distributed ) + gloo? ( distributed ) + ?? ( cuda rocm ) + rocm? ( + || ( ${ROCM_REQUIRED_USE} ) + memefficient? ( flash ) + ) + cusparselt? ( || ( cuda rocm ) ) + flash? ( || ( cuda rocm ) ) + memefficient? ( || ( cuda rocm ) ) + nccl? ( rocm ) +" + +RDEPEND=" + ${PYTHON_DEPS} + !sci-ml/caffe2 + dev-cpp/abseil-cpp:= + dev-cpp/gflags:= + >=dev-cpp/glog-0.6.0:= + >=dev-libs/cpuinfo-2025.11.14 + dev-libs/libfmt:= + dev-libs/protobuf:= + dev-libs/sleef + sci-ml/onnx + $(python_gen_cond_dep ' + dev-python/sympy[${PYTHON_USEDEP}] + dev-python/typing-extensions[${PYTHON_USEDEP}] + ') + !mkl? ( !openblas? ( virtual/blas ) ) + cuda? ( + dev-libs/cudnn + >=sci-ml/cudnn-frontend-1.12.0:= + >=dev-util/nvidia-cuda-toolkit-12.9:=[profiler] + cusparselt? ( dev-libs/cusparselt ) + ) + distributed? ( + !rocm? ( sci-ml/tensorpipe[cuda?] ) + dev-cpp/cpp-httplib:= + ) + fbgemm? ( >=sci-ml/FBGEMM-1.4 ) + gloo? ( >=sci-ml/gloo-2025.06.04[cuda?,rocm?] ) + kineto? ( ~sci-ml/kineto-0.4.0_p20260603 ) + mimalloc? ( dev-libs/mimalloc ) + mkl? ( sci-libs/mkl ) + mpi? ( virtual/mpi ) + nnpack? ( + sci-ml/NNPACK + dev-libs/pthreadpool + ) + numpy? ( $(python_gen_cond_dep ' + dev-python/numpy[${PYTHON_USEDEP}] + ') ) + onednn? ( sci-ml/oneDNN ) + openblas? ( sci-libs/openblas ) + opencl? ( virtual/opencl ) + qnnpack? ( + !sci-libs/QNNPACK + sci-ml/gemmlowp + dev-libs/pthreadpool + ) + rocm? ( + nccl? ( >=dev-libs/rccl-6.3:= <dev-libs/rccl-7.3:= ) + >=dev-util/hip-6.3:= <dev-util/hip-7.3:= + >=dev-util/roctracer-6.3:= <dev-util/roctracer-7.3:= + >=sci-libs/hipBLAS-6.3:= <sci-libs/hipBLAS-7.3:=[rocsolver(+)] + >=sci-libs/hipBLASLt-6.3:= <sci-libs/hipBLASLt-7.3:= + >=sci-libs/hipFFT-6.3:= <sci-libs/hipFFT-7.3:= + >=sci-libs/hipRAND-6.3:= <sci-libs/hipRAND-7.3:= + >=sci-libs/hipSOLVER-6.3:= <sci-libs/hipSOLVER-7.3:= + >=sci-libs/hipSPARSE-6.3:= <sci-libs/hipSPARSE-7.3:= + >=sci-libs/miopen-6.3:= <sci-libs/miopen-7.3:= + >=sci-libs/rocBLAS-6.3:= <sci-libs/rocBLAS-7.3:= + >=sci-libs/rocRAND-6.3:= <sci-libs/rocRAND-7.3:= + >=sci-libs/rocSOLVER-6.3:= <sci-libs/rocSOLVER-7.3:= + memefficient? ( =sci-libs/aotriton-bin-0.13*:= ) + distributed? ( + >=dev-util/rocm-smi-6.3:= <dev-util/rocm-smi-7.3:= + >=dev-util/amdsmi-6.3:= <dev-util/amdsmi-7.3:= + ) + cusparselt? ( >=sci-libs/hipsparselt-6.3:= <sci-libs/hipsparselt-7.3:= ) + ) + xnnpack? ( + >=sci-ml/XNNPACK-2024.11 + dev-libs/pthreadpool + ) +" + +DEPEND=" + ${RDEPEND} + dev-cpp/nlohmann_json + dev-libs/flatbuffers + dev-libs/FXdiv + dev-libs/pocketfft + dev-libs/psimd + sci-ml/FP16 + $(python_gen_cond_dep ' + <dev-python/pybind11-3.0.5[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/typing-extensions[${PYTHON_USEDEP}] + ') + cuda? ( ~dev-libs/cutlass-4.4.2[tools(+)] ) + onednn? ( sci-ml/ideep ) + rocm? ( + >=sci-libs/hipCUB-6.3:= <sci-libs/hipCUB-7.3:= + >=sci-libs/rocPRIM-6.3:= <sci-libs/rocPRIM-7.3:= + >=sci-libs/rocThrust-6.3:= <sci-libs/rocThrust-7.3:= + ) + qnnpack? ( dev-libs/clog ) +" + +BDEPEND="dev-build/cmake" + +PATCHES=( + "${FILESDIR}"/${PN}-2.13.0-aotriton-fixes.patch + "${FILESDIR}"/${PN}-2.13.0-glog.patch + "${FILESDIR}"/${PN}-2.13.0-mimalloc.patch + "${FILESDIR}"/${P}-removekineto-pr178960.patch + "${FILESDIR}"/${PN}-2.13.0-rocm-assert-fix.patch + "${FILESDIR}"/${PN}-2.13.0-unbundle_fbgemm.patch + "${FILESDIR}"/${PN}-2.13.0-unbundle_flatbuffers.patch + "${FILESDIR}"/${PN}-2.13.0-unbundle_fmt.patch + "${FILESDIR}"/${PN}-2.13.0-unbundle_fxdiv.patch + "${FILESDIR}"/${PN}-2.13.0-unbundle_httplib.patch + "${FILESDIR}"/${PN}-2.13.0-unbundle_kineto.patch + "${FILESDIR}"/${PN}-2.13.0-unbundle_mkldnn.patch + "${FILESDIR}"/${PN}-2.13.0-unbundle_nnpack.patch + "${FILESDIR}"/${P}-unbundle_pocketfft.patch + "${FILESDIR}"/${PN}-2.13.0-xnnpack.patch + "${FILESDIR}"/${P}-license.patch +) + +src_prepare() { + if use cuda && ( use flash || use memefficient ); then + mv "${WORKDIR}"/${FLASH_P}/* third_party/${FLASH_PN}/ || die + fi + filter-lto #bug 862672 + + eapply "${FILESDIR}/${PN}-2.10.0-cpp-extension-multilib.patch" + # Replace placeholders added by cpp-extension.patch + sed -e "s|%LIB_DIR%|$(get_libdir)|g" \ + -i torch/utils/cpp_extension.py || die + + # Unbundle fmt + sed -i \ + -e 's|::fmt-header-only||' \ + c10/CMakeLists.txt \ + cmake/Dependencies.cmake \ + torch/CMakeLists.txt \ + || die + + # tensorpipe is in system, not a build target of pytorch + sed -e '/target_compile_options_if_supported(tensorpipe/d' -i cmake/Dependencies.cmake || die + + # Drop third_party from CMake tree + sed -i \ + -e '/add_subdirectory.*third_party/d' \ + CMakeLists.txt \ + cmake/Dependencies.cmake \ + cmake/ProtoBuf.cmake \ + aten/src/ATen/CMakeLists.txt \ + || die + + # Add needed file for cutlass as symbolic link + ln -sf /usr/share/cutlass/examples third_party/cutlass/examples || die + + # cudnn_frontend is unbundled, but some targets still look for its + # headers under third_party/cudnn_frontend/include. + if use cuda; then + mkdir -p third_party/cudnn_frontend || die + ln -sf /usr/include third_party/cudnn_frontend/include || die + fi + + distutils-r1_src_prepare + + # Noisy warnings from Logging.h + sed -i 's/-Wextra-semi//' cmake/public/utils.cmake || die + + pushd torch/csrc/jit/serialization > /dev/null || die + flatc --cpp --gen-mutable --scoped-enums mobile_bytecode.fbs || die + popd > /dev/null || die + + # prefixify the hardcoded paths, after all patches are applied + hprefixify \ + aten/CMakeLists.txt \ + caffe2/CMakeLists.txt \ + cmake/Metal.cmake \ + cmake/Modules/*.cmake \ + cmake/Modules_CUDA_fix/FindCUDNN.cmake \ + cmake/Modules_CUDA_fix/upstream/FindCUDA/make2cmake.cmake \ + cmake/Modules_CUDA_fix/upstream/FindPackageHandleStandardArgs.cmake \ + cmake/public/LoadHIP.cmake \ + cmake/public/cuda.cmake \ + cmake/Dependencies.cmake \ + tools/setup_helpers/env.py \ + torch/CMakeLists.txt \ + CMakeLists.txt + + if use rocm; then + # TODO: delete, when caffe2 depends on systemwide composable_kernel + sed -e "s:third_party/composable_kernel:../composable_kernel-${CK_COMMIT}:g" \ + -i aten/src/ATen/CMakeLists.txt || die + + # Workaround for libc++ issue https://github.com/llvm/llvm-project/issues/100802 + sed -e 's/std::memcpy/memcpy/g' \ + -i torch/headeronly/util/Half.h \ + -i aten/src/ATen/native/cuda/int4mm.cu || die + + ebegin "HIPifying cuda sources" + FBCODE_BUILD_TOOL="buck" ${EPYTHON} tools/amd_build/build_amd.py || die + eend $? + fi +} + +src_configure() { + if use cuda && [[ -z ${TORCH_CUDA_ARCH_LIST} ]]; then + ewarn "WARNING: pytorch is being built with its default CUDA compute capabilities: 3.5 and 7.0." + ewarn "These may not be optimal for your GPU." + ewarn "" + ewarn "To configure pytorch with the CUDA compute capability that is optimal for your GPU," + ewarn "set TORCH_CUDA_ARCH_LIST in your make.conf, and re-emerge pytorch." + ewarn "For example, to use CUDA capability 7.5 & 3.5, add: TORCH_CUDA_ARCH_LIST=7.5 3.5" + ewarn "For a Maxwell model GPU, an example value would be: TORCH_CUDA_ARCH_LIST=Maxwell" + ewarn "" + ewarn "You can look up your GPU's CUDA compute capability at https://developer.nvidia.com/cuda-gpus" + ewarn "or by running /opt/cuda/extras/demo_suite/deviceQuery | grep 'CUDA Capability'" + fi +} + +python_compile() { + local -x BUILD_TEST=OFF + local -x CMAKE_BUILD_DIR="${BUILD_DIR}" + local -x MAX_JOBS=$(makeopts_jobs) + local -x PYTORCH_BUILD_VERSION=${PV} + local -x PYTORCH_BUILD_NUMBER=0 + local -x USE_CCACHE=OFF + local -x USE_CUDA=$(usex cuda) + local -x USE_DISTRIBUTED=$(usex distributed) + local -x USE_FBGEMM=$(usex fbgemm) + local -x USE_FLASH_ATTENTION=$(usex flash) + local -x USE_GFLAGS=ON + local -x USE_GLOG=ON + local -x USE_GLOO=$(usex gloo) + local -x USE_ITT=OFF + local -x USE_KINETO=$(usex kineto) + local -x USE_KLEIDIAI=OFF # TODO + local -x USE_MAGMA=OFF # TODO: In GURU as sci-libs/magma + local -x USE_MEM_EFF_ATTENTION=$(usex memefficient) + local -x USE_MIMALLOC=$(usex mimalloc) + local -x USE_MKLDNN=$(usex onednn) + local -x USE_MPI=$(usex mpi) + local -x USE_NNPACK=$(usex nnpack) + local -x USE_NUMA=OFF + local -x USE_NUMPY=$(usex numpy) + local -x USE_OPENCL=$(usex opencl) + local -x USE_OPENMP=$(usex openmp) + local -x USE_PYTORCH_QNNPACK=$(usex qnnpack) + local -x USE_PYTORCH_METAL=OFF + local -x USE_ROCM=$(usex rocm) + local -x USE_SYSTEM_LIBS=ON + local -x USE_SYSTEM_XNNPACK=$(usex xnnpack) + local -x USE_TENSORPIPE=$(usex distributed $(usex !rocm)) + local -x DUSE_UCC=OFF + local -x USE_VALGRIND=OFF + local -x USE_XNNPACK=$(usex xnnpack) + local -x USE_XPU=OFF + + if use mkl; then + local -x USE_BLAS=ON + local -x BLAS=MKL + elif use openblas; then + local -x USE_BLAS=ON + local -x BLAS=OpenBLAS + else + # Note: USE_BLAS=OFF does not properly work, instead pytorch still searches for libraries. + # Even though it is easy to patch pytorch to disable BLAS usage completely, + # it is practically not useful, as it would render the library barely usable. + local -x USE_BLAS=ON + local -x BLAS=Generic + local -x GENERIC_BLAS_LIBRARIES=cblas + fi + + if use cuda; then + # bug 867706 926116 + cuda_add_sandbox + addpredict "/dev/char/" + + local -x CMAKE_CUDA_FLAGS="$(cuda_gccdir -f | tr -d \")" + local -x TORCH_CUDA_ARCH_LIST="${TORCH_CUDA_ARCH_LIST:-7.0}" + local -x USE_CUDNN=ON + local -x USE_FLASH_ATTENTION=OFF + local -x USE_MEM_EFF_ATTENTION=OFF + local -x USE_NCCL=OFF # TODO: NVIDIA Collective Communication Library + + elif use rocm; then + export PYTORCH_ROCM_ARCH="$(get_amdgpu_flags)" + + if use memefficient; then + export AOTRITON_INSTALLED_PREFIX="${ESYSROOT}/usr" + fi + + local -x CMAKE_REQUIRE_FIND_PACKAGE_HIP=ON + local -x USE_NCCL=$(usex nccl) + local -x CMAKE_DISABLE_FIND_PACKAGE_hipsparselt=$(usex !cusparselt) # disable automagic + local -x USE_ROCM_CK_SDPA=OFF # requires flash + aiter, works only on gfx90a/gfx942/gfx950 + local -x ROCM_PATH=/usr + local -x HIP_CLANG_PATH=$(hipconfig --hipclangpath) + + # ROCm libraries produce too much warnings + append-cxxflags -Wno-deprecated-declarations -Wno-unused-result -Wno-unused-value + else + local -x USE_NCCL=OFF + fi + + distutils-r1_python_compile develop sdist +} diff --git a/sys-apps/systemd/Manifest b/sys-apps/systemd/Manifest index 30a90ff0c83b..48d5b46febd5 100644 --- a/sys-apps/systemd/Manifest +++ b/sys-apps/systemd/Manifest @@ -1,6 +1,7 @@ DIST systemd-259.4.tar.gz 17336661 BLAKE2B 5e90410698e21e8fc8f5f22e3e26858f51d2cdfc362870f09ecccf8ed882602cdcef2614843738b14601349b05cfd3a8358a1771fc1fcd8e75d831940a8683c8 SHA512 bf572f92b0b01ecaf08f36ea5e13a2c05a79e6c0c2d9ef191855d1b83ae791a2977841ca85541ace1d30945d5f879d703d390767f708294986b29aeda1449b1f DIST systemd-260.1.tar.gz 17581096 BLAKE2B 072424e7288f8796be1e6952fadc5452c2ab54633b356796a29872609a03b4cc2edbc0cac0df7542bc969b06d265d2cbf52f9174742c5a570a5a3d7a7664cfa8 SHA512 9f975dce6861853a817a7ceab18a24449a85d1bda6939b3a5173430c02a4d8a9a2b34ebb8cce1c51db9b0ff9078fcc65da7b0f44e3bdcbbe013b9e04bb6f0ff9 DIST systemd-260.2.tar.gz 17663337 BLAKE2B 6f19c9ab444d9bcd8d585a4c2ef5bf8763dcfcd69bbcc02659d8ebdbdebb97b25941fe38e6b7a5cc3046b7b724b14e3e94c1c95919314a30818c9f81143cb9e7 SHA512 63d15da49e7580952a48a0b50df20c1b398e4b77edf259510b0cdb9022e919387baadf2190194a50f1f582b83e0768c13997a4189cf0fb6a61b65015496d9c80 +DIST systemd-260.4.tar.gz 17757440 BLAKE2B a1e171a2282e494cf1881fb0c33f9974eee06b7b1d623fe8e041b7fcabf9424af080ca21a8d0d2829f90469253fa42265a1870f1bf7f824326db8e32384a18bc SHA512 1cd03f78d2e782d351dc049bb8ef22ab03a2600f5f667721045aa113baea0c7f72743088932b813140f39007a43d5491e58f40ef36eeb9ddfd9a183d39e4b000 DIST systemd-261.1.tar.gz 18405830 BLAKE2B ab345d6ae27d361aa56d3b021263e2b2e3af76cdc37ee9015932557f1b904f2e5e5a6d5911b4a442057d12d5eedf8a702a30aa13f9b68294ccc14833f397a0ea SHA512 5dbf8b902fbed6e719367266da658b46ed55e76c93b7aa48ebaf9daca36cb19261ebd45cb97139c51227022a8ca3d07da360953bd9b0aebb429dce6d111f7e5c DIST systemd-261.2.tar.gz 18456346 BLAKE2B f8f57c5e78ff31727ecfd18b61d3a3a95b764e5a049c0cc974be567273db2f771ab2f50df1ebf06b0c3a659c7e02db309dee4844217e3a91ae1169877971a34e SHA512 876f043970cb65b39ae15fba39f23bf94c7c3d80569503d6e8ea2c8013c30ee40ce43cb55cbcb1cf14d5c3021aafc09c0f67473bbf742d8964bf9fa30693b971 DIST systemd-261.tar.gz 18390754 BLAKE2B 3e307fa237911ee18e9dca2e3e26eac4859fe19bd856c970d9c557ed2a3420944a20affad60bf10dc4cada657778bac38a1a529fc0081ba255550bfd4c1a1f06 SHA512 6a21c2a9bd83d962db4e6c095078ec79259d8109583b59094d17e76c0826e96a6183778f46b64352b0fe62cb8890736e9331f35e9a4c8b65f9b574fa915f9fd8 diff --git a/sys-apps/systemd/files/systemd-261-lxml-6.1.3.patch b/sys-apps/systemd/files/systemd-261-lxml-6.1.3.patch new file mode 100644 index 000000000000..00c6ceea9bc7 --- /dev/null +++ b/sys-apps/systemd/files/systemd-261-lxml-6.1.3.patch @@ -0,0 +1,59 @@ +https://github.com/systemd/systemd/pull/43626 +https://bugs.gentoo.org/981868 + +From 40d1acd6d9293915e0f1e69c5e5ecac086fdcb38 Mon Sep 17 00:00:00 2001 +From: Luca Boccassi <luca.boccassi@gmail.com> +Date: Wed, 2 Sep 2026 20:32:51 +0100 +Subject: [PATCH] tools: fix building manpages with lxml 6.1.3 + +manpages build fails on Arch with new lxml: + +Traceback (most recent call last): + File "/work/src/tools/make-directive-index.py", line 169, in make_page + _extract_directives(directive_groups, formatting, page) + ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/work/src/tools/make-directive-index.py", line 18, in _extract_directives + t = xml_parse(page) + File "/work/src/tools/xml_helper.py", line 25, in xml_parse + doc = tree.parse(page, _parser) + File "src/lxml/etree.pyx", line 3717, in lxml.etree.parse + File "src/lxml/parser.pxi", line 2045, in lxml.etree._parseDocument + File "src/lxml/parser.pxi", line 2071, in lxml.etree._parseDocumentFromURL + File "src/lxml/parser.pxi", line 1962, in lxml.etree._parseDocFromFile + File "src/lxml/parser.pxi", line 1231, in lxml.etree._BaseParser._parseDocFromFile + File "src/lxml/parser.pxi", line 647, in lxml.etree._ParserContext._handleParseResultDoc + File "src/lxml/parser.pxi", line 765, in lxml.etree._handleParseResult + File "src/lxml/parser.pxi", line 689, in lxml.etree._raiseParseError + File "../src/man/hostname.xml", line 5 +lxml.etree.XMLSyntaxError: Entity 'entities' not defined, line 5, column 11 + +The above exception was the direct cause of the following exception: + +Traceback (most recent call last): + File "/work/src/tools/make-directive-index.py", line 180, in <module> + _xml = make_page(_template_path, _xml_files) + File "/work/src/tools/make-directive-index.py", line 171, in make_page + raise ValueError('failed to process ' + page) from e +ValueError: failed to process ../src/man/hostname.xml + +Relying on XMLParser() defaults leaves the external parameter entity +used to load custom-entities.ent unresolved. Request entity resolution explicitly. + +Follow-up for 1a13e31d275430ffba713c8a68ee7f22093c29e0 +--- + tools/xml_helper.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tools/xml_helper.py b/tools/xml_helper.py +index 87c24ab02a0f..e26ca92d9454 100755 +--- a/tools/xml_helper.py ++++ b/tools/xml_helper.py +@@ -16,7 +16,7 @@ def resolve(self, url, _id, context): + return None + + +-_parser = tree.XMLParser() ++_parser = tree.XMLParser(resolve_entities=True) + # pylint: disable=no-member + _parser.resolvers.add(CustomResolver()) + diff --git a/sys-apps/systemd/systemd-260.1-r2.ebuild b/sys-apps/systemd/systemd-260.1-r2.ebuild index f51c5114e8fe..1fc768b44e8b 100644 --- a/sys-apps/systemd/systemd-260.1-r2.ebuild +++ b/sys-apps/systemd/systemd-260.1-r2.ebuild @@ -260,6 +260,7 @@ src_prepare() { "${FILESDIR}/systemd-260.1-openssl-4.patch" "${FILESDIR}/systemd-260.1-gcc-17.patch" "${FILESDIR}/systemd-260.1-gpt-generator.patch" + "${FILESDIR}/systemd-261-lxml-6.1.3.patch" ) if ! use vanilla; then diff --git a/sys-apps/systemd/systemd-260.4.ebuild b/sys-apps/systemd/systemd-260.4.ebuild new file mode 100644 index 000000000000..fdedb0868b5d --- /dev/null +++ b/sys-apps/systemd/systemd-260.4.ebuild @@ -0,0 +1,610 @@ +# Copyright 2011-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{13..14} ) + +# Avoid QA warnings +TMPFILES_OPTIONAL=1 +UDEV_OPTIONAL=1 + +QA_PKGCONFIG_VERSION=$(ver_cut 1) + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://github.com/systemd/systemd.git" + inherit git-r3 +else + MY_PV=${PV/_/-} + MY_P=${PN}-${MY_PV} + S=${WORKDIR}/${MY_P} + SRC_URI="https://github.com/systemd/${PN}/archive/refs/tags/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz" + + if [[ ${PV} != *rc* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + fi +fi + +inherit branding flag-o-matic linux-info meson-multilib optfeature pam python-single-r1 +inherit secureboot shell-completion systemd toolchain-funcs udev + +DESCRIPTION="System and service manager for Linux" +HOMEPAGE="https://systemd.io/" + +LICENSE="GPL-2 LGPL-2.1 MIT public-domain" +SLOT="0/2" +IUSE=" + acl apparmor audit boot bpf cryptsetup curl +dns-over-tls elfutils + fido2 +gcrypt gnutls homed idn importd +kernel-install +kmod +libarchive +lz4 lzma + +openssl pam passwdqc pcre pkcs11 policykit pwquality qrcode remote + +resolvconf +seccomp selinux sysv-utils test tpm ukify vanilla xkb +zstd +" +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + boot? ( kernel-install ) + dns-over-tls? ( openssl ) + fido2? ( cryptsetup openssl ) + homed? ( cryptsetup pam openssl ) + importd? ( curl libarchive lzma openssl ) + ?? ( passwdqc pwquality ) + passwdqc? ( homed ) + pwquality? ( homed ) + remote? ( curl ) + ukify? ( boot ) +" +RESTRICT="!test? ( test )" + +MINKV="5.10" + +COMMON_DEPEND=" + >=sys-apps/util-linux-2.37 + acl? ( sys-apps/acl ) + apparmor? ( >=sys-libs/libapparmor-2.13 ) + audit? ( >=sys-process/audit-2 ) + bpf? ( >=dev-libs/libbpf-1.4.0 ) + cryptsetup? ( >=sys-fs/cryptsetup-2.4.0:= ) + curl? ( >=net-misc/curl-7.32.0:0= ) + elfutils? ( >=dev-libs/elfutils-0.177 ) + elibc_glibc? ( + >=sys-libs/glibc-2.34 + >=sys-libs/libxcrypt-4.4.0 + ) + elibc_musl? ( + >=sys-libs/musl-1.2.5-r8 + virtual/libcrypt + ) + fido2? ( + dev-libs/libfido2 + ) + gcrypt? ( >=dev-libs/libgcrypt-1.4.5 ) + gnutls? ( >=net-libs/gnutls-3.6.0:0= ) + remote? ( >=net-libs/libmicrohttpd-0.9.33:0=[epoll(+)] ) + idn? ( net-dns/libidn2 ) + importd? ( + app-arch/bzip2:0= + virtual/zlib:= + ) + kmod? ( >=sys-apps/kmod-15:0= ) + libarchive? ( >=app-arch/libarchive-3.0:0= ) + lz4? ( >=app-arch/lz4-0_p131:0= ) + lzma? ( >=app-arch/xz-utils-5.0.5-r1:0= ) + openssl? ( >=dev-libs/openssl-3.0.0:0= ) + pam? ( sys-libs/pam:=[${MULTILIB_USEDEP}] ) + passwdqc? ( sys-auth/passwdqc ) + pkcs11? ( >=app-crypt/p11-kit-0.23.3 ) + pcre? ( dev-libs/libpcre2 ) + pwquality? ( >=dev-libs/libpwquality-1.4.1 ) + qrcode? ( >=media-gfx/qrencode-3:0= ) + seccomp? ( >=sys-libs/libseccomp-2.4.0 ) + selinux? ( >=sys-libs/libselinux-2.1.9 ) + tpm? ( app-crypt/tpm2-tss ) + xkb? ( >=x11-libs/libxkbcommon-0.4.1 ) + zstd? ( >=app-arch/zstd-1.4.0:0= ) +" + +# Newer linux-headers needed by ia64, bug #480218 +DEPEND="${COMMON_DEPEND} + >=sys-kernel/linux-headers-${MINKV} +" + +PEFILE_DEPEND='dev-python/pefile[${PYTHON_USEDEP}]' + +# baselayout-2.2 has /run +RDEPEND="${COMMON_DEPEND} + >=acct-group/adm-0-r1 + >=acct-group/wheel-0-r1 + >=acct-group/kmem-0-r1 + >=acct-group/tty-0-r1 + >=acct-group/utmp-0-r1 + >=acct-group/audio-0-r1 + >=acct-group/cdrom-0-r1 + acct-group/clock + >=acct-group/dialout-0-r1 + >=acct-group/disk-0-r1 + >=acct-group/input-0-r1 + >=acct-group/kvm-0-r1 + >=acct-group/lp-0-r1 + >=acct-group/render-0-r1 + acct-group/sgx + >=acct-group/tape-0-r1 + acct-group/users + >=acct-group/video-0-r1 + >=acct-group/systemd-journal-0-r1 + >=acct-user/root-0-r1 + acct-user/nobody + >=acct-user/systemd-journal-remote-0-r1 + >=acct-user/systemd-coredump-0-r1 + >=acct-user/systemd-network-0-r1 + acct-user/systemd-oom + >=acct-user/systemd-resolve-0-r1 + >=acct-user/systemd-timesync-0-r1 + >=sys-apps/baselayout-2.2 + ukify? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep "${PEFILE_DEPEND}") + ) + selinux? ( + sec-policy/selinux-base-policy[systemd] + sec-policy/selinux-ntp + ) + sysv-utils? ( + !sys-apps/openrc[sysv-utils(-)] + !sys-apps/sysvinit + ) + !sysv-utils? ( sys-apps/sysvinit ) + resolvconf? ( !net-dns/openresolv ) + !sys-auth/nss-myhostname + !sys-fs/eudev + !sys-fs/udev +" + +# sys-apps/dbus: the daemon only (+ build-time lib dep for tests) +PDEPEND=" + >=sys-apps/dbus-1.9.8[systemd] + >=sys-fs/udev-init-scripts-34 + policykit? ( sys-auth/polkit ) + !sysv-utils? ( sys-apps/systemd-initctl ) + !vanilla? ( sys-apps/gentoo-systemd-integration ) +" + +BDEPEND=" + app-arch/xz-utils:0 + dev-util/gperf + >=dev-build/meson-0.46 + >=sys-apps/coreutils-8.16 + sys-devel/gettext + virtual/pkgconfig + bpf? ( + >=dev-util/bpftool-7.0.0 + sys-devel/bpf-toolchain + ) + test? ( + app-text/tree + dev-lang/perl + >=dev-libs/glib-2.22.0:2 + sys-apps/dbus + ) + app-text/docbook-xml-dtd:4.2 + app-text/docbook-xml-dtd:4.5 + app-text/docbook-xsl-stylesheets + dev-libs/libxslt:0 + ${PYTHON_DEPS} + $(python_gen_cond_dep " + dev-python/jinja2[\${PYTHON_USEDEP}] + dev-python/lxml[\${PYTHON_USEDEP}] + boot? ( + >=dev-python/pyelftools-0.30[\${PYTHON_USEDEP}] + test? ( ${PEFILE_DEPEND} ) + ) + ") +" + +QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*" +QA_EXECSTACK="usr/lib/systemd/boot/efi/*" + +pkg_pretend() { + if [[ ${MERGE_TYPE} != buildonly ]]; then + local CONFIG_CHECK="~BLK_DEV_BSG ~CGROUPS + ~CGROUP_BPF ~DEVTMPFS ~EPOLL ~FANOTIFY ~FHANDLE + ~INOTIFY_USER ~IPV6 ~NET ~NET_NS ~PROC_FS ~SIGNALFD ~SYSFS + ~TIMERFD ~TMPFS_XATTR ~UNIX ~USER_NS + ~!GRKERNSEC_PROC ~!IDE ~!SYSFS_DEPRECATED + ~!SYSFS_DEPRECATED_V2" + + use acl && CONFIG_CHECK+=" ~TMPFS_POSIX_ACL" + use bpf && CONFIG_CHECK+=" ~BPF ~BPF_SYSCALL ~BPF_LSM ~DEBUG_INFO_BTF" + use seccomp && CONFIG_CHECK+=" ~SECCOMP ~SECCOMP_FILTER" + + if kernel_is -ge 5 10 20; then + CONFIG_CHECK+=" ~KCMP" + else + CONFIG_CHECK+=" ~CHECKPOINT_RESTORE" + fi + + if kernel_is -ge 4 18; then + CONFIG_CHECK+=" ~AUTOFS_FS" + else + CONFIG_CHECK+=" ~AUTOFS4_FS" + fi + + if linux_config_exists; then + local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH) + if [[ -n ${uevent_helper_path} ]] && [[ ${uevent_helper_path} != '""' ]]; then + ewarn "It's recommended to set an empty value to the following kernel config option:" + ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}" + fi + if linux_chkconfig_present X86; then + CONFIG_CHECK+=" ~DMIID" + fi + fi + + if kernel_is -lt ${MINKV//./ }; then + ewarn "Kernel version at least ${MINKV} required" + fi + + check_extra_config + fi +} + +pkg_setup() { + use boot && secureboot_pkg_setup +} + +src_unpack() { + default + [[ ${PV} != 9999 ]] || git-r3_src_unpack +} + +src_prepare() { + local PATCHES=( + "${FILESDIR}/systemd-261-lxml-6.1.3.patch" + ) + + if ! use vanilla; then + PATCHES+=( + "${FILESDIR}/gentoo-journald-audit-r4.patch" + ) + fi + + default +} + +src_configure() { + # Prevent conflicts with i686 cross toolchain, bug 559726 + tc-export AR CC NM OBJCOPY RANLIB + + # Our toolchain sets F_S=2 by default w/ >= -O2, so we need + # to unset F_S first, then explicitly set 2, to negate any default + # and anything set by the user if they're choosing 3 (or if they've + # modified GCC to set 3). + # + # malloc_usable_size doesn't play well with _F_S=3: + # https://github.com/systemd/systemd/issues/41459 (bug #971773) + if tc-is-clang && tc-enables-fortify-source ; then + # We can't unconditionally do this b/c we fortify needs + # some level of optimisation. + filter-flags -D_FORTIFY_SOURCE=3 + append-cppflags -U_FORTIFY_SOURCE -D_GENTOO_NO_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 + fi + + python_setup + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( + --localstatedir="${EPREFIX}/var" + -Ddocdir="share/doc/${PF}" + -Dmode=release # default is developer, bug 918671 + -Dlibc=$(usex elibc_musl musl glibc) + -Dsupport-url="${BRANDING_OS_SUPPORT_URL}" + -Dpamlibdir="$(getpam_mod_dir)" + -Dbashcompletiondir="$(get_bashcompdir)" + -Dzshcompletiondir="$(get_zshcompdir)" + -Dsplit-bin=false + -Dima=true # no deps + -Ddebug-shell="${EPREFIX}/bin/sh" # Match /etc/shells, bug 919749 + -Ddefault-user-shell="${EPREFIX}/bin/bash" + -Dbpf-compiler=gcc + -Dntp-servers="0.gentoo.pool.ntp.org 1.gentoo.pool.ntp.org 2.gentoo.pool.ntp.org 3.gentoo.pool.ntp.org" + # Breaks screen, tmux, etc. + -Ddefault-kill-user-processes=false + -Dcreate-log-dirs=false + -Dlibcrypt=enabled + -Dcompat-mutable-uid-boundaries=true + + # options affecting multilib + $(meson_use !elibc_musl nss-myhostname) + $(meson_feature !elibc_musl nss-mymachines) + $(meson_feature !elibc_musl nss-resolve) + $(meson_use !elibc_musl nss-systemd) + $(meson_feature pam) + ) + + # workaround for bug 969103 + if [[ ${CHOST} == riscv32* ]] ; then + myconf+=( -Dtests=true ) + else + myconf+=( $(meson_use test tests) ) + fi + + if multilib_is_native_abi; then + myconf+=( + --auto-features=enabled + -Dman=enabled + -Dxenctrl=disabled + + # Optional components/dependencies + $(meson_feature acl) + $(meson_feature apparmor) + $(meson_feature audit) + $(meson_feature boot bootloader) + $(meson_feature bpf bpf-framework) + $(meson_feature cryptsetup libcryptsetup) + $(meson_feature cryptsetup libcryptsetup-plugins) + $(meson_feature curl libcurl) + $(meson_use dns-over-tls dns-over-tls) + $(meson_feature elfutils) + $(meson_feature fido2 libfido2) + $(meson_feature gcrypt) + $(meson_feature gnutls) + $(meson_feature homed) + $(meson_use idn) + $(meson_feature importd) + $(meson_feature importd bzip2) + $(meson_feature importd sysupdate) + $(meson_feature importd zlib) + $(meson_use kernel-install) + $(meson_feature kmod) + $(meson_feature libarchive) + $(meson_feature lz4) + $(meson_feature lzma xz) + $(meson_feature zstd) + $(meson_feature openssl) + $(meson_feature passwdqc) + $(meson_feature pkcs11 p11kit) + $(meson_feature pcre pcre2) + $(meson_feature policykit polkit) + $(meson_feature pwquality) + $(meson_feature qrcode qrencode) + $(meson_feature remote) + $(meson_feature remote microhttpd) + $(meson_feature seccomp) + $(meson_feature selinux) + $(meson_feature tpm tpm2) + $(meson_feature test dbus) + $(meson_feature test glib) + $(meson_feature ukify) + $(meson_feature xkb xkbcommon) + ) + + case $(tc-arch) in + amd64|arm|arm64|loong|ppc|ppc64|riscv|s390|x86) + # src/vmspawn/vmspawn-util.h: QEMU_MACHINE_TYPE + myconf+=( $(meson_native_enabled vmspawn) ) ;; + *) + myconf+=( -Dvmspawn=disabled ) ;; + esac + else + myconf+=( + --auto-features=disabled + ) + fi + + meson_src_configure "${myconf[@]}" +} + +multilib_src_compile() { + local args=() + if ! multilib_is_native_abi; then + args+=( + devel libsystemd libudev + $(usex elibc_musl '' nss) + $(usev pam) + ) + fi + meson_src_compile "${args[@]}" +} + +multilib_src_test() { + local args=( --timeout-multiplier=10 ) + if ! multilib_is_native_abi; then + args+=( + --suite libsystemd --suite libudev + $(usex elibc_musl '' '--suite nss') + $(usex pam '--suite pam' '') + ) + fi + ( + unset DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR + export COLUMNS=80 + addpredict /dev + addpredict /proc + addpredict /run + addpredict /sys/fs/cgroup + meson_src_test "${args[@]}" + ) || die +} + +multilib_src_install() { + local args=() + if ! multilib_is_native_abi; then + local tags=devel,libsystemd,libudev + use !elibc_musl && tags+=,nss + use pam && tags+=,pam + args+=( --tags "${tags}" ) + fi + meson_src_install "${args[@]}" +} + +multilib_src_install_all() { + einstalldocs + dodoc "${FILESDIR}"/nsswitch.conf + + insinto /usr/lib/tmpfiles.d + doins "${FILESDIR}"/legacy.conf + + if ! use resolvconf; then + rm -f "${ED}"/usr/bin/resolvconf || die + fi + + if ! use sysv-utils; then + rm "${ED}"/usr/bin/{halt,init,poweroff,reboot,shutdown} || die + rm "${ED}"/usr/share/man/man1/init.1 || die + rm "${ED}"/usr/share/man/man8/{halt,poweroff,reboot,shutdown}.8 || die + fi + + # https://bugs.gentoo.org/761763 + rm -r "${ED}"/usr/lib/sysusers.d || die + + # Preserve empty dirs in /etc & /var, bug #437008 + keepdir /etc/{binfmt.d,modules-load.d,tmpfiles.d} + keepdir /etc/kernel/install.d + keepdir /etc/systemd/{network,system,user} + keepdir /etc/udev/rules.d + + keepdir /etc/udev/hwdb.d + + keepdir /usr/lib/systemd/{system-sleep,system-shutdown} + keepdir /usr/lib/{binfmt.d,modules-load.d} + keepdir /usr/lib/systemd/user-generators + keepdir /var/lib/systemd + keepdir /var/log/journal + + if use pam; then + if use selinux; then + newpamd "${FILESDIR}"/systemd-user-selinux.pam systemd-user + else + newpamd "${FILESDIR}"/systemd-user.pam systemd-user + fi + fi + + if use kernel-install; then + # Dummy config, remove to make room for sys-kernel/installkernel + rm "${ED}/usr/lib/kernel/install.conf" || die + fi + + use ukify && python_fix_shebang "${ED}" + use boot && secureboot_auto_sign +} + +migrate_locale() { + local envd_locale_def="${EROOT}/etc/env.d/02locale" + local envd_locale=( "${EROOT}"/etc/env.d/??locale ) + local locale_conf="${EROOT}/etc/locale.conf" + + if [[ ! -L ${locale_conf} && ! -e ${locale_conf} ]]; then + # If locale.conf does not exist... + if [[ -e ${envd_locale} ]]; then + # ...either copy env.d/??locale if there's one + ebegin "Moving ${envd_locale} to ${locale_conf}" + mv "${envd_locale}" "${locale_conf}" + eend ${?} || FAIL=1 + else + # ...or create a dummy default + ebegin "Creating ${locale_conf}" + cat > "${locale_conf}" <<-EOF + # This file has been created by the sys-apps/systemd ebuild. + # See locale.conf(5) and localectl(1). + + # LANG=${LANG} + EOF + eend ${?} || FAIL=1 + fi + fi + + if [[ ! -L ${envd_locale} ]]; then + # now, if env.d/??locale is not a symlink (to locale.conf)... + if [[ -e ${envd_locale} ]]; then + # ...warn the user that he has duplicate locale settings + ewarn + ewarn "To ensure consistent behavior, you should replace ${envd_locale}" + ewarn "with a symlink to ${locale_conf}. Please migrate your settings" + ewarn "and create the symlink with the following command:" + ewarn "ln -s -n -f ../locale.conf ${envd_locale}" + ewarn + else + # ...or just create the symlink if there's nothing here + ebegin "Creating ${envd_locale_def} -> ../locale.conf symlink" + ln -n -s ../locale.conf "${envd_locale_def}" + eend ${?} || FAIL=1 + fi + fi +} + +pkg_preinst() { + if [[ -e ${EROOT}/etc/sysctl.conf ]]; then + # Symlink /etc/sysctl.conf for easy migration. + dosym ../../../etc/sysctl.conf /usr/lib/sysctl.d/99-sysctl.conf + fi + + if ! use boot && has_version "sys-apps/systemd[gnuefi(-)]"; then + ewarn "The 'gnuefi' USE flag has been renamed to 'boot'." + ewarn "Make sure to enable the 'boot' USE flag if you use systemd-boot." + fi +} + +pkg_postinst() { + systemd_update_catalog + + # Keep this here in case the database format changes so it gets updated + # when required. + udev_hwdb_update || FAIL=1 + udev_reload || FAIL=1 + + # Bug 465468, make sure locales are respected, and ensure consistency + # between OpenRC & systemd + migrate_locale + + # Bug 971385, 974688 + local autovt=${EROOT}/etc/systemd/system/autovt@.service + if [[ ! -e ${autovt} && ! -L ${autovt} ]]; then + ln -s "${EPREFIX}/usr/lib/systemd/system/getty@.service" "${autovt}" || FAIL=1 + fi + + if [[ -z ${REPLACING_VERSIONS} ]]; then + if type systemctl &>/dev/null; then + systemctl --root="${ROOT:-/}" enable getty@.service remote-fs.target || FAIL=1 + fi + elog "To enable a useful set of services, run the following:" + elog " systemctl preset-all --preset-mode=enable-only" + fi + + if [[ -L ${EROOT}/var/lib/systemd/timesync ]]; then + rm "${EROOT}/var/lib/systemd/timesync" + fi + + if [[ -z ${ROOT} && -d /run/systemd/system ]]; then + ebegin "Reexecuting system manager (systemd)" + systemctl daemon-reexec + eend $? || FAIL=1 + + # https://lists.freedesktop.org/archives/systemd-devel/2024-June/050466.html + ebegin "Signaling user managers to reexec" + systemctl kill --kill-whom='main' --signal='SIGRTMIN+25' 'user@*.service' + eend $? + fi + + if [[ ${FAIL} ]]; then + eerror "One of the postinst commands failed. Please check the postinst output" + eerror "for errors. You may need to clean up your system and/or try installing" + eerror "systemd again." + eerror + fi + + if use boot; then + optfeature "installing kernels in systemd-boot's native layout and update loader entries" \ + "sys-kernel/installkernel[systemd-boot]" + fi + if use ukify; then + optfeature "generating unified kernel image on each kernel installation" \ + "sys-kernel/installkernel[ukify]" + fi +} + +pkg_prerm() { + # If removing systemd completely, remove the catalog database. + if [[ ! ${REPLACED_BY_VERSION} ]]; then + rm -f -v "${EROOT}"/var/lib/systemd/catalog/database + fi +} diff --git a/sys-apps/systemd/systemd-261.2.ebuild b/sys-apps/systemd/systemd-261.2.ebuild index 93a8fe78f62f..8ac96c6c8510 100644 --- a/sys-apps/systemd/systemd-261.2.ebuild +++ b/sys-apps/systemd/systemd-261.2.ebuild @@ -261,6 +261,7 @@ src_unpack() { src_prepare() { local PATCHES=( "${FILESDIR}/261-gcc-bpf.patch" + "${FILESDIR}/systemd-261-lxml-6.1.3.patch" ) if ! use vanilla; then diff --git a/sys-apps/systemd/systemd-262_rc1.ebuild b/sys-apps/systemd/systemd-262_rc1.ebuild index 84983a094210..59b2bb2d98e2 100644 --- a/sys-apps/systemd/systemd-262_rc1.ebuild +++ b/sys-apps/systemd/systemd-262_rc1.ebuild @@ -260,6 +260,7 @@ src_unpack() { src_prepare() { local PATCHES=( + "${FILESDIR}/systemd-261-lxml-6.1.3.patch" ) if ! use vanilla; then diff --git a/sys-devel/rust-std/Manifest b/sys-devel/rust-std/Manifest index 504a79a1c450..ec54855ceeb9 100644 --- a/sys-devel/rust-std/Manifest +++ b/sys-devel/rust-std/Manifest @@ -36,3 +36,5 @@ DIST rustc-1.96.1-src.tar.xz 241602032 BLAKE2B b8a489293a232faf24a7eaaa439f752bc DIST rustc-1.96.1-src.tar.xz.asc 801 BLAKE2B b54bed57d90fed66806fe0b16c6d81d880bf0398030d639cdc440d7df5a8699d1d0ec5803baee9f0ffd9503be11be3b202f6f4ec86a2167f5349317a714bd265 SHA512 1765666d2509d93cbbad5f47507ba7510fc07cf650689238a8d39d33be0d85a06c4cd67281d78a1b5e29258002d7dd6da912c9015a8d0e942ee01fc46fa0dca3 DIST rustc-1.97.1-src.tar.xz 242787896 BLAKE2B d54e89d84b25d68761663f1c243480f1bb061c30ee17e731f3d9cd1ff52639cf198647347884d7325f2dbc1582a3d8095908352edcb944a49e5b0581160d5fb6 SHA512 a04178bf0f2c43cbb503a5ea48145eebfee371766a589c0855079ae6a7f3945223850dcc6bce2a94b9f9ead1595d99de09bb00cd6180300e0da58dc247f043eb DIST rustc-1.97.1-src.tar.xz.asc 801 BLAKE2B d0841e9decf17d18c13c33bf0bdb8a51873799465bafa402090f7f680046d141eea0a633278a7387ee741a8a5dd6ceac40384b4a06132e99b34bb7e22f740d04 SHA512 9d3ca698b1a1a453cac8758622609414f10868e8890491d8cd8c0eed796b689623f91cc28377c1e4c33095f02e92af7d1230458fe4e1fd830b6139799af50f32 +DIST rustc-1.98.1-src.tar.xz 244440824 BLAKE2B a055c8341556f29a6e2ca5137ca7943365d61d3b7dc30b182c5c62907659d16ad0caf8c5e884ce2bcf79a01844e19563c9c208fecbebe0c38f8ae6473f60e0eb SHA512 58941e5606651d5a254f36d9771bf6524347068a69ad6fcfb72d0f02b066b16fb415e5d54c8e1266fef777a64ede69c47042f13525a29e39be3e9da84dbccdf4 +DIST rustc-1.98.1-src.tar.xz.asc 801 BLAKE2B abee669a3b9545a50cbc8e4c604a8ff167bf4f0ebf77ef5efebe2c38141e22930ab11ec6c54cd2892bca5295510cb4b65a5a28eba5f70b148cd474921e4fd140 SHA512 2c030148eca74e2d1e5f497b6dc0725a3d3d5dc328ad9f854d46067f24b682f99e7cee9de415b3450e8c315015dd73c1945dd2785163d12dfd0119d089b78276 diff --git a/sys-devel/rust-std/rust-std-1.98.1.ebuild b/sys-devel/rust-std/rust-std-1.98.1.ebuild new file mode 100644 index 000000000000..72ddaac7aa30 --- /dev/null +++ b/sys-devel/rust-std/rust-std-1.98.1.ebuild @@ -0,0 +1,171 @@ +# Copyright 2020-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) + +inherit edo flag-o-matic multiprocessing python-any-r1 rust-toolchain toolchain-funcs verify-sig crossdev + +DESCRIPTION="Rust standard library, standalone (for crossdev)" +HOMEPAGE="https://rust-lang.org/" + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/rust-lang/rust.git" + EGIT_SUBMODULES=( + "*" + "-src/gcc" + ) +elif [[ ${PV} == *beta* ]]; then + # Identify the snapshot date of the beta release: + # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep beta-src.tar.xz + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SRC_URI="https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz + verify-sig? ( https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc + -> rustc-${PV}-src.tar.xz.asc ) + " + S="${WORKDIR}/${MY_P}-src" +else + MY_P="rustc-${PV}" + SRC_URI="https://static.rust-lang.org/dist/${MY_P}-src.tar.xz + verify-sig? ( https://static.rust-lang.org/dist/${MY_P}-src.tar.xz.asc ) + " + S="${WORKDIR}/${MY_P}-src" +fi + +LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4" +SLOT="stable/$(ver_cut 1-2)" +# please do not keyword +#KEYWORDS="" #nowarn +IUSE="debug llvm-libunwind" + +BDEPEND=" + ${PYTHON_DEPS} + ~dev-lang/rust-${PV}:= + verify-sig? ( sec-keys/openpgp-keys-rust ) +" +DEPEND="|| + ( + >="${CATEGORY}"/gcc-4.7:* + >="${CATEGORY/sys-devel/llvm-core}"/clang-3.5:* + ) +" +RDEPEND="${DEPEND}" + +# need full compiler to run tests +RESTRICT="test" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc + +QA_FLAGS_IGNORED="usr/lib/rust/${PV}/rustlib/.*/lib/lib.*.so" + +toml_usex() { + usex "$1" true false +} + +pkg_pretend() { + is_crosspkg || die "${PN} should only be used for cross" +} + +pkg_setup() { + python-any-r1_pkg_setup +} + +src_prepare() { + default +} + +src_configure() { + # do the great cleanup + strip-flags + filter-flags '-mcpu=*' '-march=*' '-mtune=*' '-m32' '-m64' + strip-unsupported-flags + + local rust_root x + rust_root="$(rustc --print sysroot)" + rtarget="$(rust_abi ${CTARGET})" + rtarget="${ERUST_STD_RTARGET:-${rtarget}}" # some targets need to be custom. + rbuild="$(rust_abi ${CBUILD})" + rhost="$(rust_abi ${CHOST})" + + echo + for x in CATEGORY rust_root rbuild rhost rtarget RUSTFLAGS CFLAGS CXXFLAGS LDFLAGS; do + einfo "$(printf '%10s' ${x^^}:) ${!x}" + done + + cat <<- EOF > "${S}"/bootstrap.toml + [build] + build = "${rbuild}" + host = ["${rhost}"] + target = ["${rtarget}"] + cargo = "${rust_root}/bin/cargo" + rustc = "${rust_root}/bin/rustc" + submodules = false + local-rebuild = true + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = true + verbose = 2 + cargo-native-static = false + [install] + prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" + sysconfdir = "etc" + docdir = "share/doc/rust" + bindir = "bin" + libdir = "lib" + mandir = "share/man" + [rust] + # https://github.com/rust-lang/rust/issues/54872 + codegen-units-std = 1 + optimize = true + debug = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + debuginfo-level-rustc = 0 + backtrace = true + incremental = false + default-linker = "$(tc-getCC)" + rpath = false + dist-src = false + remap-debuginfo = true + jemalloc = false + [dist] + src-tarball = false + [target.${rtarget}] + ar = "$(tc-getAR ${CTARGET})" + cc = "$(tc-getCC ${CTARGET})" + cxx = "$(tc-getCXX ${CTARGET})" + linker = "$(tc-getCC ${CTARGET})" + ranlib = "$(tc-getRANLIB ${CTARGET})" + llvm-libunwind = "$(usex llvm-libunwind in-tree no)" + EOF + if use elibc_musl; then + cat <<- _EOF_ >> "${S}"/bootstrap.toml + crt-static = false + musl-root = "/usr/${CTARGET}/usr" + _EOF_ + fi + einfo "${PN^} configured with the following settings:" + cat "${S}"/bootstrap.toml || die +} + +src_compile() { + edo env RUST_BACKTRACE=1 \ + "${EPYTHON}" ./x.py build -vv --config="${S}"/bootstrap.toml -j$(makeopts_jobs) \ + library/std --stage 0 +} + +src_test() { + ewarn "${PN} can't run tests" +} + +src_install() { + local rustlib="lib/rust/${PV}/lib/rustlib" + dodir "/usr/${rustlib}" + pushd "build/${rhost}/stage0-sysroot/lib/rustlib" > /dev/null || die + cp -pPRv "${rtarget}" "${ED}/usr/${rustlib}" || die + popd > /dev/null || die +} diff --git a/sys-kernel/raspberrypi-sources/Manifest b/sys-kernel/raspberrypi-sources/Manifest index 2d631a3918a8..95680384f6f6 100644 --- a/sys-kernel/raspberrypi-sources/Manifest +++ b/sys-kernel/raspberrypi-sources/Manifest @@ -15,7 +15,8 @@ DIST genpatches-6.6-54.extras.tar.xz 4060 BLAKE2B 22ea7d143bfe168bc5d9d30832423b DIST linux-6.1.21_p20230405-raspberrypi.tar.gz 221783059 BLAKE2B 5e9e13b6410df1b9e4bcdef85a6b33de83621a74d89bb6760dcff86cd736262513f613e9279a8dccf5ca306a807c16652084a3e6b4cb34c3658a8e9e3196c5d1 SHA512 0c8252833bb737977c0981ed48764ff9742de7cb494fefec532c90312e0d8e0e48a230dd14a0d6f99b54b015e6c91e647b579f2ef7408b80e349a547767d9925 DIST linux-6.12.47_p20250916-raspberrypi.tar.gz 246822724 BLAKE2B 65250b110ddc9b0510e2e64f1b15c43495a8e073dde40f43c6c0257ffe377067c4d6125aa3c5a2ae39af8586e3d98ac54efd73500774351b48ab57edf6441e42 SHA512 5818d7ac495dc31a27c9b967bf146d291ab6fd06b99e819d9c685d5413472593cd99a4d7ce10218c45d7fb631adceed8e20806b1f2f9909277ce0de7ad204565 DIST linux-6.12.75_p20260408-raspberrypi.tar.gz 246976073 BLAKE2B 4f3ec9e161baf686868ce7eafb99c8d686c606008b5c078259bed0623ca0ba1a011c6e9298d87edd58ff0a471d54ecc51ce896eb66eeb907d664e95b1dd8b2d1 SHA512 5f960ef9a7c7569b8bef98051d9ffe1debf83d449dad99f1a8261011c58293d0bb1ad1e78d458f632ebf2f931e6798f6bf6e2e30114ec27b67bc4473a4ac62ad +DIST linux-6.18.32_p20260521-raspberrypi-r1.tar.gz 256933973 BLAKE2B 3855bfe22e4a0f9fe1ec8f90de0086fe1cd9e19ff83e345953e96ee864dff5f757b6d371ead10afb8047b331af13bfaa47fcb23e05c4048d4e7fbe288735cb47 SHA512 2fe076a58c237808bad337c5ffc713144cc69ba2ae8f4e2a83dbb79317cdfe4340db7df3f60f784d5d646cee1471d493567596c39089a8bbb33b51123118c512 DIST linux-6.18.32_p20260521-raspberrypi.tar.gz 256913944 BLAKE2B f1c30cff226d16c00f3c208b15b40598937eeb4360d7b6eeef6192a36336ba03ecd7f2ec2652f32d32da4ccc8b4d30748760cd0f180602658f145ab1acd462d5 SHA512 a3204305d5a1689412d8b239033b20211563295b6e1e79130e31358e3836726104a6e4b8678a753e9cc5ed3a1988cca69ef0f1c0d88be40c196c1bd4e362b082 -DIST linux-6.18.46_p20260824-raspberrypi.tar.gz 256913944 BLAKE2B f1c30cff226d16c00f3c208b15b40598937eeb4360d7b6eeef6192a36336ba03ecd7f2ec2652f32d32da4ccc8b4d30748760cd0f180602658f145ab1acd462d5 SHA512 a3204305d5a1689412d8b239033b20211563295b6e1e79130e31358e3836726104a6e4b8678a753e9cc5ed3a1988cca69ef0f1c0d88be40c196c1bd4e362b082 +DIST linux-6.18.46_p20260824-raspberrypi-r1.tar.gz 257237911 BLAKE2B 339ceefee6222cc864a11ade1eee2914d3f79c0f0e4ba0eb0fdbc32460009f8a76afae885168dfd291ccdde9e681e9d708be5b78a299d05d4d8fed80c6017118 SHA512 38e2e23a8ac98f19d8146c252751153f1fffe355ef8451b8db6c08341588e8fbab91ede4483b9e0c14f9075189a8959b6f6157ccd2f40eb8864424f964798de0 DIST linux-6.6.31_p20240529-raspberrypi.tar.gz 230924637 BLAKE2B bf8e5aba5597e98279b1c9d007112f57175c7cab15acbd2e9a7151f6290d3f1bee10299344b2655ade3cf2c73035b8f6e7fc9071d182a4c4ab839937fb0b59ef SHA512 3eb710dab82783a5254169e5bc2ac59fe4d3bd0fffbfd7a119a6182767b48186f4505d551fd7cc9ff002abf957e82108242d5a101266f77146d514fe3116fea5 DIST linux-6.6.47_p20240902-raspberrypi.tar.gz 231225067 BLAKE2B a7848290848f33ab8ae39364c6b5895f45ae82e9a72f60b8471522c8f8bf04627b3abab26e7c1ed10c12b6621d0490d10a6cbc455013dfc8b1296d35b7230998 SHA512 98c033c3f3440c26d97d17855b6057f41d633f0d7d5d22af32feec49f12fcec4181497ec97ac78ce96eb4e601a1fd400c832acf6e148da3cad419cdfc2587382 diff --git a/sys-kernel/raspberrypi-sources/raspberrypi-sources-6.18.32_p20260521-r1.ebuild b/sys-kernel/raspberrypi-sources/raspberrypi-sources-6.18.32_p20260521-r1.ebuild new file mode 100644 index 000000000000..6eca384056af --- /dev/null +++ b/sys-kernel/raspberrypi-sources/raspberrypi-sources-6.18.32_p20260521-r1.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ETYPE=sources +K_DEFCONFIG="bcmrpi_defconfig" +K_SECURITY_UNSUPPORTED=1 +EXTRAVERSION="-${PN}/-*" + +K_EXP_GENPATCHES_NOUSE=1 +K_GENPATCHES_VER=36 +K_DEBLOB_AVAILABLE=0 +K_WANT_GENPATCHES="base extras" + +inherit kernel-2 linux-info +detect_version +detect_arch + +#MY_P=$(ver_cut 4-) +#MY_P="stable_${MY_P/p/}" +COMMIT=e165a3e0c5c6729d077c30c6d720c029d688d99d +MY_P=${COMMIT} + +DESCRIPTION="Raspberry Pi kernel sources" +HOMEPAGE="https://github.com/raspberrypi/linux" +SRC_URI=" + https://github.com/raspberrypi/linux/archive/${MY_P}.tar.gz -> linux-${KV_FULL}.tar.gz + ${GENPATCHES_URI} +" + +KEYWORDS="~arm ~arm64" + +PATCHES=("${FILESDIR}"/${PN}-6.1.21-gentoo-kconfig.patch) + +UNIPATCH_EXCLUDE=" + 10* + 15* + 1600 + 1700 + 1730 + 1740 + 1741 + 1801 + 2000 + 201* + 2400 + 2700 + 2800 + 29* + 3000 + 4567" + +pkg_setup() { + ewarn "" + ewarn "${PN} is *not* supported by the Gentoo Kernel Project in any way." + ewarn "If you need support, please contact the raspberrypi developers directly." + ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with" + ewarn "the ebuilds. Thank you." + ewarn "" + + kernel-2_pkg_setup +} + +universal_unpack() { + unpack linux-${KV_FULL}.tar.gz + + # We want to rename the unpacked directory to a nice normalised string + # bug #762766 + mv "${WORKDIR}"/linux-${MY_P} "${WORKDIR}"/linux-${KV_FULL} || die + + # remove all backup files + find . -iname "*~" -exec rm {} \; 2>/dev/null +} diff --git a/sys-kernel/raspberrypi-sources/raspberrypi-sources-6.18.46_p20260824.ebuild b/sys-kernel/raspberrypi-sources/raspberrypi-sources-6.18.46_p20260824-r1.ebuild index b01f7660d24f..2c90ab45fef0 100644 --- a/sys-kernel/raspberrypi-sources/raspberrypi-sources-6.18.46_p20260824.ebuild +++ b/sys-kernel/raspberrypi-sources/raspberrypi-sources-6.18.46_p20260824-r1.ebuild @@ -19,7 +19,7 @@ detect_arch #MY_P=$(ver_cut 4-) #MY_P="stable_${MY_P/p/}" -COMMIT=66318c5b5cd8145a662303af12ed39ac07eb27cc +COMMIT=16f1da3c4e94437449d6aa151589ca0ad4b388bb MY_P=${COMMIT} DESCRIPTION="Raspberry Pi kernel sources" diff --git a/sys-power/nct6687d/Manifest b/sys-power/nct6687d/Manifest index 7bdb7fb03af2..122d1171a197 100644 --- a/sys-power/nct6687d/Manifest +++ b/sys-power/nct6687d/Manifest @@ -1,2 +1,2 @@ -DIST nct6687d-0_pre20260313.tar.gz 278911 BLAKE2B c14889cb43f1c71488c570ef4587da8d984fa0030735b5d45d105d1fc5534faf95b14cb9b8a09d23e4eb0a9941e8bfd0bbe12974fec549935253b040a880ad29 SHA512 a70c814cda5a1065b6fa75e8f84d0d0c8cfa2186d6873c4e486552bbeb05245c80a39200c0de8a4f60e78bbdff9d7e0d00ae95a9be99a7b6bae529691744fd21 DIST nct6687d-0_pre20260519.tar.gz 279788 BLAKE2B 926f55d2cb63a7ac00653e0209b802e0833bd8ec0dae4de79b25fea664239e026943e0b98544c6f56384367348932256e0e1d0913cf23ef23be5f28c7d2043b3 SHA512 b997a67ebc9d272489e14a4ffa3dbfa596d16151cb882002ce8dcdc31a1ad75c54a02256c3c41cdd80dfbbe44e2562ddaf561740e9721e6df417825460fe6774 +DIST nct6687d-0_pre20260901.tar.gz 285460 BLAKE2B 28c9b0c8f5c81578a2ca59713357fba6f0d0dc1261146106801170b06f9059744c350ea4c2912a6b258b839b9460c64650bc306821967cf2a6c6e6afccaf32f6 SHA512 39f7c441d54d7000f50d36eae87384a097acc909d5c12c1b832b6e2ee21b2966e51eeecd95bcccc6bc034a0dffc67f16259fc4953e7eca23f7d7ba1b9731aa78 diff --git a/sys-power/nct6687d/nct6687d-0_pre20260313.ebuild b/sys-power/nct6687d/nct6687d-0_pre20260901.ebuild index ececb76e4ca1..b1f9e51a0c16 100644 --- a/sys-power/nct6687d/nct6687d-0_pre20260313.ebuild +++ b/sys-power/nct6687d/nct6687d-0_pre20260901.ebuild @@ -9,7 +9,7 @@ if [[ ${PV} == 9999 ]] ; then inherit git-r3 EGIT_REPO_URI="https://github.com/Fred78290/nct6687d" else - COMMIT="cedda8bff09a4083e07414fb80fdc3901e7ab544" + COMMIT="5997c92b41081bfb870a9b6167b7e96e3efdd50f" SRC_URI="https://github.com/Fred78290/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/${PN}-${COMMIT}" KEYWORDS="~amd64" @@ -22,7 +22,7 @@ LICENSE="GPL-2" SLOT="0" src_compile() { - local modlist=( nct6687=drivers/hwmon::${KV_FULL}:build ) - local modargs=( kver="${KV_FULL}" ) + local modlist=( nct6687=kernel/drivers/hwmon:::build ) + local modargs=( KVER="${KV_FULL}" KDIR="${KV_OUT_DIR}" ) linux-mod-r1_src_compile } diff --git a/sys-power/nct6687d/nct6687d-9999.ebuild b/sys-power/nct6687d/nct6687d-9999.ebuild index a079a1543a49..60a285907814 100644 --- a/sys-power/nct6687d/nct6687d-9999.ebuild +++ b/sys-power/nct6687d/nct6687d-9999.ebuild @@ -22,7 +22,7 @@ LICENSE="GPL-2" SLOT="0" src_compile() { - local modlist=( nct6687=kernel/drivers/hwmon::${KV_FULL}:build ) - local modargs=( kver="${KV_FULL}" ) + local modlist=( nct6687=kernel/drivers/hwmon:::build ) + local modargs=( KVER="${KV_FULL}" KDIR="${KV_OUT_DIR}" ) linux-mod-r1_src_compile } diff --git a/www-client/firefox/firefox-140.15.0.ebuild b/www-client/firefox/firefox-140.15.0.ebuild index 70251c99a5e6..ea897bae0190 100644 --- a/www-client/firefox/firefox-140.15.0.ebuild +++ b/www-client/firefox/firefox-140.15.0.ebuild @@ -80,7 +80,7 @@ SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES} S="${WORKDIR}/${PN}-${PV%_*}" LICENSE="MPL-2.0 GPL-2 LGPL-2.1" -KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" +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" diff --git a/www-client/librewolf-bin/Manifest b/www-client/librewolf-bin/Manifest index c7699469fcad..c6b73a1005ad 100644 --- a/www-client/librewolf-bin/Manifest +++ b/www-client/librewolf-bin/Manifest @@ -2,3 +2,5 @@ DIST librewolf-154.0-2-linux-arm64-package.tar.xz 89749460 BLAKE2B 307be59a6f4fd DIST librewolf-154.0-2-linux-x86_64-package.tar.xz 99993892 BLAKE2B ceffec15fbf6b44759544edc1f85d46e2d6d4b78d97bda88810f30163e7962fade3cd2dc1d7d6b2257a746d1abdb03c3bd35415d23b483317ace0cb60c6d04a1 SHA512 3aa2e1f634fcb2251d52192c88197bacf7481440e67506c10a16b0d12f7849e7c9231ed686fc8c6915cd6f424b25c8fa84ebb74ce0a3db874279f333cc5729ed DIST librewolf-154.0.1-3-linux-arm64-package.tar.xz 89547904 BLAKE2B 92112aeebbb48adc7170bb8a912117d51c324b4d69bb4fefa431f65e61013c4cb3f786cadb9691dbe4d82449ed47481f4243f2a438addc4b5ed0c604873ae5f4 SHA512 faae1642f99d81309edb700c02cb7c6a965797c55660fb49d8907523348754d3900b1f6fe2111ac517e60c3a5c5f66f9d4a5c80632477b6bb10740b86d7e9497 DIST librewolf-154.0.1-3-linux-x86_64-package.tar.xz 99533404 BLAKE2B 3251f745520e3e8bdfb03dff2bbbd3ff016f9fd57ddde41e9497e53fa0e27f9a421fe57f49b47936152043a52a5f7215e568c1232f9f20b3824ce7f0f6fff5dc SHA512 913a11e7d6bd32481919cf8e7fc12b27d4516c5b5bc6cf53544afa126bb71bade942cf65cf3a27a99e1eae47beb871c14a9dc11ab5a3ebbbda54ab5234ce449b +DIST librewolf-155.0-1-linux-arm64-package.tar.xz 89404648 BLAKE2B 5b3b54d0e0739bd0c1ad3078e64ac352cb78ce6b3492dbf5a414688081e9c900c2f26bcc2c396332d6a0c86a338f4b045b183766027185d1d73cfeea743266ec SHA512 d8d4e002ae7b54b93a2d58b2f6722f46b0b8d1a4c4952e2c4d831fb5b3585fb75ff1d858f7da69d28fced724acb995812232bf738487d7ceb4bbb3834bb1cacc +DIST librewolf-155.0-1-linux-x86_64-package.tar.xz 99628592 BLAKE2B 552440be23bc288119fa09db0ee8d7fcf51e1cc2857983bf15a558ebe1b7869e63bc80a7a7da5a7b4f5dbabe9ac9f8a502c59bff886cb72294f2d3a32e0c1605 SHA512 dcf871c029fef0c2abc30ccc668a8e68e556644f7cb74b3712d96a9fe16fa49ab4a733bf5c32fca3a3ba514008d480a30bab5c9690ed3239e5b186c3b3abba23 diff --git a/www-client/librewolf-bin/librewolf-bin-155.0_p1.ebuild b/www-client/librewolf-bin/librewolf-bin-155.0_p1.ebuild new file mode 100644 index 000000000000..caefc458634a --- /dev/null +++ b/www-client/librewolf-bin/librewolf-bin-155.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 242d92bb20b2..b7e1837e7a6d 100644 --- a/www-client/librewolf/Manifest +++ b/www-client/librewolf/Manifest @@ -1,9 +1,13 @@ DIST firefox-153-patches-01.tar.xz 11308 BLAKE2B cfb7e8528f46e780ff10d728d6f2f00215c9cb940f3ba289aafee183199fd2a38cbe866697b5bd89458d8dce7e82e9a7dc6977e817bbeac1a01178a64adb0405 SHA512 11895ae7eba03b12ae60c280c3ea555c2954dd15eaa8a459f9a95b96629723ed599ab4e7738b33f1bdb0d09d19bccb53d511eaac9913a58e6418c11fe93c92bc DIST firefox-154-patches-01.tar.xz 12796 BLAKE2B bc9cff535a3a8ca67564ffdf636e3d4741e4cb3307e2acaf07c58448061ab16dad0827ca51df670007c58424fcd2e8670e30ef3a59ba98428676eb19b34903ce SHA512 4ca08c6ede5a4d1e02c84ef023d33026d8e25b864a581e552096510eaebd1c674f230b4d8c1c6f4d8f7489fd1981c26b6a4713b574416bde770d28505b6d7c1c DIST firefox-154-patches-02.tar.xz 14064 BLAKE2B 43fe3a4d309eed7fad5514d54a2a261c9914223a2f28f2457b0671793e050484f108ff55fa91f40d6256ed3d1657082bd26219aa79c27da06eca04999578a56a SHA512 efe0aebb62e847cb8d0399a4a3020f4826ab894a0bd34534de12a9ea8361a8352ecba564e1474ea92e3cf92d3a126fed5b0584ef5be3ccc1bec7466f5d5ce130 +DIST firefox-155-patches-04.tar.xz 12860 BLAKE2B f16f2ce03d625f12c1512ab8271c6bd368b5774482b4173723fbfed7be4f37444f084d6b18c047310dc76ed4be42b18f5580934cc5e9afbb6058173c869a63df SHA512 8f341eaf640d3b75e95b152e36e59836ef7cacfa4182c8dd759e2303fadc3261c28a1f81440f1456aa5477ccbb53542f79599be021d208cf4b1a025eebce07ba DIST librewolf-153.0.3-1.source.tar.gz 1164999841 BLAKE2B 407c3cfeb37fe226af82af394b83dcb5f880c521fcdb03a990c01c8a3a5a3179664b59a88529f0c6e14496b0ef19d88be08cb03d988e59d92cfa0e1c94602182 SHA512 4b988d4df3f3c45e7382e86631c9c76f579f7907f5d1bc6cbba57301fc3fb3735fd52d6151c412f256f1af379d88b34d11213b355d658e7614fbcc9dc6541fe2 DIST librewolf-153.0.4-1.source.tar.gz 1165787893 BLAKE2B 3714f45d6073a62d044d4be68cfe67a449cf7873a9b6d52ff7a60efac63f4804e862ed3693c5817105f9098b6cb0e0eb8f57383b387f5e06b2ae589c3bb1d2a3 SHA512 cbeb6d82e65ec28a66b20cd80ab1f29a16fcb946749b5c267e74ec954d8ef467927e9fe362f658a1e1a366ef20455f440bc073f4a7d055bc24b8f348898fb3db DIST librewolf-154.0-2.source.tar.gz 1174385173 BLAKE2B fa7842d664d8f0472fc9e3e0b7971a8c3dd71d9e5c1fd45dc520732de123b408a501279a267ee5e32e854134125ef28a0c8b4adda8f51d310eac598e04cde329 SHA512 14f25b40bd6f8f0edb2801dc779c0da51b2ff6ec7bc3d55d707d00a09eaf96f974173a3038269b947fcdabc3d98fb1588dd123776ecf12d50886a63a638375ef DIST librewolf-154.0.1-3.source.tar.gz 1175015645 BLAKE2B 41ab15543b2452711315cab593eb62130c97a50845eacfef4c4faecc06cc2bb821128efe48ffdbf0ebc750026c37f699fff4bca9fed323f03300727fbc6d73cf SHA512 a01425a6ba9f8bf32067499815bce97e8de0ca3804ef382900f60a018cb8778f65e3db12ad42499d1b05eb05f9169cf6cecb0e5f2b630e4716cd9b1a410ad68e +DIST librewolf-155.0-1.source.tar.gz 1175547857 BLAKE2B 40fadff66b74a6c6584677ff711a8dc083ded4064f3b03984a2321386610b868af40faa9fe9f559377dfabba3f6b0ebeb1694d9deace01828474a097f3f26feb SHA512 63fbd4fcf5b60efc41a50904ab9446db6cc1e6167d250ee934f8426d3ab36f2ddb39c717635f20d711fcde97c43a352b6770d313c18ee761e6c654981e75d824 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 +DIST wasi-sdk-34.0-x86_64-linux.tar.gz 192383077 BLAKE2B 065494c3f81555844293f33974a7230a47f50133aa2b8ed0c81de771c9342799e36a4814d6b3084daf07f19b4d7ce2dc576e134015625b2fad94c14e199ba319 SHA512 12d773d5c3d4b333c82f3280ac753c93877966df84a11b70e70d07aa1dbf20607eb64ceae836e21f9c6aed44054dc3e50f910657bedc590415e3b02789ab4685 diff --git a/www-client/librewolf/files/gentoo-hwaccel-prefs.js-r4 b/www-client/librewolf/files/gentoo-hwaccel-prefs.js-r4 new file mode 100644 index 000000000000..ff3aa452aec8 --- /dev/null +++ b/www-client/librewolf/files/gentoo-hwaccel-prefs.js-r4 @@ -0,0 +1,9 @@ +/* Force hardware accelerated rendering due to USE=hwaccel */ +pref("gfx.webrender.all", true); +pref("layers.acceleration.force-enabled", true); +pref("layers.gpu-process.enabled", true); +pref("media.hardware-video-decoding.enabled", true); +pref("webgl.force-enabled", true); +pref("gfx.webrender.layer-compositor", true); +pref("media.hardware-video-decoding-vulkan.enabled", true); +pref("media.hardware-video-decoding-vulkan.direct-export.enabled", false); diff --git a/www-client/librewolf/librewolf-155.0_p1.ebuild b/www-client/librewolf/librewolf-155.0_p1.ebuild new file mode 100644 index 000000000000..e924aa936551 --- /dev/null +++ b/www-client/librewolf/librewolf-155.0_p1.ebuild @@ -0,0 +1,1321 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-155-patches-04.tar.xz" + +LLVM_COMPAT=( 22 ) + +# 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://librewolf.dev/api/packages/librewolf/generic/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 jpegxl +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.127 + >=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.0.0:= + >=media-libs/libaom-3.10.0:= + ) + 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.4.7-r2:= ) + 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 enviromnent (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 enviroment 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 modifing 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 + 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 \ + --disable-wmf \ + --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 + 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 + 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 + + ! 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 + ## 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 + + 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}/${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 +} diff --git a/www-client/ungoogled-chromium/Manifest b/www-client/ungoogled-chromium/Manifest index d5614f0d55e8..93ec7b87c389 100644 --- a/www-client/ungoogled-chromium/Manifest +++ b/www-client/ungoogled-chromium/Manifest @@ -66,7 +66,7 @@ DIST ungoogled-chromium-151.0.7922.169-1.tar.gz 670587 BLAKE2B 00538b5b5d0d7b4a1 DIST ungoogled-chromium-151.0.7922.71-1.tar.gz 670363 BLAKE2B df0c82404b74654f47b14e65514b38595e67b890a6bd66d1e2af14d0cfadd5d48cf335143297c8474eccab6ce0fe194afa1b26ec381a7bea1db77b0ae54653fa SHA512 2a5624628d7922ee837cf47d981da4bd7c5c21efb7e969113f77beedbe3f84bf402334f849c08969541dd18367b4534c84913a9b77d2d7bebcc134c1f25f4d03 DIST ungoogled-chromium-151.0.7922.75-1.tar.gz 670502 BLAKE2B 57c204077ebfdfdc527a690d4dafbe5e286ee2707696d26472991089f44b7eec9b915e29a8d543d9dcd617e12e3df6737b5ef8ba16abb676e7da5b27e3f5ea29 SHA512 4a7b3e026742bd3c8421436a5552bd2a6c46d40a48b9d20e3ef232615a65b8c94aff5b249d98d4ed327cc00aeaf258868bd610df65bb923e7dfdbd081abd32e6 DIST ungoogled-chromium-152.0.7977.64-1.tar.gz 670160 BLAKE2B 3b367b063171165fef6965dcef10006084e035ae5b929486af9a348db4464c1ec010edf155411aad8658950eeee1e2e0bcd5aea4d7706ce1cdce474d9c66cc08 SHA512 0be5192684bc5e77b48e43185884a20ec9f5138006015951977e98cf17b9a9a34827885dad65a28379abba9efadc1f5c180b18f9eb1478f16bbd77bfb7818b7e +DIST ungoogled-chromium-152.0.7977.75-1.tar.gz 670284 BLAKE2B 49f1c85a310189f510a96332bfe19526b857d370e3e4aeed51275d3621516361eb429c0730797af025ca851f31b33b38e7cfc649dcd6eaf85c26b8bd521804d5 SHA512 574dddb069de3aac00a28b4121c9cf0733b2a9416c11f8b03295ff321209bfb80e5a7bd24af7a3c8b073aef4b15f6ba506c0d8b31edab85c14d98618b99f4b56 DIST ungoogled-chromium-4087f48e6d66e55486fe7c3a634303559634ba3f.tar.gz 670504 BLAKE2B d01153b1d8ddac8a0287cd42889c1ca618397a59f14a479d222d40415624d6e2ec2b8ecf3ec5d9614fa5c873c8e72d52d65da12e13b55020827a50a5d0242045 SHA512 dc30ee5e3b05382dc9ee02c114d8cabda140b36d505b4d2faf31357b75c23fbff7e3b589baf2f74741a4f7c99093df0ad69c9c368a5f69d6a361e042f43310e5 DIST ungoogled-chromium-4d7bb965938b072e1dc7d9a5fa26121805f97fc8.tar.gz 665638 BLAKE2B 84d8ef00835f9d880007db9c125729209900d4df1087099af9fd9b66727fbb37b1520908d3bedcf3416302e45866a4f7278cc0589ef6de25a5e6142c123d08b9 SHA512 b6653986b3af157ad5749eabd185280ccd24cf5a551f2e639a6ac9b51aff2fa4f5aa7c0b3cd881162b0da2f44e022755013d1f747e1268378a18fcb9cdfde015 DIST ungoogled-chromium-6fda5bc707792220745f9d53c25e84b89ceaabe4.tar.gz 669732 BLAKE2B 6a50e0428bcbb35383f1f039bf0d0a09fd853ae899a7ab366a516c29296bdc45a927cbe11b1b97c61c73cef98b252500a5e455ef0714b5b8ef42bdd3e180296c SHA512 97ec74a2b119a952a023a28de0d0ab93d81ba6c6623280f81eaf1cfadd0cbcec6fbf0d0574cdc2e777c89818c468cb2a55378f6be18c60b3bf8f92fb3a1de703 -DIST ungoogled-chromium-cacf0f0fd2446a837528c54df1880b75874b9580.tar.gz 670164 BLAKE2B be0931fb20848f92dc126e143483124f3d2f1297904abcfc7a468f7c2612d13122640d83574e2e1d3f3ae7ea3896a5873ea473a45c429620984d0d16bd515ac6 SHA512 223a066d1bed11cb32aa599f61dccead5ca07693d99c4bb8c3202812f211c0f53a16f7d34bef40cb1a68cfc316081b80755618afb4c0d1838bc3307b87a70f1c diff --git a/www-client/ungoogled-chromium/ungoogled-chromium-152.0.7977.75_p1.ebuild b/www-client/ungoogled-chromium/ungoogled-chromium-152.0.7977.75_p1.ebuild index 5160bbc84cfa..cf5169391779 100644 --- a/www-client/ungoogled-chromium/ungoogled-chromium-152.0.7977.75_p1.ebuild +++ b/www-client/ungoogled-chromium/ungoogled-chromium-152.0.7977.75_p1.ebuild @@ -40,7 +40,7 @@ CHROMIUM_LANGS="af am ar as az be bg bn bs ca cs cy da de el en-GB es es-419 et nb ne nl or pa pl pt-BR pt-PT ro ru si sk sl sq sr sr-Latn sv sw ta te th tr uk ur uz vi zh-CN zh-HK zh-TW zu" -UGC_COMMIT_ID="cacf0f0fd2446a837528c54df1880b75874b9580" +#UGC_COMMIT_ID="cacf0f0fd2446a837528c54df1880b75874b9580" # UGC_PR_COMMITS=( # c917e096342e5b90eeea91ab1f8516447c8756cf # 5794e9d12bf82620d5f24505798fecb45ca5a22d @@ -109,8 +109,8 @@ LICENSE+=" IJG ISC LGPL-2 LGPL-2.1 MIT MPL-1.1 MPL-2.0 Ms-PL PSF-2 SGI-B-2.0 SSL LICENSE+=" Unicode-DFS-2015 Unlicense UoI-NCSA ZLIB libtiff openssl" LICENSE+=" cromite? ( GPL-3 )" -SLOT="beta" -KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" +SLOT="stable" +KEYWORDS="amd64 ~arm64 ~ppc64 ~x86" IUSE_SYSTEM_LIBS="abseil-cpp av1 brotli crc32c double-conversion ffmpeg +harfbuzz icu jsoncpp +libusb libvpx +openh264 openjpeg re2 snappy woff2 +zstd" IUSE="+X bindist bluetooth bundled-toolchain cfi convert-dict cups custom-cflags debug ffmpeg-chromium enable-driver gtk4 hangouts headless kerberos +libcxx nvidia +official optimize-thinlto optimize-webui override-data-dir pax-kernel pgo" diff --git a/x11-themes/QGnomePlatform/QGnomePlatform-0.9.2-r7.ebuild b/x11-themes/QGnomePlatform/QGnomePlatform-0.9.2-r8.ebuild index fb2bc90a2ffd..8e237215376b 100644 --- a/x11-themes/QGnomePlatform/QGnomePlatform-0.9.2-r7.ebuild +++ b/x11-themes/QGnomePlatform/QGnomePlatform-0.9.2-r8.ebuild @@ -12,34 +12,18 @@ SRC_URI="https://github.com/FedoraQt/QGnomePlatform/archive/${PV}.tar.gz -> ${P} LICENSE="LGPL-2.1" SLOT="0" KEYWORDS="amd64 ~arm64 ~ppc64 x86" - -IUSE="qt5 +qt6 wayland X" -REQUIRED_USE="|| ( qt5 qt6 )" +IUSE="wayland X" DEPEND=" - qt5? ( - >=dev-qt/qtcore-5.15.2:5 - >=dev-qt/qtdbus-5.15.2:5 - >=dev-qt/qtgui-5.15.2:5= - >=dev-qt/qtquickcontrols2-5.15.2:5 - >=dev-qt/qtwidgets-5.15.2:5 - wayland? ( dev-qt/qtwayland:5= ) - ) - qt6? ( - dev-qt/qtbase:6=[dbus,gui,wayland?,widgets] - dev-qt/qtdeclarative:6 - ) + >=dev-qt/qtbase-6.10:6=[dbus,gui,wayland?,widgets] + >=dev-qt/qtdeclarative-6.10:6 gnome-base/gsettings-desktop-schemas sys-apps/xdg-desktop-portal x11-libs/gtk+:3[wayland?,X?] >=x11-themes/adwaita-qt-1.4.2 " RDEPEND="${DEPEND}" -RDEPEND+=" || ( >=dev-qt/qtbase-6.10:6[wayland] <dev-qt/qtwayland-6.10:6 )" -BDEPEND=" - qt5? ( >=dev-qt/qtcore-5.15.2:5 ) - qt6? ( dev-qt/qtbase:6 ) -" +BDEPEND="dev-qt/qtbase:6" PATCHES=( "${FILESDIR}/${P}-cmake4.patch" # bugs #958301, #965856 @@ -51,36 +35,15 @@ src_configure() { use X || append-cppflags -DGENTOO_GTK_HIDE_X11 use wayland || append-cppflags -DGENTOO_GTK_HIDE_WAYLAND - if use qt5; then - BUILD_DIR="${WORKDIR}/${PN}_qt5" - local mycmakeargs=( - -DUSE_QT6=OFF - -DDISABLE_DECORATION_SUPPORT="$(usex wayland false true)" - ) - cmake_src_configure - fi - if use qt6; then - BUILD_DIR="${WORKDIR}/${PN}_qt6" - local mycmakeargs=( - -DUSE_QT6=ON - -DDISABLE_DECORATION_SUPPORT="$(usex wayland false true)" - ) - cmake_src_configure - fi -} - -src_compile() { - local _d - for _d in "${WORKDIR}"/${PN}_qt*; do - cmake_src_compile -C "${_d}" - done + local mycmakeargs=( + -DUSE_QT6=ON + -DDISABLE_DECORATION_SUPPORT="$(usex wayland false true)" + ) + cmake_src_configure } src_install() { - local _d - for _d in "${WORKDIR}"/${PN}_qt*; do - cmake_src_install -C "${_d}" - done + cmake_src_install # https://github.com/FedoraQt/QGnomePlatform/pull/150#issuecomment-1689693729 insinto /etc/profile.d diff --git a/x11-themes/adwaita-qt/adwaita-qt-1.4.2-r1.ebuild b/x11-themes/adwaita-qt/adwaita-qt-1.4.2-r1.ebuild deleted file mode 100644 index b6b7fb18b30a..000000000000 --- a/x11-themes/adwaita-qt/adwaita-qt-1.4.2-r1.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 -inherit cmake - -DESCRIPTION="A style to bend Qt applications to look like they belong into GNOME Shell" -HOMEPAGE="https://github.com/FedoraQt/adwaita-qt" -SRC_URI="https://github.com/FedoraQt/${PN}/archive/${PV}/${P}.tar.gz" - -LICENSE="GPL-2 LGPL-2" -SLOT="0" -KEYWORDS="amd64 ~arm64 ~ppc64 x86" -IUSE="gnome qt5 +qt6" -REQUIRED_USE="|| ( qt5 qt6 )" - -DEPEND=" - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtdbus:5 - dev-qt/qtgui:5 - dev-qt/qtwidgets:5 - dev-qt/qtx11extras:5 - ) - qt6? ( dev-qt/qtbase:6[dbus,gui,widgets] ) -" -RDEPEND="${DEPEND}" -PDEPEND="gnome? ( x11-themes/QGnomePlatform )" - -src_configure() { - if use qt5; then - BUILD_DIR="${WORKDIR}/${PN}_qt5" - local mycmakeargs=(-DUSE_QT6=OFF) - cmake_src_configure - fi - if use qt6; then - BUILD_DIR="${WORKDIR}/${PN}_qt6" - local mycmakeargs=(-DUSE_QT6=ON) - cmake_src_configure - fi -} - -src_compile() { - local _d - for _d in "${WORKDIR}"/${PN}_qt*; do - cmake_src_compile -C "${_d}" - done -} - -src_install() { - local _d - for _d in "${WORKDIR}"/${PN}_qt*; do - cmake_src_install -C "${_d}" - done -} diff --git a/x11-themes/adwaita-qt/adwaita-qt-1.4.2-r2.ebuild b/x11-themes/adwaita-qt/adwaita-qt-1.4.2-r2.ebuild new file mode 100644 index 000000000000..a814987a8e29 --- /dev/null +++ b/x11-themes/adwaita-qt/adwaita-qt-1.4.2-r2.ebuild @@ -0,0 +1,24 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="A style to bend Qt applications to look like they belong into GNOME Shell" +HOMEPAGE="https://github.com/FedoraQt/adwaita-qt" +SRC_URI="https://github.com/FedoraQt/${PN}/archive/${PV}/${P}.tar.gz" + +LICENSE="GPL-2 LGPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~ppc64 x86" +IUSE="gnome" + +DEPEND="dev-qt/qtbase:6[dbus,gui,widgets]" +RDEPEND="${DEPEND}" +PDEPEND="gnome? ( x11-themes/QGnomePlatform )" + +src_configure() { + local mycmakeargs=( -DUSE_QT6=ON ) + cmake_src_configure +} |
