mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2025-12-08 00:05:33 +03:00
Compare commits
186 Commits
1d194be5f6
...
b2dfe067d6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b2dfe067d6 | ||
|
|
e21f5c30e5 | ||
|
|
59fdb5a021 | ||
|
|
9987bfe2f4 | ||
|
|
192ef64c1b | ||
|
|
85d2295e49 | ||
|
|
355f9f9f1f | ||
|
|
13e937042f | ||
|
|
a17d4574af | ||
|
|
1d9cbd6ab5 | ||
|
|
25c02c320a | ||
|
|
3f5cb869e5 | ||
|
|
6b57b43f6d | ||
|
|
63a8409cc2 | ||
|
|
80cfc5cfaa | ||
|
|
968a5d9ecd | ||
|
|
6569dfbc10 | ||
|
|
0bd8f2c814 | ||
|
|
ef08e60f37 | ||
|
|
af3dd9ef2a | ||
|
|
c886867845 | ||
|
|
b3d1760418 | ||
|
|
746b7c99f0 | ||
|
|
817d390e8e | ||
|
|
2a0cd3c890 | ||
|
|
37f1e7519d | ||
|
|
7172cb3c8a | ||
|
|
caabd207be | ||
|
|
d6d3be6184 | ||
|
|
907131e4ee | ||
|
|
b5228f423d | ||
|
|
df01c1c206 | ||
|
|
c0253deee1 | ||
|
|
c3d89097ec | ||
|
|
b38d8aed00 | ||
|
|
1665adde38 | ||
|
|
0df8866c23 | ||
|
|
52335f41ff | ||
|
|
0f10e51d4f | ||
|
|
698635481b | ||
|
|
d70069495a | ||
|
|
07e585169c | ||
|
|
360fd52d40 | ||
|
|
9fb1e9d4c9 | ||
|
|
a1df1ae4a2 | ||
|
|
e0b2ff1bda | ||
|
|
188abbe2da | ||
|
|
50eae6dbdd | ||
|
|
06d55aae01 | ||
|
|
cf8cd7c8d4 | ||
|
|
5590eafa57 | ||
|
|
80eddc777e | ||
|
|
74e14a7d0a | ||
|
|
cc4e0fb42d | ||
|
|
fe52f2991b | ||
|
|
bd5a34d1b7 | ||
|
|
0d83781a3b | ||
|
|
b3d036790d | ||
|
|
a9a4705350 | ||
|
|
27b3deeeba | ||
|
|
1fbe469a14 | ||
|
|
e5ce7f2d89 | ||
|
|
78db0e7078 | ||
|
|
06fdbbb7e3 | ||
|
|
319af68dda | ||
|
|
4d6c87c6d6 | ||
|
|
2df7b7e44b | ||
|
|
030106390b | ||
|
|
c033dab2d7 | ||
|
|
26efd5a6b4 | ||
|
|
d8c55bb85b | ||
|
|
0634f72611 | ||
|
|
c539b43a6a | ||
|
|
5b32d26493 | ||
|
|
c87f4a3f64 | ||
|
|
af6533301b | ||
|
|
1cd7f82361 | ||
|
|
e2957c73d6 | ||
|
|
1202adcb0e | ||
|
|
be488d9b5e | ||
|
|
cd9cbaad24 | ||
|
|
8729475de6 | ||
|
|
a932f15109 | ||
|
|
590cbfec1d | ||
|
|
63fcab509a | ||
|
|
9394208a93 | ||
|
|
d9e7607ae6 | ||
|
|
d3e60f09d7 | ||
|
|
e35e166cfc | ||
|
|
6666e66cec | ||
|
|
74b1c52c95 | ||
|
|
fa8af77196 | ||
|
|
b7c4b725eb | ||
|
|
73d1a1ed94 | ||
|
|
a24bfdd796 | ||
|
|
96e356a7d9 | ||
|
|
1ad9afe6f7 | ||
|
|
df647d7dc1 | ||
|
|
e04eb5f78e | ||
|
|
8bce73b8fa | ||
|
|
a811dc8593 | ||
|
|
f588c1d416 | ||
|
|
0bb52c6dab | ||
|
|
3b2ef93668 | ||
|
|
d58138a9e8 | ||
|
|
df1cf1f092 | ||
|
|
2ebf47c52e | ||
|
|
1721737d33 | ||
|
|
9470d1e703 | ||
|
|
5e9c246c2d | ||
|
|
2d74c25923 | ||
|
|
054c7c55f4 | ||
|
|
b91f99e0f4 | ||
|
|
3af45bfffb | ||
|
|
7b184181dc | ||
|
|
5e3e6495de | ||
|
|
7a998ac50c | ||
|
|
98668486f2 | ||
|
|
6c1b012554 | ||
|
|
0c44b5088c | ||
|
|
12e5b2a531 | ||
|
|
a999910f07 | ||
|
|
fcf3aa189e | ||
|
|
2db2f7bfdd | ||
|
|
821a9f86bb | ||
|
|
fa3e5ddf83 | ||
|
|
f49e11aaf1 | ||
|
|
b9b4445d20 | ||
|
|
52024cc221 | ||
|
|
7a01f733b4 | ||
|
|
9bd14bf85a | ||
|
|
70633b2dad | ||
|
|
897c830f7b | ||
|
|
864eb6470c | ||
|
|
3bb2ac4f09 | ||
|
|
ac9c711177 | ||
|
|
6d736a37b9 | ||
|
|
2695e5a7a6 | ||
|
|
9484bd7c45 | ||
|
|
032a752c0d | ||
|
|
04c06c8898 | ||
|
|
80253e4285 | ||
|
|
00c3147624 | ||
|
|
fad6845592 | ||
|
|
0969a27195 | ||
|
|
7076a1bd61 | ||
|
|
3ad948b0a4 | ||
|
|
ac669b2b65 | ||
|
|
675e62a68f | ||
|
|
8f1504a003 | ||
|
|
1d9e158279 | ||
|
|
f50dc5c82d | ||
|
|
4c366be032 | ||
|
|
9c47882fa7 | ||
|
|
b991f0b95b | ||
|
|
c239c7e41c | ||
|
|
5c6b5c1e00 | ||
|
|
41f7cbe59d | ||
|
|
9d0338853e | ||
|
|
374cd3a8e7 | ||
|
|
2f04b33417 | ||
|
|
de867187a6 | ||
|
|
7e9f16ebc8 | ||
|
|
f241681e90 | ||
|
|
99a6262039 | ||
|
|
4ab387dcaf | ||
|
|
db7309fb05 | ||
|
|
cce462c743 | ||
|
|
14e1c27a1f | ||
|
|
b24fb048d3 | ||
|
|
f920076aec | ||
|
|
80f6e8edc9 | ||
|
|
511f0ae535 | ||
|
|
1a86b0b61d | ||
|
|
0785cbcd6d | ||
|
|
87bd82d82b | ||
|
|
cbfeba70b2 | ||
|
|
b9e90786ec | ||
|
|
08e2e092d6 | ||
|
|
558d12a7b8 | ||
|
|
20ca8e188c | ||
|
|
56307c6ac3 | ||
|
|
53927beb09 | ||
|
|
08cd090c53 | ||
|
|
977c917ca2 | ||
|
|
0834728739 |
@ -4,7 +4,7 @@
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517="setuptools"
|
||||
PYTHON_COMPAT=( python3_{11..14} )
|
||||
PYTHON_COMPAT=( python3_{12..14} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517="setuptools"
|
||||
PYTHON_COMPAT=( python3_{11..14} )
|
||||
PYTHON_COMPAT=( python3_{12..14} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
92
app-admin/awscli/awscli-1.43.7.ebuild
Normal file
92
app-admin/awscli/awscli-1.43.7.ebuild
Normal 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
|
||||
}
|
||||
@ -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"
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
66
app-backup/borgbackup/borgbackup-1.4.3.ebuild
Normal file
66
app-backup/borgbackup/borgbackup-1.4.3.ebuild
Normal 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
|
||||
}
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
24
app-doc/python-docs/python-docs-3.14.1.ebuild
Normal file
24
app-doc/python-docs/python-docs-3.14.1.ebuild
Normal 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
|
||||
}
|
||||
@ -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
|
||||
)
|
||||
|
||||
@ -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
|
||||
)
|
||||
|
||||
@ -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
|
||||
)
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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(-)]
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
}
|
||||
@ -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="
|
||||
@ -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="
|
||||
@ -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
|
||||
}
|
||||
@ -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
|
||||
|
||||
54
app-misc/tmuxp/tmuxp-1.59.0.ebuild
Normal file
54
app-misc/tmuxp/tmuxp-1.59.0.ebuild
Normal 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
|
||||
}
|
||||
@ -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
|
||||
|
||||
@ -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"
|
||||
|
||||
22
dev-ada/gprbuild/files/gprbuild-25.0.0-gcc16.patch
Normal file
22
dev-ada/gprbuild/files/gprbuild-25.0.0-gcc16.patch
Normal 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),
|
||||
@ -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}]"
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
|
||||
EAPI=8
|
||||
|
||||
ADA_COMPAT=( gcc_{12..15} )
|
||||
ADA_COMPAT=( gcc_{12..16} )
|
||||
|
||||
inherit ada
|
||||
|
||||
|
||||
22
dev-ada/libgpr/files/libgpr-25.0.0-gcc16.patch
Normal file
22
dev-ada/libgpr/files/libgpr-25.0.0-gcc16.patch
Normal 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),
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
635
dev-lang/python/python-0.3.14.1.ebuild
Normal file
635
dev-lang/python/python-0.3.14.1.ebuild
Normal 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
|
||||
}
|
||||
646
dev-lang/python/python-3.14.1.ebuild
Normal file
646
dev-lang/python/python-3.14.1.ebuild
Normal 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
|
||||
}
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
154
dev-libs/nwjs/nwjs-0.104.1-r1.ebuild
Normal file
154
dev-libs/nwjs/nwjs-0.104.1-r1.ebuild
Normal 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}
|
||||
}
|
||||
154
dev-libs/nwjs/nwjs-0.106.0.ebuild
Normal file
154
dev-libs/nwjs/nwjs-0.106.0.ebuild
Normal 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}
|
||||
}
|
||||
147
dev-libs/nwjs/nwjs-0.86.0.ebuild
Normal file
147
dev-libs/nwjs/nwjs-0.86.0.ebuild
Normal 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}
|
||||
}
|
||||
@ -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}
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
@ -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
|
||||
|
||||
@ -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=
|
||||
}
|
||||
@ -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
|
||||
|
||||
53
dev-python/boto3/boto3-1.42.1.ebuild
Normal file
53
dev-python/boto3/boto3-1.42.1.ebuild
Normal 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}
|
||||
}
|
||||
@ -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
|
||||
|
||||
67
dev-python/botocore/botocore-1.42.1.ebuild
Normal file
67
dev-python/botocore/botocore-1.42.1.ebuild
Normal 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}
|
||||
}
|
||||
@ -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
|
||||
|
||||
106
dev-python/django/django-4.2.27.ebuild
Normal file
106
dev-python/django/django-4.2.27.ebuild
Normal 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
|
||||
}
|
||||
100
dev-python/django/django-5.1.15.ebuild
Normal file
100
dev-python/django/django-5.1.15.ebuild
Normal 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
|
||||
}
|
||||
102
dev-python/django/django-5.2.9.ebuild
Normal file
102
dev-python/django/django-5.2.9.ebuild
Normal 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
|
||||
}
|
||||
@ -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
|
||||
|
||||
49
dev-python/numpydoc/numpydoc-1.10.0.ebuild
Normal file
49
dev-python/numpydoc/numpydoc-1.10.0.ebuild
Normal 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
|
||||
}
|
||||
@ -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
|
||||
|
||||
123
dev-python/psycopg/psycopg-3.3.1.ebuild
Normal file
123
dev-python/psycopg/psycopg-3.3.1.ebuild
Normal 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
|
||||
}
|
||||
@ -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
|
||||
|
||||
30
dev-python/pydyf/pydyf-0.12.1.ebuild
Normal file
30
dev-python/pydyf/pydyf-0.12.1.ebuild
Normal 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
|
||||
@ -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
|
||||
|
||||
@ -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);
|
||||
@ -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
|
||||
}
|
||||
@ -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
|
||||
}
|
||||
@ -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
|
||||
}
|
||||
@ -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
|
||||
}
|
||||
@ -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
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
39
dev-python/pytest-httpx/pytest-httpx-0.36.0.ebuild
Normal file
39
dev-python/pytest-httpx/pytest-httpx-0.36.0.ebuild
Normal 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
|
||||
}
|
||||
@ -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
|
||||
|
||||
73
dev-python/python-tests/python-tests-0.3.14.1.ebuild
Normal file
73
dev-python/python-tests/python-tests-0.3.14.1.ebuild
Normal 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
|
||||
}
|
||||
72
dev-python/python-tests/python-tests-3.14.1.ebuild
Normal file
72
dev-python/python-tests/python-tests-3.14.1.ebuild
Normal 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
|
||||
}
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
40
dev-python/sabctools/sabctools-9.0.0.ebuild
Normal file
40
dev-python/sabctools/sabctools-9.0.0.ebuild
Normal 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
|
||||
@ -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
|
||||
|
||||
52
dev-python/sphinx-gallery/sphinx-gallery-0.20.0.ebuild
Normal file
52
dev-python/sphinx-gallery/sphinx-gallery-0.20.0.ebuild
Normal 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=
|
||||
}
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
}
|
||||
@ -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}]
|
||||
@ -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
|
||||
|
||||
@ -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="
|
||||
@ -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
|
||||
|
||||
99
dev-python/uv-build/uv-build-0.9.15.ebuild
Normal file
99
dev-python/uv-build/uv-build-0.9.15.ebuild
Normal 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
|
||||
}
|
||||
@ -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
|
||||
|
||||
167
dev-python/uv/uv-0.9.15.ebuild
Normal file
167
dev-python/uv/uv-0.9.15.ebuild
Normal 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
|
||||
}
|
||||
@ -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
|
||||
|
||||
45
dev-python/weasyprint/weasyprint-67.0.ebuild
Normal file
45
dev-python/weasyprint/weasyprint-67.0.ebuild
Normal 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
|
||||
@ -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
|
||||
|
||||
@ -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[@]}"
|
||||
}
|
||||
@ -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[@]}"
|
||||
}
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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>
|
||||
@ -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
Loading…
x
Reference in New Issue
Block a user