Merge updates from master

This commit is contained in:
Repository mirror & CI
2025-09-02 13:19:45 +00:00
11 changed files with 430 additions and 80 deletions

View File

@@ -1,2 +1,2 @@
DIST ig-0.44.0.tar.gz 4933807 BLAKE2B 84a3d092c0422d5fe31239aa40cc99f3b8e3df91ab19fdac6843daa91c78e352caafe76c2f56b0af438ab8a94d017c3035435adef29b569da7565ddabc1af1bd SHA512 ae9df28326130b4e140ab89d4a17272677d09f52486908a46550cc8edc494256a5d5ff5e78851b9822c8b630df553ee99b4df87017f6b40a68b7ad7ace29bb15
DIST inspektor-gadget-vendor-v0.44.0.tar.gz 14519715 BLAKE2B 6d9b5e430a2679f51b4103803f62ec65ecbc59eee425ccce3826da96395fe6d2d13fe98113098883d2003a8a7631ca30f0918e179a4e40b6af8052cdcb2ae69b SHA512 477195b7be07e45014a2c3387c7e56635d4e2a2bc585605407e85c75a3126c12914da6d6ea625ed8c70834d45ae0f003d5edcc0abebb611d36dfc7ca69bd652b
DIST ig-0.44.1.tar.gz 4933411 BLAKE2B 1ca5e8c14b85f94c5b8a4923e7b9e044dbfe5f24ccfd6fc1557d5b82375e88d8a137ba890ba8a44023f62a207fad947152f6c377b4a2c3cc1f4052dbfe049fe4 SHA512 5561a1bb0f186a149bd258777af4d4b30ea77b91ad1eec26df2eee21f5934777f22421c29b66d1946b6784f270aa890039f58957c8f52be1752e661772297655
DIST inspektor-gadget-vendor-v0.44.1.tar.gz 14519280 BLAKE2B b371255537a994720516dc44cb0f0f1cc9e0f5d7fea0ccfd2bd1dc311fc14a5a5e102b2a978511295abe33e7de065c6434db9fcbabb030a92b0ceb1826edf9a3 SHA512 ba6e92e83343ecfec99bd54890e509aa84172a8ba17f28da41155fa74830905cdd73093aceb3132fc5f10b444f1b26d4a83524851bd92c7e069ed0e3c1e5ef84

View File

@@ -1,8 +1,8 @@
DIST lxd-5.0.3.tar.gz 16628656 BLAKE2B d24b4b2e40635b109b69196995a434fac26e1ffb023bfd2181588ff7543a9022fcd82a0a4ac84d40a7a3f0dceda0167a55e64c40b91c3719dbbeac6e102dd211 SHA512 87f5d9fbe2cef5970c0a95f61dc615f26e4168202d39f53c7323787a246fa1d6a378c7b957d90f6afd02e048fb3080a06f7202d02652973fb33421f18680d9bf
DIST lxd-5.0.3.tar.gz.asc 833 BLAKE2B c6ef26dc8ba4033dbc98367609826389640bfd31da25113f9285dc67b2a69da4fe06a3cacbb83fe5b1b984b5eed8ff3a373d5f88693c2999c10b25a7cfd4cd8d SHA512 424e969de30e4fcfabf65062f387d15bd1cc99ed2c984944c529df92d520b3d5de306a8d444850b3916889d318a88e521d275c62353b25853471efb713d58d18
DIST lxd-5.21.1.tar.gz 23753867 BLAKE2B 102f3c83faa956f6a5f052912417f595a7374c13ff1da21e43b76e267908323f3db05aed8b83fb99a0b70ee03af9b1df0551a2c535db146d5ea6f415f7671e7a SHA512 809099d16ffd12b785a03ad3ed527fa6f0c7503a41b7c93d41fd3418d18f8c68c79e5a689c8df2ed4157d434742bfb5cc267a5afb9734091b224be644a3a6958
DIST lxd-5.21.1.tar.gz.asc 833 BLAKE2B 1c43b7750e505ef66d4f9fcf3723abf28a7b4e2785866604b88f6dfa80f7e3d0ed33734bc49606ecff16659de9dabfbeb08ba71c36eafc8d05a28397e3e73a89 SHA512 8ec81d1df6d3b9aec58cbde08306a865f9c27e86be04da11a2b5566c78865b51f91edb6fa26e8b5d25202bf33657bd0f867ec986e4e8b39f379b25e03cd6a5d3
DIST lxd-6.1.tar.gz 24960232 BLAKE2B 857d4896f1622166a79ea0324bc4c9c6276b83383f242f0d58e7d1295a5cfedfb9984166dbf92ca579a058482d3a5dc7d4f640832d8d8ad6a45a7a4c248b8a0a SHA512 e3e5fcb721767b3e317a9251b84537e2d055116d2bba23627e95d040e01bd14ef0a730bf0c83e441488c2afeb152e4288ec1ba80ba85391fde33766dadccc6d1
DIST lxd-6.1.tar.gz.asc 833 BLAKE2B 4cbfcf04f82b2c817793405291566dd2525daba1e9c4d3656b0d694f351a7e5489cb3e6fc0001a58fea6892c5d08fb24ca369733287422b95c82b9252824c29b SHA512 ac6a9e643909fc8262ff7f3af4ef8bf847a8dbc6e74470a0c038231174dcef5d70ea9dcf490547d8b48836f87c86201377bc20b36d4d142b8e88b5467a6c6837
DIST lxd-5.21.4.tar.gz 37255971 BLAKE2B 57df5d9fcb521d651eb09dbf806a6ee3c8235075c2306e99bd76d97d30c7691a0884b258eed815027d8e35bc96966f826c72a6f99b886f7f4b43c6a9aa38f624 SHA512 3b92abe156d5d7c6257cb6a5f6e18c2756476ed5d7828789bbe7f33d3d03557757e1dd94008dc48ca737af447f79bcc26ed4f36e325d95b6a179a42c9f512eb0
DIST lxd-5.21.4.tar.gz.asc 833 BLAKE2B acc30156852163ded902fd2a9245a06d2052bcdbb67ae12f238344aff7149d204db7354621216bf0fa63a4ce3e220aaa1ca5f462f5bc1aefba282391c90e51b9 SHA512 c02354165e87089e327791d20a0dc5f1ffc538938158928b62261f97b7699796286aef8fac5f4d00e7bfc1afa4206065b60015f561d00a74a934df70054e40f1
DIST lxd-6.3.tar.gz 33286388 BLAKE2B 2f66ebfea94a262fc162b958ea031b6d82d35ea75e20445e8f5a5308689f5a37730aa18d8cf2fe6507cdc88c39a063a2ed295a3a7f8b0537e76835bc92116739 SHA512 0ec8bc8a55529258848045c2ff2e946de78989d8fd8ec2110c3fda15f9da9f56b8343460270d8d1661956bbf8c79dca4422212a4b23e4fe50398a47619834b62
DIST lxd-6.3.tar.gz.asc 833 BLAKE2B 0778cdda82dacb3de31723b956a99e1c3c3d8317a87b2bfe35d2ff1516ebd65c0e5d42820bac8e15d6e03f15028556c37ea23234becd296963371be238e56e02 SHA512 8dca8e128b4c19e311a3b1084dbed79e9eea7e9c17306c2618fbcba358c1b540600610c7be8218eb3f8d8f5f4e2ce240c06470a2aa8baf9c3431edd807430720
DIST lxd-6.5.tar.gz 36814768 BLAKE2B b176c2ec0784bac97d901e457676d3563552271e67936a1b87404f0ff46d8d38ffbadf2599c8718fb3b47a87235e530e6f8a9b6d27ede539add8c8601f0b44df SHA512 f2282da0acaf0adcc5b9438257aeb4cc456b4a3683f21e241338df4fff2fda30fa05b4cfe7d68d20ace84c08fbb06b0a8e6cd677d0db2112dfb29935c53c77af
DIST lxd-6.5.tar.gz.asc 833 BLAKE2B 04a8d5c8c990821640e2ab2bfa3a53eb2a2f7a022365194ce78fd9fd7d2070e9dd6baaa5a682d7568b940722503b74638a255061ee782717d64ca0e51e58b6e5 SHA512 be402e69417c3cee5e5db724bc7680ec48f432b51f79bf7ec3baa5402e5cb68f7299edcf3d1604d4ac10d7eee7361bcdf70f737b6db12f8b80dd75c626b1f2d8

View File

@@ -1,9 +1,9 @@
# Copyright 1999-2024 Gentoo Authors
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit bash-completion-r1 go-module linux-info optfeature systemd verify-sig
inherit go-module linux-info optfeature systemd verify-sig
DESCRIPTION="Modern, secure and powerful system container and virtual machine manager"
HOMEPAGE="https://ubuntu.com/lxd https://github.com/canonical/lxd"
@@ -12,7 +12,7 @@ SRC_URI="https://github.com/canonical/lxd/releases/download/${P}/${P}.tar.gz
)"
LICENSE="Apache-2.0 AGPL-3+ BSD LGPL-3 MIT"
SLOT="0/stable"
SLOT="0/lts"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="apparmor nls"
@@ -39,7 +39,7 @@ RDEPEND="${DEPEND}
>=sys-fs/lxcfs-5.0.0
sys-fs/squashfs-tools[lzma]
virtual/acl"
BDEPEND=">=dev-lang/go-1.22.4
BDEPEND=">=dev-lang/go-1.22
nls? ( sys-devel/gettext )
verify-sig? ( sec-keys/openpgp-keys-canonical )"
@@ -71,7 +71,6 @@ WARNING_VHOST_VSOCK="CONFIG_VHOST_VSOCK is required for virtual machines."
# Go magic.
QA_PREBUILT="/usr/bin/fuidshift
/usr/bin/lxc
/usr/bin/lxc-to-lxd
/usr/bin/lxd-agent
/usr/bin/lxd-benchmark
/usr/bin/lxd-migrate
@@ -98,11 +97,7 @@ src_prepare() {
# Fix hardcoded ovmf file path, see bug 763180
sed -i \
-e "s:/usr/share/OVMF:/usr/share/edk2/OvmfX64:g" \
-e "s:OVMF_VARS.ms.fd:OVMF_VARS.fd:g" \
doc/environment.md \
lxd/apparmor/instance.go \
lxd/apparmor/instance_qemu.go \
lxd/instance/drivers/driver_qemu.go || die "Failed to fix hardcoded ovmf paths."
lxd/instance/drivers/edk2/edk2.go || die "Failed to fix hardcoded ovmf paths."
# Fix hardcoded virtfs-proxy-helper file path, see bug 798924
sed -i \
@@ -126,7 +121,7 @@ src_compile() {
export GOPATH="${S}/_dist"
export CGO_LDFLAGS_ALLOW="-Wl,-z,now"
for k in fuidshift lxd-benchmark lxc lxc-to-lxd; do
for k in fuidshift lxd-benchmark lxc; do
go install -v -x "${S}/${k}" || die "failed compiling ${k}"
done
@@ -149,12 +144,10 @@ src_install() {
dosbin ${bindir}/lxd
for l in fuidshift lxd-agent lxd-benchmark lxd-migrate lxc lxc-to-lxd; do
for l in fuidshift lxd-agent lxd-benchmark lxd-migrate lxc; do
dobin ${bindir}/${l}
done
newbashcomp scripts/bash/lxd-client lxc
newconfd "${FILESDIR}"/lxd-4.0.0.confd lxd
newinitd "${FILESDIR}"/lxd-5.0.2-r1.initd lxd

View File

@@ -1,9 +1,9 @@
# Copyright 1999-2024 Gentoo Authors
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit bash-completion-r1 go-module linux-info optfeature systemd verify-sig
inherit go-module linux-info optfeature systemd verify-sig
DESCRIPTION="Modern, secure and powerful system container and virtual machine manager"
HOMEPAGE="https://ubuntu.com/lxd https://github.com/canonical/lxd"
@@ -11,16 +11,16 @@ SRC_URI="https://github.com/canonical/lxd/releases/download/${P}/${P}.tar.gz
verify-sig? ( https://github.com/canonical/lxd/releases/download/${P}/${P}.tar.gz.asc
)"
LICENSE="Apache-2.0 BSD LGPL-3 MIT"
SLOT="0/lts"
KEYWORDS="amd64 ~arm64 ~x86"
LICENSE="Apache-2.0 AGPL-3+ BSD LGPL-3 MIT"
SLOT="0/stable"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="apparmor nls"
DEPEND="acct-group/lxd
app-arch/xz-utils
>=app-containers/lxc-5.0.0:=[apparmor?,seccomp(+)]
>=app-containers/lxc-6.0.4:=[apparmor?,seccomp(+)]
dev-db/sqlite:3
>=dev-libs/dqlite-1.16.4:=[lz4]
>=dev-libs/dqlite-1.18.2:=[lz4]
dev-libs/lzo
>=dev-util/xdelta-3.0[lzma(+)]
net-dns/dnsmasq[dhcp]
@@ -35,11 +35,11 @@ RDEPEND="${DEPEND}
)
)
sys-apps/iproute2
sys-fs/fuse:*
>=sys-fs/lxcfs-5.0.0
sys-fs/fuse:3
>=sys-fs/lxcfs-6.0.4
sys-fs/squashfs-tools[lzma]
virtual/acl"
BDEPEND="dev-lang/go
BDEPEND=">=dev-lang/go-1.24.4
nls? ( sys-devel/gettext )
verify-sig? ( sec-keys/openpgp-keys-canonical )"
@@ -71,7 +71,6 @@ WARNING_VHOST_VSOCK="CONFIG_VHOST_VSOCK is required for virtual machines."
# Go magic.
QA_PREBUILT="/usr/bin/fuidshift
/usr/bin/lxc
/usr/bin/lxc-to-lxd
/usr/bin/lxd-agent
/usr/bin/lxd-benchmark
/usr/bin/lxd-migrate
@@ -85,12 +84,6 @@ RESTRICT="test"
GOPATH="${S}/_dist"
PATCHES=(
"${FILESDIR}"/lxd-5.0.3-remove-shellcheck-buildsystem-checks.patch
"${FILESDIR}"/lxd-5.0.3-pr-12834-dont-stop-parsing-image-info.patch
"${FILESDIR}"/lxd-5.0.3-pr-12847-ignore-incus-archives.patch
)
src_prepare() {
export GOPATH="${S}/_dist"
@@ -104,11 +97,7 @@ src_prepare() {
# Fix hardcoded ovmf file path, see bug 763180
sed -i \
-e "s:/usr/share/OVMF:/usr/share/edk2/OvmfX64:g" \
-e "s:OVMF_VARS.ms.fd:OVMF_VARS.fd:g" \
doc/environment.md \
lxd/apparmor/instance.go \
lxd/apparmor/instance_qemu.go \
lxd/instance/drivers/driver_qemu.go || die "Failed to fix hardcoded ovmf paths."
lxd/instance/drivers/edk2/edk2.go || die "Failed to fix hardcoded ovmf paths."
# Fix hardcoded virtfs-proxy-helper file path, see bug 798924
sed -i \
@@ -132,7 +121,7 @@ src_compile() {
export GOPATH="${S}/_dist"
export CGO_LDFLAGS_ALLOW="-Wl,-z,now"
for k in fuidshift lxd-benchmark lxc lxc-to-lxd; do
for k in fuidshift lxd-benchmark lxc; do
go install -v -x "${S}/${k}" || die "failed compiling ${k}"
done
@@ -155,12 +144,10 @@ src_install() {
dosbin ${bindir}/lxd
for l in fuidshift lxd-agent lxd-benchmark lxd-migrate lxc lxc-to-lxd; do
for l in fuidshift lxd-agent lxd-benchmark lxd-migrate lxc; do
dobin ${bindir}/${l}
done
newbashcomp scripts/bash/lxd-client lxc
newconfd "${FILESDIR}"/lxd-4.0.0.confd lxd
newinitd "${FILESDIR}"/lxd-5.0.2-r1.initd lxd
@@ -171,6 +158,11 @@ src_install() {
dodoc AUTHORS
dodoc -r doc/*
use nls && domo po/*.mo
# LXD needs LXD_QEMU_FW_PATH in env to find OVMF files for virtual machines
newenvd - 90lxd <<- _EOF_
LXD_QEMU_FW_PATH=${EPREFIX}/usr/share/edk2-ovmf
_EOF_
}
pkg_postinst() {
@@ -190,26 +182,4 @@ pkg_postinst() {
optfeature "zfs storage backend" sys-fs/zfs
elog
elog "Be sure to add your local user to the lxd group."
if [[ ${REPLACING_VERSIONS} ]] &&
ver_test ${REPLACING_VERSIONS} -lt 5.0.1 &&
has_version app-emulation/qemu[spice,usbredir,virtfs]; then
ewarn ""
ewarn "You're updating from <5.0.1. Due to incompatible API updates in the lxd-agent"
ewarn "product, you'll have to restart any running virtual machines before they work"
ewarn "properly."
ewarn ""
ewarn "Run: 'lxc restart your-vm' after the update for your vm's managed by lxd."
ewarn ""
fi
if [[ ${REPLACING_VERSIONS} ]] &&
has_version "sys-apps/openrc"; then
elog ""
elog "The new init.d script will attempt to mount "
elog " /sys/fs/cgroup/systemd"
elog "by default, which is needed to run systemd containers with openrc host."
elog "See the /etc/init.d/lxd file for requirements."
elog ""
fi
}

View File

@@ -2,3 +2,5 @@ DIST firecracker-v1.10.1-aarch64.tgz 6733589 BLAKE2B 872dbec320c7b4bfda71014e182
DIST firecracker-v1.10.1-x86_64.tgz 6638577 BLAKE2B fb8528f0b0375ae7ab990ceb814165a4a82e6deb3193e2d95de1c8665d841a212a00358dbd9fd041755e31c9aa5bc38c1fe050e83e3df57fd66ba1fd03f1651b SHA512 31c43889205fba47a1507ee5992e3602030d7b7b8d2abe054dead97bc8c31c42243c0f7003f1037b810f63c268cb4fd19e91c51225ad0810b1019c441845be0f
DIST firecracker-v1.12.0-aarch64.tgz 7032717 BLAKE2B 49e0df60594c4ea0889c362ecbc2dba03cd6c9d8974c8936c8d0b1144afee4081c0a492755452248f67c0900c0943d19b377aa85386ad9823c3a6b4b1d70c04a SHA512 14cd452dadbecf719f09b2644ba585aedbae6157bad4de1c51e511e6e8aee88549984ba8b1fdfcc6267574194934620abd55ecc2e1d4fab2dbe64dc81026f80a
DIST firecracker-v1.12.0-x86_64.tgz 7305842 BLAKE2B f47dbd1eeeaf3f99dec715e0ad248d0d42bc5461e415e1a6dd02e2543324a98735b8da8784518c01e4a899d094f6eba0dfa7ae1e22e147b20eaac4c0ce551e75 SHA512 00ec36ddbae8fbdafa3a24314427227e7f95b96d2dfaeae0390e9472e4ee439f2a7e86b56b09401c33fd32b5c9b8928b354f08f42734eb48046215542ad8d69c
DIST firecracker-v1.13.1-aarch64.tgz 7239827 BLAKE2B 1d0f6fc803ab460cc429da49bc4c6ae4311f20c8c89804d113d2ea7fcff150470de2aa323fbcaa00f633c44f4620c04169da6cb42d54917b2c4b871f895901f5 SHA512 84e8e256c66aeec57d72a973f911b3c4333c4d995591e014b3d4088e2852460c5efe6a8c8c76638bf67f4335bf6611ed2186a9046b344d5c2deed39ddcbeaacd
DIST firecracker-v1.13.1-x86_64.tgz 7546949 BLAKE2B 3301312899b88119f13188fe9fc2a52261a38feaa6d396b247359bb12bad8d00c733e801c587f83f21d9ee3faed8985b2e832481cdebdc30986c90fb8bb16742 SHA512 a2ca304d881b1b99fefa60a1bf4582b8c5e66f3153e896be0f7ee58ebc8fe0410f08adf0770903252edc64f1d65830d38af2b610fbc637c99529e90eb4e880dc

View File

@@ -0,0 +1,87 @@
# Copyright 2021-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit linux-info
DESCRIPTION="Secure and fast microVMs for serverless computing (static build)"
HOMEPAGE="https://firecracker-microvm.github.io https://github.com/firecracker-microvm/firecracker"
SRC_URI="
amd64? (
https://github.com/firecracker-microvm/firecracker/releases/download/v${PV}/firecracker-v${PV}-x86_64.tgz
)
arm64? (
https://github.com/firecracker-microvm/firecracker/releases/download/v${PV}/firecracker-v${PV}-aarch64.tgz
)"
S="${WORKDIR}"
LICENSE="|| ( Apache-2.0 MIT Apache-2.0-with-LLVM-exceptions ) MPL-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64"
RESTRICT="test strip"
RDEPEND="acct-group/kvm"
QA_PREBUILT="usr/bin/cpu-template-helper
usr/bin/firecracker
usr/bin/jailer
usr/bin/rebase-snap
usr/bin/seccompiler-bin
usr/bin/snapshot-editor"
pkg_pretend() {
if use kernel_linux && kernel_is lt 4 14; then
eerror "Firecracker requires a host kernel of 4.14 or higher."
elif use kernel_linux; then
if ! linux_config_exists; then
eerror "Unable to check your kernel for KVM support"
else
CONFIG_CHECK="~KVM ~TUN ~BRIDGE"
ERROR_KVM="You must enable KVM in your kernel to continue"
ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in"
ERROR_KVM_AMD+=" your kernel configuration."
ERROR_KVM_INTEL="If you have an Intel CPU, you must enable"
ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration."
ERROR_TUN="You will need the Universal TUN/TAP driver compiled"
ERROR_TUN+=" into your kernel or loaded as a module to use"
ERROR_TUN+=" virtual network devices."
ERROR_BRIDGE="You will also need support for 802.1d"
ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
if use amd64 || use amd64-linux; then
if grep -q AuthenticAMD /proc/cpuinfo; then
CONFIG_CHECK+=" ~KVM_AMD"
elif grep -q GenuineIntel /proc/cpuinfo; then
CONFIG_CHECK+=" ~KVM_INTEL"
fi
fi
# Now do the actual checks setup above
check_extra_config
fi
fi
}
src_compile() { :; }
src_install() {
local my_arch
if use amd64; then
my_arch=x86_64
elif use arm64; then
my_arch=aarch64
fi
dodoc "release-v${PV}-${my_arch}/firecracker_spec-v${PV}.yaml"
dodoc "release-v${PV}-${my_arch}/seccomp-filter-v${PV}-${my_arch}.json"
newbin "release-v${PV}-${my_arch}/cpu-template-helper-v${PV}-${my_arch}" cpu-template-helper
newbin "release-v${PV}-${my_arch}/firecracker-v${PV}-${my_arch}" firecracker
newbin "release-v${PV}-${my_arch}/jailer-v${PV}-${my_arch}" jailer
newbin "release-v${PV}-${my_arch}/rebase-snap-v${PV}-${my_arch}" rebase-snap
newbin "release-v${PV}-${my_arch}/seccompiler-bin-v${PV}-${my_arch}" seccompiler-bin
newbin "release-v${PV}-${my_arch}/snapshot-editor-v${PV}-${my_arch}" snapshot-editor
}

View File

@@ -3,4 +3,4 @@ DIST postgis-3.3.8.tar.gz 17783409 BLAKE2B 8321f6c7e972709fb03946ab236a7e10a6ab0
DIST postgis-3.4.4.tar.gz 14960460 BLAKE2B bf0a8f905dfde7023f48340dfc812ffd5651d9d909a684d445ed6401db7afa18a13045a3e8341946b8fc2ee302fe4b60afb52092d653705995346279cafc32cc SHA512 e561fba5d4eb3a8fb96d9e517a04de007aa1780990d1ba78a2ed25ea27245f46e60257280b3d0fb1ba4164beea798db8858c24193bb2925619cf5f024f8043dc
DIST postgis-3.5.2.tar.gz 15045553 BLAKE2B 48a43c483a3a36decd3c3bb1b482f0079daacc030788fc58de17ffa91ecd46286de1112604230e0a594e44ba4c6bfa00a31a0241e0c07ce8f52cdd8fd94883d7 SHA512 fcad74289d03bfe9d6eb6f0f5682c9cb03a90ba9c377e39727df85f5d66fa8f51ddb9a9bc7302612d13576cca92bff3717ed965d513ededfe8cf1627c1e2f92d
DIST postgis-3.5.3.tar.gz 14899901 BLAKE2B 31f4c9a0c9f3f124e190e9ff81339995beead6749b83ecb5e8f0e8ef97fee6ef677f4e7aca2b873938f6e92149d6dc91b9c626a310cc01f51db2f3ce3256d177 SHA512 c27f57f0dbf3938648fe16dcaaff28530de6a51c13c481cb78163a51a292f3d77620485cd31e79cd01be675b5dca97129c50c562f68d6d864c822ea7359d754f
DIST postgis-3.6.0rc2.tar.gz 16200073 BLAKE2B 1af37d1f470c072d20c2f16f64190e646513987e84767f3bb0c3e70fa3f9c367481a9b8c106871234bb9b2f0a4eba83ca1ec43475174cafa6e98caa3894d9c54 SHA512 1e4426f450c52da417aaa8f402b59c769cef1f9cbeb65aba6db7fc0795b83ef78ff6fef8428b47bdba85c81c75c990d61a27fa1d30536b975df299e041f039af
DIST postgis-3.6.0.tar.gz 16202671 BLAKE2B 77c41c21e7cf97c116f292b6ff4b886f9d94c63d72a7b320947d02742514634c5cec04f30df7d28072c98b90ca09cb5648abc2b7f804d84343f0c1898c4cfbbf SHA512 393faebb2f5f67b46888aab0a9fcfca891bb73fadbefd54406b4029c434ddff3da81eecbee7176898751e1c3d50c22a801526853332daf122073f7523918c6c7

View File

@@ -15,7 +15,7 @@ if [[ ${PV} = *9999* ]] ; then
else
PGIS="$(ver_cut 1-2)"
SRC_URI="https://download.osgeo.org/postgis/source/${MY_P}.tar.gz"
KEYWORDS=""
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
fi
DESCRIPTION="Geographic Objects for PostgreSQL"
@@ -86,7 +86,7 @@ src_configure() {
local myeconfargs=(
$(use_with address-standardizer)
$(use_with gtk gui)
"--with-topology"
$(use_with topology)
)
postgres-multi_foreach econf "${myeconfargs[@]}"
}
@@ -103,7 +103,6 @@ src_compile() {
src_install() {
postgres-multi_foreach emake DESTDIR="${D}" install
postgres-multi_foreach emake -C topology DESTDIR="${D}" install
postgres-multi_forbest dobin ./utils/postgis_restore.pl
dodoc CREDITS TODO loader/README.* doc/*txt

View File

@@ -1,11 +1,11 @@
# Copyright 1999-2024 Gentoo Authors
# 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_{10..13} )
PYTHON_COMPAT=( python3_{11..13} )
inherit distutils-r1 optfeature pypi
@@ -57,6 +57,11 @@ BDEPEND="
"
python_prepare_all() {
local PATCHES=(
# https://github.com/crossbario/autobahn-python/pull/1661
"${FILESDIR}/${P}-pytest-asyncio-1.patch"
)
if use xbr ; then
eerror "***************"
eerror "Required xbr dependencies are incomplete in Gentoo."
@@ -77,10 +82,6 @@ python_prepare_all() {
# to fix tinderbox sandbox issue
sed -e '/import/s:reactor:__importmustfail__:' \
-i setup.py || die
# https://github.com/crossbario/autobahn-python/issues/1646
sed -e 's:(forbid_global_loop=True)::' \
-i autobahn/wamp/test/test_wamp_component_aio.py || die
}
python_test() {
@@ -92,9 +93,9 @@ python_test() {
unset USE_TWISTED
einfo "RE-testing cryptosign and component_aio using asyncio"
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
local EPYTEST_PLUGINS=( pytest-asyncio )
local -x USE_ASYNCIO=true
epytest -p asyncio --pyargs \
epytest --pyargs \
autobahn.asyncio.test.test_aio_{raw,web}socket \
autobahn.wamp.test.test_wamp_{cryptosign,component_aio}
unset USE_ASYNCIO

View File

@@ -0,0 +1,298 @@
From 9a14ae7739524f376d94e075c5a8f2f26e79c674 Mon Sep 17 00:00:00 2001
From: meejah <meejah@meejah.ca>
Date: Sat, 21 Jun 2025 22:35:41 -0600
Subject: [PATCH] Plain twisted utilities are sufficient (#1661)
* Plain twisted utilities are sufficient
* CI fixups
---
autobahn/asyncio/test/test_aio_rawsocket.py | 18 +++++------
autobahn/asyncio/test/test_aio_websocket.py | 10 +++---
.../twisted/test/test_tx_websocket_agent.py | 5 +--
autobahn/twisted/testing/__init__.py | 31 +++----------------
autobahn/wamp/test/test_wamp_component_aio.py | 29 ++++++++---------
5 files changed, 36 insertions(+), 57 deletions(-)
diff --git a/autobahn/asyncio/test/test_aio_rawsocket.py b/autobahn/asyncio/test/test_aio_rawsocket.py
index 726a6242..42c00c30 100644
--- a/autobahn/asyncio/test/test_aio_rawsocket.py
+++ b/autobahn/asyncio/test/test_aio_rawsocket.py
@@ -11,7 +11,7 @@ from autobahn.wamp.types import TransportDetails
@pytest.mark.skipif(not os.environ.get('USE_ASYNCIO', False), reason='test runs on asyncio only')
-def test_sers(event_loop):
+def test_sers():
serializers = get_serializers()
assert len(serializers) > 0
m = serializers[0]().serialize(message.Abort('close'))
@@ -19,7 +19,7 @@ def test_sers(event_loop):
@pytest.mark.skipif(not os.environ.get('USE_ASYNCIO', False), reason='test runs on asyncio only')
-def test_prefix(event_loop):
+def test_prefix():
p = PrefixProtocol()
transport = Mock()
receiver = Mock()
@@ -62,7 +62,7 @@ def test_prefix(event_loop):
@pytest.mark.skipif(not os.environ.get('USE_ASYNCIO', False), reason='test runs on asyncio only')
-def test_is_closed(event_loop):
+def test_is_closed():
class CP(RawSocketClientProtocol):
@property
def serializer_id(self):
@@ -83,7 +83,7 @@ def test_is_closed(event_loop):
@pytest.mark.skipif(not os.environ.get('USE_ASYNCIO', False), reason='test runs on asyncio only')
-def test_raw_socket_server1(event_loop):
+def test_raw_socket_server1():
server = RawSocketServerProtocol()
ser = Mock(return_value=True)
@@ -108,7 +108,7 @@ def test_raw_socket_server1(event_loop):
@pytest.mark.skipif(not os.environ.get('USE_ASYNCIO', False), reason='test runs on asyncio only')
-def test_raw_socket_server_errors(event_loop):
+def test_raw_socket_server_errors():
server = RawSocketServerProtocol()
ser = Mock(return_value=True)
@@ -139,7 +139,7 @@ def test_raw_socket_server_errors(event_loop):
@pytest.mark.skipif(not os.environ.get('USE_ASYNCIO', False), reason='test runs on asyncio only')
-def test_raw_socket_client1(event_loop):
+def test_raw_socket_client1():
class CP(RawSocketClientProtocol):
@property
def serializer_id(self):
@@ -162,7 +162,7 @@ def test_raw_socket_client1(event_loop):
@pytest.mark.skipif(not os.environ.get('USE_ASYNCIO', False), reason='test runs on asyncio only')
-def test_raw_socket_client_error(event_loop):
+def test_raw_socket_client_error():
class CP(RawSocketClientProtocol):
@property
def serializer_id(self):
@@ -181,7 +181,7 @@ def test_raw_socket_client_error(event_loop):
@pytest.mark.skipif(not os.environ.get('USE_ASYNCIO', False), reason='test runs on asyncio only')
-def test_wamp_server(event_loop):
+def test_wamp_server():
transport = Mock(spec_set=('abort', 'close', 'write', 'get_extra_info'))
transport.write = Mock(side_effect=lambda m: messages.append(m))
server = Mock(spec=['onOpen', 'onMessage'])
@@ -209,7 +209,7 @@ def test_wamp_server(event_loop):
@pytest.mark.skipif(not os.environ.get('USE_ASYNCIO', False), reason='test runs on asyncio only')
-def test_wamp_client(event_loop):
+def test_wamp_client():
transport = Mock(spec_set=('abort', 'close', 'write', 'get_extra_info'))
transport.write = Mock(side_effect=lambda m: messages.append(m))
client = Mock(spec=['onOpen', 'onMessage'])
diff --git a/autobahn/asyncio/test/test_aio_websocket.py b/autobahn/asyncio/test/test_aio_websocket.py
index f80cc249..c2299991 100644
--- a/autobahn/asyncio/test/test_aio_websocket.py
+++ b/autobahn/asyncio/test/test_aio_websocket.py
@@ -23,16 +23,15 @@ async def test_echo_async():
# @pytest.mark.asyncio(forbid_global_loop=True)
@pytest.mark.skipif(not os.environ.get('USE_ASYNCIO', False), reason='test runs on asyncio only')
-def test_websocket_custom_loop(event_loop):
- factory = WebSocketServerFactory(loop=event_loop)
+def test_websocket_custom_loop():
+ factory = WebSocketServerFactory(loop=asyncio.new_event_loop())
server = factory()
transport = Mock()
server.connection_made(transport)
@pytest.mark.skipif(not os.environ.get('USE_ASYNCIO', False), reason='test runs on asyncio only')
-@pytest.mark.asyncio
-async def test_async_on_connect_server(event_loop):
+def test_async_on_connect_server():
num = 42
done = txaio.create_future()
@@ -65,7 +64,8 @@ async def test_async_on_connect_server(event_loop):
b'\r\n', # last string doesn't get a \r\n from join()
])
server.processHandshake()
- await done
+
+ asyncio.get_event_loop().run_until_complete(done)
assert len(values) == 1
assert values[0] == num * num
diff --git a/autobahn/twisted/test/test_tx_websocket_agent.py b/autobahn/twisted/test/test_tx_websocket_agent.py
index c926cbef..d65c3ca8 100644
--- a/autobahn/twisted/test/test_tx_websocket_agent.py
+++ b/autobahn/twisted/test/test_tx_websocket_agent.py
@@ -1,12 +1,13 @@
from twisted.trial import unittest
try:
- from autobahn.twisted.testing import create_memory_agent, MemoryReactorClockResolver, create_pumper
+ from autobahn.twisted.testing import create_memory_agent, create_pumper
HAVE_TESTING = True
except ImportError:
HAVE_TESTING = False
from twisted.internet.defer import inlineCallbacks
+from twisted.internet.testing import MemoryReactorClock
from autobahn.twisted.websocket import WebSocketServerProtocol
@@ -16,7 +17,7 @@ class TestAgent(unittest.TestCase):
def setUp(self):
self.pumper = create_pumper()
- self.reactor = MemoryReactorClockResolver()
+ self.reactor = MemoryReactorClock()
return self.pumper.start()
def tearDown(self):
diff --git a/autobahn/twisted/testing/__init__.py b/autobahn/twisted/testing/__init__.py
index 53d5f2d4..e014d350 100644
--- a/autobahn/twisted/testing/__init__.py
+++ b/autobahn/twisted/testing/__init__.py
@@ -37,7 +37,7 @@ except ImportError:
from twisted.internet.defer import Deferred
from twisted.internet.address import IPv4Address
from twisted.internet._resolver import HostResolution # "internal" class, but it's simple
-from twisted.internet.interfaces import ISSLTransport, IReactorPluggableNameResolver
+from twisted.internet.interfaces import ISSLTransport
try:
from twisted.internet.testing import MemoryReactorClock
except ImportError:
@@ -73,32 +73,9 @@ class _StaticTestResolver(object):
receiver.resolutionComplete()
-@implementer(IReactorPluggableNameResolver)
-class _TestNameResolver(object):
- """
- A test version of IReactorPluggableNameResolver
- """
-
- _resolver = None
-
- @property
- def nameResolver(self):
- if self._resolver is None:
- self._resolver = _StaticTestResolver()
- return self._resolver
-
- def installNameResolver(self, resolver):
- old = self._resolver
- self._resolver = resolver
- return old
-
-
-class MemoryReactorClockResolver(MemoryReactorClock, _TestNameResolver):
- """
- Combine MemoryReactor, Clock and an IReactorPluggableNameResolver
- together.
- """
- pass
+# in previous revisions, we exported MemoryReactorClockResolver so
+# this maintains compatibility with any downstream code
+MemoryReactorClockResolver = MemoryReactorClock
class _TwistedWebMemoryAgent(IWebSocketClientAgent):
diff --git a/autobahn/wamp/test/test_wamp_component_aio.py b/autobahn/wamp/test/test_wamp_component_aio.py
index 2de9bf35..971f8ddd 100644
--- a/autobahn/wamp/test/test_wamp_component_aio.py
+++ b/autobahn/wamp/test/test_wamp_component_aio.py
@@ -29,15 +29,15 @@ import sys
import unittest.mock as mock
import pytest
import txaio
+import asyncio
if os.environ.get('USE_ASYNCIO', False):
from autobahn.asyncio.component import Component
@pytest.mark.skipif(sys.version_info < (3, 5), reason="requires Python 3.5+")
- @pytest.mark.asyncio(forbid_global_loop=True)
- async def test_asyncio_component(event_loop):
+ def test_asyncio_component():
orig_loop = txaio.config.loop
- txaio.config.loop = event_loop
+ txaio.config.loop = asyncio.get_event_loop()
comp = Component(
transports=[
@@ -52,8 +52,8 @@ if os.environ.get('USE_ASYNCIO', False):
# if having trouble, try starting some logging (and use
# "py.test -s" to get real-time output)
# txaio.start_logging(level="debug")
- f = comp.start(loop=event_loop)
- txaio.config.loop = event_loop
+ f = comp.start(loop=asyncio.get_event_loop())
+ txaio.config.loop = asyncio.get_event_loop()
finished = txaio.create_future()
def fail():
@@ -72,18 +72,18 @@ if os.environ.get('USE_ASYNCIO', False):
txaio.config.loop = orig_loop
assert comp._done_f is None
f.add_done_callback(done)
- await finished
+
+ asyncio.get_event_loop().run_until_complete(finished)
@pytest.mark.skipif(sys.version_info < (3, 5), reason="requires Python 3.5+")
- @pytest.mark.asyncio(forbid_global_loop=True)
- async def test_asyncio_component_404(event_loop):
+ def test_asyncio_component_404():
"""
If something connects but then gets aborted, it should still try
to re-connect (in real cases this could be e.g. wrong path,
TLS failure, WebSocket handshake failure, etc)
"""
orig_loop = txaio.config.loop
- txaio.config.loop = event_loop
+ txaio.config.loop = asyncio.get_event_loop()
class FakeTransport(object):
def close(self):
@@ -104,8 +104,8 @@ if os.environ.get('USE_ASYNCIO', False):
else:
return txaio.create_future_error(RuntimeError("second connection fails completely"))
- with mock.patch.object(event_loop, 'create_connection', create_connection):
- event_loop.create_connection = create_connection
+ with mock.patch.object(txaio.config.loop, 'create_connection', create_connection):
+ txaio.config.loop.create_connection = create_connection
comp = Component(
transports=[
@@ -120,8 +120,8 @@ if os.environ.get('USE_ASYNCIO', False):
# if having trouble, try starting some logging (and use
# "py.test -s" to get real-time output)
# txaio.start_logging(level="debug")
- f = comp.start(loop=event_loop)
- txaio.config.loop = event_loop
+ f = comp.start(loop=asyncio.get_event_loop())
+ txaio.config.loop = asyncio.get_event_loop()
# now that we've started connecting, we *should* be able
# to connetion_lost our transport .. but we do a
@@ -151,4 +151,5 @@ if os.environ.get('USE_ASYNCIO', False):
finished.set_result(None)
txaio.config.loop = orig_loop
f.add_done_callback(done)
- await finished
+
+ asyncio.get_event_loop().run_until_complete(finished)