Compare commits

...

186 Commits

Author SHA1 Message Date
Repository mirror & CI
b2dfe067d6
2025-12-03 20:45:51 UTC 2025-12-03 20:45:52 +00:00
Repository mirror & CI
e21f5c30e5
Merge updates from master 2025-12-03 20:45:46 +00:00
Jaco Kroon
59fdb5a021
net-dns/djbdns: 1.05-r41 for gcc15 patches.
Closes: https://bugs.gentoo.org/945469
Signed-off-by: Jaco Kroon <jkroon@gentoo.org>
2025-12-03 22:36:11 +02:00
Repository mirror & CI
9987bfe2f4
2025-12-03 20:15:55 UTC 2025-12-03 20:15:55 +00:00
Repository mirror & CI
192ef64c1b
Merge updates from master 2025-12-03 20:15:46 +00:00
Alfredo Tupone
85d2295e49
dev-ada/libgpr: support for gcc:16
Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
2025-12-03 21:05:25 +01:00
Repository mirror & CI
355f9f9f1f
2025-12-03 19:45:54 UTC 2025-12-03 19:45:54 +00:00
Repository mirror & CI
13e937042f
Merge updates from master 2025-12-03 19:45:48 +00:00
Ulrich Müller
a17d4574af
app-editors/emacs: Exclude shr-tests.el from tests
The shr-test/zoom-image test succeeds with dev-libs/libxml2-2.13.9
but fails with 2.14.2 or later. Apparently HTML parsing in libxml2
has become stricter and now refuses to parse the test case, namely:
<img src="file://.../blank-100x200.png"
i.e. a malformed start tag missing the closing ">" delimiter.

Bug: https://bugs.gnu.org/79041
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
2025-12-03 20:37:18 +01:00
Repository mirror & CI
1d9cbd6ab5
2025-12-03 18:30:53 UTC 2025-12-03 18:30:53 +00:00
Repository mirror & CI
25c02c320a
Merge updates from master 2025-12-03 18:30:47 +00:00
Mike Gilbert
3f5cb869e5
x11-misc/slock: suidctl compat
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
2025-12-03 13:12:39 -05:00
Mike Gilbert
6b57b43f6d
net-misc/ubridge: suidctl compat
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
2025-12-03 13:12:39 -05:00
Mike Gilbert
63a8409cc2
gui-apps/swaylock: suidctl compat
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
2025-12-03 13:12:38 -05:00
Mike Gilbert
80cfc5cfaa
app-i18n/fbterm: suidctl compat
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
2025-12-03 13:12:38 -05:00
Mike Gilbert
968a5d9ecd
app-emulation/qemu: suidctl compat
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
2025-12-03 13:12:38 -05:00
Mike Gilbert
6569dfbc10
app-cdr/cdrtools: suidctl compat
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
2025-12-03 13:12:32 -05:00
Repository mirror & CI
0bd8f2c814
Merge updates from master 2025-12-03 18:00:45 +00:00
Michael Mair-Keimberger
ef08e60f37
lxqt-base/lxqt-powermanagement: remove unused patch(es)
Signed-off-by: Michael Mair-Keimberger <mm1ke@gentoo.org>
2025-12-03 18:53:40 +01:00
Michael Mair-Keimberger
af3dd9ef2a
gnome-base/gnome-settings-daemon: remove unused patch
Signed-off-by: Michael Mair-Keimberger <mm1ke@gentoo.org>
2025-12-03 18:53:03 +01:00
Michael Mair-Keimberger
c886867845
games-strategy/colobot: remove unused patch(es)
Signed-off-by: Michael Mair-Keimberger <mm1ke@gentoo.org>
2025-12-03 18:52:20 +01:00
Michael Mair-Keimberger
b3d1760418
games-simulation/openrct2: remove unused patch
Signed-off-by: Michael Mair-Keimberger <mm1ke@gentoo.org>
2025-12-03 18:52:02 +01:00
Repository mirror & CI
746b7c99f0
2025-12-03 17:46:11 UTC 2025-12-03 17:46:12 +00:00
Repository mirror & CI
817d390e8e
Merge updates from master 2025-12-03 17:46:04 +00:00
Andreas Sturmlechner
2a0cd3c890
media-video/ffmpeg*: Rename IUSE libtesseract -> ocr
Poor choice when it was introduced in 27db0f5502ded7445f30587e1d08be77d1537b68.

OCR is a well established acronym for what this does.

Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-12-03 18:38:25 +01:00
Andreas Sturmlechner
37f1e7519d
profiles: Cleanup obsolete dev-games/openscenegraph-openmw[las] p.u.mask
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-12-03 18:37:02 +01:00
Andreas Sturmlechner
7172cb3c8a
profiles: Cleanup obsolete sys-block/thin-provisioning-tools[test] p.u.mask
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-12-03 18:37:02 +01:00
Andreas Sturmlechner
caabd207be
profiles: package.deprecated: Drop obsolete app-text/gnome-doc-utils
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-12-03 18:37:01 +01:00
Andreas Sturmlechner
d6d3be6184
profiles: ppc64: Drop obsolete dev-games/openscenegraph-qt package.mask
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-12-03 18:37:01 +01:00
Andreas Sturmlechner
907131e4ee
profiles: mips/o32: Drop obsolete =sys-apps/systemd-255 p.mask
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-12-03 18:37:01 +01:00
Andreas Sturmlechner
b5228f423d
profiles: arm64: Drop obsolete media-sound/clementine[lastfm] p.use.mask
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-12-03 18:37:00 +01:00
Andreas Sturmlechner
df01c1c206
profiles: powerpc/ppc32: Drop obsolete sci-libs/libgeodecomp p.use.mask
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-12-03 18:37:00 +01:00
Andreas Sturmlechner
c0253deee1
profiles: amd64/x32: Drop obsolete package.mask
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-12-03 18:36:59 +01:00
Andreas Sturmlechner
c3d89097ec
profiles: features/big-endian: Drop obsolete package.mask
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-12-03 18:36:59 +01:00
Andreas Sturmlechner
b38d8aed00
profiles: features/musl: Drop obsolete package.mask
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-12-03 18:36:58 +01:00
Andreas Sturmlechner
1665adde38
profiles: package.deprecated: Drop obsolete dev-qt/qtcharts:5
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-12-03 18:36:58 +01:00
Andreas Sturmlechner
0df8866c23
profiles: base: Drop obsolete sci-libs/indilib[websocket] p.use.stable.mask
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-12-03 18:36:58 +01:00
Andreas Sturmlechner
52335f41ff
profiles: powerpc: Drop obsolete net-irc/quassel[kde] package.use.mask
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-12-03 18:36:57 +01:00
Andreas Sturmlechner
0f10e51d4f
profiles: alpha: Cleanup obsolete phonon and duplicate qt5 p.use.mask
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-12-03 18:36:57 +01:00
Andreas Sturmlechner
698635481b
sci-libs/indilib: add 2.1.7
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-12-03 18:34:36 +01:00
Andreas Sturmlechner
d70069495a
media-gfx/krita: drop 6.0.0_alpha_pre20251020
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-12-03 18:34:36 +01:00
Andreas Sturmlechner
07e585169c
media-gfx/krita: add 6.0.0_alpha_pre20251203
Bug: https://bugs.gentoo.org/955168
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2025-12-03 18:34:35 +01:00
Repository mirror & CI
360fd52d40
2025-12-03 17:31:06 UTC 2025-12-03 17:31:06 +00:00
Repository mirror & CI
9fb1e9d4c9
Merge updates from master 2025-12-03 17:30:59 +00:00
Arthur Zamarin
a1df1ae4a2
net-libs/xdp-tools: Stabilize 1.5.7 ppc64, #967006
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
2025-12-03 19:28:14 +02:00
Arthur Zamarin
e0b2ff1bda
sys-apps/systemd: Stabilize 257.10 ppc, #967000
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
2025-12-03 19:28:13 +02:00
Arthur Zamarin
188abbe2da
sys-apps/systemd: Stabilize 257.10 ppc64, #967000
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
2025-12-03 19:28:12 +02:00
Nowa Ammerlaan
50eae6dbdd
media-video/popcorntime-bin: restore x86 support
Signed-off-by: Nowa Ammerlaan <nowa@gentoo.org>
2025-12-03 18:15:09 +01:00
Nowa Ammerlaan
06d55aae01
dev-libs/nwjs: add x86 support
Signed-off-by: Nowa Ammerlaan <nowa@gentoo.org>
2025-12-03 18:14:25 +01:00
Repository mirror & CI
cf8cd7c8d4
2025-12-03 17:01:11 UTC 2025-12-03 17:01:11 +00:00
Repository mirror & CI
5590eafa57
Merge updates from master 2025-12-03 17:01:01 +00:00
Nowa Ammerlaan
80eddc777e
media-video/popcorntime-bin: drop 0.4.9, 0.5.0-r2
Signed-off-by: Nowa Ammerlaan <nowa@gentoo.org>
2025-12-03 17:59:08 +01:00
Nowa Ammerlaan
74e14a7d0a
media-video/popcorntime-bin: update src_uri and unbundle nwjs
The checksum at the new url is different, but the difference is only
in libatomic.so, which we never installed in the first place.

While digging into this I decided to unbundle nwjs completely which
cleans this up a lot and makes it possible to potentially push the
version of nwjs up. I tried version 100 but this did not work for
me, so pinning to the version that is bundled upstream for the time
being.

Closes: https://bugs.gentoo.org/963350
Closes: https://bugs.gentoo.org/927409
Signed-off-by: Nowa Ammerlaan <nowa@gentoo.org>
2025-12-03 17:59:07 +01:00
Nowa Ammerlaan
cc4e0fb42d
dev-libs/nwjs: add missing dep on mesa[opengl]
Closes: https://bugs.gentoo.org/955917
Signed-off-by: Nowa Ammerlaan <nowa@gentoo.org>
2025-12-03 17:59:06 +01:00
Nowa Ammerlaan
fe52f2991b
dev-libs/nwjs: add 0.86.0, 0.100.1, 0.106.0
Bug: https://bugs.gentoo.org/927409
Bug: https://bugs.gentoo.org/963350
Signed-off-by: Nowa Ammerlaan <nowa@gentoo.org>
2025-12-03 17:59:05 +01:00
Repository mirror & CI
bd5a34d1b7
2025-12-03 16:30:51 UTC 2025-12-03 16:30:52 +00:00
Repository mirror & CI
0d83781a3b
Merge updates from master 2025-12-03 16:30:45 +00:00
Mike Pagano
b3d036790d
net-libs/libwebsockets: drop 4.5.0
Signed-off-by: Mike Pagano <mpagano@gentoo.org>
2025-12-03 11:21:03 -05:00
Mike Pagano
a9a4705350
net-libs/libwebsockets: add 4.5.2
Signed-off-by: Mike Pagano <mpagano@gentoo.org>
2025-12-03 11:20:36 -05:00
Repository mirror & CI
27b3deeeba
2025-12-03 16:16:11 UTC 2025-12-03 16:16:12 +00:00
Patrick McLean
1fbe469a14
net-libs/libnftnl: add 1.3.1
Signed-off-by: Patrick McLean <chutzpah@gentoo.org>
2025-12-03 08:16:09 -08:00
Repository mirror & CI
e5ce7f2d89
Merge updates from master 2025-12-03 16:16:04 +00:00
Sam James
78db0e7078
net-vpn/i2p: Stabilize 2.10.0 amd64, #966437
Signed-off-by: Sam James <sam@gentoo.org>
2025-12-03 16:06:57 +00:00
Sam James
06fdbbb7e3
sys-kernel/linux-firmware: add 20251125_p20251202
Take a snapshot because of some nasty amdgpu issues.

Closes: https://bugs.gentoo.org/966746
Signed-off-by: Sam James <sam@gentoo.org>
2025-12-03 16:06:44 +00:00
Repository mirror & CI
319af68dda
2025-12-03 15:45:51 UTC 2025-12-03 15:45:51 +00:00
Repository mirror & CI
4d6c87c6d6
Merge updates from master 2025-12-03 15:45:45 +00:00
Craig Andrews
2df7b7e44b
mail-client/roundcube: add 1.7_beta2
Signed-off-by: Craig Andrews <candrews@gentoo.org>
2025-12-03 10:41:24 -05:00
Matt Turner
030106390b
x11-apps/xkbcomp: Version bump to 1.5.0
Signed-off-by: Matt Turner <mattst88@gentoo.org>
2025-12-03 10:31:05 -05:00
Repository mirror & CI
c033dab2d7
2025-12-03 15:01:07 UTC 2025-12-03 15:01:07 +00:00
Repository mirror & CI
26efd5a6b4
Merge updates from master 2025-12-03 15:00:57 +00:00
Sam James
d8c55bb85b
toolchain.eclass: wire up Valgrind annotations patch
In gcc-patches.git:

commit 33349526fd69a6c54790b53ca443693c80769242 (HEAD -> master, origin/master, origin/HEAD)
Author:     Sam James <sam@gentoo.org>
AuthorDate: Wed Dec 3 14:48:04 2025 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: Wed Dec 3 14:48:04 2025 +0000

    16.0.0: add ispras's Valgrind lifetime annotations patch

    C++ lifetime issues come up every so often (this time w/ openjph2) and
    they're always really hard to debug. Let's give this a go.

    From https://inbox.sourceware.org/gcc-patches/20231222141038.6657-1-amonakov@ispras.ru/.
    Bug: https://gcc.gnu.org/PR66487
[...]

Signed-off-by: Sam James <sam@gentoo.org>
2025-12-03 14:54:28 +00:00
Repository mirror & CI
0634f72611
2025-12-03 13:30:53 UTC 2025-12-03 13:30:53 +00:00
Repository mirror & CI
c539b43a6a
Merge updates from master 2025-12-03 13:30:47 +00:00
Alfredo Tupone
5b32d26493
dev-ada/AdaSAT: support gcc:16
Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
2025-12-03 14:23:59 +01:00
Nowa Ammerlaan
c87f4a3f64
dev-python/pyside: correct paths in cmake files
Closes: https://bugs.gentoo.org/966106
Signed-off-by: Nowa Ammerlaan <nowa@gentoo.org>
2025-12-03 14:20:53 +01:00
Alfredo Tupone
af6533301b
dev-ada/VSS: support gcc:16
Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
2025-12-03 14:20:02 +01:00
Repository mirror & CI
1cd7f82361
2025-12-03 12:45:55 UTC 2025-12-03 12:45:55 +00:00
Repository mirror & CI
e2957c73d6
Merge updates from master 2025-12-03 12:45:47 +00:00
Florian Schmaus
1202adcb0e
app-misc/openhab-bin: drop 4.3.5, 5.0.0
Signed-off-by: Florian Schmaus <flow@gentoo.org>
2025-12-03 13:31:29 +01:00
Florian Schmaus
be488d9b5e
app-misc/openhab-bin: stabilize 5.0.2-r1 for ALLARCHES
Signed-off-by: Florian Schmaus <flow@gentoo.org>
2025-12-03 13:31:29 +01:00
Florian Schmaus
cd9cbaad24
app-misc/openhab-bin: restrict to JRE < 25
Signed-off-by: Florian Schmaus <flow@gentoo.org>
2025-12-03 13:31:28 +01:00
Repository mirror & CI
8729475de6
2025-12-03 11:45:53 UTC 2025-12-03 11:45:53 +00:00
Repository mirror & CI
a932f15109
Merge updates from master 2025-12-03 11:45:46 +00:00
Petr Vaněk
590cbfec1d
mail-filter/rspamd: Fix build with Lua 5.1
LUA_OK is not defined in Lua 5.1. The build issue is fixed with a patch
from upstream.

Link: https://github.com/rspamd/rspamd/pull/5774
Closes: https://bugs.gentoo.org/967009
Signed-off-by: Petr Vaněk <arkamar@gentoo.org>
2025-12-03 12:36:56 +01:00
Repository mirror & CI
63fcab509a
2025-12-03 11:30:56 UTC 2025-12-03 11:30:56 +00:00
Repository mirror & CI
9394208a93
Merge updates from master 2025-12-03 11:30:48 +00:00
Sam James
d9e7607ae6
app-misc/calamares-gentoo-livecd: Stabilize 3.3.14_p20250918 amd64, #966999
Signed-off-by: Sam James <sam@gentoo.org>
2025-12-03 11:28:00 +00:00
Sam James
d3e60f09d7
sys-kernel/udev-hid-bpf: add more config options from kernel selftests
Extracted from tools/testing/selftests/hid/config in linux.git.

Some of the more device-specific ones of course may not be needed but
we don't have USE-per-quirk and I don't really want to add that, as upstream
have no way of doing that (they have a filter for install, not for building;
can use INSTALL_MASK for doing that or MYMESONARGS to set the install option).

Bug: https://bugs.gentoo.org/961038
Signed-off-by: Sam James <sam@gentoo.org>
2025-12-03 11:26:38 +00:00
Repository mirror & CI
e35e166cfc
2025-12-03 10:45:52 UTC 2025-12-03 10:45:53 +00:00
Repository mirror & CI
6666e66cec
Merge updates from master 2025-12-03 10:45:46 +00:00
Sam James
74b1c52c95
sys-libs/zlib-ng: add 2.3.2, drop 2.3.1
Closes: https://bugs.gentoo.org/966864
Signed-off-by: Sam James <sam@gentoo.org>
2025-12-03 10:39:49 +00:00
Nowa Ammerlaan
fa8af77196
dev-python/pyside: set shiboken-host-path for pyside build
I don't understand why this is now required, while it worked without
before. But anyway, this fixes the problem.

Closes: https://bugs.gentoo.org/966350
Signed-off-by: Nowa Ammerlaan <nowa@gentoo.org>
2025-12-03 11:36:51 +01:00
Repository mirror & CI
b7c4b725eb
2025-12-03 10:30:56 UTC 2025-12-03 10:30:56 +00:00
Repository mirror & CI
73d1a1ed94
Merge updates from master 2025-12-03 10:30:47 +00:00
Ulrich Müller
a24bfdd796
app-editors/emacs: Exclude eglot-tests unconditionally
Closes: https://bugs.gentoo.org/966957
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
2025-12-03 11:19:32 +01:00
Repository mirror & CI
96e356a7d9
2025-12-03 08:30:53 UTC 2025-12-03 08:30:53 +00:00
Repository mirror & CI
1ad9afe6f7
Merge updates from master 2025-12-03 08:30:47 +00:00
Ionen Wolkens
df647d7dc1
net-misc/icaclient: switch to ffmpeg-compat:6
Not the maintainer nor know this application, but blocking ffmpeg-7
is rather nasty so going ahead with changing this.

Normally it'd use its bundled libav* inside ${ICAROOT}/lib but the
ebuild does `doexe *.so` which excludes libav's *.so.{60,58}.

Arguably using bundled would be fair if it's going to use some ancient
ffmpeg and potentially block future cleanups, but not going to impose
this change myself.

Given ffmpeg-compat:6 is not in LDPATH to avoid conflicts/mismatch, do
symlinks inside that directory which matches how it'd normally be used.

Not tried runtime but it seems to find them fine:

$ ldd libctxVideoDecoder.so
	libavcodec.so.60 => /opt/Citrix/ICAClient/lib/libavcodec.so.60
	libavutil.so.58 => /opt/Citrix/ICAClient/lib/libavutil.so.58

Closes: https://bugs.gentoo.org/967025
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
2025-12-03 03:17:23 -05:00
Repository mirror & CI
e04eb5f78e
2025-12-03 07:15:52 UTC 2025-12-03 07:15:52 +00:00
Repository mirror & CI
8bce73b8fa
Merge updates from master 2025-12-03 07:15:46 +00:00
Alfredo Tupone
a811dc8593
dev-ada/xmlada: add gcc:16 support
Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
2025-12-03 08:11:03 +01:00
Alfredo Tupone
f588c1d416
dev-ada/gprbuild: add gcc:16 support
Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
2025-12-03 08:10:13 +01:00
Alfredo Tupone
0bb52c6dab
dev-ada/gprconfig_kb: add gcc:16
Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
2025-12-03 08:08:56 +01:00
Repository mirror & CI
3b2ef93668
2025-12-03 07:00:56 UTC 2025-12-03 07:00:57 +00:00
Repository mirror & CI
d58138a9e8
Merge updates from master 2025-12-03 07:00:48 +00:00
Miroslav Šulc
df1cf1f092
www-apps/wordpress: bump to 6.9
Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
2025-12-03 07:57:47 +01:00
Repository mirror & CI
2ebf47c52e
2025-12-03 05:30:53 UTC 2025-12-03 05:30:53 +00:00
Repository mirror & CI
1721737d33
Merge updates from master 2025-12-03 05:30:47 +00:00
Eli Schwartz
9470d1e703
dev-php/pecl-mongodb: implement correct dependency versions
When this package was bumped, nobody bothered to align the DEPEND with
the upstream build system updates.

Fixes: 558cfb1a6b7be79a676a51c05615c8524e8da419
Closes: https://bugs.gentoo.org/922182
Signed-off-by: Eli Schwartz <eschwartz@gentoo.org>
2025-12-03 00:25:52 -05:00
Repository mirror & CI
5e9c246c2d
2025-12-03 04:45:55 UTC 2025-12-03 04:45:55 +00:00
Repository mirror & CI
2d74c25923
Merge updates from master 2025-12-03 04:45:46 +00:00
Michał Górny
054c7c55f4
dev-python/urwid: Bump to 3.0.4
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 05:40:15 +01:00
Michał Górny
b91f99e0f4
dev-python/urwid: Remove old
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 05:40:15 +01:00
Michał Górny
3af45bfffb
dev-python/sybil: Bump to 9.3.0
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 05:40:15 +01:00
Michał Górny
7b184181dc
dev-python/sybil: Remove old
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 05:40:14 +01:00
Michał Górny
5e3e6495de
dev-python/django: Bump to 4.2.27
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 05:40:14 +01:00
Michał Górny
7a998ac50c
dev-python/uv-build: Bump to 0.9.15
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 05:40:14 +01:00
Michał Górny
98668486f2
dev-python/django: Bump to 5.1.15
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 05:40:13 +01:00
Michał Górny
6c1b012554
dev-python/uv: Bump to 0.9.15
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 05:40:13 +01:00
Michał Górny
0c44b5088c
dev-python/django: Bump to 5.2.9
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 05:40:13 +01:00
Michał Górny
12e5b2a531
app-admin/ansible-core: 2.20.0+ requires Python >=3.12
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 05:40:12 +01:00
Michał Górny
a999910f07
dev-python/pydyf: Bump to 0.12.1
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 05:40:12 +01:00
Michał Górny
fcf3aa189e
dev-python/pyzotero: Bump to 1.7.6
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 05:28:47 +01:00
Michał Górny
2db2f7bfdd
dev-python/pyzotero: Remove old
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 05:28:47 +01:00
Michał Górny
821a9f86bb
dev-python/ansible-compat: Bump to 25.12.0
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 05:28:46 +01:00
Michał Górny
fa3e5ddf83
dev-python/ansible-compat: Remove old
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 05:22:54 +01:00
Michał Górny
f49e11aaf1
dev-python/sphinx-gallery: Bump to 0.20.0
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 05:22:35 +01:00
Michał Górny
b9b4445d20
dev-python/weasyprint: Bump to 67.0
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 05:21:47 +01:00
Michał Górny
52024cc221
dev-python/pytest-httpx: Bump to 0.36.0
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 05:20:54 +01:00
Michał Górny
7a01f733b4
dev-python/numpydoc: Bump to 1.10.0
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 05:19:21 +01:00
Michał Górny
9bd14bf85a
dev-python/sqlglot: Bump to 28.1.0
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 05:19:21 +01:00
Michał Górny
70633b2dad
dev-python/sqlglot: Remove old
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 05:19:20 +01:00
Michał Górny
897c830f7b
dev-python/pymongo: Bump to 4.15.5
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 05:19:20 +01:00
Michał Górny
864eb6470c
dev-python/pymongo: Remove old
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 05:19:20 +01:00
Michał Górny
3bb2ac4f09
dev-python/sabctools: Bump to 9.0.0
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 05:19:20 +01:00
Michał Górny
ac9c711177
dev-python/psycopg: Bump to 3.3.1
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 05:19:19 +01:00
Michał Górny
6d736a37b9
dev-python/aws-sam-translator: Bump to 1.105.0
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 04:40:49 +01:00
Michał Górny
2695e5a7a6
app-admin/awscli: Bump to 1.43.7
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 04:40:17 +01:00
Michał Górny
9484bd7c45
dev-python/boto3: Bump to 1.42.1
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 04:39:23 +01:00
Michał Górny
032a752c0d
dev-python/botocore: Bump to 1.42.1
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 04:38:26 +01:00
Repository mirror & CI
04c06c8898
2025-12-03 03:30:51 UTC 2025-12-03 03:30:51 +00:00
Repository mirror & CI
80253e4285
Merge updates from master 2025-12-03 03:30:45 +00:00
Michał Górny
00c3147624
dev-python/python-tests: Bump to 0.3.14.1
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 04:27:11 +01:00
Michał Górny
fad6845592
dev-lang/python: Bump to 0.3.14.1
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 04:27:10 +01:00
Michał Górny
0969a27195
app-doc/python-docs: Bump to 3.14.1
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 04:27:10 +01:00
Michał Górny
7076a1bd61
dev-python/python-tests: Bump to 3.14.1
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 04:27:10 +01:00
Michał Górny
3ad948b0a4
dev-lang/python: Bump to 3.14.1
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 04:27:10 +01:00
Michał Górny
ac669b2b65
package.mask: Mask Python bumps due to upgrade problems
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-12-03 04:26:40 +01:00
Mike Gilbert
675e62a68f
sys-apps/merge-usr: enable py3.14
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
2025-12-02 22:24:38 -05:00
Sam James
8f1504a003
profiles/base: make ada_target_gcc_15 the default
GCC 15 is now stable.

Signed-off-by: Sam James <sam@gentoo.org>
2025-12-03 03:22:13 +00:00
Repository mirror & CI
1d9e158279
2025-12-03 03:15:51 UTC 2025-12-03 03:15:51 +00:00
Repository mirror & CI
f50dc5c82d
Merge updates from master 2025-12-03 03:15:45 +00:00
Sam James
4c366be032
ada.eclass: filter -Warray-bounds
This could maybe be done in theory for ADAFLAGS only but not sure how well
that would work with LTO anyway.

Bug: https://gcc.gnu.org/PR116226
Signed-off-by: Sam James <sam@gentoo.org>
2025-12-03 03:11:01 +00:00
Repository mirror & CI
9c47882fa7
2025-12-03 02:15:51 UTC 2025-12-03 02:15:52 +00:00
Repository mirror & CI
b991f0b95b
Merge updates from master 2025-12-03 02:15:46 +00:00
Eli Schwartz
c239c7e41c
media-libs/assimp: add some test excludes for USE="-collada"
The upstream testsuite does NOT implement filtering for tests that test
options which have been disabled.

With this change, we are down to one remaining failure:
- utIssues.OpacityBugWhenExporting_727

It passes with USE=collada but I cannot personally tell whether that
means the test relies on said feature or whether something else is
wrong, so I am not touching it for now. The test excludes I did add, are
*overtly* "Error: No suitable reader found for the file format xxxxx".

Bug: https://bugs.gentoo.org/962559
Signed-off-by: Eli Schwartz <eschwartz@gentoo.org>
2025-12-02 21:02:21 -05:00
Repository mirror & CI
5c6b5c1e00
2025-12-03 01:30:56 UTC 2025-12-03 01:30:56 +00:00
Repository mirror & CI
41f7cbe59d
Merge updates from master 2025-12-03 01:30:48 +00:00
Patrick McLean
9d0338853e
dev-util/ruff: drop 0.13.3, 0.14.2, 0.14.3
Signed-off-by: Patrick McLean <chutzpah@gentoo.org>
2025-12-02 17:18:18 -08:00
Patrick McLean
374cd3a8e7
dev-util/ruff: add 0.14.7
Signed-off-by: Patrick McLean <chutzpah@gentoo.org>
2025-12-02 17:18:17 -08:00
Repository mirror & CI
2f04b33417
2025-12-03 01:15:51 UTC 2025-12-03 01:15:52 +00:00
Repository mirror & CI
de867187a6
Merge updates from master 2025-12-03 01:15:46 +00:00
Sam James
7e9f16ebc8
app-admin/calamares: Stabilize 3.3.14-r4 amd64, #966998
Signed-off-by: Sam James <sam@gentoo.org>
2025-12-03 01:11:31 +00:00
Sam James
f241681e90
profiles: add ada_target_gcc_16
Signed-off-by: Sam James <sam@gentoo.org>
2025-12-03 01:11:04 +00:00
Repository mirror & CI
99a6262039
2025-12-03 00:46:01 UTC 2025-12-03 00:46:01 +00:00
Repository mirror & CI
4ab387dcaf
Merge updates from master 2025-12-03 00:45:55 +00:00
Sam James
db7309fb05
net-libs/xdp-tools: Stabilize 1.5.7 x86, #967006
Signed-off-by: Sam James <sam@gentoo.org>
2025-12-03 00:40:27 +00:00
Sam James
cce462c743
net-libs/xdp-tools: Stabilize 1.5.7 amd64, #967006
Signed-off-by: Sam James <sam@gentoo.org>
2025-12-03 00:40:26 +00:00
Sam James
14e1c27a1f
net-libs/xdp-tools: Stabilize 1.5.7 arm64, #967006
Signed-off-by: Sam James <sam@gentoo.org>
2025-12-03 00:40:24 +00:00
Ionen Wolkens
b24fb048d3
media-libs/libsdl2: add 2.32.60
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
2025-12-02 19:22:10 -05:00
Ionen Wolkens
f920076aec
media-libs/libsdl3: drop 3.2.22, 3.2.24
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
2025-12-02 19:22:10 -05:00
Ionen Wolkens
80f6e8edc9
media-libs/libsdl3: add 3.2.28
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
2025-12-02 19:22:10 -05:00
Repository mirror & CI
511f0ae535
2025-12-03 00:00:52 UTC 2025-12-03 00:00:52 +00:00
Repository mirror & CI
1a86b0b61d
Merge updates from master 2025-12-03 00:00:46 +00:00
Patrick McLean
0785cbcd6d
app-misc/tmuxp: add 1.59.0
Signed-off-by: Patrick McLean <chutzpah@gentoo.org>
2025-12-02 15:50:43 -08:00
Repository mirror & CI
87bd82d82b
2025-12-02 23:15:51 UTC 2025-12-02 23:15:51 +00:00
Repository mirror & CI
cbfeba70b2
Merge updates from master 2025-12-02 23:15:45 +00:00
Mike Pagano
b9e90786ec
sys-kernel/linux-docs: drop 6.16.4-r1
Signed-off-by: Mike Pagano <mpagano@gentoo.org>
2025-12-02 18:10:50 -05:00
Mike Pagano
08e2e092d6
sys-kernel/linux-docs: add 6.18
Signed-off-by: Mike Pagano <mpagano@gentoo.org>
2025-12-02 18:10:30 -05:00
Repository mirror & CI
558d12a7b8
2025-12-02 22:15:54 UTC 2025-12-02 22:15:55 +00:00
Repository mirror & CI
20ca8e188c
Merge updates from master 2025-12-02 22:15:46 +00:00
Marc Schiffbauer
56307c6ac3
net-p2p/syncthing: add 2.0.12
Signed-off-by: Marc Schiffbauer <mschiff@gentoo.org>
2025-12-02 23:01:59 +01:00
Marc Schiffbauer
53927beb09
app-backup/borgbackup: add 1.4.3
Signed-off-by: Marc Schiffbauer <mschiff@gentoo.org>
2025-12-02 23:01:56 +01:00
Repository mirror & CI
08cd090c53
2025-12-02 21:00:54 UTC 2025-12-02 21:00:54 +00:00
Repository mirror & CI
977c917ca2
Merge updates from master 2025-12-02 21:00:45 +00:00
Alfredo Tupone
0834728739
sci-ml/safetensors: add 0.7.0, drop 0.5.3
Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
2025-12-02 21:52:34 +01:00
377 changed files with 7823 additions and 3183 deletions

View File

@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517="setuptools"
PYTHON_COMPAT=( python3_{11..14} )
PYTHON_COMPAT=( python3_{12..14} )
inherit distutils-r1

View File

@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517="setuptools"
PYTHON_COMPAT=( python3_{11..14} )
PYTHON_COMPAT=( python3_{12..14} )
inherit distutils-r1

View File

@ -4,3 +4,4 @@ DIST aws-cli-1.42.74.gh.tar.gz 3005364 BLAKE2B 1550c3939370bcbc4f0eb50ff7eb22b20
DIST aws-cli-1.43.2.gh.tar.gz 3021667 BLAKE2B 96e997a173fa03330ac188874a2f2763c0d5e365e2b8a6d9eeeec7cbc54a03434efdf98bc11c91555bc2fe36a524f4338f308d7fcee53007645c9434732ee654 SHA512 a90b3523b7a10eba1c97fa0b4150619d0c67aef79e30da7d5e95f88d0a99e1d0256d9871ec4a2e19860b7a7afc91cbbd5bd57322e09041c8d2aa123295cb5f23
DIST aws-cli-1.43.5.gh.tar.gz 3022688 BLAKE2B 9246ea7ef59101488d290de46e109516c36fad8444b90bd2e79692fdd6e26944839cc37be41a8e128f9ba27219a2ac711692552d196da5cdb59385f6b4ff3fa5 SHA512 511c02db2c90d60cb383684b37fcbf9cf42ba61e0e5a952a9974368dc55ef069d4149c39dcddcac1db2d8ce249167ae7e4c8dc2c04f9dfda80d9cc8d299f4634
DIST aws-cli-1.43.6.gh.tar.gz 3025578 BLAKE2B 33fc6b437c9e2b1717bf51218fb81bcd612eba55fa6e0a553a05312d20484987dcd6e468b4df8fcec09b0496b078dacede13c6b0e4133016e83d625de65a2572 SHA512 c871ad2933d4116e8514aec75412c2902bc46a6199c306fe50e0cc0f6cf3c75cb029688916f1ffcdb9be6cf698e5d125a6863218064ed555996d7d253acc379c
DIST aws-cli-1.43.7.gh.tar.gz 3028477 BLAKE2B 27e815fbbd01912597e0ed0ec5f7f5c177e822a2c3dda1776fdff7d4032920f8d6d4a989ab47815217327a831c0a9e8e06f343a9b10c62a209a110a31bd67776 SHA512 2aa2ed902aa753426719fb36b8de0065bfcd0b6766301eea8eba3167abc50baabd1e9e89640fbd25430111b2233323a99e557fba19e4ca70828709a0a34cef97

View File

@ -0,0 +1,92 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 shell-completion
MY_P=aws-cli-${PV}
DESCRIPTION="Universal Command Line Environment for AWS"
HOMEPAGE="
https://github.com/aws/aws-cli/
https://pypi.org/project/awscli/
"
SRC_URI="
https://github.com/aws/aws-cli/archive/${PV}.tar.gz
-> ${MY_P}.gh.tar.gz
"
S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
# botocore is x.(y-1).(z-6), sigh
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) - 1)).$(( $(ver_cut 3) - 6 ))"
RDEPEND="
>=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
dev-python/colorama[${PYTHON_USEDEP}]
dev-python/docutils[${PYTHON_USEDEP}]
dev-python/rsa[${PYTHON_USEDEP}]
>=dev-python/s3transfer-0.16.0[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
!app-admin/awscli-bin
"
BDEPEND="
test? (
dev-python/packaging[${PYTHON_USEDEP}]
)
"
EPYTEST_PLUGINS=( pytest-forked )
EPYTEST_XDIST=1
distutils_enable_tests pytest
src_prepare() {
# 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
# strip overzealous upper bounds on requirements
sed -i -e 's:,<[=0-9.]*::' -e 's:==:>=:' setup.py || die
distutils-r1_src_prepare
}
python_test() {
local serial_tests=(
tests/functional/ecs/test_execute_command.py::TestExecuteCommand::test_execute_command_success
tests/functional/ssm/test_start_session.py::TestSessionManager::test_start_session_{fails,success}
tests/functional/ssm/test_start_session.py::TestSessionManager::test_start_session_with_new_version_plugin_success
tests/unit/customizations/codeartifact/test_adapter_login.py::TestDotNetLogin::test_login_dotnet_sources_listed_with_backtracking
tests/unit/customizations/codeartifact/test_adapter_login.py::TestDotNetLogin::test_login_dotnet_sources_listed_with_backtracking_windows
tests/unit/customizations/codeartifact/test_adapter_login.py::TestNuGetLogin::test_login_nuget_sources_listed_with_backtracking
tests/unit/customizations/ecs/test_executecommand_startsession.py::TestExecuteCommand::test_execute_command_success
tests/unit/customizations/test_sessionmanager.py
tests/unit/test_compat.py::TestIgnoreUserSignals
tests/unit/test_help.py
tests/unit/test_utils.py::TestIgnoreCtrlC::test_ctrl_c_is_ignored
)
EPYTEST_XDIST= epytest "${serial_tests[@]}"
local EPYTEST_DESELECT=(
"${serial_tests[@]}"
# flaky (some ordering?)
tests/functional/s3/test_cp_command.py::TestCPCommand::test_multipart_upload_with_checksum_algorithm_crc32
)
# integration tests require AWS credentials and Internet access
epytest tests/{functional,unit}
}
python_install_all() {
newbashcomp bin/aws_bash_completer aws
newzshcomp bin/aws_zsh_completer.sh _aws
distutils-r1_python_install_all
rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die
}

View File

@ -23,7 +23,7 @@ SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64"
KEYWORDS="amd64"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
IUSE="livecd"

View File

@ -1,2 +1,3 @@
DIST borgbackup-1.4.1.tar.gz 3817197 BLAKE2B fbf5cd06bcddd5b90db75ed1b2276d2eba0d17d0545a751acfd40d051053d9d3e1a0ea2f1dd87e6541aeca6199e98ad1885b9d3155696268752069b763b660a4 SHA512 83ce8fcefa4e4099922e1f3894aba41d8d83ccff3e554b4b5ee0f0b9b8b18b18bcbf7f566e36aea4214e0d9d427cb66d63d2e1933b773e3338fd5814fd80e3a4
DIST borgbackup-1.4.2.tar.gz 3932875 BLAKE2B a3489c46d17cc07a62f5098320a5023e957f7044021d307d879b0c0dfe4bc49ddf10151a2e2e888dbbb2721f412f6a699d7b8b67d1a0e28eda92dfd931b164b6 SHA512 035396661013057614724f55d6b3e3ed35b686887d836b7358e1f95b6c354ec5c4d9592c29cb1d4577e113e3a0558a9054689a2678b62b97d78287ad0295cce0
DIST borgbackup-1.4.3.tar.gz 4014143 BLAKE2B 9e93ca819e9083a256b8ccd6093b6ee2e69cfabb6a89b16958b9b64da2c1b217d9a1149ca40147817169ab388db33bca9c5ab6308e7064d8b3c92714ce9abcaa SHA512 500c9da7aeeea6e9aac1efe4760e8d6ef6e7f9c80fc32c3f2e7b7dfb27d54cd0131b7c27248c276b23034fc92cdb2a8611926773f5aa9801eb99139efc9d0dd2

View File

@ -0,0 +1,66 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi shell-completion
DESCRIPTION="Deduplicating backup program with compression and authenticated encryption"
HOMEPAGE="https://borgbackup.readthedocs.io/"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
DEPEND="
app-arch/lz4
app-arch/zstd
dev-libs/openssl:0=
>=dev-libs/xxhash-0.8.1
virtual/acl
"
# borgbackup is *very* picky about which msgpack it work with,
# check pyproject.toml on bumps.
RDEPEND="
${DEPEND}
<=dev-python/msgpack-1.1.2-r9999[${PYTHON_USEDEP}]
dev-python/packaging[${PYTHON_USEDEP}]
dev-python/pyfuse3[${PYTHON_USEDEP}]
"
BDEPEND="
dev-python/cython[${PYTHON_USEDEP}]
dev-python/pkgconfig[${PYTHON_USEDEP}]
dev-python/setuptools-scm[${PYTHON_USEDEP}]
test? (
dev-python/python-dateutil[${PYTHON_USEDEP}]
)
"
# some tests randomly fail with xdist, bug #936524
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
python_test() {
local EPYTEST_DESELECT=(
# Needs pytest-benchmark fixture
benchmark.py::test_
)
# This disables fuse releated tests
local -x BORG_FUSE_IMPL="none"
epytest --pyargs borg.testsuite
}
src_install() {
distutils-r1_src_install
doman docs/man/*
dobashcomp scripts/shell_completions/bash/borg
dozshcomp scripts/shell_completions/zsh/_borg
dofishcomp scripts/shell_completions/fish/borg.fish
}

View File

@ -33,9 +33,9 @@ DEPEND="
"
FILECAPS=(
-m u+s cap_sys_resource,cap_dac_override,cap_sys_admin,cap_sys_nice,cap_net_bind_service,cap_ipc_lock,cap_sys_rawio+ep usr/bin/cdrecord --
-m u+s cap_dac_override,cap_sys_admin,cap_sys_nice,cap_net_bind_service,cap_sys_rawio+ep usr/bin/cdda2wav --
-m u+s cap_dac_override,cap_sys_admin,cap_net_bind_service,cap_sys_rawio+ep usr/bin/readcd
-M u-s cap_sys_resource,cap_dac_override,cap_sys_admin,cap_sys_nice,cap_net_bind_service,cap_ipc_lock,cap_sys_rawio+ep usr/bin/cdrecord --
-M u-s cap_dac_override,cap_sys_admin,cap_sys_nice,cap_net_bind_service,cap_sys_rawio+ep usr/bin/cdda2wav --
-M u-s cap_dac_override,cap_sys_admin,cap_net_bind_service,cap_sys_rawio+ep usr/bin/readcd
)
cdrtools_os() {
@ -278,8 +278,7 @@ src_install() {
emake -j1 CPPOPTX="${CPPFLAGS}" COPTX="${CFLAGS}" C++OPTX="${CXXFLAGS}" \
LDOPTX="${LDFLAGS}" GMAKE_NOWARN="true" install
# Let fcaps handle this
fperms 0755 /usr/bin/{cdda2wav,cdrecord,readcd}
fperms 4755 /usr/bin/{cdda2wav,cdrecord,readcd}
# These symlinks are for compat with cdrkit.
dosym schily /usr/include/scsilib

View File

@ -11,6 +11,7 @@ DIST python-3.13.7-docs-html.tar.bz2 10426777 BLAKE2B 47cfc1a15a78beb69811de863b
DIST python-3.13.8-docs-html.tar.bz2 10368502 BLAKE2B 494ab431b1b7c0f10149df5b0dbc668d390aaeca2f9f8d29a7c42216ada929a4c3cf90fc32476d87269baf1f71ab53861c18972af7f766e9b9d3ce34a53590eb SHA512 311cbf10dfe4c81546a17727423f114566055021c63393f58aafc035b4b2b34cf8f861d2a4c3046756391f1e9c204915f673254b010b405c19a764c4ead0ce14
DIST python-3.13.9-docs-html.tar.bz2 10368030 BLAKE2B 00e403b9612bef040250ee9958a93e4c16fd6ef147e653991070c460cffe0478a7187e135992a295e162b9525f14a0cf8921deec986fc9d3c37ded44a3f315c9 SHA512 1fdf6d2097b26b0b7df380e4f831599d89ab45d9d649e18c645ee315304a5b3ebcccea32312ef0632a926819af2ca50904c4ca7d33e71b65a0cdfa0f0ba16554
DIST python-3.14.0-docs-html.tar.bz2 10820770 BLAKE2B 98d04cc7693a7dfca5bfe77b10135410e890240881172f95478702e1b57d592626bafedcbe2dc279fd21e89d61bdb1f56a6c2212ac7ac26c6b61bef18419fca3 SHA512 65d9b810be1699f49277b33d71f4a0f3fb4b143bc11e05bb3077cd13553010d4e815acec3fb5eded2a7163e9669aa22e052a84079e90ac4477ab3ab7936b4b23
DIST python-3.14.1-docs-html.tar.bz2 10770251 BLAKE2B 3cb981a11219d3bec02393d9c90442726500976c98103d85952d94cc75ff7e88fce8e1d25f3072b46a7ada36b265d623a9d6dd1261633fb53b679ad22b1386b6 SHA512 e0eeaf0ce9d624b9d868fb8c2ad06ee21a47cc52b038833281a6049f26c8a623e52e8b3b13603c95791abbbe91b5911a27f07fe8b083a8052ff5fbfff9a2e41e
DIST python-3.8.20-docs-html.tar.bz2 6727651 BLAKE2B ec11857b5bdfb4646a2762353db877a558cfc543563a7a9b0db100f675511c31450d16c30a986d39226a9b16be3ffd132863e396ef05165047ab73bf037bf2a6 SHA512 0a77f0240d6d495a5099d4a95e151f38517730815e6f3d9b82964cf60be95b8bdc960916d317e19bb8e14a9604217cd1fa85703996aec972004a6a93d4ffa6d0
DIST python-3.9.23-docs-html.tar.bz2 7012126 BLAKE2B 6768ce71941585365c963a8f5a15c4a18fe8beccb31e45a6679557366e4d56493bef3bd33b183540e96898bf8ad977f6bfd4ae56d4371d8fe906da603cd588e4 SHA512 396dd9f7212873f37c45d227cb53d334ec10b3b84c21f32ebb8652b457ab107eaeefc760d7cea2873b581341d94e628bd4c8eebdbdfffe9e2496267031eb779b
DIST python-3.9.24-docs-html.tar.bz2 7015870 BLAKE2B 4a45863fe2528129b0c5081fcaa3188b966935363f29d1dd8cea014b28e41d75d185926a25c2e00ea13dc475bee909d9126c0bc0e898ffee9f628c22bfaaf55a SHA512 1a7a68a4940dc619f26cc1d4d6de2ab23d8a5abe5a29dee0fbd8bcaf0c76cd3cda6b3c629f46a529fdee02d40e3bfecb5c36c4162648e303fc0b85c52d9c0bd3

View File

@ -0,0 +1,24 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
MY_P=python-${PV}-docs-html
DESCRIPTION="HTML documentation for Python"
HOMEPAGE="https://www.python.org/doc/"
SRC_URI="https://www.python.org/ftp/python/doc/${PV}/${MY_P}.tar.bz2"
S=${WORKDIR}/${MY_P}
LICENSE="PSF-2"
SLOT="$(ver_cut 1-2)"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
src_install() {
rm -r _sources || die
docinto html
dodoc -r .
newenvd - 60python-docs-${SLOT} <<-EOF
PYTHONDOCS_${SLOT//./_}="${EPREFIX}/usr/share/doc/${PF}/html/library"
EOF
}

View File

@ -447,12 +447,17 @@ src_test() {
%lisp/vc/vc-tests.el
%lisp/vc/vc-bzr-tests.el
# Reason: malformed html tag in test, https://bugs.gnu.org/79041
# shr-test/zoom-image
%lisp/net/shr-tests.el
%lisp/progmodes/eglot-tests.el #966957
# Reason: tries to access network
# internet-is-working
%src/process-tests.el
)
use threads || exclude_tests+=(
%lisp/progmodes/eglot-tests.el
%src/emacs-module-tests.el
%src/keyboard-tests.el
)

View File

@ -447,6 +447,12 @@ src_test() {
%lisp/vc/vc-tests.el
%lisp/vc/vc-bzr-tests.el
# Reason: malformed html tag in test, https://bugs.gnu.org/79041
# shr-test/zoom-image
%lisp/net/shr-tests.el
%lisp/progmodes/eglot-tests.el #966957
# Reason: tries to access network
# internet-is-working
%src/process-tests.el
@ -457,7 +463,6 @@ src_test() {
%src/fns-tests.el
)
use threads || exclude_tests+=(
%lisp/progmodes/eglot-tests.el
%src/emacs-module-tests.el
%src/keyboard-tests.el
)

View File

@ -451,6 +451,8 @@ src_test() {
%lisp/vc/vc-tests.el
%lisp/vc/vc-bzr-tests.el
%lisp/progmodes/eglot-tests.el #966957
# Reason: flaky (https://bugs.gnu.org/73441, fails even with the fix)
# proced-refine-test
%lisp/proced-tests.el
@ -464,7 +466,6 @@ src_test() {
%src/process-tests.el
)
use threads || exclude_tests+=(
%lisp/progmodes/eglot-tests.el
%src/emacs-module-tests.el
%src/keyboard-tests.el
)

View File

@ -900,6 +900,9 @@ src_install() {
pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
popd >/dev/null || die
# suid in src_install to allow FEATURES=suidctl to work properly
fperms u+s /usr/libexec/qemu-bridge-helper
# Install config file example for qemu-bridge-helper
insinto "/etc/qemu"
doins "${FILESDIR}/bridge.conf"
@ -963,7 +966,7 @@ pkg_postinst() {
xdg_icon_cache_update
[[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \
fcaps -m u+s cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper
fcaps -M u-s cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper
DISABLE_AUTOFORMATTING=true
readme.gentoo_print_elog

View File

@ -899,6 +899,9 @@ src_install() {
pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
popd >/dev/null || die
# suid in src_install to allow FEATURES=suidctl to work properly
fperms u+s /usr/libexec/qemu-bridge-helper
# Install config file example for qemu-bridge-helper
insinto "/etc/qemu"
doins "${FILESDIR}/bridge.conf"
@ -962,7 +965,7 @@ pkg_postinst() {
xdg_icon_cache_update
[[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \
fcaps -m u+s cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper
fcaps -M u-s cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper
DISABLE_AUTOFORMATTING=true
readme.gentoo_print_elog

View File

@ -27,7 +27,7 @@ BDEPEND="virtual/pkgconfig"
PATCHES=( "${FILESDIR}"/${PN}-autoconf-2.68.patch )
FILECAPS=(
-m u+s cap_sys_tty_config+ep usr/bin/${PN}
-M u-s cap_sys_tty_config+ep usr/bin/${PN}
)
src_prepare() {
@ -48,6 +48,11 @@ src_compile() {
emake AR="$(tc-getAR)"
}
src_install() {
default
fperms u+s /usr/bin/${PN}
}
pkg_postinst() {
fcaps_pkg_postinst

View File

@ -13,7 +13,7 @@ SRC_URI="https://github.com/StefanCristian/${PN}/archive/refs/tags/${PV}.tar.gz
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64"
KEYWORDS="amd64"
RDEPEND="
app-admin/calamares[livecd(-)]

View File

@ -1,5 +1,3 @@
DIST openhab-4.3.5.tar.gz 111171501 BLAKE2B db9e1d4ee0643309841115cf6ac20ec8e44467f5f677c99ac1e5d41c660095f035fc3e8e9d0cbc1a8e91824244339fb99a919027c95656578797cc675567a779 SHA512 a422b2b272019b96c01e1c0f35262e7d39931465752edf4aa17c4c1ed0ab9c81b73fb51f725bbc91bb3936f898fbd3947965898a110975fd4c812bd4e836dbcd
DIST openhab-5.0.0.tar.gz 115233933 BLAKE2B d146974c28bcd6a80414719d10515b67cca11a33248d78e3485fa5a433e6b71d994d35a1052247bf6548e0e09e31ae28cc34060c4c179aa2aede5c68b4b94103 SHA512 0817d95058213c60a0cb28b8d943f5203b10887022e70db967630de4ff9626979eaa3a855414c85e112df0256fa503cea7d7e5527b75475e0a6ba21bc3bb904e
DIST openhab-5.0.1.tar.gz 115553065 BLAKE2B 9eaf029627416d40cbb12a2115e09df2ad09d978dc6fee2d719f6184d685327dc0f1b6ef608611df21151b3255e13aa361df40945be4ac655d047c951d18c810 SHA512 e6dca75309a19e780095336f496bac12a75924ce0e4aad08050f43da0129dc02f908689a444e0422ea101cf8d1938d96f9b0d1ed290656f8f469014c7618b4f8
DIST openhab-5.0.2.tar.gz 115574626 BLAKE2B 7a10ecd4328f99f84f6aefe7a432a9c786221cb3413280b9403156719a7c5b767a757a3f38856dd94dda15e08f33b196b8aae53fa611093fd1821a9ae7f8999f SHA512 02963c22b13cd5a960faf7dbd1e8cba65b552fb499d5702052b353f41e46ecb888ac75bf0c827c8c957540c931c61bc9805584f0100b50493ace272baaf4557d
DIST openhab-5.0.3.tar.gz 115565086 BLAKE2B d4d660738539b8ff2bddaeb3cba04ebee999852efe2057d956df87fc7413b1c1ef1cb7f709698294ee07a578ba4c85e3db8d952668d76cc3bb44ba13ede5255c SHA512 2485f4f67c5d3ce608eed3f0d99230761f0452761a013f10ff856be0f731195f45bfeb660aa14e3eb921daed8b2dc2f18ff74f7609b50235467ca803dece5369

View File

@ -1,136 +0,0 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit edo systemd tmpfiles
MY_PN=${PN%-bin}
MY_P=${MY_PN}-${PV}
MY_CLI_VER=2024-01-14
DESCRIPTION="An open-source automation software for your home"
HOMEPAGE="https://www.openhab.org/"
SRC_URI="
https://github.com/openhab/openhab-distro/releases/download/${PV}/${MY_P}.tar.gz
https://raw.githubusercontent.com/openhab/openhab-linuxpkg/10061acd36524afb12a033fea6dcf142b399bf56/resources/usr/bin/openhab-cli
-> openhab-cli-${MY_CLI_VER}
"
S="${WORKDIR}"
LICENSE="EPL-2.0"
SLOT="0"
KEYWORDS="amd64 arm64"
MY_JAVA_DEPEND=">=virtual/jre-17"
# app-arch/zip: used by "openhab-cli backup"
RDEPEND="
${MY_JAVA_DEPEND}
acct-user/openhab
app-arch/zip
dev-java/java-config
"
BDEPEND="app-arch/unzip"
src_compile() {
:
}
src_install() {
# We use move here to preserve the executable bit on the files under
# openhab/runtime/bin.
domove() {
local source="${1}"
local target="${2}"
local dest="${ED}/${target}"
mkdir -p "${dest}" || die "Failed to create ${dest}"
mv "${source}"/* "${dest}" || die "Failed to move"
}
domove runtime /usr/share/openhab/runtime
domove conf /etc/openhab
domove userdata /var/lib/openhab
fowners -R openhab:openhab /var/lib/openhab
local dirs=(
/usr/share/openhab/addons
/var/log/openhab
)
local d
for d in "${dirs[@]}"; do
keepdir "${d}"
fowners openhab:openhab "${d}"
done
newenvd "${FILESDIR}"/openhab.env 50openhab
systemd_dounit "${FILESDIR}"/openhab.service
newtmpfiles "${FILESDIR}"/openhab.tmpfiles openhab.conf
newbin - openhab <<EOF
#!/usr/bin/env bash
set -eu
if [[ -v JAVA_HOME_OVERRIDE ]]; then
JAVA_HOME="\${JAVA_HOME_OVERRIDE}"
else
if ! GENTOO_JAVA_VM="\$(depend-java-query --get-vm '${MY_JAVA_DEPEND}')"; then
>&2 echo "Could not find Java VM for ${MY_JAVA_DEPEND}"
exit 1
fi
if ! JAVA_HOME_ASSIGNMENT=\$(java-config -P \${GENTOO_JAVA_VM} | grep JAVA_HOME); then
>&2 echo "Could not retrieve JAVA_HOME of \${GENTOO_JAVA_VM}"
exit 1
fi
eval \${JAVA_HOME_ASSIGNMENT}
fi
export JAVA_HOME
exec /usr/share/openhab/runtime/bin/karaf "\$@"
EOF
newbin "${DISTDIR}"/openhab-cli-${MY_CLI_VER} openhab-cli
newinitd "${FILESDIR}"/openhab.initd openhab
}
pkg_postinst() {
tmpfiles_process openhab.conf
if [[ -z ${REPLACING_VERSIONS} && -z ${OPENHAB_POSTINST_UPDATE} ]]; then
return
fi
if [[ -d "${EROOT}"/run/systemd/system ]]; then
if systemctl is-active --quiet openhab; then
local openhab_service_active=1
einfo "Restarting OpenHAB service due to version update"
edob systemctl daemon-reload
edob systemctl stop openhab
fi
echo y | edob -m "Cleaning OpenHAB cache" \
openhab-cli clean-cache
assert "Failed to clean OpenHAB cache"
if [[ -v openhab_service_active ]]; then
edob systemctl start openhab
fi
elif [[ -d /run/openrc ]]; then
einfo "Follow these steps to complete the update of OpenHAB:"
einfo
einfo "1. Stop the OpenHAB's service"
einfo "$ rc-service openhab stop"
einfo "2. Clean OpenHAB's cache"
einfo "$ openahb-cli clean-cache"
einfo "3. Restart OpenHAB's service"
einfo "$ rc-service openhab start"
fi
}

View File

@ -23,7 +23,7 @@ SLOT="0"
KEYWORDS="amd64 arm64"
MY_JAVA_DEPEND=">=virtual/jre-17"
MY_JAVA_DEPEND="|| ( virtual/jre:17 virtual/jre:21 )"
# app-arch/zip: used by "openhab-cli backup"
RDEPEND="

View File

@ -23,7 +23,7 @@ SLOT="0"
KEYWORDS="~amd64 ~arm64"
MY_JAVA_DEPEND=">=virtual/jre-17"
MY_JAVA_DEPEND="|| ( virtual/jre:17 virtual/jre:21 )"
# app-arch/zip: used by "openhab-cli backup"
RDEPEND="

View File

@ -1,136 +0,0 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit edo systemd tmpfiles
MY_PN=${PN%-bin}
MY_P=${MY_PN}-${PV}
MY_CLI_VER=2024-01-14
DESCRIPTION="An open-source automation software for your home"
HOMEPAGE="https://www.openhab.org/"
SRC_URI="
https://github.com/openhab/openhab-distro/releases/download/${PV}/${MY_P}.tar.gz
https://raw.githubusercontent.com/openhab/openhab-linuxpkg/10061acd36524afb12a033fea6dcf142b399bf56/resources/usr/bin/openhab-cli
-> openhab-cli-${MY_CLI_VER}
"
S="${WORKDIR}"
LICENSE="EPL-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64"
MY_JAVA_DEPEND=">=virtual/jre-17"
# app-arch/zip: used by "openhab-cli backup"
RDEPEND="
${MY_JAVA_DEPEND}
acct-user/openhab
app-arch/zip
dev-java/java-config
"
BDEPEND="app-arch/unzip"
src_compile() {
:
}
src_install() {
# We use move here to preserve the executable bit on the files under
# openhab/runtime/bin.
domove() {
local source="${1}"
local target="${2}"
local dest="${ED}/${target}"
mkdir -p "${dest}" || die "Failed to create ${dest}"
mv "${source}"/* "${dest}" || die "Failed to move"
}
domove runtime /usr/share/openhab/runtime
domove conf /etc/openhab
domove userdata /var/lib/openhab
fowners -R openhab:openhab /var/lib/openhab
local dirs=(
/usr/share/openhab/addons
/var/log/openhab
)
local d
for d in "${dirs[@]}"; do
keepdir "${d}"
fowners openhab:openhab "${d}"
done
newenvd "${FILESDIR}"/openhab.env 50openhab
systemd_dounit "${FILESDIR}"/openhab.service
newtmpfiles "${FILESDIR}"/openhab.tmpfiles openhab.conf
newbin - openhab <<EOF
#!/usr/bin/env bash
set -eu
if [[ -v JAVA_HOME_OVERRIDE ]]; then
JAVA_HOME="\${JAVA_HOME_OVERRIDE}"
else
if ! GENTOO_JAVA_VM="\$(depend-java-query --get-vm '${MY_JAVA_DEPEND}')"; then
>&2 echo "Could not find Java VM for ${MY_JAVA_DEPEND}"
exit 1
fi
if ! JAVA_HOME_ASSIGNMENT=\$(java-config -P \${GENTOO_JAVA_VM} | grep JAVA_HOME); then
>&2 echo "Could not retrieve JAVA_HOME of \${GENTOO_JAVA_VM}"
exit 1
fi
eval \${JAVA_HOME_ASSIGNMENT}
fi
export JAVA_HOME
exec /usr/share/openhab/runtime/bin/karaf "\$@"
EOF
newbin "${DISTDIR}"/openhab-cli-${MY_CLI_VER} openhab-cli
newinitd "${FILESDIR}"/openhab.initd openhab
}
pkg_postinst() {
tmpfiles_process openhab.conf
if [[ -z ${REPLACING_VERSIONS} && -z ${OPENHAB_POSTINST_UPDATE} ]]; then
return
fi
if [[ -d "${EROOT}"/run/systemd/system ]]; then
if systemctl is-active --quiet openhab; then
local openhab_service_active=1
einfo "Restarting OpenHAB service due to version update"
edob systemctl daemon-reload
edob systemctl stop openhab
fi
echo y | edob -m "Cleaning OpenHAB cache" \
openhab-cli clean-cache
assert "Failed to clean OpenHAB cache"
if [[ -v openhab_service_active ]]; then
edob systemctl start openhab
fi
elif [[ -d /run/openrc ]]; then
einfo "Follow these steps to complete the update of OpenHAB:"
einfo
einfo "1. Stop the OpenHAB's service"
einfo "$ rc-service openhab stop"
einfo "2. Clean OpenHAB's cache"
einfo "$ openahb-cli clean-cache"
einfo "3. Restart OpenHAB's service"
einfo "$ rc-service openhab start"
fi
}

View File

@ -2,3 +2,4 @@ DIST tmuxp-1.46.0.tar.gz 870062 BLAKE2B b8c450e186097584e4f67de6375acd898b02826a
DIST tmuxp-1.54.0.tar.gz 912156 BLAKE2B 72a093d25fcd73d96db83afd608442394ad8bd7e47d9ea776a1e9cd4c78171128d850a81fa1dbd29bc7d700c6b43cad291a8a98f5afeb948ef482e66dc77410d SHA512 a4dfdf4c7c860bfdb7d6897726eff2d20818ea55f4fe0ff3a7c899ea71185b95878b5cb8d17f078fc8477bddd9fcf5984ffc48c187c9532035baf0029557bbf7
DIST tmuxp-1.55.0.tar.gz 912159 BLAKE2B 4a2eced7a2fc88ac25e8818ddd3a9368182470ab6ef12d571b32b7bf8e2754bfc8456e35157a46f6b5ebd3e6daf04e555633fab61e113a00fc0b81a3af0d876a SHA512 e9029e571637014cb053b20dfeee1624829c7c46e359f6aef3daba4d9342fe22b79700e30dc18522ef9344e926b7c9cd9893fa769f6f2ee6f74c43cdcb1a442b
DIST tmuxp-1.56.0.tar.gz 935483 BLAKE2B b20a38a3e87c1e77368305f46e617ec4cebb6bd95c4e0d23a275edf22254bd265ce53e71e455a17f637101f64134cd852dfc8c4145efc385509899ff414c2da3 SHA512 a65800868b9b82a7d3cf498e7d9589aac96ccf47c50bc31f70ebb2ed15f855a64d910b1ed312dac5e360bcb960cb4f22817711bcb4c4e8d6f3b92bb6e8df1d8d
DIST tmuxp-1.59.0.tar.gz 942266 BLAKE2B 8ed1db31dce46a47179b9823516621d32fd0ebbbca7f320072e70da211cdab1a021570a0a3695ecf0fffa6e7381bfd2dd444e6aad59a211593dae1c1c903aa26 SHA512 3743e89e2ec766b392ee213074cda50e2a4b2e724732658c67ee0d8c341097b0b9ba7d3edafce73696d6b8c345410330900e7ff0f9c96c3fce8932c40aa83df3

View File

@ -0,0 +1,54 @@
# Copyright 2019-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..14} )
DISTUTILS_USE_PEP517=hatchling
inherit distutils-r1
DESCRIPTION="tmux session manager. built on libtmux"
HOMEPAGE="https://tmuxp.git-pull.com"
SRC_URI="https://github.com/tmux-python/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
RDEPEND="
>=app-misc/tmux-3.2
=dev-python/libtmux-0.50*[${PYTHON_USEDEP}]
>=dev-python/colorama-0.3.9[${PYTHON_USEDEP}]
>=dev-python/pyyaml-6.0[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
>=dev-python/pytest-6.2.5[${PYTHON_USEDEP}]
>=dev-python/pytest-mock-3.14.0[${PYTHON_USEDEP}]
>=dev-python/pytest-rerunfailures-4.2[${PYTHON_USEDEP}]
!!dev-python/flaky
)
"
EPYTEST_DESELECT=(
# test doesn't get along with sandbox
"tests/cli/test_load.py::test_load_zsh_autotitle_warning"
)
EPYTEST_IGNORE=(
# not actually tests, but throws off test collection
"tests/fixtures/"
)
distutils_enable_tests pytest
python_prepare_all() {
sed -r -e 's:libtmux = "~[0-9.]+":libtmux = "~0.30":' \
-i pyproject.toml || die
distutils-r1_python_prepare_all
}
python_test() {
SHELL="/bin/bash" epytest tests
}

View File

@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=8
ADA_COMPAT=( gcc_{12..15} )
ADA_COMPAT=( gcc_{12..16} )
PYTHON_COMPAT=( python3_{10..13} )
inherit ada python-any-r1 multiprocessing

View File

@ -3,7 +3,7 @@
EAPI=8
ADA_COMPAT=( gcc_{13..15} )
ADA_COMPAT=( gcc_{13..16} )
inherit ada multiprocessing
DESCRIPTION="A high level string and text processing library"

View File

@ -0,0 +1,22 @@
--- a/gpr/src/gpr-compilation-process.adb 2025-12-02 20:16:02.856971670 +0100
+++ b/gpr/src/gpr-compilation-process.adb 2025-12-02 20:16:18.920776145 +0100
@@ -41,7 +41,7 @@
-- A set of key=value
package Prj_Maps is new Containers.Indefinite_Ordered_Maps
- (String, Env_Maps.Map, Env_Maps."<", Env_Maps."=");
+ (String, Env_Maps.Map, "<", Env_Maps."=");
-- A set of project+language=map
function "<" (Left, Right : Id) return Boolean is
--- a/gpr/src/gpr-compilation-protocol.adb 2025-12-02 20:38:54.332285274 +0100
+++ b/gpr/src/gpr-compilation-protocol.adb 2025-12-02 20:39:35.690782208 +0100
@@ -978,7 +978,7 @@
Set_File_Last_Modify_Time_Stamp
(Path_Name,
To_Ada
- (time_t
+ (Long_Long_Integer
(Conversions.To_Unix_Time
(Time_Of
(TS (1, 4), TS (5, 6), TS (7, 8),

View File

@ -3,7 +3,7 @@
EAPI=8
ADA_COMPAT=( gcc_{12..15} )
ADA_COMPAT=( gcc_{12..16} )
PYTHON_COMPAT=( python3_{10..13} pypy3{,_11} )
inherit ada python-any-r1 multiprocessing
@ -32,7 +32,10 @@ BDEPEND="doc? (
)"
REQUIRED_USE="${ADA_REQUIRED_USE}"
PATCHES=( "${FILESDIR}"/${PN}-22.0.0-gentoo.patch )
PATCHES=(
"${FILESDIR}"/${PN}-22.0.0-gentoo.patch
"${FILESDIR}"/${P}-gcc16.patch
)
python_check_deps() {
python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]"

View File

@ -3,7 +3,7 @@
EAPI=8
ADA_COMPAT=( gcc_{12..15} )
ADA_COMPAT=( gcc_{12..16} )
inherit ada

View File

@ -0,0 +1,22 @@
--- a/gpr/src/gpr-compilation-process.adb 2025-12-02 20:16:02.856971670 +0100
+++ b/gpr/src/gpr-compilation-process.adb 2025-12-02 20:16:18.920776145 +0100
@@ -41,7 +41,7 @@
-- A set of key=value
package Prj_Maps is new Containers.Indefinite_Ordered_Maps
- (String, Env_Maps.Map, Env_Maps."<", Env_Maps."=");
+ (String, Env_Maps.Map, "<", Env_Maps."=");
-- A set of project+language=map
function "<" (Left, Right : Id) return Boolean is
--- a/gpr/src/gpr-compilation-protocol.adb 2025-12-02 20:38:54.332285274 +0100
+++ b/gpr/src/gpr-compilation-protocol.adb 2025-12-02 20:39:35.690782208 +0100
@@ -978,7 +978,7 @@
Set_File_Last_Modify_Time_Stamp
(Path_Name,
To_Ada
- (time_t
+ (Long_Long_Integer
(Conversions.To_Unix_Time
(Time_Of
(TS (1, 4), TS (5, 6), TS (7, 8),

View File

@ -3,7 +3,7 @@
EAPI=8
ADA_COMPAT=( gcc_{12..15} )
ADA_COMPAT=( gcc_{12..16} )
inherit ada multiprocessing
MYPN=gprbuild
@ -26,7 +26,10 @@ DEPEND="${RDEPEND}
dev-ada/gprbuild[${ADA_USEDEP}]"
REQUIRED_USE="${ADA_REQUIRED_USE}"
PATCHES=( "${FILESDIR}"/${PN}-2020-gentoo.patch )
PATCHES=(
"${FILESDIR}"/${PN}-2020-gentoo.patch
"${FILESDIR}"/${P}-gcc16.patch
)
src_prepare() {
default

View File

@ -3,7 +3,7 @@
EAPI=8
ADA_COMPAT=( gcc_{12..15} )
ADA_COMPAT=( gcc_{12..16} )
PYTHON_COMPAT=( python3_{10..13} pypy3{,_11} )
inherit ada python-any-r1 multiprocessing

View File

@ -24,6 +24,8 @@ DIST Python-3.13.9.tar.xz 22681368 BLAKE2B 8fbf9b9e0dcc480a5bac82d5c18d6fdb63076
DIST Python-3.13.9.tar.xz.asc 963 BLAKE2B 7989940e3dfc62c553016f9d2b9aef447e770d63b2508f287e14495ba3e98326279d2bdb3b96bbc65ff2a859253bc43d8ce5387873842f656a66abef8380a3b7 SHA512 c33fba3a6b22dccc08beb7f13bd61a25a30f609a54da7c8dfd3b3b4a3490a7b24c11f9617a835388f22709fb09375d35febc417cf104a18f5bec3b43ec999e82
DIST Python-3.14.0.tar.xz 23595844 BLAKE2B 0fe495d62819c9066240927ceff022dc36920cfd9aa7f80f09fd82a6baf42fe0ef85aed7087418ad9769504e62dc0592cf9c06a542335d83ab65fc6399b5ac76 SHA512 46e9e205c3a084cba68bf7f267ab2fd0862a05430165e0eb713f2d6b3a1a4452f72f563de5de55caea824be9df56f66dd568f4814941667a9bb0954229772c53
DIST Python-3.14.0.tar.xz.sigstore 5374 BLAKE2B 50ed6dada3a7dfcfeb47e0cc55568c0e2ea01a5710f341d6423bb5b0982897b13a7a7c91d8b7c995499f687b17a6cf432fdcd3338b0ac658d19a8ad032438957 SHA512 147bf060a55b9108efb6f6a7f478c0b4dc1e7b1e215b842fb8adfe1b96bbe8d1b49ad352455e047d694638130f8533e3ea1c3a246e9ed0fde0d08e80113a6c44
DIST Python-3.14.1.tar.xz 23563532 BLAKE2B c75d6048ca6b504217578041a6777b507a783f639736d580e0a2964a7d0411011d025a4562c38f68ffe46ee2f35135426f6c6c5d070c1d9106477421d6f92266 SHA512 b5ec011190536126fedade5c33a4afabc081a133ad5c734f4b872769d376735775219d63a482812d139fdd90c46707927065ab9dc733d0bce2d1ebc59fe705a2
DIST Python-3.14.1.tar.xz.sigstore 5123 BLAKE2B b20634370ea0915c564c586b7537cfc19b8fb6f032fd6ad5df795fe818eea85e78375a32f3f079afdcd86e9aa4e5c2eae8933a326e0699e5c16ba094c39ddd94 SHA512 5b668deafa301d6eb69a7ffb03627c89d2f5de794be292f34cf44f6a1d81b46778f469282a746147a6ca5767a7b4c093b89d25a3a14fcb8f3b9c3e4f40808b27
DIST Python-3.15.0a1.tar.xz 23646768 BLAKE2B 63ccff58638d59b8c0061bf0a91c437c441bb2c08c6a76f51d38021c9122ea884474d52643389e10cddfa37644da69c3fd4267358c5dcf0bd86d4a3aaf5786a6 SHA512 5b86de5c935403b46b718d3a151f26c18e6ff5e468ee03c4dd09fd49c31b57560523ea24b5cd2e5283bbc0daf5621c7145d0af4ba67a23671b0652ce5cdad483
DIST Python-3.15.0a1.tar.xz.sigstore 5138 BLAKE2B 58268279c2f1db2e0350a3219300c2a96780df8d9f524db1526e3792c8b2ca94d1088ca8dabca8a583eeca7a0f429f90687643b5fe4c8e20414e68a3b138d969 SHA512 3f77187359658235c016dd8a8f42e87b23e1e1f5fd7c693e612267344e00aa8e464995f197ab8b0d44a0cf1c53311ecdf323ae670e6e7ee0375e01c80a7de37a
DIST Python-3.15.0a2.tar.xz 23728836 BLAKE2B 56d655bc9ae7bbac97345c156b252667a8e0fcb2c017df6528e87464db7cdfc2731d095362849386eae1013e1468f42918f0cedf6cb59d87c6f97bbe3e5bc3dd SHA512 17187961b8cdcba2971ad1a523d4fc8b6339c19fac0e284e02622fa905c7fce93b1d68bf15c0966e0d6f731e7957291aea056e62f8a64fd36f7fbb9877a4f917
@ -55,6 +57,7 @@ DIST python-gentoo-patches-3.13.9.tar.xz 8952 BLAKE2B 9941b3dd241adcdde64b38bdc3
DIST python-gentoo-patches-3.14.0.tar.xz 7992 BLAKE2B 8faff97c198abc1549d7c871c82ff649bbdbe18f9cfdad31aa7b6535391fff8e6adc387a120a6298ede8842421bc103cfae27da807e651c9898d4edb192f4fd7 SHA512 7bc425a89d0f3ebbdab4f52ce1300e16512bda4f08968222e8e68f22d3a794fc7d32a00644f4949810ebb41da0ffd4a5a962dcbee86c7660cd4214406ad16b01
DIST python-gentoo-patches-3.14.0_p1.tar.xz 8952 BLAKE2B d53c5a055be72e3f92a63e18cf75d2f6eb1e352a7529f7ce8256aaf0fa5ac92443646fe07bdbc707a28c1ed395c4c2edd29db0b8fc591679c7602aedfc968489 SHA512 ec03a259281d675063ad82dfd9c0fcb08402120663b9c2a56e37de45bb03e678fccd0c3723b6deffc4f5b8ea4ad17492040a98c7434853da2007f31cdb549bdd
DIST python-gentoo-patches-3.14.0b1.tar.xz 5680 BLAKE2B 514b3edc3025e5bf675d371b5ada17dea426856edf1fb6095c2ee400eae95bd4265ef81fe593ae9338e801e7d0a25b1d5ba2d05ca563fd9dd020114b13575746 SHA512 74289e42cf532b54bb1b66a283ec19156f8a36ba38764209c133842314c9efb2ce2ebcba5aa9213bcf7fc0c8a5ca9b6e7adbd5dbfa4397233136d7cd55f53ee7
DIST python-gentoo-patches-3.14.1.tar.xz 8008 BLAKE2B 52b47d49126a9e93ccc8425322fb3055337cacd8b913104cfec320acae267d44140286b8be720fa5a98b146257e4847b8df46a6f9124d8e81368a1ad24194c0e SHA512 28f6a746dd5e06e432a79eef33fc80faa8ac589f1d328e4e86fdd9e6aa5012f248c81e47204c1fe64ed16cc15038eafef27d6fffb947dbbc4705b559d5639b13
DIST python-gentoo-patches-3.15.0a1.tar.xz 3820 BLAKE2B 1ee2ae65f079807d2665b050d4fbd744e71a7db8b14b80f52c32ae0c4593220037f0f7793cb8889fa3cde08b27ca8a2325e578bdf594f0eb1d1fdba90598369c SHA512 ddd00f3d6e22e7757ffe7c55ef7137e8d69377524c4047796594aca73f8d430efef2cb4a6dfe48b6d0fbef3cfae4812ead888ed49270d9b951e872879d2396ab
DIST python-gentoo-patches-3.15.0a2.tar.xz 3812 BLAKE2B cef6e13033d90f119e24d560b27849ccc5082b6eb4fe13959bdc01d084c381ea5aa0d179b044b36f457bec9e2cdf794b2e3c0b94dd6dff31eb98edafec00657f SHA512 6858c320c86a4ca65be918a2c579a9cf62af861d5f3f052b5529de0b8e2905f3a80ff39b22c1860305d1682b8cc61d8f09bb3b42eaf309998a6a0f96953ac45e
DIST python-gentoo-patches-3.8.20_p7.tar.xz 54544 BLAKE2B e31fc9fb5e98b62b0f70165670ec58ed4fa932cfc95d5287c249015a3a372fdbf0d1ba08cb98f63c2dc500700edfd6ffea6db670385d2c86a4fdb92ffb991192 SHA512 a9e7e4976be226931a503af2c986da207d060d4ce436af61f5e8427da513639adbed32bb0061963b83fef275a5de91707ab13b7a9abf3a7472ee0e2c5310eda1

View File

@ -0,0 +1,635 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
VERIFY_SIG_METHOD=sigstore
WANT_LIBTOOL="none"
inherit autotools check-reqs eapi9-ver flag-o-matic linux-info
inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs
inherit verify-sig
REAL_PV=${PV#0.}
MY_PV=${REAL_PV/_/}
MY_P="Python-${MY_PV%_p*}"
PYVER="$(ver_cut 2-3)t"
PATCHSET="python-gentoo-patches-${MY_PV}"
DESCRIPTION="Freethreading (no-GIL) version of Python programming language"
HOMEPAGE="
https://www.python.org/
https://github.com/python/cpython/
"
SRC_URI="
https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
verify-sig? (
https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.sigstore
)
"
S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="
bluetooth debug +ensurepip examples gdbm libedit +ncurses pgo
+readline +sqlite +ssl tail-call-interp test tk valgrind
"
RESTRICT="!test? ( test )"
# Do not add a dependency on dev-lang/python to this ebuild.
# If you need to apply a patch which requires python for bootstrapping, please
# run the bootstrap code on your dev box and include the results in the
# patchset. See bug 447752.
RDEPEND="
app-arch/bzip2:=
app-arch/xz-utils:=
app-arch/zstd:=
app-misc/mime-types
>=dev-libs/expat-2.1:=
dev-libs/libffi:=
dev-libs/mpdecimal:=
dev-python/gentoo-common
>=virtual/zlib-1.1.3:=
virtual/libintl
gdbm? ( sys-libs/gdbm:=[berkdb] )
kernel_linux? ( sys-apps/util-linux:= )
ncurses? ( >=sys-libs/ncurses-5.2:= )
readline? (
!libedit? ( >=sys-libs/readline-4.1:= )
libedit? ( dev-libs/libedit:= )
)
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
ssl? ( >=dev-libs/openssl-1.1.1:= )
tk? (
>=dev-lang/tcl-8.0:=
>=dev-lang/tk-8.0:=
dev-tcltk/blt:=
dev-tcltk/tix
)
"
# bluetooth requires headers from bluez
DEPEND="
${RDEPEND}
bluetooth? ( net-wireless/bluez )
test? (
dev-python/ensurepip-pip
dev-python/ensurepip-setuptools
)
valgrind? ( dev-debug/valgrind )
"
# autoconf-archive needed to eautoreconf
BDEPEND="
dev-build/autoconf-archive
app-alternatives/awk
virtual/pkgconfig
tail-call-interp? (
|| (
>=sys-devel/gcc-15:*
>=llvm-core/clang-19:*
)
)
"
if [[ ${PV} != *_alpha* ]]; then
RDEPEND+="
dev-lang/python-exec[python_targets_python${PYVER/./_}(-)]
"
fi
PDEPEND="
ensurepip? ( dev-python/ensurepip-pip )
"
# https://www.python.org/downloads/metadata/sigstore/
VERIFY_SIG_CERT_IDENTITY=hugo@python.org
VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth
# large file tests involve a 2.5G file being copied (duplicated)
CHECKREQS_DISK_BUILD=5500M
QA_PKGCONFIG_VERSION=${PYVER%t}
# false positives -- functions specific to *BSD
QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags )
declare -rgA PYTHON_KERNEL_CHECKS=(
["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589
["DNOTIFY"]="test_fcntl" # bug 938662
)
pkg_pretend() {
if use pgo || use test; then
check-reqs_pkg_pretend
fi
}
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]]; then
if use test || use pgo; then
check-reqs_pkg_setup
local CONFIG_CHECK
for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do
CONFIG_CHECK+="~${f} "
done
linux-info_pkg_setup
fi
if use tail-call-interp; then
tc-check-min_ver gcc 15
tc-check-min_ver clang 19
fi
fi
}
src_unpack() {
if use verify-sig; then
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore}
fi
default
}
src_prepare() {
# Ensure that internal copies of expat and libffi are not used.
# TODO: Makefile has annoying deps on expat headers
#rm -r Modules/expat || die
local PATCHES=(
"${WORKDIR}/${PATCHSET}"
)
default
# force the correct number of jobs
# https://bugs.gentoo.org/737660
sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die
# breaks tests when using --with-wheel-pkg-dir
rm -r Lib/test/wheeldata || die
eautoreconf
}
build_cbuild_python() {
# Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi)
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
# propagated to sysconfig for built extensions
#
# -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway)
local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto"
local -x LDFLAGS_NODIST=${BUILD_LDFLAGS}
local -x CFLAGS= LDFLAGS=
local -x BUILD_CFLAGS="${CFLAGS_NODIST}"
local -x BUILD_LDFLAGS=${LDFLAGS_NODIST}
# We need to build our own Python on CBUILD first, and feed it in.
# bug #847910
local myeconfargs_cbuild=(
"${myeconfargs[@]}"
--prefix="${BROOT}"/usr
--libdir="${cbuild_libdir:2}"
# Avoid needing to load the right libpython.so.
--disable-shared
# As minimal as possible for the mini CBUILD Python
# we build just for cross to satisfy --with-build-python.
--without-lto
--without-readline
--disable-optimizations
)
mkdir "${WORKDIR}"/${P}-${CBUILD} || die
pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die
# Avoid as many dependencies as possible for the cross build.
mkdir Modules || die
cat > Modules/Setup.local <<-EOF || die
*disabled*
nis
_dbm _gdbm
_sqlite3
_hashlib _ssl
_curses _curses_panel
readline
_tkinter
pyexpat
zlib
# We disabled these for CBUILD because Python's setup.py can't handle locating
# libdir correctly for cross. This should be rechecked for the pure Makefile approach,
# and uncommented if needed.
#_ctypes
EOF
ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}"
# Unfortunately, we do have to build this immediately, and
# not in src_compile, because CHOST configure for Python
# will check the existence of the --with-build-python value
# immediately.
emake
popd &> /dev/null || die
}
src_configure() {
# disable automagic bluetooth headers detection
if ! use bluetooth; then
local -x ac_cv_header_bluetooth_bluetooth_h=no
fi
filter-flags -malign-double
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
# PKG_CONFIG needed for cross.
tc-export CXX PKG_CONFIG
local dbmliborder=
if use gdbm; then
dbmliborder+="${dbmliborder:+:}gdbm"
fi
# Set baseline test skip flags.
COMMON_TEST_SKIPS=(
# running gdb inside an ebuild as non-root, within sandbox,
# and possibly within a container is unreliable
-x test_gdb
# this is actually test_gdb.test_pretty_print
-x test_pretty_print
# https://bugs.gentoo.org/933840
-x test_perf_profiler
)
# Arch-specific skips. See #931888 for a collection of these.
case ${CHOST} in
alpha*)
COMMON_TEST_SKIPS+=(
-x test_builtin
-x test_capi
-x test_cmath
-x test_float
# timeout
-x test_free_threading
-x test_math
-x test_numeric_tower
-x test_random
-x test_statistics
# bug 653850
-x test_resource
-x test_strtod
)
;;
mips*)
COMMON_TEST_SKIPS+=(
-x test_ctypes
-x test_external_inspection
-x test_statistics
)
;;
riscv*)
COMMON_TEST_SKIPS+=(
-x test_urllib2
)
;;
sparc*)
COMMON_TEST_SKIPS+=(
# bug 788022
-x test_multiprocessing_fork
-x test_multiprocessing_forkserver
-x test_multiprocessing_spawn
-x test_ctypes
# bug 931908
-x test_exceptions
)
;;
esac
# Kernel-config specific skips
for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do
if ! linux_config_exists || ! linux_chkconfig_present "${option}"
then
COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" )
fi
done
# musl-specific skips
use elibc_musl && COMMON_TEST_SKIPS+=(
# various musl locale deficiencies
-x test__locale
-x test_c_locale_coercion
-x test_locale
-x test_re
# known issues with find_library on musl
# https://bugs.python.org/issue21622
-x test_ctypes
# fpathconf, ttyname errno values
-x test_os
)
if use pgo; then
local profile_task_flags=(
-m test
"-j$(makeopts_jobs)"
--pgo-extended
--verbose3
-u-network
# We use a timeout because of how often we've had hang issues
# here. It also matches the default upstream PROFILE_TASK.
--timeout 1200
"${COMMON_TEST_SKIPS[@]}"
-x test_dtrace
# All of these seem to occasionally hang for PGO inconsistently
# They'll even hang here but be fine in src_test sometimes.
# bug #828535 (and related: bug #788022)
-x test_asyncio
-x test_httpservers
-x test_logging
-x test_multiprocessing_fork
-x test_socket
-x test_xmlrpc
# Hangs (actually runs indefinitely executing itself w/ many cpython builds)
# bug #900429
-x test_tools
# Test terminates abruptly which corrupts written profile data
# bug #964023
-x test_pyrepl
)
if has_version "app-arch/rpm" ; then
# Avoid sandbox failure (attempts to write to /var/lib/rpm)
profile_task_flags+=(
-x test_distutils
)
fi
# PGO sometimes fails randomly
local -x PROFILE_TASK="${profile_task_flags[*]} || true"
fi
local myeconfargs=(
# glibc-2.30 removes it; since we can't cleanly force-rebuild
# Python on glibc upgrade, remove it proactively to give
# a chance for users rebuilding python before glibc
ac_cv_header_stropts_h=no
--enable-shared
--without-static-libpython
--enable-ipv6
--infodir='${prefix}/share/info'
--mandir='${prefix}/share/man'
--with-dbmliborder="${dbmliborder}"
--with-libc=
--enable-loadable-sqlite-extensions
--without-ensurepip
--without-lto
--with-system-expat
--with-system-libmpdec
--with-platlibdir=lib
--with-pkg-config=yes
--with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
--disable-gil
$(use_with debug assertions)
$(use_enable pgo optimizations)
$(use_with readline readline "$(usex libedit editline readline)")
$(use_with tail-call-interp)
$(use_with valgrind)
)
if tc-is-lto; then
myeconfargs+=(
--with-lto
)
fi
# Force-disable modules we don't want built.
# See Modules/Setup for docs on how this works. Setup.local contains our local deviations.
cat > Modules/Setup.local <<-EOF || die
*disabled*
nis
$(usev !gdbm '_gdbm _dbm')
$(usev !sqlite '_sqlite3')
$(usev !ssl '_hashlib _ssl')
$(usev !ncurses '_curses _curses_panel')
$(usev !readline 'readline')
$(usev !tk '_tkinter')
EOF
# disable implicit optimization/debugging flags
local -x OPT=
if tc-is-cross-compiler ; then
build_cbuild_python
myeconfargs+=(
# Point the imminent CHOST build to the Python we just
# built for CBUILD.
--with-build-python="${WORKDIR}"/${P}-${CBUILD}/python
)
fi
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
# propagated to sysconfig for built extensions
local -x CFLAGS_NODIST=${CFLAGS}
local -x LDFLAGS_NODIST=${LDFLAGS}
local -x CFLAGS= LDFLAGS=
# Fix implicit declarations on cross and prefix builds. Bug #674070.
if use ncurses; then
append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
fi
econf "${myeconfargs[@]}"
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
eerror "configure has detected that the sem_open function is broken."
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
die "Broken sem_open function (bug 496328)"
fi
# install epython.py as part of stdlib
echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
}
src_compile() {
# Ensure sed works as expected
# https://bugs.gentoo.org/594768
local -x LC_ALL=C
export PYTHONSTRICTEXTENSIONBUILD=1
# Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
# end up writing bytecode & violating sandbox.
# bug #831897
local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
# Gentoo hack to disable accessing system site-packages
export GENTOO_CPYTHON_BUILD=1
if use pgo ; then
# bug 660358
local -x COLUMNS=80
local -x PYTHONDONTWRITEBYTECODE=
local -x TMPDIR=/var/tmp
fi
# also need to clear the flags explicitly here or they end up
# in _sysconfigdata*
emake CPPFLAGS= CFLAGS= LDFLAGS=
# Restore saved value from above.
local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
# Work around bug 329499. See also bug 413751 and 457194.
if has_version dev-libs/libffi[pax-kernel]; then
pax-mark E python
else
pax-mark m python
fi
}
src_test() {
# Tests will not work when cross compiling.
if tc-is-cross-compiler; then
elog "Disabling tests due to crosscompiling."
return
fi
# this just happens to skip test_support.test_freeze that is broken
# without bundled expat
# TODO: get a proper skip for it upstream
local -x LOGNAME=buildbot
local test_opts=(
--verbose3
-u-network
-j "$(makeopts_jobs)"
"${COMMON_TEST_SKIPS[@]}"
)
# bug 660358
local -x COLUMNS=80
local -x PYTHONDONTWRITEBYTECODE=
local -x TMPDIR=/var/tmp
nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
local ret=${?}
[[ ${ret} -eq 0 ]] || die "emake test failed"
}
src_install() {
local libdir=${ED}/usr/lib/python${PYVER}
# -j1 hack for now for bug #843458
emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall
# Fix collisions between different slots of Python.
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
# Fix collision with GIL-enabled build.
rm "${ED}/usr/bin/python${PYVER%t}" || die
mv "${ED}"/usr/bin/pydoc{${PYVER%t},${PYVER}} || die
mv "${ED}"/usr/share/man/man1/python{${PYVER%t},${PYVER}}.1 || die
# Cheap hack to get version with ABIFLAGS
local abiver=$(cd "${ED}/usr/include"; echo python*)
if [[ ${abiver} != python${PYVER} ]]; then
# Replace python3.X with a symlink to python3.Xm
rm "${ED}/usr/bin/python${PYVER}" || die
dosym "${abiver}" "/usr/bin/python${PYVER}"
# Create python3.X-config symlink
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
# Create python-3.5m.pc symlink
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
fi
# python seems to get rebuilt in src_install (bug 569908)
# Work around it for now.
if has_version dev-libs/libffi[pax-kernel]; then
pax-mark E "${ED}/usr/bin/${abiver}"
else
pax-mark m "${ED}/usr/bin/${abiver}"
fi
rm -r "${libdir}"/ensurepip/_bundled || die
if ! use sqlite; then
rm -r "${libdir}/"sqlite3 || die
fi
if use tk; then
# rename to avoid collision with dev-lang/python
mv "${ED}"/usr/bin/idle{${PYVER%t},${PYVER}} || die
else
rm -r "${ED}/usr/bin/idle${PYVER%t}" || die
rm -r "${libdir}/"{idlelib,tkinter} || die
fi
ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die
dodoc Misc/{ACKS,HISTORY,NEWS}
if use examples; then
docinto examples
find Tools -name __pycache__ -exec rm -fr {} + || die
dodoc -r Tools
fi
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
local libname=$(
printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' |
emake --no-print-directory -s -f - 2>/dev/null
)
newins Tools/gdb/libpython.py "${libname}"-gdb.py
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
sed \
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
-e "s:@PYDOC@:pydoc${PYVER}:" \
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
# python-exec wrapping support
local pymajor=${PYVER%.*}
local EPYTHON=python${PYVER}
local scriptdir=${D}$(python_get_scriptdir)
mkdir -p "${scriptdir}" || die
# python and pythonX
ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
ln -s "python${pymajor}" "${scriptdir}/python" || die
# python-config and pythonX-config
# note: we need to create a wrapper rather than symlinking it due
# to some random dirname(argv[0]) magic performed by python-config
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
#!/bin/sh
exec "${abiver}-config" "\${@}"
EOF
chmod +x "${scriptdir}/python${pymajor}-config" || die
ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
# pydoc
ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
# idle
if use tk; then
ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
fi
}
pkg_postinst() {
if ver_replacing -lt 0.3.14.0_beta3; then
ewarn "Python 3.14.0b3 has changed its module ABI. The .pyc files"
ewarn "installed previously are no longer valid and will be regenerated"
ewarn "(or ignored) on the next import. This may cause sandbox failures"
ewarn "when installing some packages and checksum mismatches when removing"
ewarn "old versions. To actively prevent this, rebuild all packages"
ewarn "installing Python 3.14 modules, e.g. using:"
ewarn
ewarn " emerge -1v /usr/lib/python3.14t/site-packages"
fi
}

View File

@ -0,0 +1,646 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
LLVM_COMPAT=( 19 )
LLVM_OPTIONAL=1
VERIFY_SIG_METHOD=sigstore
WANT_LIBTOOL="none"
inherit autotools check-reqs eapi9-ver flag-o-matic linux-info llvm-r1
inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs
inherit verify-sig
MY_PV=${PV/_/}
MY_P="Python-${MY_PV%_p*}"
PYVER=$(ver_cut 1-2)
PATCHSET="python-gentoo-patches-${MY_PV}"
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
HOMEPAGE="
https://www.python.org/
https://github.com/python/cpython/
"
SRC_URI="
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
verify-sig? (
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore
)
"
S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="
bluetooth debug +ensurepip examples gdbm jit libedit +ncurses pgo
+readline +sqlite +ssl tail-call-interp test tk valgrind
"
REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )"
RESTRICT="!test? ( test )"
# Do not add a dependency on dev-lang/python to this ebuild.
# If you need to apply a patch which requires python for bootstrapping, please
# run the bootstrap code on your dev box and include the results in the
# patchset. See bug 447752.
RDEPEND="
app-arch/bzip2:=
app-arch/xz-utils:=
app-arch/zstd:=
app-misc/mime-types
>=dev-libs/expat-2.1:=
dev-libs/libffi:=
dev-libs/mpdecimal:=
dev-python/gentoo-common
>=virtual/zlib-1.1.3:=
virtual/libintl
gdbm? ( sys-libs/gdbm:=[berkdb] )
kernel_linux? ( sys-apps/util-linux:= )
ncurses? ( >=sys-libs/ncurses-5.2:= )
readline? (
!libedit? ( >=sys-libs/readline-4.1:= )
libedit? ( dev-libs/libedit:= )
)
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
ssl? ( >=dev-libs/openssl-1.1.1:= )
tk? (
>=dev-lang/tcl-8.0:=
>=dev-lang/tk-8.0:=
dev-tcltk/blt:=
dev-tcltk/tix
)
"
# bluetooth requires headers from bluez
DEPEND="
${RDEPEND}
bluetooth? ( net-wireless/bluez )
test? (
dev-python/ensurepip-pip
dev-python/ensurepip-setuptools
)
valgrind? ( dev-debug/valgrind )
"
# autoconf-archive needed to eautoreconf
BDEPEND="
dev-build/autoconf-archive
app-alternatives/awk
virtual/pkgconfig
jit? (
$(llvm_gen_dep '
llvm-core/clang:${LLVM_SLOT}
llvm-core/llvm:${LLVM_SLOT}
')
)
tail-call-interp? (
|| (
>=sys-devel/gcc-15:*
>=llvm-core/clang-19:*
)
)
"
if [[ ${PV} != *_alpha* ]]; then
RDEPEND+="
dev-lang/python-exec[python_targets_python${PYVER/./_}(-)]
"
fi
PDEPEND="
ensurepip? ( dev-python/ensurepip-pip )
"
# https://www.python.org/downloads/metadata/sigstore/
VERIFY_SIG_CERT_IDENTITY=hugo@python.org
VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth
# large file tests involve a 2.5G file being copied (duplicated)
CHECKREQS_DISK_BUILD=5500M
QA_PKGCONFIG_VERSION=${PYVER%t}
# false positives -- functions specific to *BSD
QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags )
declare -rgA PYTHON_KERNEL_CHECKS=(
["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589
["DNOTIFY"]="test_fcntl" # bug 938662
)
pkg_pretend() {
if use pgo || use test; then
check-reqs_pkg_pretend
fi
if use jit; then
ewarn "USE=jit is considered experimental upstream. Using it"
ewarn "could lead to unexpected breakage, including race conditions"
ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless"
ewarn "you can reproduce the problem with dev-lang/python[-jit]. Instead,"
ewarn "please consider reporting JIT problems upstream."
fi
}
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]]; then
use jit && llvm-r1_pkg_setup
if use test || use pgo; then
check-reqs_pkg_setup
local CONFIG_CHECK
for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do
CONFIG_CHECK+="~${f} "
done
linux-info_pkg_setup
fi
if use tail-call-interp; then
tc-check-min_ver gcc 15
tc-check-min_ver clang 19
fi
fi
}
src_unpack() {
if use verify-sig; then
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore}
fi
default
}
src_prepare() {
# Ensure that internal copies of expat and libffi are not used.
# TODO: Makefile has annoying deps on expat headers
#rm -r Modules/expat || die
local PATCHES=(
"${WORKDIR}/${PATCHSET}"
)
default
# force the correct number of jobs
# https://bugs.gentoo.org/737660
sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die
# breaks tests when using --with-wheel-pkg-dir
rm -r Lib/test/wheeldata || die
eautoreconf
}
build_cbuild_python() {
# Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi)
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
# propagated to sysconfig for built extensions
#
# -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway)
local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto"
local -x LDFLAGS_NODIST=${BUILD_LDFLAGS}
local -x CFLAGS= LDFLAGS=
local -x BUILD_CFLAGS="${CFLAGS_NODIST}"
local -x BUILD_LDFLAGS=${LDFLAGS_NODIST}
# We need to build our own Python on CBUILD first, and feed it in.
# bug #847910
local myeconfargs_cbuild=(
"${myeconfargs[@]}"
--prefix="${BROOT}"/usr
--libdir="${cbuild_libdir:2}"
# Avoid needing to load the right libpython.so.
--disable-shared
# As minimal as possible for the mini CBUILD Python
# we build just for cross to satisfy --with-build-python.
--without-lto
--without-readline
--disable-optimizations
)
mkdir "${WORKDIR}"/${P}-${CBUILD} || die
pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die
# Avoid as many dependencies as possible for the cross build.
mkdir Modules || die
cat > Modules/Setup.local <<-EOF || die
*disabled*
nis
_dbm _gdbm
_sqlite3
_hashlib _ssl
_curses _curses_panel
readline
_tkinter
pyexpat
zlib
# We disabled these for CBUILD because Python's setup.py can't handle locating
# libdir correctly for cross. This should be rechecked for the pure Makefile approach,
# and uncommented if needed.
#_ctypes
EOF
ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}"
# Unfortunately, we do have to build this immediately, and
# not in src_compile, because CHOST configure for Python
# will check the existence of the --with-build-python value
# immediately.
emake
popd &> /dev/null || die
}
src_configure() {
# disable automagic bluetooth headers detection
if ! use bluetooth; then
local -x ac_cv_header_bluetooth_bluetooth_h=no
fi
filter-flags -malign-double
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
# PKG_CONFIG needed for cross.
tc-export CXX PKG_CONFIG
local dbmliborder=
if use gdbm; then
dbmliborder+="${dbmliborder:+:}gdbm"
fi
# Set baseline test skip flags.
COMMON_TEST_SKIPS=(
# running gdb inside an ebuild as non-root, within sandbox,
# and possibly within a container is unreliable
-x test_gdb
# this is actually test_gdb.test_pretty_print
-x test_pretty_print
# https://bugs.gentoo.org/933840
-x test_perf_profiler
)
# Arch-specific skips. See #931888 for a collection of these.
case ${CHOST} in
alpha*)
COMMON_TEST_SKIPS+=(
-x test_builtin
-x test_capi
-x test_cmath
-x test_float
# timeout
-x test_free_threading
-x test_math
-x test_numeric_tower
-x test_random
-x test_statistics
# bug 653850
-x test_resource
-x test_strtod
)
;;
mips*)
COMMON_TEST_SKIPS+=(
-x test_ctypes
-x test_external_inspection
-x test_statistics
)
;;
riscv*)
COMMON_TEST_SKIPS+=(
-x test_urllib2
)
;;
sparc*)
COMMON_TEST_SKIPS+=(
# bug 788022
-x test_multiprocessing_fork
-x test_multiprocessing_forkserver
-x test_multiprocessing_spawn
-x test_ctypes
# bug 931908
-x test_exceptions
)
;;
esac
# Kernel-config specific skips
for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do
if ! linux_config_exists || ! linux_chkconfig_present "${option}"
then
COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" )
fi
done
# musl-specific skips
use elibc_musl && COMMON_TEST_SKIPS+=(
# various musl locale deficiencies
-x test__locale
-x test_c_locale_coercion
-x test_locale
-x test_re
# known issues with find_library on musl
# https://bugs.python.org/issue21622
-x test_ctypes
# fpathconf, ttyname errno values
-x test_os
)
if use pgo; then
local profile_task_flags=(
-m test
"-j$(makeopts_jobs)"
--pgo-extended
--verbose3
-u-network
# We use a timeout because of how often we've had hang issues
# here. It also matches the default upstream PROFILE_TASK.
--timeout 1200
"${COMMON_TEST_SKIPS[@]}"
-x test_dtrace
# All of these seem to occasionally hang for PGO inconsistently
# They'll even hang here but be fine in src_test sometimes.
# bug #828535 (and related: bug #788022)
-x test_asyncio
-x test_httpservers
-x test_logging
-x test_multiprocessing_fork
-x test_socket
-x test_xmlrpc
# Hangs (actually runs indefinitely executing itself w/ many cpython builds)
# bug #900429
-x test_tools
# Test terminates abruptly which corrupts written profile data
# bug #964023
-x test_pyrepl
)
if has_version "app-arch/rpm" ; then
# Avoid sandbox failure (attempts to write to /var/lib/rpm)
profile_task_flags+=(
-x test_distutils
)
fi
# PGO sometimes fails randomly
local -x PROFILE_TASK="${profile_task_flags[*]} || true"
fi
local myeconfargs=(
# glibc-2.30 removes it; since we can't cleanly force-rebuild
# Python on glibc upgrade, remove it proactively to give
# a chance for users rebuilding python before glibc
ac_cv_header_stropts_h=no
--enable-shared
--without-static-libpython
--enable-ipv6
--infodir='${prefix}/share/info'
--mandir='${prefix}/share/man'
--with-dbmliborder="${dbmliborder}"
--with-libc=
--enable-loadable-sqlite-extensions
--without-ensurepip
--without-lto
--with-system-expat
--with-system-libmpdec
--with-platlibdir=lib
--with-pkg-config=yes
--with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
--enable-gil
$(use_with debug assertions)
$(use_enable jit experimental-jit)
$(use_enable pgo optimizations)
$(use_with readline readline "$(usex libedit editline readline)")
$(use_with tail-call-interp)
$(use_with valgrind)
)
if tc-is-lto; then
myeconfargs+=(
--with-lto
)
fi
# Force-disable modules we don't want built.
# See Modules/Setup for docs on how this works. Setup.local contains our local deviations.
cat > Modules/Setup.local <<-EOF || die
*disabled*
nis
$(usev !gdbm '_gdbm _dbm')
$(usev !sqlite '_sqlite3')
$(usev !ssl '_hashlib _ssl')
$(usev !ncurses '_curses _curses_panel')
$(usev !readline 'readline')
$(usev !tk '_tkinter')
EOF
# disable implicit optimization/debugging flags
local -x OPT=
if tc-is-cross-compiler ; then
build_cbuild_python
myeconfargs+=(
# Point the imminent CHOST build to the Python we just
# built for CBUILD.
--with-build-python="${WORKDIR}"/${P}-${CBUILD}/python
)
fi
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
# propagated to sysconfig for built extensions
local -x CFLAGS_NODIST=${CFLAGS}
local -x LDFLAGS_NODIST=${LDFLAGS}
local -x CFLAGS= LDFLAGS=
# Fix implicit declarations on cross and prefix builds. Bug #674070.
if use ncurses; then
append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
fi
econf "${myeconfargs[@]}"
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
eerror "configure has detected that the sem_open function is broken."
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
die "Broken sem_open function (bug 496328)"
fi
# install epython.py as part of stdlib
echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
}
src_compile() {
# Ensure sed works as expected
# https://bugs.gentoo.org/594768
local -x LC_ALL=C
export PYTHONSTRICTEXTENSIONBUILD=1
# Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
# end up writing bytecode & violating sandbox.
# bug #831897
local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
# Gentoo hack to disable accessing system site-packages
export GENTOO_CPYTHON_BUILD=1
if use pgo ; then
# bug 660358
local -x COLUMNS=80
local -x PYTHONDONTWRITEBYTECODE=
local -x TMPDIR=/var/tmp
fi
# also need to clear the flags explicitly here or they end up
# in _sysconfigdata*
emake CPPFLAGS= CFLAGS= LDFLAGS=
# Restore saved value from above.
local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
# Work around bug 329499. See also bug 413751 and 457194.
if has_version dev-libs/libffi[pax-kernel]; then
pax-mark E python
else
pax-mark m python
fi
}
src_test() {
# Tests will not work when cross compiling.
if tc-is-cross-compiler; then
elog "Disabling tests due to crosscompiling."
return
fi
# this just happens to skip test_support.test_freeze that is broken
# without bundled expat
# TODO: get a proper skip for it upstream
local -x LOGNAME=buildbot
local test_opts=(
--verbose3
-u-network
-j "$(makeopts_jobs)"
"${COMMON_TEST_SKIPS[@]}"
)
# bug 660358
local -x COLUMNS=80
local -x PYTHONDONTWRITEBYTECODE=
local -x TMPDIR=/var/tmp
nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
local ret=${?}
[[ ${ret} -eq 0 ]] || die "emake test failed"
}
src_install() {
local libdir=${ED}/usr/lib/python${PYVER}
# -j1 hack for now for bug #843458
emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall
# Fix collisions between different slots of Python.
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
# Cheap hack to get version with ABIFLAGS
local abiver=$(cd "${ED}/usr/include"; echo python*)
if [[ ${abiver} != python${PYVER} ]]; then
# Replace python3.X with a symlink to python3.Xm
rm "${ED}/usr/bin/python${PYVER}" || die
dosym "${abiver}" "/usr/bin/python${PYVER}"
# Create python3.X-config symlink
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
# Create python-3.5m.pc symlink
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
fi
# python seems to get rebuilt in src_install (bug 569908)
# Work around it for now.
if has_version dev-libs/libffi[pax-kernel]; then
pax-mark E "${ED}/usr/bin/${abiver}"
else
pax-mark m "${ED}/usr/bin/${abiver}"
fi
rm -r "${libdir}"/ensurepip/_bundled || die
if ! use sqlite; then
rm -r "${libdir}/"sqlite3 || die
fi
if ! use tk; then
rm -r "${ED}/usr/bin/idle${PYVER}" || die
rm -r "${libdir}/"{idlelib,tkinter} || die
fi
ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die
dodoc Misc/{ACKS,HISTORY,NEWS}
if use examples; then
docinto examples
find Tools -name __pycache__ -exec rm -fr {} + || die
dodoc -r Tools
fi
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
local libname=$(
printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' |
emake --no-print-directory -s -f - 2>/dev/null
)
newins Tools/gdb/libpython.py "${libname}"-gdb.py
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
sed \
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
-e "s:@PYDOC@:pydoc${PYVER}:" \
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
# python-exec wrapping support
local pymajor=${PYVER%.*}
local EPYTHON=python${PYVER}
local scriptdir=${D}$(python_get_scriptdir)
mkdir -p "${scriptdir}" || die
# python and pythonX
ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
ln -s "python${pymajor}" "${scriptdir}/python" || die
# python-config and pythonX-config
# note: we need to create a wrapper rather than symlinking it due
# to some random dirname(argv[0]) magic performed by python-config
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
#!/bin/sh
exec "${abiver}-config" "\${@}"
EOF
chmod +x "${scriptdir}/python${pymajor}-config" || die
ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
# pydoc
ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
# idle
if use tk; then
ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
fi
}
pkg_postinst() {
if ver_replacing -lt 3.14.0_beta3; then
ewarn "Python 3.14.0b3 has changed its module ABI. The .pyc files"
ewarn "installed previously are no longer valid and will be regenerated"
ewarn "(or ignored) on the next import. This may cause sandbox failures"
ewarn "when installing some packages and checksum mismatches when removing"
ewarn "old versions. To actively prevent this, rebuild all packages"
ewarn "installing Python 3.14 modules, e.g. using:"
ewarn
ewarn " emerge -1v /usr/lib/python3.14/site-packages"
fi
}

View File

@ -1 +1,8 @@
DIST nwjs-v0.100.1-linux-ia32.tar.gz 186956577 BLAKE2B 2d4c32c9d2f701700b26348d077399ac60958db3803c5898150a1ef5feffad71f33652e656d271115e6faf687e76b88bd6d8a6ae1d7612ef2b058d202854d8a4 SHA512 d3d72a3a88672e95b8867ef156440777ee42994b3d271d6fdf13ca1f5ddd70c2cb55a40cd6c91b475dcd4b8ece89c155d68b321ed5c74c4976d8434434e2c79a
DIST nwjs-v0.100.1-linux-x64.tar.gz 175116456 BLAKE2B 861394d4f9c474eabbb89777f920e9b81446139f6efa23ea183710dc268401698508d3989b1d163e2fcba823bf003124a554bc8a336cde2ae25c1c5bc6fa79e2 SHA512 108c7d29dab8b82ce14b78633076971cfd63cc8755e828e0e177887dea15aa382eab183c8b85e3635320afe184a9e6394b6b659e534692232f10c4b9bb89ec61
DIST nwjs-v0.104.1-linux-ia32.tar.gz 212183371 BLAKE2B ef8382db774ef02c997ec482ee4c24dde2939e2ff80f87ff3c1199809acf701f6d62c0239e41298ff14394c3001abdb9e0f742f888812bd66a657ab6480cfa11 SHA512 f865fba4366a0274e4ea98907863496a6744ba227e5a8a3fe61fc6294a86c9099ca5da918a8ef183c9c24f74c7809e552a12ac29943a1ccd38b891c64b6d5fc9
DIST nwjs-v0.104.1-linux-x64.tar.gz 198106688 BLAKE2B 9d02fe138ff602dd3cff861f5567ab2f09b4c58bc18fb2799eac78d641f9b6a89bc19d57d8b5c58203dec560af2ff9fdb98b31f832a5f0ca378db7274914768e SHA512 1c9256cc765e23bad158440c121d71d2caabffc8a674a0bb3d7dae1d1ea72bad30d4523c45e40be334d6718b0994116eaef7714e954a83dec544002828ba902e
DIST nwjs-v0.106.0-linux-ia32.tar.gz 216069110 BLAKE2B c62bf2e6b87d80d94df8a17056b4b6df3918ca3a965fce49591ad41eec8b3824dc37f710e72ec6af0141cc095b282b9cce3979f2be2e90f57d174311e3773577 SHA512 b3e2db3602cf0d309c38c8e947ea8d473a4440dd5ed86afcebff52d36f00fd0786c4b1b89472233328180054b30dcb8ef4d5548936be5a1a2d60c78679911d4a
DIST nwjs-v0.106.0-linux-x64.tar.gz 202062709 BLAKE2B 1b1b6d46f96d20cdc5f0997b693e7e2befb8d75a81877d42d978bb6d9e4004d75b60e2a4a5ffee20ab071fd3128897e5873f98eaa0f663d4190e55fce45bc4a7 SHA512 a9490be6491618c1f5ce62dc51d35fd987d300b02d63c0f57bc3aefd6a101571986a4959e84fbd5148651c17cc5e6e4f1e8fa98b958e1aff53e2c4123b70921a
DIST nwjs-v0.86.0-linux-ia32.tar.gz 165435040 BLAKE2B 602435828767d4560765f96e41be69c376ccd717409228e334d3222e31f0d92971a0da1a67b064ea3277a18c1b8f17bf1156d44f80bffb7730317a4ef8ee0510 SHA512 229374e2cfec89dd9341e0e42ba1a7a7c5ac810fb0efd97ce3d3c4f4011b2af25f60f721f29b353f105dc605251f072f7e8d17579dc4a3b442ef7355d2300e07
DIST nwjs-v0.86.0-linux-x64.tar.gz 155034686 BLAKE2B b9ce301a39e37aa35f3af5b28aebd8a0aa29b93643986e2bd86a0803c4b6f4a8a7138864d00e722e9e3e0703d65aa3a380cc9f57007bc29228eb693b8fa3b03a SHA512 222cbd7cace40be874566b645fd9b5fd259c20bd2af539b4a655c72e58c7777d810324b8c0cd68a619a2b49e8dcf232129573e38de45afcb8b4dfe1f53506d65

View File

@ -3,7 +3,7 @@
EAPI=8
CHROMIUM_VERSION="141"
CHROMIUM_VERSION="143"
CHROMIUM_LANGS="
af
am
@ -67,12 +67,15 @@ inherit chromium-2
MY_P="${PN}-v${PV}"
DESCRIPTION="Framework that lets you call all Node.js modules directly from the DOM"
HOMEPAGE="https://nwjs.io"
SRC_URI="amd64? ( https://dl.nwjs.io/v${PV}/${MY_P}-linux-x64.tar.gz )"
S="${WORKDIR}/${MY_P}-linux-x64"
SRC_URI="
amd64? ( https://dl.nwjs.io/v${PV}/${MY_P}-linux-x64.tar.gz )
x86? ( https://dl.nwjs.io/v${PV}/${MY_P}-linux-ia32.tar.gz )
"
S="${WORKDIR}/${MY_P}"
LICENSE="MIT"
SLOT="0"
KEYWORDS="-* ~amd64"
KEYWORDS="-* ~amd64 ~x86"
IUSE="ffmpeg-chromium"
RDEPEND="
@ -82,7 +85,7 @@ RDEPEND="
dev-libs/nspr
dev-libs/nss
media-libs/alsa-lib
media-libs/mesa
media-libs/mesa[opengl]
net-print/cups
sys-apps/dbus
sys-apps/util-linux
@ -108,6 +111,17 @@ RDEPEND="
DIR="/opt/${PN}"
QA_PREBUILT="${DIR#/}/*"
src_unpack() {
default
if use amd64; then
mv "${WORKDIR}/${MY_P}-linux-x64" "${WORKDIR}/${MY_P}" || die
elif use x86; then
mv "${WORKDIR}/${MY_P}-linux-ia32" "${WORKDIR}/${MY_P}" || die
else
die "Unsupported architecture"
fi
}
src_prepare() {
default

View File

@ -0,0 +1,154 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CHROMIUM_VERSION="143"
CHROMIUM_LANGS="
af
am
ar
bg
bn
ca
cs
da
de
el
en-GB
en-US
es-419
es
et
fa
fil
fi
fr
gu
he
hi
hr
hu
id
it
ja
kn
ko
lt
lv
ml
mr
ms
nb
nl
pl
pt-BR
pt-PT
ro
ru
sk
sl
sr
sv
sw
ta
te
th
tr
uk
ur
vi
zh-CN
zh-TW
"
inherit chromium-2
MY_P="${PN}-v${PV}"
DESCRIPTION="Framework that lets you call all Node.js modules directly from the DOM"
HOMEPAGE="https://nwjs.io"
SRC_URI="
amd64? ( https://dl.nwjs.io/v${PV}/${MY_P}-linux-x64.tar.gz )
x86? ( https://dl.nwjs.io/v${PV}/${MY_P}-linux-ia32.tar.gz )
"
S="${WORKDIR}/${MY_P}"
LICENSE="MIT"
SLOT="0"
KEYWORDS="-* ~amd64 ~x86"
IUSE="ffmpeg-chromium"
RDEPEND="
app-accessibility/at-spi2-core:2
dev-libs/expat
dev-libs/glib:2
dev-libs/nspr
dev-libs/nss
media-libs/alsa-lib
media-libs/mesa[opengl]
net-print/cups
sys-apps/dbus
sys-apps/util-linux
x11-libs/cairo
x11-libs/gdk-pixbuf:2
x11-libs/libX11
x11-libs/libxcb
x11-libs/libXcomposite
x11-libs/libXcursor
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libxkbcommon
x11-libs/libXrandr
x11-libs/pango
virtual/libudev
|| ( gui-libs/gtk:4 x11-libs/gtk+:3 )
!<games-rpg/crosscode-1.4.2.2-r1
!ffmpeg-chromium? ( >=media-video/ffmpeg-7.1:0/59.61.61[chromium] )
ffmpeg-chromium? ( media-video/ffmpeg-chromium:${CHROMIUM_VERSION} )
"
DIR="/opt/${PN}"
QA_PREBUILT="${DIR#/}/*"
src_unpack() {
default
if use amd64; then
mv "${WORKDIR}/${MY_P}-linux-x64" "${WORKDIR}/${MY_P}" || die
elif use x86; then
mv "${WORKDIR}/${MY_P}-linux-ia32" "${WORKDIR}/${MY_P}" || die
else
die "Unsupported architecture"
fi
}
src_prepare() {
default
# Unbundle some libraries. We used to unbundle libEGL, libGLESv2, and
# libvulkan, but that now causes CrossCode to crash.
rm -r lib/libffmpeg.so swiftshader/ || die
cd locales || die
rm {ar-XB,en-XA}*.pak* || die # No flags for pseudo locales.
chromium_remove_language_paks
}
src_install() {
insinto "${DIR}"
doins -r *
exeinto "${DIR}"
doexe chrome_crashpad_handler nw
insinto "${DIR}"/lib
doins lib/*.json
exeinto "${DIR}"/lib
doexe lib/*.so*
dosym ../../../usr/$(get_libdir)/chromium/libffmpeg.so$(usex ffmpeg-chromium .${CHROMIUM_VERSION} "") \
"${DIR}"/lib/libffmpeg.so
dosym ../.."${DIR}"/nw /usr/bin/${PN}
}

View File

@ -0,0 +1,154 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CHROMIUM_VERSION="143"
CHROMIUM_LANGS="
af
am
ar
bg
bn
ca
cs
da
de
el
en-GB
en-US
es-419
es
et
fa
fil
fi
fr
gu
he
hi
hr
hu
id
it
ja
kn
ko
lt
lv
ml
mr
ms
nb
nl
pl
pt-BR
pt-PT
ro
ru
sk
sl
sr
sv
sw
ta
te
th
tr
uk
ur
vi
zh-CN
zh-TW
"
inherit chromium-2
MY_P="${PN}-v${PV}"
DESCRIPTION="Framework that lets you call all Node.js modules directly from the DOM"
HOMEPAGE="https://nwjs.io"
SRC_URI="
amd64? ( https://dl.nwjs.io/v${PV}/${MY_P}-linux-x64.tar.gz )
x86? ( https://dl.nwjs.io/v${PV}/${MY_P}-linux-ia32.tar.gz )
"
S="${WORKDIR}/${MY_P}"
LICENSE="MIT"
SLOT="0"
KEYWORDS="-* ~amd64 ~x86"
IUSE="ffmpeg-chromium"
RDEPEND="
app-accessibility/at-spi2-core:2
dev-libs/expat
dev-libs/glib:2
dev-libs/nspr
dev-libs/nss
media-libs/alsa-lib
media-libs/mesa[opengl]
net-print/cups
sys-apps/dbus
sys-apps/util-linux
x11-libs/cairo
x11-libs/gdk-pixbuf:2
x11-libs/libX11
x11-libs/libxcb
x11-libs/libXcomposite
x11-libs/libXcursor
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libxkbcommon
x11-libs/libXrandr
x11-libs/pango
virtual/libudev
|| ( gui-libs/gtk:4 x11-libs/gtk+:3 )
!<games-rpg/crosscode-1.4.2.2-r1
!ffmpeg-chromium? ( >=media-video/ffmpeg-7.1:0/59.61.61[chromium] )
ffmpeg-chromium? ( media-video/ffmpeg-chromium:${CHROMIUM_VERSION} )
"
DIR="/opt/${PN}"
QA_PREBUILT="${DIR#/}/*"
src_unpack() {
default
if use amd64; then
mv "${WORKDIR}/${MY_P}-linux-x64" "${WORKDIR}/${MY_P}" || die
elif use x86; then
mv "${WORKDIR}/${MY_P}-linux-ia32" "${WORKDIR}/${MY_P}" || die
else
die "Unsupported architecture"
fi
}
src_prepare() {
default
# Unbundle some libraries. We used to unbundle libEGL, libGLESv2, and
# libvulkan, but that now causes CrossCode to crash.
rm -r lib/libffmpeg.so swiftshader/ || die
cd locales || die
rm {ar-XB,en-XA}*.pak* || die # No flags for pseudo locales.
chromium_remove_language_paks
}
src_install() {
insinto "${DIR}"
doins -r *
exeinto "${DIR}"
doexe chrome_crashpad_handler nw
insinto "${DIR}"/lib
doins lib/*.json
exeinto "${DIR}"/lib
doexe lib/*.so*
dosym ../../../usr/$(get_libdir)/chromium/libffmpeg.so$(usex ffmpeg-chromium .${CHROMIUM_VERSION} "") \
"${DIR}"/lib/libffmpeg.so
dosym ../.."${DIR}"/nw /usr/bin/${PN}
}

View File

@ -0,0 +1,147 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CHROMIUM_LANGS="
af
am
ar
bg
bn
ca
cs
da
de
el
en-GB
en-US
es-419
es
et
fa
fil
fi
fr
gu
he
hi
hr
hu
id
it
ja
kn
ko
lt
lv
ml
mr
ms
nb
nl
pl
pt-BR
pt-PT
ro
ru
sk
sl
sr
sv
sw
ta
te
th
tr
uk
ur
vi
zh-CN
zh-TW
"
inherit chromium-2
MY_P="${PN}-v${PV}"
DESCRIPTION="Framework that lets you call all Node.js modules directly from the DOM"
HOMEPAGE="https://nwjs.io"
SRC_URI="
amd64? ( https://dl.nwjs.io/v${PV}/${MY_P}-linux-x64.tar.gz )
x86? ( https://dl.nwjs.io/v${PV}/${MY_P}-linux-ia32.tar.gz )
"
S="${WORKDIR}/${MY_P}"
LICENSE="MIT"
SLOT="0"
KEYWORDS="-* ~amd64 ~x86"
RDEPEND="
app-accessibility/at-spi2-core:2
dev-libs/expat
dev-libs/glib:2
dev-libs/nspr
dev-libs/nss
media-libs/alsa-lib
media-libs/mesa[opengl]
net-print/cups
sys-apps/dbus
sys-apps/util-linux
x11-libs/cairo
x11-libs/gdk-pixbuf:2
x11-libs/libX11
x11-libs/libxcb
x11-libs/libXcomposite
x11-libs/libXcursor
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libxkbcommon
x11-libs/libXrandr
x11-libs/pango
virtual/libudev
|| ( gui-libs/gtk:4 x11-libs/gtk+:3 )
!<games-rpg/crosscode-1.4.2.2-r1
"
DIR="/opt/${PN}"
QA_PREBUILT="${DIR#/}/*"
src_unpack() {
default
if use amd64; then
mv "${WORKDIR}/${MY_P}-linux-x64" "${WORKDIR}/${MY_P}" || die
elif use x86; then
mv "${WORKDIR}/${MY_P}-linux-ia32" "${WORKDIR}/${MY_P}" || die
else
die "Unsupported architecture"
fi
}
src_prepare() {
default
# Unbundle some libraries. We used to unbundle libEGL, libGLESv2, and
# libvulkan, but that now causes CrossCode to crash.
rm -r swiftshader/ || die
cd locales || die
rm {ar-XB,en-XA}*.pak* || die # No flags for pseudo locales.
chromium_remove_language_paks
}
src_install() {
insinto "${DIR}"
doins -r *
exeinto "${DIR}"
doexe chrome_crashpad_handler nw
insinto "${DIR}"/lib
doins lib/*.json
exeinto "${DIR}"/lib
doexe lib/*.so*
dosym ../.."${DIR}"/nw /usr/bin/${PN}
}

View File

@ -18,8 +18,8 @@ IUSE="sasl test"
PHP_DEPEND="
php_targets_php8-2? ( dev-lang/php:8.2[ssl,zlib] )"
COMMON_DEPEND="${PHP_DEPEND}
>=dev-libs/libbson-1.18.0
>=dev-libs/mongo-c-driver-1.18.0[sasl?,ssl]
>=dev-libs/libbson-1.24.3
>=dev-libs/mongo-c-driver-1.24.3[sasl?,ssl]
dev-libs/openssl:=
sasl? ( dev-libs/cyrus-sasl )"
DEPEND="${COMMON_DEPEND}

View File

@ -1,4 +1,5 @@
DIST ansible_compat-25.11.0.tar.gz 193024 BLAKE2B d4e802582911f04429823e4f5e66c0fa40a6ebd9c6a8cbaff6a56728ef772bb0ed558584d9b6ffcafa78e7d06070f6574b66cfc75aacd975d7fe9834deb04a5d SHA512 e8af788d69ef9aa532c0b2f5f6401df1c61a4bd1d90e269c8d7d1418048e5f6d78bbc116d704fb875dada7e2389d25b57385dae90af0cbaceeedd37c7d3d9665
DIST ansible_compat-25.11.0.tar.gz.provenance 9485 BLAKE2B be19bf3dced5710bfd76a09c59ab05029c676a79c09325840f5ce3af98c120578177320ede09f45025279d10ca190d3d3e74d4d18f8633903957be416e30384c SHA512 db70483ecf37cdd29287e7cf5d6a37455537ce40ea0bcca1ad30b48d8eabdd9f384197862b50017a35a829028c1d1c56229e30ebf3b6d0d265d386303c8760db
DIST ansible_compat-25.8.1.tar.gz 90142 BLAKE2B 39c98e2e4f7fe9da00543b1ba2fce24e303c25aa269c1a4f86ed96a7e29ebb9f31fa40516fba78017e940ddcea5f6fba95bf0b4eccebc77fd0c13d282bf6df97 SHA512 b0bc8ef6f614e7c41becba6090ebd4a5c09bb9ac957a56652eb59d18eb2d03398e149af21071883a7b236e0ee724b354322a043f8d45c23b4db6d1864f871130
DIST ansible_compat-25.12.0.tar.gz 193698 BLAKE2B f3eb02d8257a2a3136182d1338359cab0d7c0f2e3a7f77ee26d52e3e3af8105445a3937e836821b4eedaa203f25230625ff0ff779e8c4e78eb8d85a498794be3 SHA512 a2ecf54a3c3324f5be8c10475aca1b528ee186ac402f841be6d7a8ae379019ae3d3486fcec7e433744f9d2053471ae219c0977c93073dc67029cad3f44868229
DIST ansible_compat-25.12.0.tar.gz.provenance 9250 BLAKE2B ebe215a01b27030246fcda815e286d827b8bc148e4c6095a76f233628fbd77512b1f9cbdc88f65998c2431a915b7ccc78b35862e2d23147f6af73d416ef450de SHA512 f6097b1f729c67e5129366a8bd2c79386234622a91108ffe1d5f71a7b7b215e726893ba6237e121e43f9b90970c5b0ad61094fcb8a13eca88c76e95a2eb95a06
DIST ansible_compat-25.8.2.tar.gz 190581 BLAKE2B a20ebf6b595a8933d02b88c1f9f8efae8e7ffac3378bed3c50fd8fbf74a73663c5406fde7f05f0a923ba7ce75d920f3bf58e347cb7650cec77cb974ed805e45c SHA512 78beb54d3ad65e02e7009834b5690b118c6743274fa5fd31941e63a7f99d3b7ac2fcbce0fa80d45212a6bcf4365628e731cb139a6af14360c0552e9a759d6336

View File

@ -4,7 +4,8 @@
EAPI=8
DISTUTILS_USE_PEP517="setuptools"
PYTHON_COMPAT=( python3_{11..14} )
PYPI_VERIFY_REPO=https://github.com/ansible/ansible-compat
PYTHON_COMPAT=( python3_{12..14} )
inherit distutils-r1 pypi
@ -16,13 +17,13 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 ~arm64 ~riscv"
KEYWORDS="~amd64 ~arm64 ~riscv"
RDEPEND="
>=app-admin/ansible-core-2.18.6[${PYTHON_USEDEP}]
>=dev-python/jsonschema-4.23.0[${PYTHON_USEDEP}]
dev-python/packaging[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
>=dev-python/packaging-22.0[${PYTHON_USEDEP}]
>=dev-python/pyyaml-6.0.1[${PYTHON_USEDEP}]
>=dev-python/subprocess-tee-0.4.1[${PYTHON_USEDEP}]
"
BDEPEND="
@ -32,6 +33,13 @@ BDEPEND="
EPYTEST_PLUGINS=( pytest-{mock,plus} )
distutils_enable_tests pytest
src_prepare() {
distutils-r1_src_prepare
# remove stupid upstream version block
sed -i -e 's:2.20.0dev0:0:' src/ansible_compat/prerun.py || die
}
python_test() {
local EPYTEST_DESELECT=(
# All these tests attempt to connect to galaxy.ansible.com

View File

@ -2,3 +2,4 @@ DIST serverless-application-model-1.101.0.gh.tar.gz 6002271 BLAKE2B 726fd5a91a8a
DIST serverless-application-model-1.102.0.gh.tar.gz 6025703 BLAKE2B 1ef7603694263999375a8291d39461abf796433a3eab5178b4a5ee10d8d811b244ffc3e4a4036a47d888220415e84c382afb11b28d180fcc2b6216bda290beb4 SHA512 354c307f45efedb3e3fc7b7df881c147a619c9ab90cf5e34106b60a517def82d1cda669dcdefac39e0be2ec8d47ea40868108c6a97c88cc27baeb9d2e1c5bc2c
DIST serverless-application-model-1.103.0.gh.tar.gz 6035870 BLAKE2B c6822f8e16639f2a28bafc964420f79617732662b03b9a3af712c043ba143ad6e5b3291732a1a6827a7823a71ae40fd48869574eaa775e77830c40bda59fc6d7 SHA512 fa468c3878a7c74558c75befa50c13aac93bae9af6150a5bb44e8ec3ea3c29a5d51c8d0dc403630f7aa239652b74f6a491fb2a342d58b08356629cf4e4f3afa2
DIST serverless-application-model-1.104.0.gh.tar.gz 6073035 BLAKE2B 765e94ebf8c0d3da9e660a5fda573075f07961e7bd8f89b9302b76d83f7071386ebca1cccf0d2baea6dbe4f8e00e3231fca2cb3343e3a09b17d6e67c3423baf0 SHA512 30d51690bdef7d39e631f13a7ba8cffa425fd9e8f9cc718a1bdd331ab1cea91c5f48648bb42b290b1f7fa4b9434840da90bc372cbdfc12d36ca2f0cf3afb3a68
DIST serverless-application-model-1.105.0.gh.tar.gz 6074585 BLAKE2B c63f374f3e9a4b159316864c10e3888e38c8908e0364d3b6d6e08c5c05189fc3a6a9ef6ce348f98269b929134df84704b4c9ffbb374f870926ec4abb1bcd08c3 SHA512 36d9a56c618b30c6ab90c29fb090997439d01bd240c51c03d9acd70e87dc34d2a5659767d4062e8bf5b8fab5bf99d32fb7cb934090f128c7fe850883987f72d4

View File

@ -0,0 +1,62 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
# py3.14: https://github.com/aws/serverless-application-model/issues/3831
PYTHON_COMPAT=( python3_{11..13} )
inherit distutils-r1
MY_P=serverless-application-model-${PV}
DESCRIPTION="A library that transform SAM templates into AWS CloudFormation templates"
HOMEPAGE="
https://github.com/aws/serverless-application-model/
https://pypi.org/project/aws-sam-translator/
"
SRC_URI="
https://github.com/aws/serverless-application-model/archive/v${PV}.tar.gz
-> ${MY_P}.gh.tar.gz
"
S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
RDEPEND="
<dev-python/boto3-2[${PYTHON_USEDEP}]
>=dev-python/boto3-1.34.0[${PYTHON_USEDEP}]
>=dev-python/jsonschema-3.2[${PYTHON_USEDEP}]
<dev-python/pydantic-3[${PYTHON_USEDEP}]
>=dev-python/pydantic-1.8[${PYTHON_USEDEP}]
<dev-python/typing-extensions-5[${PYTHON_USEDEP}]
>=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
dev-python/mock[${PYTHON_USEDEP}]
dev-python/parameterized[${PYTHON_USEDEP}]
)
"
EPYTEST_PLUGINS=()
EPYTEST_XDIST=1
distutils_enable_tests pytest
python_prepare_all() {
# so much noise...
sed -i -e '/log_cli/d' pytest.ini || die
# deps are installed by ebuild, don't try to reinstall them via pip
truncate --size=0 requirements/*.txt || die
distutils-r1_python_prepare_all
}
python_test() {
local -x AWS_DEFAULT_REGION=us-east-1
epytest -o addopts= -o filterwarnings=
}

View File

@ -4,3 +4,4 @@ DIST boto3-1.40.74.gh.tar.gz 1032058 BLAKE2B c24653bac3279f688d240390f53a9070d51
DIST boto3-1.41.2.gh.tar.gz 1047105 BLAKE2B ac62862f9430604d6056e9ee9c0c6747bc8abd000957365e569d20c96f0672c771c628ce0bd1d644aee6149b22792f455b43f58fce987d5ba00acbfbf56bd7f2 SHA512 98209ea6ded6c1018b98106c89b53d2115fad3de26524f7b9efa0c91f1e4435c9ea2d954c21d8666cb427777ade60bb12a36544d9844dc1d79f925c3206a578f
DIST boto3-1.41.5.gh.tar.gz 1047828 BLAKE2B c4ff68f8851f56539998186d6dab74d015e5752aa3e1f29226ff67b7457618f48d04637a6532e73016203970be82ca3fe9f295dbf6fb68c6a126058bfe452999 SHA512 c41c80a42513ae9aa09789aed69798b8946042d9cbf9de67c8541cce254cacc06ee965d53d61b0bd773762e4bf49e533d6c9ca11c5bce390544be317b60a601b
DIST boto3-1.42.0.gh.tar.gz 1051896 BLAKE2B 5bc423d834f4baba83b1e332b67fbfbe76b7dc1dc61e12750ebf3d25bde987d76815039980d3b30b5a0c8904c9fd4045900e03a7d593f99f5ec446e83e491279 SHA512 cd204476d704732077f12fa4be1ffb6ed6c535f5997ffdaae188d9b632604d613b60f0644768ccc4454255afefd2fe762f3590a1bbeada1ab53a2eee98421cb1
DIST boto3-1.42.1.gh.tar.gz 1054688 BLAKE2B 9722ba8fb97df81abfbcc26f5ab5d5c7819a3cd1f265af9938820968ba79232ed453c594db3bc661ac6bed50058638903700e8c8e16613b59c88bc97807ad966 SHA512 961cae734e2e8db1e0511d19f24f5b509b14fbcc9d32327fa39928b21d502516b4dec8a2723c342bdc77649df292086f2b8281b30d54396f9849445b61fff8b7

View File

@ -0,0 +1,53 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{11..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 ~amd64-linux ~x86-linux"
RDEPEND="
>=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
>=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
>=dev-python/s3transfer-0.16.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}
}

View File

@ -4,3 +4,4 @@ DIST botocore-1.40.74.gh.tar.gz 15284643 BLAKE2B 585f072a5ec39c12e3f74a272b0c5ed
DIST botocore-1.41.2.gh.tar.gz 15504253 BLAKE2B 3c3967e3876ec2529ed0fbd192594f963ebc75f27f196188456a3f4999187b92072224da7d0d91d3dba44c109a74eb35229062e61f161d30f5fad69fcd6097ae SHA512 47cbae2cd1c729fbe6ef55ef5ad6102f636dfb62dd4b4011ad8d163dfdd038d94201b49e48847fed4130e5523b0279b921eedcb94ee4611f42e6aa102bb3705f
DIST botocore-1.41.5.gh.tar.gz 15519699 BLAKE2B 05c9cd0768013d6e3af76ad9daf8b957bb8d6e3f17b3bfb85d4dc73de36ab71ff5da14306d5147375ec1d5a3080f5b25c056e2796c7918f21aba1fafe32deff8 SHA512 8f95ce652ef670129966aca8265022c79544bcb0927504ee0567272412437dc8789df10c7f77696434864ec541b6b17dc39aabb1ec16ee690a22617fe8d7da03
DIST botocore-1.41.6.gh.tar.gz 15619213 BLAKE2B 132f1020643f335793393f34545d7f13c0e69394ccaa4ad047694e681832ea340ee76925879e3bcff45145fda387f6b2a81ca9e69d424fe39b8754e04aee541d SHA512 15ecad28923a7ab80c749856ce9e7b02b14eaf9f2346786f0943b3a450bbe94eacd3b2f8275b8b2e6612d6c1faf53aa8788fb790722471e49c6fdf7c3cc2dd81
DIST botocore-1.42.1.gh.tar.gz 15695042 BLAKE2B f0587a7e8112d0fd80cb40fb0da6cf88f3c0ec567a803a062f295624ca3541e0adb4cfc6d039e4bfdbcbf0c4ed07ae0117ce1ce691c6e95914bc4767d57324d4 SHA512 627ae08b65839f48fd24b567951e45363bb5d0c1ff566701a5396f6c6b0e5c58ce66143eb5bab64656d80c0751aad22af04a5d1f048d234a854325139c408846

View File

@ -0,0 +1,67 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{11..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 ~amd64-linux ~x86-linux"
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}
}

View File

@ -1,11 +1,17 @@
DIST Django-4.2.26.checksum.txt 2550 BLAKE2B 39602268316a1391e5f97baecf412c4c27c355521a82c99a9d017825f3edbb963e5f8693142889f77bd7352bb954a8cb0eee30701daaa03b128c28c6cb520c4a SHA512 668536de6e8293ea72480e86fbdb42852364e8b81b8d170e2035026ca9f73697f1eb52c6c612a11bb2b2894a9a0de27d7f422fdf255b28152021014704070962
DIST Django-4.2.27.checksum.txt 2493 BLAKE2B da4638b538a8ce20c4ee211b374299945a4c8b66854dd233986841073a7b8002b25f8280a9fd1916a2f44bfdcff3adc2760de6b0fd53bc0e4b481664d307ccb0 SHA512 ed435a7967679d8f7a4717fe71452522d2a8b18bd59586ccbe3550a84244d2b0098f631459a43519e55ae5b5615c0d10da69c9fda577395c8335cb624e0f8227
DIST Django-5.1.14.checksum.txt 2550 BLAKE2B 73aa763ab3cb61b8de40cd58ea4ef9ca8c570233ab325b3407fa1f08cf6cb485a48a350314e09e01d943ec1091d4bdcd220c9ed4bafccb52c883c539d605aec9 SHA512 9d7f3e1bc290d931ff6285c6553049f687212a60b360fbb4054e76e59b08d51a07de1407cb963fbf551915279233995f049b3196cd3788870f853ec886c17beb
DIST Django-5.1.15.checksum.txt 2493 BLAKE2B ad415c28c9676c39de6fd93976706a7228fbb3a257c6af1151d10ab33cc90b096caebc7150a6ff1f71f2469fcb9053076a29a22d336dd2dee9ed1efac2df6762 SHA512 04504dc22603ff97b0dc5bb1885d22368223d7a047a1a30db225b95376578dd7375b31d4b43036e4ae55e31156cc9d7c01d71f3d46e72bba72e74883a44de36a
DIST Django-5.2.8.checksum.txt 2540 BLAKE2B 6ce5b10c1125ac0f8429dd2050d252e4c3a32c00cc71b727cdf48b80add05031cc017bc0976a6e3bd9ee69ac1c1b8e5eb50c793ff48dc2d611a8396e2a0564ee SHA512 b17e87987f0c9d772d4265e10cbfd51db6ef31dc43f25364762df1dd0da1acf9ca5aa0f300110f511d8eb1e8e87bf48ecc19a0710e7a01b19884459f644982a7
DIST Django-5.2.9.checksum.txt 2483 BLAKE2B b46ad16f6096fb52ad83518d0976fe3cad4b7b21f984be6aa8fd20255306635ccfed7f018ff420052d94ca97d2444dedc4d9a4deacf95fe92718f979aaa7157d SHA512 e72fcd67ebf3542d1f17aed46cc6dcf5efa3e1f39ad6914c50521170a944f08b94ec36caccc254178be8bcf306b76654285d37c02eb4d8c6f0728df53054a3b2
DIST Django-6.0b1.checksum.txt 2540 BLAKE2B 6f045bd743c38698c7c0bbf914aca26d8eca883db60f530456b0261570fa73690755965416bf71c8f78bd6a388c5fd63de255c09a7b882eacc270f805c1c1543 SHA512 b300ba29fa55c523255fb3688079c823873e44c2b3bcd4ce3ef91e67dfac83798b56ac0588ea7487841a2d0b69af038ee563e62ebf570feaf405e0971cb453b5
DIST Django-6.0rc1.checksum.txt 2551 BLAKE2B 0f7837fd757ba1b5845fdace35277516a9372b563623348245150ba875bc1cda4689941e1f188b6e6574a3173f7c3f66fc4cfdefeacc9737ec74ae23308f443a SHA512 92aa1687f370b53b5c69d18e7c9db26ed65d708b51e043e5f9fd32a60d68d6071e5835cedb4a44b774fcc6dbd0a993860a30a596191cf51c91e54388e4d7e023
DIST django-4.2.17-pypy3.patch.xz 5900 BLAKE2B 2a564fc31d8e2f3def5a532d3bca1a4426a496c659192f602d659e0c1a5f5882978baedb384cc3b67fda8c836513ce43aece80db1528c8e8b6e9ca420f7572ce SHA512 9c9d935aff6db7230a26931b5e7f5f94f3b5ff4fc8f7d4201178571de9d9c7929a0e1e558cc2d9b54b8ee91f85819a5680d24fad6251620515a4a020e3b2d66d
DIST django-4.2.26.tar.gz 10433052 BLAKE2B 5c6cd5cafcca047970b5bd9d4d6f6dedb0fdc51ff27421b409d3f08ec87422e4c33542c299389f315e2390b38498da4a0b8b934f24ececb0f3f9de729fc3975c SHA512 49fc2d3796719b201567bcd1d68d4a018a62ffbd5aef3c609cbeb4e415f6508e383908949dba45fc3c2c9ca6d53f88c80598cf72ea29bf7b9fbd7d237dcc5077
DIST django-4.2.27.tar.gz 10432781 BLAKE2B 1a5864841d86881f245f4e8a11db290aa76753b713f3584aa1a2334131191c472839c2c5ae98bbb2c9e5ed85d99e558f08844a6d38fa87c716092efcd5fcc0b8 SHA512 8bb5e63ef13066aa8ee051ba2b7914f3c848f9c7406f2f53dd1fbaedf1ad752d342ea670485d81969d2b60a42dea2c6064065431e1415e408a7da026785e8ff1
DIST django-5.1.14.tar.gz 10720998 BLAKE2B 83bc02c1375a75b83678a9fe86362077e96b34c6fd2c451072c7be3b343c6fe2754deb107ffa34d949ab5ff0f406acfc967ef3cd52cd5147255d09a4ac5828c3 SHA512 29e2d4746df664a129a940ba9ba35d5b5e5f7104477e3055b02628f66c761def7d601b0f917c7e16988795c36c749d7c093e53da8ad90983a9d7f478adb41781
DIST django-5.1.15.tar.gz 10719662 BLAKE2B fd8a78384b04cf1e0fa7553ebd7db77078450227c6f66e63f5f251efc2c7a7f71a48d1235c179e2f316efe5666681622a1608a129c0aab40c1d2ca4bf0f3879a SHA512 050a3ded3566e378cb273cb95fa1720632f1920aa86993c998758236df5041628ada7a5fb6bd3056720a5becbb45e358c70a2ca7c230b28606a1fd954771c070
DIST django-5.2.8.tar.gz 10849032 BLAKE2B c24bed7d303ef60d468b898e8b5f09eea21ff98ddc1ee5f44f6c796c47b645cddcd877d0a64817e7c993023c8ed6cc8211ac72470ad4c500c8e54918e4a75a44 SHA512 e360b69d45841c5c6068e96560621155cba5450901c0f598da226bc6fb9ea89c5a909f5568e4b492aa852006e7b00ab3528aa8f5ff6d97baa6227e7dcf8c068c
DIST django-5.2.9.tar.gz 10848762 BLAKE2B 45dc5c96153e57622a1ec52d93db358c3ca6100a82fd95d26f451d44a2792e78948c89c4e90fb0db8c48cbce8e6aad8d0dedc54fa13bf74fa623e6f85251a98a SHA512 669bb4e21b2073fd7a59971efa6d662c5bbfc05284867b562f93b6e56039b06f843726a1a964a4763458c211e238b21d1f91e70cda394d78031a2324bbf35d7f
DIST django-6.0b1.tar.gz 11172994 BLAKE2B 03f52be511d9e3509402ff2ec8a5f582a0c199503d41f395e3e34ad37f3aadcadd7f5c4c134bc2685186a833342c0a15e734468316d4241ae3ffc8e8b886b5e8 SHA512 5007fee32b7af26afa4f9aaa506d2cb552a38ba5ac221775c12511f4fed815fae1901352ff9c35bfed48b766ee01f323a0773dcdf5e2924793612ae565c300a0
DIST django-6.0rc1.tar.gz 10921876 BLAKE2B 35d3010cfd9aed79b8df2e50d34d731c056c86a31f0148a4b5c737f268f44353d5a5fe672ee2b5b352e25a90a08adc0f98de9c2ff820d55658aaab517b2fd9e4 SHA512 ebee0f89719992f28e49ee15ec4543fe5f65caefcf624a96146e3bb2ec327cc4646d3228d127384d97a72e0e197d636741fdb753d0291fc9fd888e496e742ea5

View File

@ -0,0 +1,106 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( pypy3_11 python3_{11..13} )
PYTHON_REQ_USE='sqlite?,threads(+)'
inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig
DESCRIPTION="High-level Python web framework"
HOMEPAGE="
https://www.djangoproject.com/
https://github.com/django/django/
https://pypi.org/project/Django/
"
SRC_URI="
https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P}.tar.gz
https://dev.gentoo.org/~mgorny/dist/python/django-4.2.17-pypy3.patch.xz
verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt )
"
LICENSE="BSD"
# admin fonts: Roboto (media-fonts/roboto)
LICENSE+=" Apache-2.0"
# admin icons, jquery, xregexp.js
LICENSE+=" MIT"
SLOT="0/$(ver_cut 1-2)"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
IUSE="doc sqlite test"
RESTRICT="!test? ( test )"
RDEPEND="
<dev-python/asgiref-4[${PYTHON_USEDEP}]
>=dev-python/asgiref-3.6.0[${PYTHON_USEDEP}]
>=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}]
sys-libs/timezone-data
"
BDEPEND="
test? (
$(python_gen_impl_dep sqlite)
${RDEPEND}
dev-python/docutils[${PYTHON_USEDEP}]
dev-python/jinja2[${PYTHON_USEDEP}]
dev-python/numpy[${PYTHON_USEDEP}]
dev-python/pillow[webp,${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
dev-python/selenium[${PYTHON_USEDEP}]
dev-python/tblib[${PYTHON_USEDEP}]
sys-devel/gettext
)
verify-sig? ( >=sec-keys/openpgp-keys-django-20241002 )
"
PATCHES=(
"${FILESDIR}"/django-4.0-bashcomp.patch
"${WORKDIR}"/django-4.2.17-pypy3.patch
# https://code.djangoproject.com/ticket/35661
"${FILESDIR}"/django-5.1-more-pypy3.patch
# https://code.djangoproject.com/ticket/34900
"${FILESDIR}"/django-4.2.21-py313.patch
# upstream hardcodes fixed versions, we backported the fixes
"${FILESDIR}"/django-4.2.24-htmlparser.patch
)
distutils_enable_sphinx docs --no-autodoc
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc
src_unpack() {
if use verify-sig; then
cd "${DISTDIR}" || die
verify-sig_verify_signed_checksums \
"${P^}.checksum.txt" sha256 "${P}.tar.gz"
cd "${WORKDIR}" || die
fi
default
}
python_test() {
# Tests have non-standard assumptions about PYTHONPATH,
# and don't work with ${BUILD_DIR}/lib.
PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \
-v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" ||
die "Tests fail with ${EPYTHON}"
}
python_install_all() {
newbashcomp extras/django_bash_completion ${PN}-admin
bashcomp_alias ${PN}-admin django-admin.py
distutils-r1_python_install_all
}
pkg_postinst() {
optfeature_header "Additional Backend support can be enabled via:"
optfeature "MySQL backend support" dev-python/mysqlclient
optfeature "PostgreSQL backend support" dev-python/psycopg:0
optfeature_header
optfeature "GEO Django" "sci-libs/gdal[geos]"
optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
optfeature "ImageField Support" dev-python/pillow
optfeature "Password encryption" dev-python/bcrypt
}

View File

@ -0,0 +1,100 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( pypy3_11 python3_{11..13} )
PYTHON_REQ_USE='sqlite?,threads(+)'
inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig
DESCRIPTION="High-level Python web framework"
HOMEPAGE="
https://www.djangoproject.com/
https://github.com/django/django/
https://pypi.org/project/Django/
"
SRC_URI="
https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P}.tar.gz
verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt )
"
LICENSE="BSD"
# admin fonts: Roboto (media-fonts/roboto)
LICENSE+=" Apache-2.0"
# admin icons, jquery, xregexp.js
LICENSE+=" MIT"
SLOT="0/$(ver_cut 1-2)"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
IUSE="doc sqlite test"
RESTRICT="!test? ( test )"
RDEPEND="
<dev-python/asgiref-4[${PYTHON_USEDEP}]
>=dev-python/asgiref-3.8.1[${PYTHON_USEDEP}]
>=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}]
sys-libs/timezone-data
"
BDEPEND="
test? (
$(python_gen_impl_dep sqlite)
${RDEPEND}
>=dev-python/docutils-0.19[${PYTHON_USEDEP}]
>=dev-python/jinja2-2.11.0[${PYTHON_USEDEP}]
dev-python/numpy[${PYTHON_USEDEP}]
dev-python/pillow[webp,${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
>=dev-python/selenium-4.8.0[${PYTHON_USEDEP}]
>=dev-python/tblib-1.5.0[${PYTHON_USEDEP}]
sys-devel/gettext
)
verify-sig? ( >=sec-keys/openpgp-keys-django-20241002 )
"
PATCHES=(
"${FILESDIR}"/django-4.0-bashcomp.patch
# upstream hardcodes fixed versions, we backported the fixes
"${FILESDIR}"/django-5.2.6-htmlparser.patch
)
distutils_enable_sphinx docs --no-autodoc
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc
src_unpack() {
if use verify-sig; then
cd "${DISTDIR}" || die
verify-sig_verify_signed_checksums \
"${P^}.checksum.txt" sha256 "${P}.tar.gz"
cd "${WORKDIR}" || die
fi
default
}
python_test() {
# Tests have non-standard assumptions about PYTHONPATH,
# and don't work with ${BUILD_DIR}/lib.
PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \
-v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" ||
die "Tests fail with ${EPYTHON}"
}
python_install_all() {
newbashcomp extras/django_bash_completion ${PN}-admin
bashcomp_alias ${PN}-admin django-admin.py
distutils-r1_python_install_all
}
pkg_postinst() {
optfeature_header "Additional Backend support can be enabled via:"
optfeature "MySQL backend support" dev-python/mysqlclient
optfeature "PostgreSQL backend support" dev-python/psycopg:0
optfeature_header
optfeature "GEO Django" "sci-libs/gdal[geos]"
optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
optfeature "ImageField Support" dev-python/pillow
optfeature "Password encryption" dev-python/bcrypt
}

View File

@ -0,0 +1,102 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
PYTHON_REQ_USE='sqlite?,threads(+)'
inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig
DESCRIPTION="High-level Python web framework"
HOMEPAGE="
https://www.djangoproject.com/
https://github.com/django/django/
https://pypi.org/project/Django/
"
SRC_URI="
https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P}.tar.gz
verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt )
"
LICENSE="BSD"
# admin fonts: Roboto (media-fonts/roboto)
LICENSE+=" Apache-2.0"
# admin icons, jquery, xregexp.js
LICENSE+=" MIT"
SLOT="0/$(ver_cut 1-2)"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
IUSE="doc sqlite test"
RESTRICT="!test? ( test )"
RDEPEND="
<dev-python/asgiref-4[${PYTHON_USEDEP}]
>=dev-python/asgiref-3.8.1[${PYTHON_USEDEP}]
>=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}]
sys-libs/timezone-data
"
BDEPEND="
test? (
$(python_gen_impl_dep sqlite)
${RDEPEND}
>=dev-python/docutils-0.19[${PYTHON_USEDEP}]
>=dev-python/jinja2-2.11.0[${PYTHON_USEDEP}]
dev-python/numpy[${PYTHON_USEDEP}]
dev-python/pillow[webp,${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
>=dev-python/selenium-4.8.0[${PYTHON_USEDEP}]
>=dev-python/tblib-1.5.0[${PYTHON_USEDEP}]
sys-devel/gettext
)
verify-sig? ( >=sec-keys/openpgp-keys-django-20241002 )
"
PATCHES=(
"${FILESDIR}"/django-4.0-bashcomp.patch
# upstream hardcodes fixed versions, we backported the fixes
"${FILESDIR}"/django-5.2.6-htmlparser.patch
# d55979334dcefdb11626220000bec97ade09df07
"${FILESDIR}"/django-5.2.7-py314.patch
)
distutils_enable_sphinx docs --no-autodoc
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc
src_unpack() {
if use verify-sig; then
cd "${DISTDIR}" || die
verify-sig_verify_signed_checksums \
"${P^}.checksum.txt" sha256 "${P}.tar.gz"
cd "${WORKDIR}" || die
fi
default
}
python_test() {
# Tests have non-standard assumptions about PYTHONPATH,
# and don't work with ${BUILD_DIR}/lib.
PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \
-v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" ||
die "Tests fail with ${EPYTHON}"
}
python_install_all() {
newbashcomp extras/django_bash_completion ${PN}-admin
bashcomp_alias ${PN}-admin django-admin.py
distutils-r1_python_install_all
}
pkg_postinst() {
optfeature_header "Additional Backend support can be enabled via:"
optfeature "MySQL backend support" dev-python/mysqlclient
optfeature "PostgreSQL backend support" dev-python/psycopg:0
optfeature_header
optfeature "GEO Django" "sci-libs/gdal[geos]"
optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
optfeature "ImageField Support" dev-python/pillow
optfeature "Password encryption" dev-python/bcrypt
}

View File

@ -1 +1,2 @@
DIST numpydoc-1.10.0.gh.tar.gz 94037 BLAKE2B 356004e4e30634048f9e4adb2b560fde574feac973c59d9becf6bd4bbd4d502c79ca6eaadb21322d13db0882a596e88e89f87d32565a003253b88bc6439c3446 SHA512 bd8becb71fe45f7a0e11bbd3f804c9855b1192ff22acbc0291380c462c493facd2efd6d59e560111ae56132925502d37abc90643db217358f3a8c1138ce7c693
DIST numpydoc-1.9.0.gh.tar.gz 91390 BLAKE2B a864a4ebddc7ddab11a4ab6ea949b96a6c2447f6e726867ed0f49aba09a29c51cb130d5b565feeaaa3fb3de8b4e24748fa604e77ff3def7ba0f17d601d8563ff SHA512 7ae73a5bbce11e674fe8ca16e8ddce7914498f97dc8ebe85c26ae0cf240299596c20a6915e3a547a394e0e3f9ae6e9ac0694a2de7baa34918df98f523a8bfdf0

View File

@ -0,0 +1,49 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{11..13} )
inherit distutils-r1
MY_P=${P/_}
DESCRIPTION="Sphinx extension to support docstrings in Numpy format"
HOMEPAGE="
https://numpydoc.readthedocs.io/en/latest/
https://github.com/numpy/numpydoc/
https://pypi.org/project/numpydoc/
"
SRC_URI="
https://github.com/numpy/numpydoc/archive/v${PV/_}.tar.gz
-> ${MY_P}.gh.tar.gz
"
S=${WORKDIR}/${MY_P}
LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
RDEPEND="
>=dev-python/sphinx-6[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
>=dev-python/matplotlib-3.2.1[${PYTHON_USEDEP}]
)
"
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
python_test() {
local EPYTEST_DESELECT=(
# these require Internet (intersphinx)
numpydoc/tests/test_full.py::test_MyClass
numpydoc/tests/test_full.py::test_my_function
# TODO
numpydoc/tests/test_validate.py::test_extract_ignore_validation_comments
)
epytest -o addopts= --pyargs numpydoc
}

View File

@ -4,5 +4,6 @@ DIST psycopg-3.2.12.gh.tar.gz 582058 BLAKE2B be6732c9d8c0395e8875c0fcd679628b35b
DIST psycopg-3.2.13.gh.tar.gz 585567 BLAKE2B 244c9b51ae88dfafb235c65cec69b556ab624d6185680813548afa704916cabbf12129ba574079a98ee59f3621cf86d5a36aa2f61681b2819dc853043a9966c3 SHA512 db657b2fcf25a7dddcb30db154de97be164e48c9f88d9b7a4407f8e8e4f12d02efd0fb1ff2c3e6d0576d4ec06b8e1442c0dcc1734c88ca3171043060fafef68b
DIST psycopg-3.2.9.gh.tar.gz 565735 BLAKE2B 5b9b16e5e310214bdbf12198a7b8d9d86ed7b7e947a33c7333fe79bca946b76f09c60ea25960d3cf3f99423598a65ce33b53bd6dc10a9c68a930a46068b54fd6 SHA512 3e455852dd19c9639a8ee18773486295ea76f9a16146997be9dd4f3f6350257440e0d8fff9494acb79e95f04e74c0c14ec7968694fe329abeb74edcfb297d4dd
DIST psycopg-3.3.0.gh.tar.gz 607828 BLAKE2B 494ce84ffaaecafccb353697198077d7bb60f9ed17171bb3946f5501c8e67d1e240fa08f228bdc9f61988c9c6487930df49112be7f658d1b8e3146c8aa95f729 SHA512 48a184e2629d7317c9a6b80addf5405feac4ba0f477c12c5ee9bc826bc132c8874020b62c28df9ba92e2655edf15daa2a619c9961cbe71dd2ad7d5b9580c6389
DIST psycopg-3.3.1.gh.tar.gz 607864 BLAKE2B 6cc1ead0c0fc612dd15ba24f067c80b4b6efff73fa3cfe193d617b34f1e2d7f3aa4e793f264703d1ded48da376599e3ee7e045f87420abe024aeca27c80ba19d SHA512 abd7c49e1607a0262434f4f506af71a0c4aea30093ed1f63b5919a5d7bc81e2c82aa933f345c3bbe2b15e92a300246bb3378d0cca72aec189b4a26818d35d4ff
DIST psycopg2-2.9.10.tar.gz 385672 BLAKE2B 4a3ad64f406c427b785ffeb85f6520aa67ed04de2d1749eb22d8275146b71ba451f7c04c9ead401d6f7a273781492cd6a5a36beba68b36b1e5203ee75f7df503 SHA512 d0916f6a645b5e87f89f2463dc22fad78340a85fbff320d099bf429a42557f40d3a4eebdc670768469aef1e9fcee60123767bfe49e1186e8574f95bfd6f46900
DIST psycopg2-2.9.11.tar.gz 379598 BLAKE2B 78608a2b4a9b1db9ba9873ce01b84f898489de8ff6db5522ecc2fa68606b0ef8cdab7f137c86cf840509c9161b329a2efc1e1aadc494b565226099e8651372ab SHA512 44f7b03d958dc62822be8a8c38d738c4016c3a1f860c824158b78ba0a23f04ca63377171b22a14e38b76df868458ede25f29e4643197912adb2f1a1db8c0d5c0

View File

@ -0,0 +1,123 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1
DESCRIPTION="PostgreSQL database adapter for Python"
HOMEPAGE="
https://www.psycopg.org/psycopg3/
https://github.com/psycopg/psycopg/
https://pypi.org/project/psycopg/
"
SRC_URI="
https://github.com/psycopg/psycopg/archive/${PV}.tar.gz
-> ${P}.gh.tar.gz
"
LICENSE="LGPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="+native-extensions"
DEPEND="
native-extensions? (
>=dev-db/postgresql-8.1:=
)
!native-extensions? (
>=dev-db/postgresql-8.1:*
)
"
RDEPEND="
${DEPEND}
$(python_gen_cond_dep '
>=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}]
' 3.11 3.12)
"
BDEPEND="
native-extensions? (
dev-python/cython[${PYTHON_USEDEP}]
)
test? (
>=dev-db/postgresql-8.1[server]
>=dev-python/dnspython-2.1[${PYTHON_USEDEP}]
)
"
EPYTEST_PLUGINS=( anyio )
distutils_enable_tests pytest
python_compile() {
# Python code + ctypes backend
cd psycopg || die
distutils-r1_python_compile
# optional C backend
if use native-extensions && [[ ${EPYTHON} != pypy3* ]]; then
local DISTUTILS_USE_PEP517=standalone
cd ../psycopg_c || die
distutils-r1_python_compile
fi
cd .. || die
}
src_test() {
rm -r psycopg{,_c} || die
initdb -D "${T}"/pgsql || die
# TODO: random port
pg_ctl -w -D "${T}"/pgsql start \
-o "-h '' -k '${T}'" || die
createdb -h "${T}" test || die
local -x PSYCOPG_TEST_DSN="host=${T} dbname=test"
distutils-r1_src_test
pg_ctl -w -D "${T}"/pgsql stop || die
}
python_test() {
local EPYTEST_DESELECT=(
# tests for the psycopg_pool package
tests/pool
# some broken mypy magic
tests/test_module.py::test_version
tests/test_module.py::test_version_c
tests/test_typing.py
tests/crdb/test_typing.py
# TODO, relying on undefined ordering in Python?
tests/test_dns_srv.py::test_srv
# requires pproxy?
tests/test_waiting.py::test_remote_closed
tests/test_waiting.py::test_wait_remote_closed
tests/test_waiting_async.py::test_remote_closed
tests/test_waiting_async.py::test_wait_remote_closed
)
case ${ARCH} in
arm|x86)
EPYTEST_DESELECT+=(
# TODO
tests/types/test_numpy.py::test_classes_identities
)
;;
esac
local impls=( python )
if use native-extensions && [[ ${EPYTHON} != pypy3* ]]; then
impls+=( c )
fi
local -x PSYCOPG_IMPL
for PSYCOPG_IMPL in "${impls[@]}"; do
einfo "Testing with ${PSYCOPG_IMPL} implementation ..."
# leak and timing tests are fragile whereas slow tests are slow
epytest -k "not leak" \
-m "not timing and not slow and not flakey"
done
}

View File

@ -1 +1,3 @@
DIST pydyf-0.11.0.tar.gz 17769 BLAKE2B 5fa6d597592104a505267a29ad99cf0c06e84e165a407438563982d45f3d77d9c2a0c45ffda2c16fe6f8656ca406f3bff8ad7dc19f011132334130fcb0c5bc1d SHA512 f02021d1d6bb59557a5b1c1a7f71551b1efe0f8019b2d2e28a84fb126b0d4b701e884971376b8a7b654a51f1831b3fab319a0212e9cb444a392304fc244133d1
DIST pydyf-0.12.1.tar.gz 17716 BLAKE2B fb87f69be503f2bcc92a98315212a6ebd238e541cee0cc47bca68faefb9e417a8574498f94e0dc514c0d2ced12e318af9a40e2d4876d534bc6f32ed63f751f6d SHA512 c241096c8e1674d80c62be40b02d7c28dfb59cb8e82e6029c6b246a65d2863be236fb1a45f3369adc6e055143a891e9aa170b9ea0dd06ac3483c92a2b86bb984
DIST pydyf-0.12.1.tar.gz.provenance 9574 BLAKE2B ec9ba4e745079c2db636ecadd99b03ef8799aec79bec946d1ab5f14dcc69910752f5cb46f39117343d7c909ba7ac06710a2d00ea65be945e744db13bbf090f86 SHA512 11b700c1447ac3b92ac7a61738c789543c338459d82a6beef4b8c0043e8ece57b6fd77f7796ff55fde8cc3b296dc9c692b304afd9d1fe45f51325b1ef321bb12

View File

@ -0,0 +1,30 @@
# Copyright 2021-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
PYPI_VERIFY_REPO=https://github.com/CourtBouillon/pydyf
PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
DESCRIPTION="A low-level PDF generator"
HOMEPAGE="
https://pypi.org/project/pydyf/
https://github.com/CourtBouillon/pydyf/
"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
BDEPEND="
test? (
app-text/ghostscript-gpl
dev-python/pillow[${PYTHON_USEDEP}]
)
"
EPYTEST_PLUGINS=()
distutils_enable_tests pytest

View File

@ -1,8 +1,5 @@
DIST mongo-python-driver-4.13.1.gh.tar.gz 2225917 BLAKE2B 2c02e608f54c68abebb69cd61f16c79c8388301e6ebe77a73959ba3dbe086c878b3afd1523f6943ddfca228e1115cbaade49c29c2e5bb620feab9214dcbfba11 SHA512 8baf5548d5772fa62fef2a4ac2fa7dc83bcf7fda178410e9bf675679ea77976f72548a0794ced6856ea538d02403a3c522a66cbf2e37f506b4546489a689ce92
DIST mongo-python-driver-4.13.2.gh.tar.gz 2227437 BLAKE2B 3aa6d0feedc6a33eb4e9299d85eeab2a9638bf713cfadf9f4018f6bd668758d3afd5b9b4b71dec037fb3f99e89cc34e299e1d9b4521c8ace9da9ce50ae95142b SHA512 845cf92e702a9970f2ef1b5085fffcca96021e0f2fc5133e24b2860482dafabe7770d9421922659d0c6008aac1d5a70834ee4f1728a648fd83e6d33bc33568b0
DIST mongo-python-driver-4.14.1.gh.tar.gz 2271379 BLAKE2B 5a1ce13c5275657ee3d64fc0450a20e9c6c3bbfd91bfde6e6e3e8f143b95ea63d18b5cf2b8ba3b707f642eea900894a56889d6bf1d7d9f11f6cfa556a9b7b10b SHA512 087c0450ee1d261cdcb8558d75b4749395058773a33849d94824e2fca0157d0eb4c3f5545a4ddfc0b1bc645a52988f515a90be978f4f88c6a3db4dffa2f9ff9e
DIST mongo-python-driver-4.15.0.gh.tar.gz 2535131 BLAKE2B 6d8915d0fc2f2aff41a085d11d64d761cbf6d8edf7636200fefd1e8e8060b14f6f3cdc2e437b0328f586bd575ad1ea8b212e415279162e47c590de95508752c8 SHA512 a1c3674f4abf09ee1e97fb0a5acfa00c7be111a75457ca50d777c949bb09e4e6f0b11bc718c8d416e72710107812efbeb4302f46b679a73514348a8cfcc69f1a
DIST mongo-python-driver-4.15.1.gh.tar.gz 2536890 BLAKE2B 6edab82aae4a01e13e7ac81149176c083bac83c274a382d3cd2f2e7e26775ab60d83866b3b183329467275294d1244cc0c784b29aa5b94e0c5ed4850a0dcdd98 SHA512 807ad85313f8ff56e60cb95d6fe35c9f897a57ba413740321a015736d6a61d48f7ec704705843e444628d5844525e64b217a898b502e7d36545421c47542de78
DIST mongo-python-driver-4.15.2.gh.tar.gz 2536862 BLAKE2B 91ba6ce4b15711e8d503b0ec3d6a9267bb812ba539bfc340774d8cfb6446bbc7e3cc0db47ba697bcc264da753625143a55b76607be871606fa739295e148da04 SHA512 e69815b11eb16f39e66494469e2b0c598ab4d0726a746ff0c488547c4c4c41c6feaccc973f936682b868a0eccbc0e76855e92ca2f95e5823c11432619bd2e9aa
DIST mongo-python-driver-4.15.3.gh.tar.gz 2536990 BLAKE2B 4df18671a3e366fad3fc8ee2dcdbb23c8496fbf4e8bee8d1f81cffb05884f4bb0a38491cc2dc141a4bd4e7a51e182c3fb215cafbf57a3543e59a7c3b1f33a572 SHA512 5d0c58797268535e097eee30e89dabfbdf0c5dc82ef9ab527d62eeea66c64fed514c19c81607147fb773d498516d4198c64f5ba403b083aef6d94af5bc800b3a
DIST mongo-python-driver-4.15.4.gh.tar.gz 2537291 BLAKE2B 3c269b75156714f8f36cc46ad1c58b11b027ac7fa9ac352240362224e8eeec54cddeeead4446e1e869b4de55a8c5f250b3000f8a64328020f9c4109aaff5f333 SHA512 ee91f55b8d8203aac5be6cf573143778a0250384fb2dd751ccceb8fdaf32923ce55165ee4ab5b9d0aecefd4230a59dbbc0c7c4a890672445115aaf15a5a2c926
DIST mongo-python-driver-4.15.5.gh.tar.gz 2537732 BLAKE2B db699b91c89d6252c265abbc9d65f9b4733258f8a407ff98d3d24aa67989bf66c4879c8b44c0b59cddcd6da05c5fbf3d43fa222a8b3e1a63d27824513f6146d5 SHA512 bc627cf7d2fbbfc64f27c84ff620bf4c2d6d3abba72db0ba25a2158d4a020785a9539c4e3f3b383e75cba4d7150e7d84ec08faf94dfb109d68debbf190cae6e6

View File

@ -1,212 +0,0 @@
diff --git a/bson/__init__.py b/bson/__init__.py
index b655e30c2c..6b2ba293a6 100644
--- a/bson/__init__.py
+++ b/bson/__init__.py
@@ -1009,7 +1009,7 @@ def _dict_to_bson(
try:
elements.append(_element_to_bson(key, value, check_keys, opts))
except InvalidDocument as err:
- raise InvalidDocument(f"Invalid document {doc} | {err}") from err
+ raise InvalidDocument(f"Invalid document: {err}", doc) from err
except AttributeError:
raise TypeError(f"encoder expected a mapping type but got: {doc!r}") from None
diff --git a/bson/_cbsonmodule.c b/bson/_cbsonmodule.c
index be91e41734..bee7198567 100644
--- a/bson/_cbsonmodule.c
+++ b/bson/_cbsonmodule.c
@@ -1645,11 +1645,11 @@ static int write_raw_doc(buffer_t buffer, PyObject* raw, PyObject* _raw_str) {
}
-/* Update Invalid Document error message to include doc.
+/* Update Invalid Document error to include doc as a property.
*/
void handle_invalid_doc_error(PyObject* dict) {
PyObject *etype = NULL, *evalue = NULL, *etrace = NULL;
- PyObject *msg = NULL, *dict_str = NULL, *new_msg = NULL;
+ PyObject *msg = NULL, *new_msg = NULL, *new_evalue = NULL;
PyErr_Fetch(&etype, &evalue, &etrace);
PyObject *InvalidDocument = _error("InvalidDocument");
if (InvalidDocument == NULL) {
@@ -1659,26 +1659,22 @@ void handle_invalid_doc_error(PyObject* dict) {
if (evalue && PyErr_GivenExceptionMatches(etype, InvalidDocument)) {
PyObject *msg = PyObject_Str(evalue);
if (msg) {
- // Prepend doc to the existing message
- PyObject *dict_str = PyObject_Str(dict);
- if (dict_str == NULL) {
- goto cleanup;
- }
- const char * dict_str_utf8 = PyUnicode_AsUTF8(dict_str);
- if (dict_str_utf8 == NULL) {
- goto cleanup;
- }
const char * msg_utf8 = PyUnicode_AsUTF8(msg);
if (msg_utf8 == NULL) {
goto cleanup;
}
- PyObject *new_msg = PyUnicode_FromFormat("Invalid document %s | %s", dict_str_utf8, msg_utf8);
+ PyObject *new_msg = PyUnicode_FromFormat("Invalid document: %s", msg_utf8);
+ if (new_msg == NULL) {
+ goto cleanup;
+ }
+ // Add doc to the error instance as a property.
+ PyObject *new_evalue = PyObject_CallFunctionObjArgs(InvalidDocument, new_msg, dict, NULL);
Py_DECREF(evalue);
Py_DECREF(etype);
etype = InvalidDocument;
InvalidDocument = NULL;
- if (new_msg) {
- evalue = new_msg;
+ if (new_evalue) {
+ evalue = new_evalue;
} else {
evalue = msg;
}
@@ -1689,7 +1685,7 @@ void handle_invalid_doc_error(PyObject* dict) {
PyErr_Restore(etype, evalue, etrace);
Py_XDECREF(msg);
Py_XDECREF(InvalidDocument);
- Py_XDECREF(dict_str);
+ Py_XDECREF(new_evalue);
Py_XDECREF(new_msg);
}
diff --git a/bson/errors.py b/bson/errors.py
index a3699e704c..ffc117f7ac 100644
--- a/bson/errors.py
+++ b/bson/errors.py
@@ -15,6 +15,8 @@
"""Exceptions raised by the BSON package."""
from __future__ import annotations
+from typing import Any, Optional
+
class BSONError(Exception):
"""Base class for all BSON exceptions."""
@@ -31,6 +33,17 @@ class InvalidStringData(BSONError):
class InvalidDocument(BSONError):
"""Raised when trying to create a BSON object from an invalid document."""
+ def __init__(self, message: str, document: Optional[Any] = None) -> None:
+ super().__init__(message)
+ self._document = document
+
+ @property
+ def document(self) -> Any:
+ """The invalid document that caused the error.
+
+ ..versionadded:: 4.16"""
+ return self._document
+
class InvalidId(BSONError):
"""Raised when trying to create an ObjectId from invalid data."""
diff --git a/doc/changelog.rst b/doc/changelog.rst
index 082c22fafc..7270043d41 100644
--- a/doc/changelog.rst
+++ b/doc/changelog.rst
@@ -1,6 +1,15 @@
Changelog
=========
+Changes in Version 4.16.0 (XXXX/XX/XX)
+--------------------------------------
+
+PyMongo 4.16 brings a number of changes including:
+
+- Removed invalid documents from :class:`bson.errors.InvalidDocument` error messages as
+ doing so may leak sensitive user data.
+ Instead, invalid documents are stored in :attr:`bson.errors.InvalidDocument.document`.
+
Changes in Version 4.15.1 (2025/09/16)
--------------------------------------
diff --git a/test/test_bson.py b/test/test_bson.py
index e4cf85c46c..f792db1e89 100644
--- a/test/test_bson.py
+++ b/test/test_bson.py
@@ -1163,7 +1163,7 @@ def __repr__(self):
):
encode({"t": Wrapper(1)})
- def test_doc_in_invalid_document_error_message(self):
+ def test_doc_in_invalid_document_error_as_property(self):
class Wrapper:
def __init__(self, val):
self.val = val
@@ -1173,10 +1173,11 @@ def __repr__(self):
self.assertEqual("1", repr(Wrapper(1)))
doc = {"t": Wrapper(1)}
- with self.assertRaisesRegex(InvalidDocument, f"Invalid document {doc}"):
+ with self.assertRaisesRegex(InvalidDocument, "Invalid document:") as cm:
encode(doc)
+ self.assertEqual(cm.exception.document, doc)
- def test_doc_in_invalid_document_error_message_mapping(self):
+ def test_doc_in_invalid_document_error_as_property_mapping(self):
class MyMapping(abc.Mapping):
def keys(self):
return ["t"]
@@ -1192,6 +1193,11 @@ def __len__(self):
def __iter__(self):
return iter(["t"])
+ def __eq__(self, other):
+ if isinstance(other, MyMapping):
+ return True
+ return False
+
class Wrapper:
def __init__(self, val):
self.val = val
@@ -1201,8 +1207,9 @@ def __repr__(self):
self.assertEqual("1", repr(Wrapper(1)))
doc = MyMapping()
- with self.assertRaisesRegex(InvalidDocument, f"Invalid document {doc}"):
+ with self.assertRaisesRegex(InvalidDocument, "Invalid document:") as cm:
encode(doc)
+ self.assertEqual(cm.exception.document, doc)
class TestCodecOptions(unittest.TestCase):
diff --git a/bson/_cbsonmodule.c b/bson/_cbsonmodule.c
index bee7198567..7d184641c5 100644
--- a/bson/_cbsonmodule.c
+++ b/bson/_cbsonmodule.c
@@ -1657,26 +1657,28 @@ void handle_invalid_doc_error(PyObject* dict) {
}
if (evalue && PyErr_GivenExceptionMatches(etype, InvalidDocument)) {
- PyObject *msg = PyObject_Str(evalue);
+ msg = PyObject_Str(evalue);
if (msg) {
const char * msg_utf8 = PyUnicode_AsUTF8(msg);
if (msg_utf8 == NULL) {
goto cleanup;
}
- PyObject *new_msg = PyUnicode_FromFormat("Invalid document: %s", msg_utf8);
+ new_msg = PyUnicode_FromFormat("Invalid document: %s", msg_utf8);
if (new_msg == NULL) {
goto cleanup;
}
// Add doc to the error instance as a property.
- PyObject *new_evalue = PyObject_CallFunctionObjArgs(InvalidDocument, new_msg, dict, NULL);
+ new_evalue = PyObject_CallFunctionObjArgs(InvalidDocument, new_msg, dict, NULL);
Py_DECREF(evalue);
Py_DECREF(etype);
etype = InvalidDocument;
InvalidDocument = NULL;
if (new_evalue) {
evalue = new_evalue;
+ new_evalue = NULL;
} else {
evalue = msg;
+ msg = NULL;
}
}
PyErr_NormalizeException(&etype, &evalue, &etrace);

View File

@ -1,201 +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=( pypy3_11 python3_{11..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? (
test-full? (
>=dev-db/mongodb-2.6.0
)
)
"
distutils_enable_sphinx doc
EPYTEST_PLUGINS=( pytest-asyncio )
EPYTEST_RERUNS=5
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 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 -m "default or default_async or encryption" || failed=1
mongod --dbpath "${dbpath}" --shutdown || die
[[ ${failed} ]] && die "Tests fail with ${EPYTHON}"
rm -rf "${dbpath}" || die
}

View File

@ -1,207 +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=( pypy3_11 python3_{11..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? (
test-full? (
>=dev-db/mongodb-2.6.0
)
)
"
distutils_enable_sphinx doc
EPYTEST_PLUGINS=( pytest-asyncio )
EPYTEST_RERUNS=5
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() {
local PATCHES=(
# https://github.com/mongodb/mongo-python-driver/pull/2539
# https://github.com/mongodb/mongo-python-driver/pull/2573
"${FILESDIR}/${P}-backports.patch"
)
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 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 -m "default or default_async or encryption" || failed=1
mongod --dbpath "${dbpath}" --shutdown || die
[[ ${failed} ]] && die "Tests fail with ${EPYTHON}"
rm -rf "${dbpath}" || die
}

View File

@ -1,201 +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=( pypy3_11 python3_{11..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? (
test-full? (
>=dev-db/mongodb-2.6.0
)
)
"
distutils_enable_sphinx doc
EPYTEST_PLUGINS=( pytest-asyncio )
EPYTEST_RERUNS=5
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 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 -m "default or default_async or encryption" || failed=1
mongod --dbpath "${dbpath}" --shutdown || die
[[ ${failed} ]] && die "Tests fail with ${EPYTHON}"
rm -rf "${dbpath}" || die
}

View File

@ -1,201 +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=( pypy3_11 python3_{11..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? (
test-full? (
>=dev-db/mongodb-2.6.0
)
)
"
distutils_enable_sphinx doc
EPYTEST_PLUGINS=( pytest-asyncio )
EPYTEST_RERUNS=5
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 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 -m "default or default_async or encryption" || failed=1
mongod --dbpath "${dbpath}" --shutdown || die
[[ ${failed} ]] && die "Tests fail with ${EPYTHON}"
rm -rf "${dbpath}" || die
}

View File

@ -417,6 +417,7 @@ python_compile() {
DISTUTILS_ARGS=(
"${MAIN_DISTUTILS_ARGS[@]}"
--reuse-build
--shiboken-host-path=="${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))/${pyside_build_dir}/install"
--shiboken-target-path="${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))/${pyside_build_dir}/install"
--build-type=pyside6
)
@ -461,7 +462,7 @@ python_compile() {
popd >/dev/null || die
fi
mkdir -p "${BUILD_DIR}/install/usr/include"
for dir in PySide6 shiboken6_generator; do
for dir in PySide6 shiboken6 shiboken6_generator; do
if [[ -d ${BUILD_DIR}/install/$(python_get_sitedir)/${dir}/include ]]
then
ln -s "../../$(python_get_sitedir)/${dir}/include" \
@ -520,6 +521,9 @@ python_compile() {
-e "s~libshiboken6\.cpython.*\.so\.$(ver_cut 1-2)~libshiboken6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \
-e "s~libpyside6\.cpython.*\.so\.$(ver_cut 1-2)~libpyside6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \
-e "s~libpyside6qml\.cpython.*\.so\.$(ver_cut 1-2)~libpyside6qml\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \
-e "s~\${PACKAGE_PREFIX_DIR}/~$(python_get_sitedir)/PySide6/~g" \
-e "s~\${_IMPORT_PREFIX}/shiboken6/include~$(python_get_sitedir)/shiboken6/include~g" \
-e "s~\${_IMPORT_PREFIX}/PySide6/include~$(python_get_sitedir)/PySide6/include~g" \
-i "${BUILD_DIR}/install/usr/lib/cmake/"*/*.cmake || die
local file
for file in "${BUILD_DIR}/install/usr/lib/cmake/"*/*.cpython-*.cmake

View File

@ -417,6 +417,7 @@ python_compile() {
DISTUTILS_ARGS=(
"${MAIN_DISTUTILS_ARGS[@]}"
--reuse-build
--shiboken-host-path=="${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))/${pyside_build_dir}/install"
--shiboken-target-path="${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))/${pyside_build_dir}/install"
--build-type=pyside6
)
@ -461,7 +462,7 @@ python_compile() {
popd >/dev/null || die
fi
mkdir -p "${BUILD_DIR}/install/usr/include"
for dir in PySide6 shiboken6_generator; do
for dir in PySide6 shiboken6 shiboken6_generator; do
if [[ -d ${BUILD_DIR}/install/$(python_get_sitedir)/${dir}/include ]]
then
ln -s "../../$(python_get_sitedir)/${dir}/include" \
@ -520,6 +521,9 @@ python_compile() {
-e "s~libshiboken6\.cpython.*\.so\.$(ver_cut 1-2)~libshiboken6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \
-e "s~libpyside6\.cpython.*\.so\.$(ver_cut 1-2)~libpyside6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \
-e "s~libpyside6qml\.cpython.*\.so\.$(ver_cut 1-2)~libpyside6qml\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \
-e "s~\${PACKAGE_PREFIX_DIR}/~$(python_get_sitedir)/PySide6/~g" \
-e "s~\${_IMPORT_PREFIX}/shiboken6/include~$(python_get_sitedir)/shiboken6/include~g" \
-e "s~\${_IMPORT_PREFIX}/PySide6/include~$(python_get_sitedir)/PySide6/include~g" \
-i "${BUILD_DIR}/install/usr/lib/cmake/"*/*.cmake || die
local file
for file in "${BUILD_DIR}/install/usr/lib/cmake/"*/*.cpython-*.cmake

View File

@ -1 +1,2 @@
DIST pytest_httpx-0.35.0.tar.gz 54146 BLAKE2B 1d0814478c3ef26720b42c0bf0fd0a2b42c57eda887b99ba8b09acd6d12a8af04dc3821645130e786558f2f0d42625e0f9145231a86f9ecd0e508fb9a5247a90 SHA512 70ecfc7778aa4eb617e4685851dacec563e507d5f2aa571cd5acae7ac9f1667d7c67ce40144fa5e2649993c0e0aaa11650ea32f2dfe74652ecb115291a4c77ff
DIST pytest_httpx-0.36.0.tar.gz 56793 BLAKE2B cac3afb3c6f3916d9112e961e47324bb8fdf43330db16072548d7af4c8d395fbc2e0e92ae03342b4c7922046d7cead7cbde14c063576765695d5e095c3585721 SHA512 2e8aefa3483a6edcbae001f65881b4720b5a422e10da73a798fa10fbbe164ae4279eef68d5210178e41a907096a9a85400bc3527a967f1dcc813e62769170ec7

View File

@ -0,0 +1,39 @@
# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
DESCRIPTION="Send responses to HTTPX using pytest"
HOMEPAGE="
https://colin-b.github.io/pytest_httpx/
https://github.com/Colin-b/pytest_httpx/
https://pypi.org/project/pytest-httpx/
"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
RDEPEND="
>=dev-python/httpx-0.28[${PYTHON_USEDEP}]
>=dev-python/pytest-8[${PYTHON_USEDEP}]
"
BDEPEND="
dev-python/setuptools-scm[${PYTHON_USEDEP}]
"
EPYTEST_PLUGINS=( "${PN}" pytest-asyncio )
EPYTEST_PLUGIN_LOAD_VIA_ENV=1
distutils_enable_tests pytest
src_prepare() {
distutils-r1_src_prepare
# unpin dependencies
sed -i -e '/==/{s:==:>=:;s:\.\*::}' pyproject.toml || die
}

View File

@ -18,6 +18,8 @@ DIST Python-3.13.9.tar.xz 22681368 BLAKE2B 8fbf9b9e0dcc480a5bac82d5c18d6fdb63076
DIST Python-3.13.9.tar.xz.asc 963 BLAKE2B 7989940e3dfc62c553016f9d2b9aef447e770d63b2508f287e14495ba3e98326279d2bdb3b96bbc65ff2a859253bc43d8ce5387873842f656a66abef8380a3b7 SHA512 c33fba3a6b22dccc08beb7f13bd61a25a30f609a54da7c8dfd3b3b4a3490a7b24c11f9617a835388f22709fb09375d35febc417cf104a18f5bec3b43ec999e82
DIST Python-3.14.0.tar.xz 23595844 BLAKE2B 0fe495d62819c9066240927ceff022dc36920cfd9aa7f80f09fd82a6baf42fe0ef85aed7087418ad9769504e62dc0592cf9c06a542335d83ab65fc6399b5ac76 SHA512 46e9e205c3a084cba68bf7f267ab2fd0862a05430165e0eb713f2d6b3a1a4452f72f563de5de55caea824be9df56f66dd568f4814941667a9bb0954229772c53
DIST Python-3.14.0.tar.xz.sigstore 5374 BLAKE2B 50ed6dada3a7dfcfeb47e0cc55568c0e2ea01a5710f341d6423bb5b0982897b13a7a7c91d8b7c995499f687b17a6cf432fdcd3338b0ac658d19a8ad032438957 SHA512 147bf060a55b9108efb6f6a7f478c0b4dc1e7b1e215b842fb8adfe1b96bbe8d1b49ad352455e047d694638130f8533e3ea1c3a246e9ed0fde0d08e80113a6c44
DIST Python-3.14.1.tar.xz 23563532 BLAKE2B c75d6048ca6b504217578041a6777b507a783f639736d580e0a2964a7d0411011d025a4562c38f68ffe46ee2f35135426f6c6c5d070c1d9106477421d6f92266 SHA512 b5ec011190536126fedade5c33a4afabc081a133ad5c734f4b872769d376735775219d63a482812d139fdd90c46707927065ab9dc733d0bce2d1ebc59fe705a2
DIST Python-3.14.1.tar.xz.sigstore 5123 BLAKE2B b20634370ea0915c564c586b7537cfc19b8fb6f032fd6ad5df795fe818eea85e78375a32f3f079afdcd86e9aa4e5c2eae8933a326e0699e5c16ba094c39ddd94 SHA512 5b668deafa301d6eb69a7ffb03627c89d2f5de794be292f34cf44f6a1d81b46778f469282a746147a6ca5767a7b4c093b89d25a3a14fcb8f3b9c3e4f40808b27
DIST python-gentoo-patches-3.11.11.tar.xz 10604 BLAKE2B 6be4c66b0458f7a7085aef976cff3dcb4d114ac0b64fb27327a5693e8d41a77f7eeed718b9c5a1b1961278235ee4cd43497aa3dc27e6e6bed65804b95f667a15 SHA512 ab8113a94949cead34d976179f80c3e0a6686bf2476079a74f97b4d08c24a237500dc7ee09dc3b0ec98d2fbcb138397c73d7e2252e617a957a13999e59115158
DIST python-gentoo-patches-3.11.13_p1.tar.xz 27748 BLAKE2B 26e0b5397d7927711bcc40330f72f54fb16c660c56a2f87166c5336eb2f53ccd4e920b906854ee122d64360b414e11a38a31a410936b4a49f6610626203f4322 SHA512 7c7eca7bf827255925e073c0ed5c69e9036b79e35e8f6ccb2684709bdc41fec80823a1df192c3decf56ba6d53e2c9feaf7fb81f3a214da69773da6a2997ca19b
DIST python-gentoo-patches-3.11.14.tar.xz 15968 BLAKE2B 5bd091046feee03afd59a87b72c44b3a0874b23f89eb98020cc057f5651d31857721eb095bd056dae8bef85220dbe5aff2900cf8411dceb14e8775a4a2f09a93 SHA512 760df16f98c1a91164b43c13eb36073c74169321569791125fdad8682419b818736fe02e40c1aa1232a11081b1007c923a8fd2afd002eb4fdff0800da92d03e2
@ -33,3 +35,4 @@ DIST python-gentoo-patches-3.13.9.tar.xz 8952 BLAKE2B 9941b3dd241adcdde64b38bdc3
DIST python-gentoo-patches-3.14.0.tar.xz 7992 BLAKE2B 8faff97c198abc1549d7c871c82ff649bbdbe18f9cfdad31aa7b6535391fff8e6adc387a120a6298ede8842421bc103cfae27da807e651c9898d4edb192f4fd7 SHA512 7bc425a89d0f3ebbdab4f52ce1300e16512bda4f08968222e8e68f22d3a794fc7d32a00644f4949810ebb41da0ffd4a5a962dcbee86c7660cd4214406ad16b01
DIST python-gentoo-patches-3.14.0_p1.tar.xz 8952 BLAKE2B d53c5a055be72e3f92a63e18cf75d2f6eb1e352a7529f7ce8256aaf0fa5ac92443646fe07bdbc707a28c1ed395c4c2edd29db0b8fc591679c7602aedfc968489 SHA512 ec03a259281d675063ad82dfd9c0fcb08402120663b9c2a56e37de45bb03e678fccd0c3723b6deffc4f5b8ea4ad17492040a98c7434853da2007f31cdb549bdd
DIST python-gentoo-patches-3.14.0b1.tar.xz 5680 BLAKE2B 514b3edc3025e5bf675d371b5ada17dea426856edf1fb6095c2ee400eae95bd4265ef81fe593ae9338e801e7d0a25b1d5ba2d05ca563fd9dd020114b13575746 SHA512 74289e42cf532b54bb1b66a283ec19156f8a36ba38764209c133842314c9efb2ce2ebcba5aa9213bcf7fc0c8a5ca9b6e7adbd5dbfa4397233136d7cd55f53ee7
DIST python-gentoo-patches-3.14.1.tar.xz 8008 BLAKE2B 52b47d49126a9e93ccc8425322fb3055337cacd8b913104cfec320acae267d44140286b8be720fa5a98b146257e4847b8df46a6f9124d8e81368a1ad24194c0e SHA512 28f6a746dd5e06e432a79eef33fc80faa8ac589f1d328e4e86fdd9e6aa5012f248c81e47204c1fe64ed16cc15038eafef27d6fffb947dbbc4705b559d5639b13

View File

@ -0,0 +1,73 @@
# Copyright 2024-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_14t )
VERIFY_SIG_METHOD=sigstore
inherit python-r1 verify-sig
REAL_PV=${PV#0.}
MY_PV=${REAL_PV/_/}
MY_P="Python-${MY_PV%_p*}"
PYVER=$(ver_cut 2-3)t
PATCHSET="python-gentoo-patches-${MY_PV}"
DESCRIPTION="Test modules from dev-lang/python"
HOMEPAGE="
https://www.python.org/
https://github.com/python/cpython/
"
SRC_URI="
https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
verify-sig? (
https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.sigstore
)
"
S="${WORKDIR}/${MY_P}/Lib"
LICENSE="PSF-2"
SLOT="${PYVER}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
# enable by default to help CI handle it (we have no additional deps)
IUSE="+python_targets_${PYTHON_COMPAT[0]}"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="
${PYTHON_DEPS}
~dev-lang/python-${PV}:${PYVER}
"
BDEPEND="
${PYTHON_DEPS}
"
# https://www.python.org/downloads/metadata/sigstore/
VERIFY_SIG_CERT_IDENTITY=hugo@python.org
VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth
src_unpack() {
if use verify-sig; then
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore}
fi
default
}
src_prepare() {
local PATCHES=(
"${WORKDIR}/${PATCHSET}"
)
cd .. || die
default
}
src_install() {
python_setup
# keep in sync with TESTSUBDIRS in Makefile.pre.in
python_moduleinto "/usr/lib/python${PYVER}"
python_domodule test
python_moduleinto "/usr/lib/python${PYVER}/idlelib"
python_domodule idlelib/idle_test
}

View File

@ -0,0 +1,72 @@
# Copyright 2024-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_14 )
VERIFY_SIG_METHOD=sigstore
inherit python-r1 verify-sig
MY_PV=${PV/_/}
MY_P="Python-${MY_PV%_p*}"
PYVER=$(ver_cut 1-2)
PATCHSET="python-gentoo-patches-${MY_PV}"
DESCRIPTION="Test modules from dev-lang/python"
HOMEPAGE="
https://www.python.org/
https://github.com/python/cpython/
"
SRC_URI="
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
verify-sig? (
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore
)
"
S="${WORKDIR}/${MY_P}/Lib"
LICENSE="PSF-2"
SLOT="${PYVER}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
# enable by default to help CI handle it (we have no additional deps)
IUSE="+python_targets_${PYTHON_COMPAT[0]}"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="
${PYTHON_DEPS}
~dev-lang/python-${PV}:${PYVER}
"
BDEPEND="
${PYTHON_DEPS}
"
# https://www.python.org/downloads/metadata/sigstore/
VERIFY_SIG_CERT_IDENTITY=hugo@python.org
VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth
src_unpack() {
if use verify-sig; then
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore}
fi
default
}
src_prepare() {
local PATCHES=(
"${WORKDIR}/${PATCHSET}"
)
cd .. || die
default
}
src_install() {
python_setup
# keep in sync with TESTSUBDIRS in Makefile.pre.in
python_moduleinto "/usr/lib/python${PYVER}"
python_domodule test
python_moduleinto "/usr/lib/python${PYVER}/idlelib"
python_domodule idlelib/idle_test
}

View File

@ -1,4 +1,4 @@
DIST pyzotero-1.7.3.tar.gz 532004 BLAKE2B e516a4052c5553710cf7b215f41d010a7c5f4d39dd7dd384206861bd75fcc48bee6c3ac3a3bba3c7e3b22f9335ec5aae9128796591faaadce44bb7afc35f1423 SHA512 cc20277fedc9426c939bdf3193f26cf4ba591be559381894b67492d7d43ca9fa6f4cd7493d67f405d5d23253e3a02f1b6d4f345169deae15f49498637db5ccab
DIST pyzotero-1.7.3.tar.gz.provenance 9152 BLAKE2B de20fce045bcef374fb9d921dfa9f5309a70fe3df2e32bc5a6cdfc106708fe2f6cfd030e4eee13f7b94a2ccb0b03146a566cb3fe7d2032dc10ae393b5080db62 SHA512 9e15c7cf299f2c13564353a0dc5bf45f6cb4b6db945cf060ea4fe7506e3e3f383d31c03adfaf7bc964a1d758d2e19e7e4136a05b06747c959bb5d28f743528d5
DIST pyzotero-1.7.5.tar.gz 532915 BLAKE2B a7ead5ed0764885535ab73aed707b577ce23c17571c3dcba6e54321ce919bde05cd6eb45b901e4947762a9a04aa376749c416af0c29caf9fce66f958e54f9912 SHA512 5317bd314333c9d3fadcd7c604f1372060547f045e770b9706af5b16e34944ec01f5325188c822b248a75179d591a81004e8a7f78ba5247a005e892d66082f0a
DIST pyzotero-1.7.5.tar.gz.provenance 9019 BLAKE2B fedb0d6fdc6b3600d2110a85e9fe27156c42e04e4fa6e714cd64252ec9fd5f3beec812c7f85f548b738e08cc52f3a6ecd3c9fd9179c8f9dd1565edf2d953cfb1 SHA512 7770b38118f98aec8a938a824cc0f949b6019e20100f9f3936830992e363791d8599f8efa23e98ad493b7a735f80ba1e53afc56d7c17b1a9014a47a50b577533
DIST pyzotero-1.7.6.tar.gz 533398 BLAKE2B 5b7d4f78a2160ede771ad5b47cdcffc30b0d9410099ce63deaac92e24a0e6dc9c5eb9f587218e372c6f7ca550f00e302a4cf9c70bde19e01f442be8f636bd20f SHA512 d5644dc5d3bbcc9c86aa07fc909dccd0b4b3c38dedec3e3a9603ea8154a5fa908af27faa8e0e49128f2bcf3268a85179f7d562eb4e0d2a4f2c787f545d2afb1a
DIST pyzotero-1.7.6.tar.gz.provenance 9254 BLAKE2B 45d666a961f334c179b163e65a6e1db84b2180b4947dc832a528031488e67e6187a3b7333d7520514d8acba4cb4bb445780c7f0c25f66d69673fcddf9f89d5cc SHA512 bf78192e411c615db1daac105ebce11eb4bab2900ff8c1f57b9562a1e078987754688b248b55fc37e87894e80d39c0766d2c087db80cee6cef9cb9a24fb2d20b

View File

@ -1,2 +1,3 @@
DIST sabctools-8.2.5.gh.tar.gz 8974284 BLAKE2B acc5dcbeaa20e916a8fc8691bd389c8f60c9a9d2eca9dff2fb7dd4da4abee9ad7dcd9003eeb5f37b51f3ec5c7041517ebf60679373bd101b9546d0de7de2ac0e SHA512 8e3ed65ca4cb8879e07a48033bc6b7efd6bbd4f5a7df43db8fa28719dde194aa55a53709c9d4c29ac273369ceeb845188f1b8a0cde6904962148e6352acb40fa
DIST sabctools-8.2.6.gh.tar.gz 8974199 BLAKE2B cefafb57802e7d9b32b99de16b7df2745276c4602c7aa2f9f750bf2c741224b3a9180c2a9dd6d0e807c5297e2a70dbfb3784e546618536e7fa8d6273bc5d3684 SHA512 230a3c78a11d459703bb79d765ac5bf3e21ae239731ada73103e641af64c0cccd6f8e82d4a8a6016585c9935c93f9535cb5a0ead951f4f536a038fc2ebf056db
DIST sabctools-9.0.0.gh.tar.gz 9731189 BLAKE2B 59f200041c2555cf1aa2ef3adeefc5f46181a0fa673101475f4f45631282efe4b0cc39f3eec258430abe36a24f1d23926a076e22dfbfe5c566ba7866ffd8327d SHA512 f1a37a785c9b4e61f5febc2a782df9bf096c0408289c993307c4c448ef660051b0450ca7a047d771381a288aa246a5aad28f42b4d40986a3f0ec7ee0a1c1166f

View File

@ -0,0 +1,40 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
MY_PN="sabctools"
MY_P="${MY_PN}-${PV}"
DESCRIPTION="Module providing raw yEnc encoding/decoding for SABnzbd"
HOMEPAGE="
https://github.com/sabnzbd/sabctools/
https://pypi.org/project/sabctools/
"
SRC_URI="
https://github.com/sabnzbd/${MY_PN}/archive/v${PV}.tar.gz
-> ${MY_P}.gh.tar.gz
"
S="${WORKDIR}/${MY_P}"
LICENSE="LGPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
BDEPEND="
test? (
dev-python/chardet[${PYTHON_USEDEP}]
dev-python/portend[${PYTHON_USEDEP}]
)
"
DOCS=( README.md doc/yenc-draft.1.3.txt )
EPYTEST_PLUGINS=()
distutils_enable_tests pytest

View File

@ -1 +1,2 @@
DIST sphinx_gallery-0.19.0.tar.gz 471479 BLAKE2B 335d976be4786c522693d5a5c08bbcf29aea6c571187fef77d582b827c4958e34bf1a86fec7012fc6af921600b925f46c25924522c0c5c96519331cb42a30c16 SHA512 90ed1aafa718937ee9bd5c8f52937c5a65058ca5a2138606f48f41637dae8a1d3c22cfcbed2eef3aaf3180ee137d943cfbde72ba2625c23f6d7d8e911f3f374f
DIST sphinx_gallery-0.20.0.tar.gz 473502 BLAKE2B eced250cbd7b5c86a748ee68f0d0c9d2fc02c526b1c9f83b74f6c82f2df9cd4e0571edf0650392f2b9b33a8c33c6c22e700c82f87e2bd63b2bbb94905bdc940d SHA512 571ae48d7aba2b7807b68cdab7d73a538fe8cfb72436c80f85cd3c309d4ded6a5368400485f7684e607a980b1679438be4148ca9681c75a80f754ca084a716b3

View File

@ -0,0 +1,52 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{11..13} )
inherit distutils-r1 pypi
DESCRIPTION="Sphinx extension to automatically generate an examples gallery"
HOMEPAGE="
https://github.com/sphinx-gallery/sphinx-gallery/
https://sphinx-gallery.github.io/
https://pypi.org/project/sphinx-gallery/
"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
RDEPEND="
dev-python/matplotlib[${PYTHON_USEDEP}]
dev-python/pillow[${PYTHON_USEDEP}]
>=dev-python/sphinx-5[${PYTHON_USEDEP}]
"
BDEPEND="
dev-python/setuptools-scm[${PYTHON_USEDEP}]
test? (
dev-python/joblib[${PYTHON_USEDEP}]
)
"
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
python_test() {
local EPYTEST_DESELECT=(
# Internet
sphinx_gallery/tests/test_docs_resolv.py::test_embed_code_links_get_data
sphinx_gallery/tests/test_full.py::test_run_sphinx
sphinx_gallery/tests/test_full.py::test_embed_links_and_styles
# require jupyterlite_sphinx
sphinx_gallery/tests/test_full.py
sphinx_gallery/tests/test_full_noexec.py
sphinx_gallery/tests/test_gen_gallery.py::test_create_jupyterlite_contents
sphinx_gallery/tests/test_gen_gallery.py::test_create_jupyterlite_contents_non_default_contents
sphinx_gallery/tests/test_gen_gallery.py::test_create_jupyterlite_contents_with_jupyterlite_disabled_via_config
)
epytest -o addopts=
}

View File

@ -1,6 +1,6 @@
DIST sqlglot-26.33.0-crates.tar.xz 8859792 BLAKE2B abb2051b392c53dc3caa705ddd8df7076819a26dcdaa89fa3760559a79578db01e86943c2d0ffb8006263c2dca3aa50d20023eae9d772f8ebd12a8a2d3266cdd SHA512 7cca439a06433a62bcd4a2af33d240f46e9b5240cc158edbc654efb37a464aa0f1ebbe9749b2fc6352127b4809b63af2341fac6240050c414e578ae99444ba5d
DIST sqlglot-26.33.0.tar.gz 5353340 BLAKE2B 18ace866ec89ced24911803497e8cb5c55fc6c157bf62b893e90df914b8be3360403ffff67f196080cdef9b9b9078b86d471494ae9768e7947a8b4d5d39e49af SHA512 df38e899d59bdd07aca0e5370833133308f9c5be4d0c990bf8112a48776fae034b622938aba968769aa5dc5e2957d56da48c89045b91b2d33783e6e25acc4a7b
DIST sqlglot-27.24.2-crates.tar.xz 8973180 BLAKE2B f893ebe4b94d4c2ab94f8fa902e51066e861511f698b24660d5becd31a98837c5a7f23a3d80c0716e8017012ae61f7202440c0092e1417e5f61b62e2e9f4260b SHA512 6a92b1ba2fbb51eac170db7a927927f8a06f184ebf820107a813c9cfa4dcdbea794199090a33986b48f5f00b3f43b404b7e1d26f5bf9663c53cb2b8f134d69af
DIST sqlglot-27.28.1.tar.gz 5498876 BLAKE2B 7adc2c5fe063f3ba98ad9f37471c2a0d4eed36c4a110cfde2531783dc17118f495d111f0f27eb37f6562c6db7e8b5eb20689d25b71d01edafa51c3bf265ece16 SHA512 e8d2d43622906510dc003c62c074336e19631c679b7c77f7afd527115744a0076c14cf179bf1d3929a15bd8af5e26d125e34cb286274ee047f8b4da19fb0859a
DIST sqlglot-27.29.0.tar.gz 5503507 BLAKE2B f9c92b8f287ca4c99c792d005e62846afd669ba27b5d09042de06c8c3fa5e46b21abdf5134cc81ae3ae2cb13d0a5997c56ac07c14e5fb938544d5dbc08c70632 SHA512 5fc7a8a81b39a2dba007b501f1f5c2de9fa1e74b39d44e1bea706491db1ead0329aa2fbfb7c4997a50458137af70d259a227a8662ac26ba2904dde2b66922bb1
DIST sqlglot-28.0.0.tar.gz 5520798 BLAKE2B 3dffa572e58380437e03b9cca2a7e0d3bdab70f4543cb7bbec37306143db2ea8abb2dd85771b2833ffd92172b4a962861060e9f8c64c58d53d5d0433bac1817c SHA512 6e39af720b56a5d0ee617d96f5dabc89b0638f04ca9a2d92138e6ca833b73e88016e6d94f19726540bcb55a60290d37a4fcd26f59589f46697a110177d48ae20
DIST sqlglot-28.1.0.tar.gz 5546281 BLAKE2B 67b6ae2e3e2fef3a4df6759c12e4a028fc561ce3ad6befff9cc05f022273f5b3c076d75a727742c5ccf259425376318548655be2700491eed8d89429d45e6ce6 SHA512 2e4bba3ca9a2165c8d5b9341851828bb386c77b4721a2217e99345d7b0f0d5d98c657771b35de6d108f68aa96eff10a641f5627912342e57a4231162bcb7152d

View File

@ -1,2 +1,2 @@
DIST sybil-9.1.0.gh.tar.gz 75369 BLAKE2B db9397d212042ea230b6357f8003d620a45e9b8332f7f326cbc7d6dbc188c9c72bac105871a2b56b51e28d6149535aa86c732fbb28ff63f6d265c3751f129e11 SHA512 1b0498ed14114398d0580eb35f3a6c693bc2bbef9cec47beb7084581e82487b15b6fd5266c2cb8927ea412624e3c1a66c65f14f6007196ab7aa9dcd0668cd3d8
DIST sybil-9.2.0.gh.tar.gz 77600 BLAKE2B 1890c40653e21d116adac30d2623c0626b49bd56c0d7c162d765455ad11f45e769948d34ab3db20d73d62d79384b31598955a568b64672350245471e6a0a57a9 SHA512 0c9188f7c98a1c562b773e7a0f1de430d5ecb98738911b5bda5e3e01ac5a2ce4186d1765d7559711b6b9c819497529ac1196eeec27eb2946730b9913105a8e1e
DIST sybil-9.3.0.gh.tar.gz 79832 BLAKE2B e3dfe125fa678ab6cfd1c4c7af59def3d9b02c506f193e0f7035dd074a1c949e6a30926155a41de8f05766a0c709d03cd3463e84def165cb1ac1526b0c95b553 SHA512 2ea4bc51c8b87cdc034c2d6b4d6016c9b1333d613de9ca49b67fca25b7d3aa800ef790b220db9973e70996f692cb9736dd3dadaf3c0275430f73471e95d96caa

View File

@ -1,42 +0,0 @@
# Copyright 2019-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
DESCRIPTION="Automated testing for the examples in your documentation"
HOMEPAGE="
https://github.com/simplistix/sybil/
https://pypi.org/project/sybil/
"
# tests are missing in sdist, as of 5.0.1
SRC_URI="
https://github.com/simplistix/sybil/archive/${PV}.tar.gz
-> ${P}.gh.tar.gz
"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86"
RDEPEND="
>=dev-python/pytest-8[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
dev-python/myst-parser[${PYTHON_USEDEP}]
dev-python/seedir[${PYTHON_USEDEP}]
dev-python/testfixtures[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest
python_test() {
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest
}

View File

@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{11..13} )
PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
@ -21,7 +21,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
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/pytest-8[${PYTHON_USEDEP}]

View File

@ -1,2 +1,2 @@
DIST urwid-3.0.2.tar.gz 855353 BLAKE2B cc1cf1611d1c9c4702880953b723445cb7972ae0ebedd369c881608cfe4c80873e3ed5ba6c7055466e967d954a8d7e3e7c34a1d31a617866e74907fef99ab4c2 SHA512 60f3a911d85907953c8b791458602a271bdbdebddec0905e02bc424340fef542eadd4a2b8d8ec1883238b794565c96ae1f0396abb0b39ed4d3d5dd66c62140f6
DIST urwid-3.0.3.tar.gz 855817 BLAKE2B 069ebcda9a79192bc098e87f8a0cc2bbc66a53a3482262e7be77017ba0a1b73e3794160f3cc51b8f1916252fffa6d6401bebd2a6268071de2b5bb646d79c73f7 SHA512 4c8ced00f399509225b7b287704a6d00f05b80411b9381355dcf384243e36f200a3efdf01e3ea6f7c9fbeed4c1105595d4dd99220c80e8fd3ddfebdaf1fcf5eb
DIST urwid-3.0.4.tar.gz 855817 BLAKE2B abf8fa38b2ef4b62878d4473588b95277e9fd88dc8d70c9444e5a6a5ca50d9ad78065e66acb3253e55a5af6ede8feb8c2abd825176136adb01afcc023492b575 SHA512 02e7e089f8a4b90a61e2dd7988a7c1b89caf11174f27c8d8fe423f4688853e25210f6eec0d299570676cc0d106641fb6aebcdfab17c9d4bab91a69234cb8dce0

View File

@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="examples"
RDEPEND="

View File

@ -3,6 +3,7 @@ DIST uv_build-0.9.11.tar.gz 336407 BLAKE2B 19177207f53ecab919ee875ae5aecd77f76dc
DIST uv_build-0.9.12.tar.gz 338778 BLAKE2B b11a99bcd9f130107a2529a204bfcb64a3bdc7116a5f8dacef285f08db1cc999ad55b8b791c820dd6c16ff9d6941c9090dd9d58ffafb3d97da6031c350a736c8 SHA512 84e5231654e133032909a30375ab6284fcad3770140d9e9b9d14ea0fc261f380b7b60be3785acb51e2f09e3cdee1f9c76c8af38daa9ca42513c9728725d6ff44
DIST uv_build-0.9.13.tar.gz 338831 BLAKE2B ba0b4eca782afc52d7303a51ecb18957073c22c0be1dae90ccc044c59cc2a6502c89ce06a5fa6b4014fdd54f641d97523cdad4ab15f19e9ae97541aa51a7a5ec SHA512 6ef5fe809b2fc80778b33c43b3083fdd4320be031818d88f3bf9e7f2dd4bcf59303ccd7b5398eacedbf9c500ae336bf18c7ed15de858b6f369594e14b005d71d
DIST uv_build-0.9.14.tar.gz 339665 BLAKE2B a23fa78e67450d3da7c17ce8828f3c635eddbbe36f2742f7bafa324a140dbf064fd19350263b0a87aec1edba2189a5d219a1e04416659287007598487f678f81 SHA512 ac4d578cf61cfaa4b4b0d38917f6f65de64111d7764bc2e837489fda8c6ce2a18b4256965df9e32b223ce34721bc07fbac7aeef078eaf9cac6d6d3309260180a
DIST uv_build-0.9.15.tar.gz 354021 BLAKE2B a47350ead8d9672d09967bbd7f9ac2f8e231e1dd5afb8c20e59926429792d3872feb1f8e4d7a9318ec447a99ce8add0503dfba0be2b970b2f192f954b472f1a7 SHA512 11fa1ebb1cfc184bd5bedf5e11fb28f14abf118183d94cbe0ac9a1b83f150a69836f0547a671e8cf16527d84ec61dd5b2983efafe5aeccd86e94cda79e1de664
DIST uv_build-0.9.4.tar.gz 332506 BLAKE2B 3b65cc80192cf3abc33bcf01735c8b7f937a12f2dcd0557d0ae255ce8bd4cb7dbb15522e73802be0e17ac10c4acad6f9075f12d5f853bb1881b0c13f1d120b33 SHA512 c3be52cfbc1cf5a229df91d9e1125925a534e3fca3041e29a16edd2334fa28b055c73e21a6bd1a3d1d63924cf8f112645300530e8cb6139fb549499ca672070f
DIST uv_build-0.9.6.tar.gz 332253 BLAKE2B 2c3fa23dbe36b0866a3a3194b07ee1212cb00acd785c375646c3eb6c97a63435f28c9e934f56c8d6feeec145aace1aad37550b85ae2a611f521fc25a4c7d3bc1 SHA512 e8d8bbd46c92722261722f3d8865b2b24e695edf52652c1d1310adae3cb437ebef5397feda90e3bf863394ca75cf3024eb90a5f80b2b92af24ede4e2f81b0ce1
DIST uv_build-0.9.7.tar.gz 332992 BLAKE2B 069e615f41e78098b61cc073cb01bc77e0e6778f3054ccfcf36985be3755d7e819cc1bd151e875db109461f423cc855cd336467015ec7103e47346f230564679 SHA512 d61249de00640f6e0ab62ab440a8aae1802acbd6cf8ecb8aca3efe26361d7191d057735ab91c174c5772fc04accf0ae3281f447d010c99e2f458829f4c618abc

View File

@ -0,0 +1,99 @@
# Copyright 2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# Maturin compiles uv-build executable for every impl, we do not want
# that, so we use another backend. And since we use another backend,
# why not dogfood it in the first place?
DISTUTILS_USE_PEP517=standalone
PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1 pypi
DESCRIPTION="PEP517 uv build backend"
HOMEPAGE="
https://github.com/astral-sh/uv/
https://pypi.org/project/uv-build/
"
LICENSE="|| ( Apache-2.0 MIT )"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
>=dev-python/uv-${PV}
"
BDEPEND="
test? (
app-arch/unzip
dev-python/build[${PYTHON_USEDEP}]
)
"
src_prepare() {
distutils-r1_src_prepare
# use the executable from dev-python/uv instead of building
# a largely overlapping uv-build executable (at least for now)
sed -i -e '/USE_UV_EXECUTABLE/s:False:True:' python/uv_build/__init__.py || die
# replace the build-system section
sed -i -e '/\[build-system\]/,$d' pyproject.toml || die
cat >> pyproject.toml <<-EOF || die
[build-system]
requires = ["uv_build<9999"]
build-backend = "uv_build"
backend-path = ["src"]
EOF
# rename to make uv-build find it
mv python src || die
}
python_test() {
"${EPYTHON}" -m build -n || die "Self-build failed with ${EPYTHON}"
local zip_result=$(
unzip -t "dist/uv_build-${PV}-py3-none-any.whl" || die
)
local zip_expected="\
Archive: dist/uv_build-${PV}-py3-none-any.whl
testing: uv_build/ OK
testing: uv_build/__init__.py OK
testing: uv_build/__main__.py OK
testing: uv_build/py.typed OK
testing: uv_build-${PV}.dist-info/ OK
testing: uv_build-${PV}.dist-info/WHEEL OK
testing: uv_build-${PV}.dist-info/METADATA OK
testing: uv_build-${PV}.dist-info/RECORD OK
No errors detected in compressed data of dist/uv_build-${PV}-py3-none-any.whl.\
"
if [[ ${zip_result} != ${zip_expected} ]]; then
eerror ".zip result:\n${zip_result}"
eerror ".zip expected:\n${zip_expected}"
die ".whl result mismatch"
fi
local tar_result=$(
tar -tf "dist/uv_build-${PV}.tar.gz" || die
)
local tar_expected="\
uv_build-${PV}/PKG-INFO
uv_build-${PV}/
uv_build-${PV}/README.md
uv_build-${PV}/pyproject.toml
uv_build-${PV}/src
uv_build-${PV}/src/uv_build
uv_build-${PV}/src/uv_build/__init__.py
uv_build-${PV}/src/uv_build/__main__.py
uv_build-${PV}/src/uv_build/py.typed\
"
if [[ ${tar_result} != ${tar_expected} ]]; then
eerror ".tar.gz result:\n${tar_result}"
eerror ".tar.gz expected:\n${tar_expected}"
die ".tar.gz result mismatch"
fi
}

View File

@ -13,6 +13,8 @@ DIST uv-0.9.13-crates.tar.xz 46463392 BLAKE2B 54b504453381a619537155898ab8c19d33
DIST uv-0.9.13.gh.tar.gz 4856421 BLAKE2B f7b0a2ead03da04b61e9d5c56add88f17a5f314f6a6b8bca4aa9c66d2d3754595c42cff98be8022ccc729c7213d53a1af002c145f091da6b736f7d7a199a1414 SHA512 eb35b243c18c2e7fb7783eecdb3c6d85c277d808117cc02ed4c600246237f56613988a414f66b7486691f770444eb2b2e5f3bee6c2e539e4c4dec305cb022266
DIST uv-0.9.14-crates.tar.xz 46510364 BLAKE2B f39e68e8419d82dab627525288829f81bcdbfad925b278442fc2a579d704c2e66b96033048275b9eb575b310fd99adc3f00d79ebc781ffc9022431d5822ef4a2 SHA512 c670a8cd21a0f617675735dd5444f05288df9589d9344c32ba92df6fb0e8bd94713c71616245fdaba9b0068e21c52d54e23d07a6d948989a4c46f748f58b15b3
DIST uv-0.9.14.gh.tar.gz 4859989 BLAKE2B b4e8cdd35c9fc40a1777b2b625e870bf5d89a585ff722674c94abc75700047a69f32ab6651f8a3953c68feb02f8e86f61120b1b86057ae30b0162824c9e0a231 SHA512 d1cbdcc36fd65111ceb875c6ba4cc54bc7762556f2fb17f8bb130ed42d037782c5a5f0d55d33fdc47f8d17c7cea19e776c302b188b883f7a94df2c4227ab32a3
DIST uv-0.9.15-crates.tar.xz 46539408 BLAKE2B 57e582f56e12858292d1dfaec10292eb58fb118051618875eab0d2dcd4f55aa89de6f788b3aa5013ce5e03068bb404ef04faae633d5c208f382366ac5ddf70df SHA512 4db7549d6902682db7af385e5099e74bbd82e54aaf45a44fe64416fda91e065f4bf978b9db55ab72f2872f9e8933b49020102b959c1d2bcef4b9a9877ac1e789
DIST uv-0.9.15.gh.tar.gz 4887603 BLAKE2B 422a3c004abdf052438b145400675010b1adfc8cb8d49979367544e2d381389594188276fe603ffa983f5926be624f5d863053bd79342eeee10caf1260b2a479 SHA512 2605e2e7d5f6fdbb5ec4839363f65c8e71559944ec003cb9c69040be08094eb5c041831151b669e2dbbcf1799e862f484a21a592090524f79686469eac0e3381
DIST uv-0.9.4-crates.tar.xz 46093644 BLAKE2B bdce4b138718b91a67ccb36e6d8839358ab2ddeeedec3017bc245b0717e32d890a41f8c9c831983681ec715ce458efa8d43356c189b9b7457df3e71122924e3f SHA512 7047b68db7e05abb6a399250a4a531499985d42f12eff61ad1557823b37d62576b38b51ccbe39a02bc9a98af6341de728466b262c49bb48dd30abb64eb804660
DIST uv-0.9.4.gh.tar.gz 4749319 BLAKE2B b46d44830f7a2a621f3ab420db85e9d999b7c42ddebc21403ea2f11e819e8295af37049f1529848a3fd83ef87ac0de26ce1e1c03bf4177c3032b9adfd6dfe1e8 SHA512 ae11c1e777e3d0e036f0a665e2edfb9a4b5b50a9e107d795113b626bc16d406d3fca12e8a133185e54279b2a64f8e3d276372cefc9a96b2ac5f1ed0ece2c10b0
DIST uv-0.9.6-crates.tar.xz 45696768 BLAKE2B 96cff52c0e5477c4e9648e3863d32bde4b34a1a46b6d96703c48fe340b655319e951471aa6403c09818c313a59b0e54804467efa7e13a8410de34299a98f077b SHA512 46964460f3404304faefd1758bb07bcddf1d48efbdd2b890ddb0d2623841e1a0c86108ac3c9312ed8e2f8fcaefbf9b022b57cd6074fdb6d52f43c35e3b3c2d32

View File

@ -0,0 +1,167 @@
# Copyright 2024-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CRATES="
"
RUST_MIN_VER="1.89.0"
inherit cargo check-reqs
CRATE_PV=${PV}
DESCRIPTION="A Python package installer and resolver, written in Rust"
HOMEPAGE="
https://github.com/astral-sh/uv/
https://pypi.org/project/uv/
"
# pypi sdist misses scripts/, needed for tests
SRC_URI="
https://github.com/astral-sh/uv/archive/${PV}.tar.gz
-> ${P}.gh.tar.gz
${CARGO_CRATE_URIS}
"
if [[ ${PKGBUMPING} != ${PVR} ]]; then
SRC_URI+="
https://github.com/gentoo-crate-dist/uv/releases/download/${CRATE_PV}/uv-${CRATE_PV}-crates.tar.xz
"
fi
# most of the code
LICENSE="|| ( Apache-2.0 MIT )"
# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below
# Dependent crate licenses
LICENSE+="
0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0
CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016
ZLIB
"
# ring crate
LICENSE+=" openssl"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
IUSE="test"
RESTRICT="test"
PROPERTIES="test_network"
DEPEND="
app-arch/bzip2:=
app-arch/xz-utils:=
app-arch/zstd:=
"
RDEPEND="
${DEPEND}
"
BDEPEND="
test? (
dev-lang/python:3.9
dev-lang/python:3.10
dev-lang/python:3.11
dev-lang/python:3.12
dev-lang/python:3.13
!!~dev-python/uv-0.5.0
)
"
QA_FLAGS_IGNORED="usr/bin/.*"
check_space() {
local CHECKREQS_DISK_BUILD=3G
use debug && CHECKREQS_DISK_BUILD=9G
check-reqs_pkg_setup
}
pkg_pretend() {
check_space
}
pkg_setup() {
check_space
rust_pkg_setup
}
src_prepare() {
default
# force thin lto, makes build much faster and less memory hungry
# (i.e. makes it possible to actually build uv on 32-bit PPC)
sed -i -e '/lto/s:fat:thin:' Cargo.toml || die
# enable system libraries where supported
export ZSTD_SYS_USE_PKG_CONFIG=1
# TODO: unbundle libz-ng-sys, tikv-jemalloc-sys?
# remove unbundled sources, just in case
find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die
# bzip2-sys requires a pkg-config file
# https://github.com/alexcrichton/bzip2-rs/issues/104
mkdir "${T}/pkg-config" || die
export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}}
cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die
Name: bzip2
Version: 9999
Description:
Libs: -lbz2
EOF
}
src_configure() {
local myfeatures=(
git
pypi
python
)
cargo_src_configure --no-default-features
}
src_compile() {
cd crates/uv || die
cargo_src_compile
}
src_test() {
# work around https://github.com/astral-sh/uv/issues/4376
local -x PATH=${BROOT}/usr/lib/python-exec/python3.12:${PATH}
local -x COLUMNS=100
local -x PYTHONDONTWRITEBYTECODE=
# fix tests failing because of our config
local -x XDG_CONFIG_DIRS=${T}
cd crates/uv || die
cargo_src_test --no-fail-fast
}
src_install() {
cd crates/uv || die
cargo_src_install
insinto /etc/xdg/uv
newins - uv.toml <<-EOF || die
# These defaults match Fedora, see:
# https://src.fedoraproject.org/rpms/uv/pull-request/18
# By default ("automatic"), uv downloads missing Python versions
# automatically and keeps them in the user's home directory.
# Disable that to make downloading opt-in, and especially
# to avoid unnecessarily fetching custom Python when the distro
# package would be preferable. Python builds can still be
# downloaded manually via "uv python install".
#
# https://docs.astral.sh/uv/reference/settings/#python-downloads
python-downloads = "manual"
# By default ("managed"), uv always prefers self-installed
# Python versions over the system Python, independently
# of versions. Since we generally expect users to use that
# to install old Python versions not in ::gentoo anymore,
# this effectively means that uv would end up preferring very
# old Python versions over the newer ones that are provided
# by the system. Default to using the system versions to avoid
# this counter-intuitive behavior.
#
# https://docs.astral.sh/uv/reference/settings/#python-preference
python-preference = "system"
EOF
}

View File

@ -1,2 +1,4 @@
DIST weasyprint-66.0.tar.gz 504224 BLAKE2B 2090b07fa06df89c847c4037fa2b7276bde2866b61e7b54b09d94658a2be3f988128619fa645569194f5087531a5403281e6d2bc926f18e8b5fe4f79dddc3ee9 SHA512 850996c6934156f4d4fca12cc052a8346b85aeadf1a3d99763e20a6ddabd2b93a39983615990e0e680a942c63c09563effa9b66abc5bf0c368963737ddf66264
DIST weasyprint-66.0.tar.gz.provenance 9133 BLAKE2B 11ffc967072d8950d35ac3b9057a642a913626331abf7f326c6766f5dd9d6483c79e34ddf221b856e224e7162b76c830db847e9282f5f63d29d0d361eccd887d SHA512 d336e3f6db27ae2b40d39a2ed9108f151afb219746a2e3ba1081e4be6d6c66acf8b168b15bafa8b5298148750f2d999b81b72b516ba33bf334d0a001dfd22364
DIST weasyprint-67.0.tar.gz 1534152 BLAKE2B 0c966872817c46c96b58a834d2986766eb25f14215e71636f084bcd5bb1fbab1981295ea46bf69806c29606e29ee4412faafa86d7e2f230f26f45ffecff4639d SHA512 e0241507e57aaee18e0f6ae469de12df4ae4930a5e9f7e9ef428fbd6eb59efe40598423e6ce6de5c12d088439d30ec562cc28f342c7720e742ab16d8110380f1
DIST weasyprint-67.0.tar.gz.provenance 9415 BLAKE2B 058789a472699b87aa695cf91055d27b274cc8ee60aafbe805ec021ec7bd28f45d9468ea64c63f45ff34f133cd18787972906160b089825dd03ab9afdbac559a SHA512 22d29f3be521d868e798dc01bde3b0f38279ae72d58d6bffc7f6792a58ebb22f02bd47f76cf2e79cb1141ee55fd5340d4a3adaca40776c043123fcbc25190bb8

View File

@ -0,0 +1,45 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
PYPI_VERIFY_REPO=https://github.com/Kozea/WeasyPrint
PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
DESCRIPTION="Visual rendering engine for HTML and CSS that can export to PDF"
HOMEPAGE="
https://weasyprint.org/
https://github.com/Kozea/WeasyPrint/
https://pypi.org/project/weasyprint/
"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RDEPEND="
>=dev-python/cffi-0.6:=[${PYTHON_USEDEP}]
>=dev-python/cssselect2-0.8.0[${PYTHON_USEDEP}]
>=dev-python/fonttools-4.59.2[${PYTHON_USEDEP}]
>=dev-python/pillow-9.1.0[jpeg,jpeg2k,${PYTHON_USEDEP}]
>=dev-python/pydyf-0.11.0[${PYTHON_USEDEP}]
>=dev-python/pyphen-0.9.1[${PYTHON_USEDEP}]
>=dev-python/tinycss2-1.5.0[${PYTHON_USEDEP}]
>=dev-python/tinyhtml5-2.0.0[${PYTHON_USEDEP}]
media-fonts/dejavu
x11-libs/pango
"
BDEPEND="
test? (
>=app-text/ghostscript-gpl-9.56.1-r3
media-fonts/ahem
)
"
EPYTEST_PLUGINS=()
EPYTEST_XDIST=1
distutils_enable_tests pytest

View File

@ -1,21 +1,15 @@
DIST lsp-types-3512a9f33eadc5402cfab1b8f7340824c8ca1439.gh.tar.gz 71124 BLAKE2B b2ea1c8fdd96dcc78ea48be71d1a4870fe1ff7f6a03dfe96479e0cba5f6b13ea68381d0a85fcb79a1ec2345eab7032c76cf567a813885128f94ac0c47c3de7bf SHA512 3362f9db4e78261825ae17b3429f9c54dc1b32a8b6a275ecff7bbe457c610d27ac37e68be3e9e27378f5f54c786dee787fd87b33c102f2507a46cf7290390ab5
DIST ruff-0.13.1-crates.tar.xz 22289184 BLAKE2B c750396641652e538ba34081f62da40338ddcc02bcf2c131f77f759bb45637db2c8824ad5d290cbc55a7a3d04b7b9950caea4a03db6a109f8089ab339c34c375 SHA512 42c967ba063fecde8e48d69261c355952095d0ba748695305fb090bc4ea07eeb2c3a7c673438dbd2ba7690808f07cb1fc3438300cf8a15344b3fbdc41dedae89
DIST ruff-0.13.1.gh.tar.gz 7990401 BLAKE2B 0c24b65c1212791e06c7ec4d153ca030f20bea75bd55be78314c07237f62060d24544dc45d7928e660f94284f8e45379a7d2f4b30863133b72fcf617ec0a2777 SHA512 f6461b23743144d5c21f83dafed89561514f143d5acfbee1c453f445e27b4d6638299123bdd13031741c8cc410376b111e7c25aab9fec30e7f2f190760ffae04
DIST ruff-0.13.3-crates.tar.xz 22354868 BLAKE2B df4e5318147e4dac6394047e94cd5e1cd6c3a27e773e82a3df0196dc6f1ff8cf73dc6cf0fb6400dc3779c6be7cf37ed887a56f32a39d25945297f247db153b93 SHA512 1cbbc0b8d7d70cc5fdb05bc47dda0e42f937a24e0df72ba2dfb91656df4ffd58a964eb85993b2bc084c4126333c06c7fe8a192a557f78033f973299679fc513c
DIST ruff-0.13.3.gh.tar.gz 8042833 BLAKE2B 39c5848c954e32cfecf4a7ac9a82d4403a722a770a952c889d2bccc3799c0509492744f028fbe066b531c2157e68eabb92d5270bf7991014df4c862ea5be68a0 SHA512 8239f609814d8e3dd2964e7f9e3a130e588acec6a9aec0e7cce863f3cbb851fe323e6e138aa3f4d549a158164482a9f19993d73b60e3fc11614998d92a80deae
DIST ruff-0.14.2-crates.tar.xz 23442964 BLAKE2B 08fe3eb5537bd4c7eaa085d28fece4d577721758d9146af245c73085799d0872f2db57421960c764960ebd7350e6e52561f21ce11d4e788c39bd136a8199f2b8 SHA512 0e400b252251402ad06ea62b81b83cab0ba4b32e63bc09a03ffbf510ce1549ad9aebf06640260096e382f8f7f6684e660468878dcaebfe3cc2a32dc97539089f
DIST ruff-0.14.2.gh.tar.gz 8203745 BLAKE2B 9a56250b614ff39267aad0af2575a64af8f4ffcab2f77f99e25940aad7fe292f9463a0934b7e310ac05a4819a0b45a0a4e5589b68beb9ab17a7c1a3a29e5dc61 SHA512 d94da568add3f12305d2c9ea4c8f15bb4ec785134417355ee214ca8fd56e831edc98c3e070263f4b4e4cf05ec390b8d1fc9d182ed1a37012c1f8101df86c3ba6
DIST ruff-0.14.3-crates.tar.xz 23444028 BLAKE2B cf64890f6e39e3ec11ad68dbb961740f3151cb635e64a0bebadaca652de63834d59f59b587dbdc574242035fafa57d50db2b1c17b8e34aeca05507b53022802f SHA512 a5a135cf34114997a350b9509db6f85d254c3e984cd571ba768328776c21e3624afc5b497e17131040e4aaf18b0ea83fe990e559b0074f1f96bab958d1e4b60f
DIST ruff-0.14.3.gh.tar.gz 8233440 BLAKE2B 4b2b36345284696f02d518aa74239ebc72338a67ce1c5c158a5beaf382e956703dc1242b10dc1f4bfe38b4e9418d64215fce8b94fcdfa114ec8a6a9997c17ad8 SHA512 13f8ca38d6a6c9aff6e96f0f3af22b3d931b636779fad4b6353de348016f0e04153e3780377a36220514fc7172d81ed584870a861bbc3d9456d2902f2871f90d
DIST ruff-0.14.4-crates.tar.xz 23720372 BLAKE2B 99168dcfe4e00948482052a5c527909ee7926efd8b1677d4c762dafa8e126196f1797b1d61a4e0633af7cbe7002851136c7a8a69f1fca8f58286c1254af58d93 SHA512 f1f7e331e9610fa81d3d434a99b18c68b21e1a68871069c00d5966cdd81f5e19279ffcb2137c86bec1fe9a95826cfd1407c63a23514bb173fef2566a42b5bd57
DIST ruff-0.14.4.gh.tar.gz 8266160 BLAKE2B 9b2a63e9f61ce709173cf769b4cd8e949cba5e7b598aafd0ddfb195aafc5939abb2ff9ddcfc3120c30c975c8d828cb4b292d5bc04cc9f4ffe4685e7125efe773 SHA512 45dec24955e617ee5619bf3ad7b0cbd611b43d07690d7a990bd3e9284272f7867b84046e8d3eb9c9be056e36224ca7fdd8e294229e996102075bedbbe0aeba32
DIST ruff-0.14.5-crates.tar.xz 23721648 BLAKE2B 85967ff7a4ee02e26d9aec2312b1c82daeb91245a643526288cfaa0b49a1772f1217f3d2f5b68839cb91ef55830547ecd38bc897e3fe366256c16d34f29d5f4a SHA512 47d6a248edacc1c334b981e7b61d283b3822ab2aa49929d770fbcedc3d95d17278d33fdf9330af7e80867f46d3668060cc9a86a48b1d7d5917eb8b8019d42017
DIST ruff-0.14.5.gh.tar.gz 8320373 BLAKE2B aaf94d50d84a3b594ca909fec58a761640152d76b3f3e48c32445cda18ab5f23cf8e07e9c2ce63bb6c4fdede652d3bb0890219cf62edbf0ac980d3d33b09df20 SHA512 3b826dda6be1f67bd36ad77527e2252c8f186159fea2e2b5a2f1052717438104ad2326231a59bbc6d0159b7a757f62a8d782a9c7921940fdc2bd786abc047cc4
DIST ruff-0.14.6-crates.tar.xz 23752712 BLAKE2B ee49cf2f67b35072c84c6a1936f3d1dec0bc4c0256be0c5c9034f09838c9431a0890f70475d2cab19bf01ac560023b1874ab129252486bcf9dc1e231dcd9a1c3 SHA512 8782daa561df781ed0e546ff9f288ba6b5dc1eb9b7157e0b28d92f38834401b7b72a827e918d9eec1a6c33f7ea28139a3861584ad656ad07d7511b01d1871f59
DIST ruff-0.14.6.gh.tar.gz 8397813 BLAKE2B 153a770a9ef805c9972e9a04c31876e0f2bfdd99ada263bbe895d4ff9379cb641e034ee1118a3f123c43bc7257660127a5641235ac21e95229de644a7faddbe4 SHA512 7bf4f1884054408999ac477ab4dd34f5c5fa45d59462187d582fdfd01fdff62c802844fc67c0165387072d7127df89a42ff3da27e7fd165d9f7d5b96230cd5bc
DIST ruff-0.14.7-crates.tar.xz 23748368 BLAKE2B 49f3fea3e9cdc9cfd57a6921e44ea7858b7b73ca043e1ae25e166a0864a6fc286c08952151b4b2b329c9679ecca0b638c68a8794ab3631e1a74649a772bf292c SHA512 6d2258eb2231c177b433fbf9db0d20f66c9cc643fbe1f1d325f58e477554eb5b3eda05229d859dae2e04e5e0859efddc8ecd78ddc35e20284749816d8f453837
DIST ruff-0.14.7.gh.tar.gz 10307498 BLAKE2B c31764444e7c1de062f701421574e5b6410593d5cb207c222eccf11c284a21b4d1b2cc5cf26d6731d5b86ee4edfd7bb2ec048c53f3b053771cd4878945ca4f82 SHA512 1ed8e803520fcc2be1f93459201b4fd10da085ea478031eda7e38624075a3635bb76b81665ba2f08878e49c5020c6f5839a2a61ec7dca1227f63e47e553fc145
DIST salsa-05a9af7f554b64b8aadc2eeb6f2caf73d0408d09.gh.tar.gz 730179 BLAKE2B 7b57e50c2fbb6973e18a0197c38591f908f30eb138bcf3c2088e60cf7c81cfb01101542f35fc5cec67fa5d77e96fc4782a726c3fe33aa837a7f8325800ed8843 SHA512 cfe8513c55bf3b16b3b4f86198847d1f34313d14c260ef05d4baf9fd15ca93faba3d7232181bebb7adef8f5ae0f817095e7c3ea982838052896b294259de87c7
DIST salsa-29ab321b45d00daa4315fa2a06f7207759a8c87e.gh.tar.gz 718322 BLAKE2B 7cd6eb8f7d2c9fc473e516384f83b8217288397cc051c644264de28eec531447c45ca875e3059ed65ebbe578f51bf223ebb4f59ab057cf1930d920b834dec549 SHA512 d8f500352923dcc233c05e25c81008ba94c5529e2e41421d701027f97509281d6ff42c5f0084459a5aa21c817a66f5f9956f3cca24467fec04b1383221778ed5
DIST salsa-17bc55d699565e5a1cb1bd42363b905af2f9f3e7.gh.tar.gz 731114 BLAKE2B fd0955880ac2b25e6ffa9b92ed3d34a1171e99d5bb244234d03a68fed1add9248e887cb6b01047375cf0cf56e2026b259296363f55c7509d421884d404581f4f SHA512 745ba50f1aaf17703e3f83051a88d2c94fe332b668de57cde46b4f0a411bb5c119ef6965a6d49892b55e322af44b420e7086180a32592fe1f90acc20261e6435
DIST salsa-3713cd7eb30821c0c086591832dd6f59f2af7fe7.gh.tar.gz 717350 BLAKE2B 3db412c1ce2953fdde9f182e9611d8dfe09b197be36c69ebf77344fbdf1efb542b94ca61c5cbcc39fdb3df8ec1e374d19e1e1116174f63f907e28b51f14f19cf SHA512 49bcdede05f7f681d075739b685e1807e978d8160374b2d6176246b90255d72c202205e7591af76ce362706793ca8c15f1a3854849c63b466313eaf363ad8c61
DIST salsa-a885bb4c4c192741b8a17418fef81a71e33d111e.gh.tar.gz 730610 BLAKE2B 32c4e35bc709ff35aa137fc0f50bd9d2c70cb6ebbd7224dcbeeb189375eefdf585abe439945a8dca9a4a6e05971eb29043c63f5523f642ae0c3ca960e7d876ec SHA512 94b1a409401639bfec85658589d98a0434b533ed4136a232c99a3c240d786f8e718aaae99f9722bcf2a648cbb63d4f2e2a0aded01ed70548f76c34253ba9c8cc
DIST salsa-cdd0b85516a52c18b8a6d17a2279a96ed6c3e198.gh.tar.gz 730054 BLAKE2B 55d6bf61071490d7d8611ae469605d2c3faf960349a5cdf1f1e7b7cf68c5dc252eec61aa58a5d329748bf68f5a12a5c59be50b09cc75b930c42389d60a537c36 SHA512 ce5344897b5ade4cfcbe3c2edb53c5fe2fd1711f153bdf10d3221124077782a0f4e5872191d2c2b3a1b086118f656a58b97854dccf1d04ddc9e900b5ba8ed647
DIST salsa-d38145c29574758de7ffbe8a13cd4584c3b09161.gh.tar.gz 729199 BLAKE2B facb8bf224a4be3cb9f3584331482fe32e37e9d4b0807903f162a72f65a78f0829c76df6b1c9ebedb4b463ed053709b1fa5e6ab375c8c567e3d89b7ea10abc56 SHA512 c715d96e0236b6c30a97988d3a9f753e6e782b7cc50bb7a5e190a39e1a03f2721126da18e959f6e7111981b3b1fb76d630af9952c494c482502088efa1ed48e6

View File

@ -1,117 +0,0 @@
# Copyright 2024-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Autogenerated by pycargoebuild 0.15.0
EAPI=8
CRATES="
"
declare -A GIT_CRATES=(
[lsp-types]='https://github.com/astral-sh/lsp-types;3512a9f33eadc5402cfab1b8f7340824c8ca1439;lsp-types-%commit%'
[salsa-macro-rules]='https://github.com/salsa-rs/salsa;29ab321b45d00daa4315fa2a06f7207759a8c87e;salsa-%commit%/components/salsa-macro-rules'
[salsa-macros]='https://github.com/salsa-rs/salsa;29ab321b45d00daa4315fa2a06f7207759a8c87e;salsa-%commit%/components/salsa-macros'
[salsa]='https://github.com/salsa-rs/salsa;29ab321b45d00daa4315fa2a06f7207759a8c87e;salsa-%commit%'
)
RUST_MIN_VER="1.88.0"
inherit shell-completion cargo
DESCRIPTION="An extremely fast Python linter, written in Rust"
HOMEPAGE="
https://docs.astral.sh/ruff/
https://github.com/astral-sh/ruff
"
SRC_URI="
${CARGO_CRATE_URIS}
https://github.com/astral-sh/ruff/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz
https://github.com/gentoo-crate-dist/${PN}/releases/download/${PV}/${P}-crates.tar.xz
"
LICENSE="MIT"
# Dependent crate licenses
LICENSE+="
Apache-2.0 BSD CC0-1.0 ISC MIT MPL-2.0 PSF-2 Unicode-3.0
Unicode-DFS-2016 WTFPL-2 ZLIB
"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~loong ~riscv"
RDEPEND="
!elibc_musl? ( !elibc_Darwin? ( !elibc_bionic? ( dev-libs/jemalloc:= ) ) )
app-arch/zstd
"
DEPEND="
${RDEPEND}
"
QA_FLAGS_IGNORED="usr/bin/.*"
DOCS=(
BREAKING_CHANGES.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
README.md
assets
docs
)
src_prepare() {
default
# Experimental cruft cleaner. These crates are not used by the ruff binary,
# and when they are removed in the git repo, the lockfile is regenerated
# and gets quite a bit smaller. Hence pycargoebuild also produces much
# smaller CRATES= variables. Less for the user to download, fewer distfiles
# to mirror.
pushd crates >/dev/null || die
rm -r ruff_{benchmark,dev} ty{,_{ide,project,server}} *_wasm || die
popd > /dev/null || die
# tests that hang in the ebuild environment
rm crates/ruff_annotate_snippets/tests/examples.rs || die
}
src_configure() {
export RUSTFLAGS="${RUSTFLAGS}"
cargo_src_configure
}
src_compile() {
local -x ZSTD_SYS_USE_PKG_CONFIG=1
# Gentoo bug #927338
if use !elibc_musl && use !elibc_Darwin && use !elibc_bionic; then
local -x CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS=1
local -x JEMALLOC_OVERRIDE="${ESYSROOT}/usr/$(get_libdir)"/libjemalloc.so
fi
cargo_src_compile --bin ruff
local releasedir
releasedir=$(cargo_target_dir)
${releasedir}/ruff generate-shell-completion bash > ruff-completion.bash || die
${releasedir}/ruff generate-shell-completion zsh > ruff-completion.zsh || die
}
src_test() {
local -x ZSTD_SYS_USE_PKG_CONFIG=1
# Gentoo bug #927338
if use !elibc_musl && use !elibc_Darwin && use !elibc_bionic; then
local -x CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS=1
local -x JEMALLOC_OVERRIDE="${ESYSROOT}/usr/$(get_libdir)"/libjemalloc.so
fi
cargo_src_test --target-dir "${PWD}"/tested-target/
}
src_install() {
local releasedir=$(cargo_target_dir)
dobin ${releasedir}/ruff
newbashcomp ruff-completion.bash ruff
newzshcomp ruff-completion.zsh _ruff
dodoc -r "${DOCS[@]}"
}

View File

@ -1,117 +0,0 @@
# Copyright 2024-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Autogenerated by pycargoebuild 0.15.0
EAPI=8
CRATES="
"
declare -A GIT_CRATES=(
[lsp-types]='https://github.com/astral-sh/lsp-types;3512a9f33eadc5402cfab1b8f7340824c8ca1439;lsp-types-%commit%'
[salsa-macro-rules]='https://github.com/salsa-rs/salsa;cdd0b85516a52c18b8a6d17a2279a96ed6c3e198;salsa-%commit%/components/salsa-macro-rules'
[salsa-macros]='https://github.com/salsa-rs/salsa;cdd0b85516a52c18b8a6d17a2279a96ed6c3e198;salsa-%commit%/components/salsa-macros'
[salsa]='https://github.com/salsa-rs/salsa;cdd0b85516a52c18b8a6d17a2279a96ed6c3e198;salsa-%commit%'
)
RUST_MIN_VER="1.88.0"
inherit shell-completion cargo
DESCRIPTION="An extremely fast Python linter, written in Rust"
HOMEPAGE="
https://docs.astral.sh/ruff/
https://github.com/astral-sh/ruff
"
SRC_URI="
${CARGO_CRATE_URIS}
https://github.com/astral-sh/ruff/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz
https://github.com/gentoo-crate-dist/${PN}/releases/download/${PV}/${P}-crates.tar.xz
"
LICENSE="MIT"
# Dependent crate licenses
LICENSE+="
Apache-2.0 BSD CC0-1.0 ISC MIT MPL-2.0 PSF-2 Unicode-3.0
Unicode-DFS-2016 WTFPL-2 ZLIB
"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~loong ~riscv"
RDEPEND="
!elibc_musl? ( !elibc_Darwin? ( !elibc_bionic? ( dev-libs/jemalloc:= ) ) )
app-arch/zstd
"
DEPEND="
${RDEPEND}
"
QA_FLAGS_IGNORED="usr/bin/.*"
DOCS=(
BREAKING_CHANGES.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
README.md
assets
docs
)
src_prepare() {
default
# Experimental cruft cleaner. These crates are not used by the ruff binary,
# and when they are removed in the git repo, the lockfile is regenerated
# and gets quite a bit smaller. Hence pycargoebuild also produces much
# smaller CRATES= variables. Less for the user to download, fewer distfiles
# to mirror.
pushd crates >/dev/null || die
rm -r ruff_{benchmark,dev} ty{,_{ide,project,server,completion_eval,combine}} *_wasm || die
popd > /dev/null || die
# tests that hang in the ebuild environment
rm crates/ruff_annotate_snippets/tests/examples.rs || die
}
src_configure() {
export RUSTFLAGS="${RUSTFLAGS}"
cargo_src_configure
}
src_compile() {
local -x ZSTD_SYS_USE_PKG_CONFIG=1
# Gentoo bug #927338
if use !elibc_musl && use !elibc_Darwin && use !elibc_bionic; then
local -x CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS=1
local -x JEMALLOC_OVERRIDE="${ESYSROOT}/usr/$(get_libdir)"/libjemalloc.so
fi
cargo_src_compile --bin ruff
local releasedir
releasedir=$(cargo_target_dir)
${releasedir}/ruff generate-shell-completion bash > ruff-completion.bash || die
${releasedir}/ruff generate-shell-completion zsh > ruff-completion.zsh || die
}
src_test() {
local -x ZSTD_SYS_USE_PKG_CONFIG=1
# Gentoo bug #927338
if use !elibc_musl && use !elibc_Darwin && use !elibc_bionic; then
local -x CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS=1
local -x JEMALLOC_OVERRIDE="${ESYSROOT}/usr/$(get_libdir)"/libjemalloc.so
fi
cargo_src_test --target-dir "${PWD}"/tested-target/
}
src_install() {
local releasedir=$(cargo_target_dir)
dobin ${releasedir}/ruff
newbashcomp ruff-completion.bash ruff
newzshcomp ruff-completion.zsh _ruff
dodoc -r "${DOCS[@]}"
}

View File

@ -10,12 +10,12 @@ CRATES="
declare -A GIT_CRATES=(
[lsp-types]='https://github.com/astral-sh/lsp-types;3512a9f33eadc5402cfab1b8f7340824c8ca1439;lsp-types-%commit%'
[salsa-macro-rules]='https://github.com/salsa-rs/salsa;d38145c29574758de7ffbe8a13cd4584c3b09161;salsa-%commit%/components/salsa-macro-rules'
[salsa-macros]='https://github.com/salsa-rs/salsa;d38145c29574758de7ffbe8a13cd4584c3b09161;salsa-%commit%/components/salsa-macros'
[salsa]='https://github.com/salsa-rs/salsa;d38145c29574758de7ffbe8a13cd4584c3b09161;salsa-%commit%'
[salsa-macro-rules]='https://github.com/salsa-rs/salsa;17bc55d699565e5a1cb1bd42363b905af2f9f3e7;salsa-%commit%/components/salsa-macro-rules'
[salsa-macros]='https://github.com/salsa-rs/salsa;17bc55d699565e5a1cb1bd42363b905af2f9f3e7;salsa-%commit%/components/salsa-macros'
[salsa]='https://github.com/salsa-rs/salsa;17bc55d699565e5a1cb1bd42363b905af2f9f3e7;salsa-%commit%'
)
RUST_MIN_VER="1.88.0"
RUST_MIN_VER="1.89.0"
inherit shell-completion cargo

View File

@ -31,6 +31,8 @@ esac
if [[ -z ${_ADA_ECLASS} ]]; then
_ADA_ECLASS=1
inherit flag-o-matic
# @ECLASS_VARIABLE: ADA_DEPS
# @OUTPUT_VARIABLE
# @DESCRIPTION:
@ -57,7 +59,7 @@ _ADA_ECLASS=1
# @DESCRIPTION:
# All supported Ada implementations, most preferred last.
_ADA_ALL_IMPLS=(
gcc_12 gcc_13 gcc_14 gcc_15
gcc_12 gcc_13 gcc_14 gcc_15 gcc_16
)
readonly _ADA_ALL_IMPLS
@ -119,7 +121,7 @@ _ada_impl_supported() {
# keep in sync with _ADA_ALL_IMPLS!
# (not using that list because inline patterns shall be faster)
case "${impl}" in
gcc_12|gcc_13|gcc_14|gcc_15)
gcc_12|gcc_13|gcc_14|gcc_15|gcc_16)
return 0
;;
*)
@ -213,7 +215,7 @@ ada_export() {
local impl var
case "${1}" in
gcc_12|gcc_13|gcc_14|gcc_15)
gcc_12|gcc_13|gcc_14|gcc_15|gcc_16)
impl=${1}
shift
;;
@ -245,6 +247,10 @@ ada_export() {
gcc_pv=15
slot=15
;;
gcc_16)
gcc_pv=16
slot=16
;;
*)
gcc_pv="9.9.9"
slot=9.9.9
@ -295,7 +301,7 @@ ada_export() {
;;
ADA_PKG_DEP)
case "${impl}" in
gcc_12|gcc_13|gcc_14|gcc_15)
gcc_12|gcc_13|gcc_14|gcc_15|gcc_16)
ADA_PKG_DEP="sys-devel/gcc:${slot}[ada]"
;;
*)
@ -467,6 +473,9 @@ ada_setup() {
unset EADA
# https://gcc.gnu.org/PR116226
filter-flags -Warray-bounds
if [[ ${#_ADA_SUPPORTED_IMPLS[@]} -eq 1 ]]; then
if use "ada_target_${_ADA_SUPPORTED_IMPLS[0]}"; then
# Only one supported implementation, enable it explicitly

View File

@ -1797,6 +1797,12 @@ toolchain_src_configure() {
if in_iuse valgrind ; then
confgcc+=( $(use_enable valgrind valgrind-annotations) )
# We patch this in w/ PR66487-object-lifetime-instrumentation-for-Valgrind.patch,
# so it may not always be available.
if grep -q -- '--enable-valgrind-interop' "${S}"/libgcc/configure.ac ; then
confgcc+=( $(use_enable valgrind valgrind-interop) )
fi
fi
if in_iuse vtv ; then

View File

@ -1,18 +0,0 @@
From https://github.com/OpenRCT2/OpenRCT2/commit/1abd50ff1ff75360c9ad77ec07be15d97d7d643a Mon Sep 17 00:00:00 2001
From: Violet Purcell <66446404+vimproved@users.noreply.github.com>
Date: Thu, 7 Aug 2025 16:03:03 -0400
Subject: [PATCH] Add explicit <cstdlib> include to Range.hpp (#24918)
LLVM libc++ 21 shuffled around some includes internally, causing cstdlib
to no longer be transitively included here. Explicitly include it for
size_t.
--- a/src/openrct2/core/Range.hpp
+++ b/src/openrct2/core/Range.hpp
@@ -10,6 +10,7 @@
#pragma once
#include <cmath>
+#include <cstdlib>
#include <type_traits>
template<typename T>

View File

@ -1,12 +0,0 @@
diff --git a/src/level/scoreboard.cpp b/src/level/scoreboard.cpp
index 87c4451..abc44fe 100644
--- a/src/level/scoreboard.cpp
+++ b/src/level/scoreboard.cpp
@@ -31,6 +31,7 @@
#include "ui/displaytext.h"
#include <boost/lexical_cast.hpp>
+#include <algorithm>
void CScoreboard::CScoreboardRule::Read(CLevelParserLine* line)
{

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