diff options
| author | Crucible <crucible@localhost> | 2026-09-22 22:22:36 -0500 |
|---|---|---|
| committer | Crucible <crucible@localhost> | 2026-09-22 22:22:36 -0500 |
| commit | 979af70cb83395cab2f32ea1124be68ebaced6b6 (patch) | |
| tree | 18b16739f860a2a652c26c5499fad05922119e31 | |
| parent | 954147f7add6ada356dec519e829e0a2437da5af (diff) | |
| download | srcux-979af70cb83395cab2f32ea1124be68ebaced6b6.tar.gz srcux-979af70cb83395cab2f32ea1124be68ebaced6b6.tar.xz srcux-979af70cb83395cab2f32ea1124be68ebaced6b6.zip | |
Publish baldeagleos-repo candidate 0000000338-20260922-221634
34 files changed, 1238 insertions, 10 deletions
diff --git a/app-admin/aerie/Manifest b/app-admin/aerie/Manifest index 44721b97306a..88e0644c6287 100644 --- a/app-admin/aerie/Manifest +++ b/app-admin/aerie/Manifest @@ -6,3 +6,4 @@ DIST aerie-0.1.5.tar.gz 18688 BLAKE2B 3c4dde0b27869a05b8bc81cd36667df37369c68cd5 DIST aerie-0.2.0.tar.gz 16734 BLAKE2B 6396c66f57d57466d52a8bd5b4245aea2573ea1f4c2d4f6dc569dd16036c6740cd46e6ce8abccedcfe82674a02db23f377f01aaf7dde4f56cc96853e36292b16 SHA512 d4f408a40caab48b0a3401ae35307b908049c747ee72c0acffa8ef5c1509252a4addd67d84e3a311e0687372dfed4633be7a1f118babebc97bb88348931d0cf7 DIST aerie-0.2.1.tar.gz 24103 BLAKE2B e4678a989aa1382b2ecd2ae3e444fd0ffe30eaf00beafe7f029f088aaacddf06d290f2997a7c2cc1483ecdde920c2fe61e1cba239705ca43dacb97424abd50e6 SHA512 aafc5d67234f065c702c1f7a607da46ae02585522ba5a5f30c460af52336f4cc9e11b48b5f3d8505b1af1b4583d84c4873da7fa90035440e0901487a23a6bf79 DIST aerie-0.3.0.tar.gz 29372 BLAKE2B 15c9e9f3a758561d4b530d7696947f39bc6ec55f2591cbc12f6053eddf9b48ae47291bc9aa7ac25889b758044ffb95e38b3b2926abf8de879b4aa1fc765481a8 SHA512 3b25606f1cc505f71309753e1cee58b258fe1796b9b912690533795cdcef0936e2cdb15544f6d72154f207b346fd012ace6cc4a4d9fa4a66e0845a4a73c1ba38 +DIST aerie-0.3.1.tar.gz 35235 BLAKE2B 3a0285aef3b44dcfda53ce2682c803de0a25d3dec2273c22bafd4d7000745386d2d48d8cc791acbdb7c425a3fc5a1407f05ad05791a9c66ee8e3791c65e1e7a8 SHA512 f4df54cd451017a704a49f4136f3a26eae9397dfb5f55b750f5f4da30a2480fd25d54e7577d55247c58e2b0e337de48d8fccf39159ff54e3b80b8418866f701f diff --git a/app-admin/aerie/aerie-0.3.1.ebuild b/app-admin/aerie/aerie-0.3.1.ebuild new file mode 100644 index 000000000000..92b0160f102a --- /dev/null +++ b/app-admin/aerie/aerie-0.3.1.ebuild @@ -0,0 +1,37 @@ +# Copyright 2026 BaldEagleOS Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{13..14} ) +inherit python-single-r1 + +DESCRIPTION="Scout client runtime with compatible Aerie commands" +HOMEPAGE="https://git.baldeagleos.com/aerie" +SRC_URI="https://distfiles.baldeagleos.com/${P}.tar.gz" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm64" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +RDEPEND="${PYTHON_DEPS} app-portage/gentoolkit dev-vcs/git" +BDEPEND="test? ( dev-vcs/git )" +IUSE="test" +RESTRICT="!test? ( test )" +DOCS=( README.md Changelog ) + +src_compile() { + : +} + +src_test() { + PYTHONPATH=src "${EPYTHON}" -m unittest discover -s tests || die +} + +src_install() { + python_domodule src/aerie + python_newscript bin/aerie aerie + python_newscript bin/scout scout + + einstalldocs + insinto /etc/aerie + doins etc/aerie.yml etc/baldeagleos.conf.example etc/parent.example +} diff --git a/app-admin/scout/scout-0.3.1.ebuild b/app-admin/scout/scout-0.3.1.ebuild new file mode 100644 index 000000000000..608fa29a7bfa --- /dev/null +++ b/app-admin/scout/scout-0.3.1.ebuild @@ -0,0 +1,21 @@ +# Copyright 2026 BaldEagleOS Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +DESCRIPTION="Personal Portage repositories and installed-system profile management" +HOMEPAGE="https://git.baldeagleos.com/aerie" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm64" +S="${WORKDIR}" +RDEPEND="~app-admin/aerie-${PV}" + +src_install() { + : +} + +pkg_postinst() { + elog "Run scout to view your main repository or start first-time setup." + elog "Use scout init URL for setup without prompts; scout help lists commands." + elog "Existing Aerie configuration remains usable; reinitialization is unnecessary." +} diff --git a/app-crypt/sequoia-chameleon-gnupg/files/sequoia-chameleon-gnupg-0.13.1-no-cargo-profile.patch b/app-crypt/sequoia-chameleon-gnupg/files/sequoia-chameleon-gnupg-0.13.1-no-cargo-profile.patch new file mode 100644 index 000000000000..dc05c0ea34c3 --- /dev/null +++ b/app-crypt/sequoia-chameleon-gnupg/files/sequoia-chameleon-gnupg-0.13.1-no-cargo-profile.patch @@ -0,0 +1,31 @@ +From fcbeaf85fe7e73cc850f6b538c669753c3fb0f89 Mon Sep 17 00:00:00 2001 +From: Eli Schwartz <eschwartz@gentoo.org> +Date: Fri, 18 Sep 2026 00:46:17 -0400 +Subject: [PATCH] remove terrible horrible no-good very bad profile + +Overriding the profile means make.conf is not respected, and also blows +up. + +--- + Cargo.toml | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/Cargo.toml b/Cargo.toml +index 37121ae..d8a2f74 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -88,11 +88,6 @@ name = "gpg-recorder" + path = "src/gpg-recorder.rs" + required-features = ["the-recorder-steals-secrets-and-i-wont-package-it-in-slash-bin"] + +-[profile.release] +-codegen-units = 1 +-debug = true +-lto = true +- + [features] + default = ["crypto-nettle"] + crypto-nettle = ["sequoia-openpgp/crypto-nettle"] +-- +2.55.0 + diff --git a/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.13.1-r4.ebuild b/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.13.1-r4.ebuild index 41edd54e6b0f..e3d079a6c846 100644 --- a/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.13.1-r4.ebuild +++ b/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.13.1-r4.ebuild @@ -62,6 +62,7 @@ QA_FLAGS_IGNORED="usr/bin/gpg-sq usr/bin/gpgv-sq" PATCHES=( "${FILESDIR}"/${P}-tests.patch + "${FILESDIR}"/${P}-no-cargo-profile.patch ) pkg_setup() { diff --git a/app-emacs/nxml-libvirt-schemas/Manifest b/app-emacs/nxml-libvirt-schemas/Manifest index c16001b2f54c..cd8ff6e68d28 100644 --- a/app-emacs/nxml-libvirt-schemas/Manifest +++ b/app-emacs/nxml-libvirt-schemas/Manifest @@ -3,3 +3,4 @@ DIST libvirt-12.0.0.tar.xz 10272864 BLAKE2B 63424ba5b341e5091ac7956797c9f1d5b746 DIST libvirt-12.1.0.tar.xz 10450056 BLAKE2B 3093d73049bf1cf6ba2f49eeecc9251f4c0c3338c4124970b821c47bdacb7388fdb0b0d01ef40bde28289a6a506e54d93c6ebdc042df9ef89a2f916bdf43c0ca SHA512 5969f50cb3709a8511add41da9a6d9c19d41c6394ec6f7048668deb6b31303fc5740252f3df49124be9149db50da6109d3b9ccc76a78ddaea3bb311358004b2d DIST libvirt-12.2.0.tar.xz 10481320 BLAKE2B 51cd252921f5b50ec7372a4c9a07c44afd8f120fc77e67f36148b62b765a90baa45f2ef179ac16b82903a3e39bcc3fc1f4d2ba8e1d87ba60e9d20eaab3eca8ae SHA512 ce3f877da86eeceebcc7a4f857a1be97fe18883ff0e2ae1bac774dd034105762be521b70905a048c5335163ba2a829a4385521df44541190149be0c5b5b645e0 DIST libvirt-12.6.0.tar.xz 10672044 BLAKE2B 1832637799797bb2d20c6ecdedbaba950398dfcc68e11b982902cebc90e570ed77d175fb8ee66078b0ed7eddc5343556640ba73fd920ea4f883bddf9a6cc5630 SHA512 3cb1b17a16b476d97a774652f5f9eb4e2715705b32b508985fec2f0b8253c3fcbe8cb07cbddb4fb2c4b555ada033a9287aba2bb85e6caade362e9565bd3cfe00 +DIST libvirt-12.7.0.tar.xz 10709104 BLAKE2B 0a5ca87c13f6ec6b7191bb8c2995bfdbadf108c56426e59c100a0811058c52c1cfda3f2ff479e8aabbbbcd5032fcdddd6adec55fb31d56eb570605f754a82518 SHA512 1458a56fac9f9b6a4b198c9dab4cc6388c8a50e625ad6a6f6ebb2852c21a75249c2acaa0a8c712ebba3a05dff654732883e8f197fea2c684ce2be7251153a018 diff --git a/app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-12.7.0.ebuild b/app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-12.7.0.ebuild new file mode 100644 index 000000000000..bcc5bf824635 --- /dev/null +++ b/app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-12.7.0.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=9 + +# Packages which get releases together: +# app-emacs/nxml-libvirt-schemas +# dev-python/libvirt-python +# dev-perl/Sys-Virt +# app-emulation/libvirt +# Please bump them together! + +inherit elisp + +MY_P="libvirt-${PV}" +DESCRIPTION="Extension for nxml-mode with libvirt schemas" +HOMEPAGE="https://www.libvirt.org/" +SRC_URI="https://download.libvirt.org/${MY_P}.tar.xz" +S="${WORKDIR}/${MY_P%-rc*}/src/conf/schemas" + +# This is the license of the package, but the schema files are +# provided without license, maybe it's bad. +LICENSE="LGPL-2.1+" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64" + +# Yes this requires Java, but I'd rather not repackage this, if you +# know something better in C, I'll be glad to use that. +BDEPEND="app-text/trang" + +SITEFILE="60${PN}-gentoo.el" + +src_compile() { + emake -f - <<'EOF' +all: $(patsubst %.rng,%.rnc,$(wildcard *.rng)) +%.rnc: %.rng + trang -I rng -O rnc $< $@ +EOF +} + +src_install() { + insinto "${SITEETC}/${PN}" + doins "${FILESDIR}"/schemas.xml *.rnc + elisp-site-file-install "${FILESDIR}/${SITEFILE}" +} diff --git a/app-emulation/libvirt/Manifest b/app-emulation/libvirt/Manifest index a7a0b0f8d1ed..db0b19be06b0 100644 --- a/app-emulation/libvirt/Manifest +++ b/app-emulation/libvirt/Manifest @@ -8,3 +8,5 @@ DIST libvirt-12.2.0.tar.xz 10481320 BLAKE2B 51cd252921f5b50ec7372a4c9a07c44afd8f DIST libvirt-12.2.0.tar.xz.asc 833 BLAKE2B de1bfb33a6df9af96a0219ae232a8659d44b0904fc06e74fcc548b45f2b84b0064ea9ba4e55a0d1d046fe67f385e561b44be39cb3786b21521cd115b09eb36fd SHA512 465a03fedf0e65add382aff4242f6c1c887d5d8863911b009fbd9bc1a91ccbfc81ef4ba88d76fa87e30d68d3b2f7bb5850bb6377e021e6f3317423dea9abc720 DIST libvirt-12.6.0.tar.xz 10672044 BLAKE2B 1832637799797bb2d20c6ecdedbaba950398dfcc68e11b982902cebc90e570ed77d175fb8ee66078b0ed7eddc5343556640ba73fd920ea4f883bddf9a6cc5630 SHA512 3cb1b17a16b476d97a774652f5f9eb4e2715705b32b508985fec2f0b8253c3fcbe8cb07cbddb4fb2c4b555ada033a9287aba2bb85e6caade362e9565bd3cfe00 DIST libvirt-12.6.0.tar.xz.asc 833 BLAKE2B 58324fb7971973f77993d45e051c5deb04fae7ec0697862c7ac64b13b7613f8c66d1182f9a18f3710b20cf24d540333038bbe5a27ae951b91747a6a3ce827bd8 SHA512 9259184929f06a5792ac0c4fd206fb2315459a8e2333010e7d3e8f2bd34648a3ac160c16ac990cbe289e507c2f2a59c125cc05fc6d9f918fbd91ac2c55b86b4a +DIST libvirt-12.7.0.tar.xz 10709104 BLAKE2B 0a5ca87c13f6ec6b7191bb8c2995bfdbadf108c56426e59c100a0811058c52c1cfda3f2ff479e8aabbbbcd5032fcdddd6adec55fb31d56eb570605f754a82518 SHA512 1458a56fac9f9b6a4b198c9dab4cc6388c8a50e625ad6a6f6ebb2852c21a75249c2acaa0a8c712ebba3a05dff654732883e8f197fea2c684ce2be7251153a018 +DIST libvirt-12.7.0.tar.xz.asc 833 BLAKE2B 69a7ec5f5d670b278427f68fcfde4c88fd7c72d541d3d65a111f6821ea49ad5d6682593ef17f464e90b041de723f188aa56f2fc49206f29d199f21c979d73fd5 SHA512 ccb202168875eab31c7cf83479398ebe0ec0a47e1891076ab7e04e43ce0df88cb95dca736edef5493e1d0dd318477de3bfb930d57aa129851b423b25d3f8640d diff --git a/app-emulation/libvirt/libvirt-12.7.0.ebuild b/app-emulation/libvirt/libvirt-12.7.0.ebuild new file mode 100644 index 000000000000..01d96c8c22a8 --- /dev/null +++ b/app-emulation/libvirt/libvirt-12.7.0.ebuild @@ -0,0 +1,384 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Packages which get releases together: +# app-emacs/nxml-libvirt-schemas +# dev-python/libvirt-python +# dev-perl/Sys-Virt +# app-emulation/libvirt +# Please bump them together! + +PYTHON_COMPAT=( python3_{13..14} ) +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.asc +inherit meson flag-o-matic linux-info python-any-r1 readme.gentoo-r1 +inherit tmpfiles verify-sig + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git" + EGIT_BRANCH="master" +else + SRC_URI="https://download.libvirt.org/${P}.tar.xz + verify-sig? ( https://download.libvirt.org/${P}.tar.xz.asc )" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +fi + +DESCRIPTION="C toolkit to manipulate virtual machines" +HOMEPAGE="https://www.libvirt.org/ https://gitlab.com/libvirt/libvirt/" +LICENSE="LGPL-2.1" +SLOT="0/${PV}" +IUSE=" + apparmor audit bash-completion +caps dtrace firewalld fuse glusterfs + iscsi iscsi-direct +libvirtd lvm libssh libssh2 lxc nbd nfs nls numa + parted pcap policykit +qemu rbd sasl selinux test +udev + virtiofsd virtualbox +virt-network wireshark-plugins xen zfs +" +RESTRICT="!test? ( test )" + +REQUIRED_USE=" + firewalld? ( virt-network ) + libvirtd? ( || ( lxc qemu virtualbox xen ) ) + lxc? ( caps libvirtd ) + qemu? ( libvirtd ) + virt-network? ( libvirtd ) + virtualbox? ( libvirtd ) + xen? ( libvirtd )" + +BDEPEND=" + app-text/xhtml1 + dev-lang/perl + dev-libs/libxslt + dev-perl/XML-XPath + dev-python/docutils + virtual/pkgconfig + bash-completion? ( >=app-shells/bash-completion-2.0 ) + verify-sig? ( >=sec-keys/openpgp-keys-libvirt-20260831 )" + +# gettext.sh command is used by the libvirt command wrappers, and it's +# non-optional, so put it into RDEPEND. +# We can use both libnl:1.1 and libnl:3, but if you have both installed, the +# package will use 3 by default. Since we don't have slot pinning in an API, +# we must go with the most recent. +RDEPEND=" + acct-user/qemu + app-misc/scrub + >=dev-libs/glib-2.66.0 + dev-libs/libgcrypt + dev-libs/libnl:3 + >=dev-libs/libxml2-2.9.1:= + >=net-analyzer/openbsd-netcat-1.105-r1 + >=net-libs/gnutls-3.2.0:= + net-libs/libtirpc:= + >=net-misc/curl-7.18.0 + sys-apps/dbus + sys-apps/dmidecode + sys-devel/gettext + >=sys-libs/readline-7.0:= + virtual/acl + apparmor? ( sys-libs/libapparmor ) + audit? ( sys-process/audit ) + caps? ( sys-libs/libcap-ng ) + dtrace? ( dev-debug/systemtap ) + firewalld? ( >=net-firewall/firewalld-0.6.3 ) + fuse? ( sys-fs/fuse:= ) + glusterfs? ( >=sys-cluster/glusterfs-3.4.1 ) + iscsi? ( >=sys-block/open-iscsi-1.18.0 ) + iscsi-direct? ( >=net-libs/libiscsi-1.18.0 ) + libssh? ( >=net-libs/libssh-0.8.1:= ) + libssh2? ( >=net-libs/libssh2-1.3 ) + lvm? ( >=sys-fs/lvm2-2.02.48-r2[lvm] ) + lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] ) + nbd? ( + sys-block/nbdkit + sys-libs/libnbd + ) + nfs? ( net-fs/nfs-utils ) + numa? ( + >sys-process/numactl-2.0.2 + sys-process/numad + ) + parted? ( + >=sys-block/parted-1.8[device-mapper] + sys-fs/lvm2[lvm] + ) + pcap? ( >=net-libs/libpcap-1.8.0 ) + policykit? ( + acct-group/libvirt + >=sys-auth/polkit-0.9 + ) + qemu? ( + >=app-emulation/qemu-7.2 + app-crypt/swtpm + dev-libs/json-c:= + ) + rbd? ( sys-cluster/ceph ) + sasl? ( >=dev-libs/cyrus-sasl-2.1.26 ) + selinux? ( >=sys-libs/libselinux-2.0.85 ) + virt-network? ( + net-dns/dnsmasq[dhcp,ipv6(+),script] + net-firewall/ebtables + || ( + >=net-firewall/iptables-1.4.10[ipv6(+)] + net-firewall/nftables + ) + net-misc/radvd + sys-apps/iproute2[-minimal] + ) + virtiofsd? ( app-emulation/virtiofsd ) + virtualbox? ( <app-emulation/virtualbox-7.1.0 ) + wireshark-plugins? ( >=net-analyzer/wireshark-2.6.0:= ) + xen? ( + >=app-emulation/xen-4.9.0 + app-emulation/xen-tools:= + ) + udev? ( + virtual/libudev:= + >=x11-libs/libpciaccess-0.10.9 + ) + zfs? ( sys-fs/zfs ) + kernel_linux? ( sys-apps/util-linux )" +DEPEND=" + ${BDEPEND} + ${RDEPEND} + ${PYTHON_DEPS} + test? ( + $(python_gen_any_dep ' + dev-python/pytest[${PYTHON_USEDEP}] + ') + ) +" +# The 'circular' dependency on dev-python/libvirt-python is because of +# virt-qemu-qmp-proxy. +PDEPEND=" + qemu? ( dev-python/libvirt-python ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-11.0.0-Fix-paths-in-libvirt-guests.sh.in.patch + "${FILESDIR}"/${PN}-12.6.0-fix-paths-for-apparmor.patch + "${FILESDIR}"/${PN}-12.2.0-do-not-use-sysconfig.patch +) + +python_check_deps() { + if use test; then + python_has_version -d "dev-python/pytest[${PYTHON_USEDEP}]" + fi +} + +pkg_setup() { + # Check kernel configuration: + CONFIG_CHECK="" + use fuse && CONFIG_CHECK+=" + ~FUSE_FS" + + use lvm && CONFIG_CHECK+=" + ~BLK_DEV_DM + ~DM_MULTIPATH + ~DM_SNAPSHOT" + + use lxc && CONFIG_CHECK+=" + ~BLK_CGROUP + ~CGROUP_CPUACCT + ~CGROUP_DEVICE + ~CGROUP_FREEZER + ~CGROUP_NET_PRIO + ~CGROUP_PERF + ~CGROUPS + ~CGROUP_SCHED + ~CPUSETS + ~IPC_NS + ~MACVLAN + ~NAMESPACES + ~NET_CLS_CGROUP + ~NET_NS + ~PID_NS + ~POSIX_MQUEUE + ~SECURITYFS + ~USER_NS + ~UTS_NS + ~VETH + ~!GRKERNSEC_CHROOT_MOUNT + ~!GRKERNSEC_CHROOT_DOUBLE + ~!GRKERNSEC_CHROOT_PIVOT + ~!GRKERNSEC_CHROOT_CHMOD + ~!GRKERNSEC_CHROOT_CAPS" + + use virt-network && CONFIG_CHECK+=" + ~BRIDGE_EBT_MARK_T + ~BRIDGE_NF_EBTABLES + ~NETFILTER_ADVANCED + ~NETFILTER_XT_CONNMARK + ~NETFILTER_XT_MARK + ~NETFILTER_XT_TARGET_CHECKSUM + ~NETFILTER_XT_TARGET_MASQUERADE + ~NET_ACT_CSUM + ~IP_NF_FILTER + ~IP_NF_MANGLE + ~IP_NF_NAT + ~IP6_NF_FILTER + ~IP6_NF_MANGLE + ~IP6_NF_NAT" + + # Bandwidth Limiting Support + use virt-network && CONFIG_CHECK+=" + ~BRIDGE_EBT_T_NAT + ~IP_NF_TARGET_REJECT + ~NET_ACT_POLICE + ~NET_CLS_FW + ~NET_CLS_U32 + ~NET_SCH_HTB + ~NET_SCH_INGRESS + ~NET_SCH_SFQ" + + ERROR_USER_NS="Optional depending on LXC configuration." + + if [[ -n ${CONFIG_CHECK} ]]; then + linux-info_pkg_setup + fi + + python-any-r1_pkg_setup +} + +src_prepare() { + touch "${S}/.mailmap" || die + + default + python_fix_shebang . + + # Skip fragile tests which relies on pristine environment + # (Breaks because of sandbox environment variables) + # bug #802876 + sed -i -e "/commandtest/d" tests/meson.build || die + + # Tweak the init script: + cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die + sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \ + -i "${S}/libvirtd.init" || die "sed failed" +} + +src_configure() { + # Breaks with always_inline + filter-flags -fno-semantic-interposition + + local emesonargs=( + $(meson_feature apparmor) + $(meson_feature apparmor apparmor_profiles) + $(meson_feature audit) + $(meson_feature caps capng) + $(meson_feature dtrace) + $(meson_feature firewalld) + $(meson_feature fuse) + $(meson_feature glusterfs) + $(meson_feature glusterfs storage_gluster) + $(meson_feature iscsi storage_iscsi) + $(meson_feature iscsi-direct storage_iscsi_direct) + $(meson_feature libvirtd driver_libvirtd) + $(meson_feature libssh) + $(meson_feature libssh2) + $(meson_feature lvm storage_lvm) + $(meson_feature lvm storage_mpath) + $(meson_feature lxc driver_lxc) + $(meson_feature nbd nbdkit) + $(meson_feature nls) + $(meson_feature numa numactl) + $(meson_feature numa numad) + $(meson_feature parted storage_disk) + $(meson_feature pcap libpcap) + $(meson_feature policykit polkit) + $(meson_feature qemu driver_qemu) + $(meson_feature qemu json_c) + $(meson_feature rbd storage_rbd) + $(meson_feature sasl) + $(meson_feature selinux) + $(meson_feature test tests) + $(meson_feature udev) + $(meson_feature virt-network driver_network) + $(meson_feature virtualbox driver_vbox) + $(meson_feature wireshark-plugins wireshark_dissector) + $(meson_feature xen driver_libxl) + $(meson_feature zfs storage_zfs) + + -Ddriver_openvz=disabled + -Dnetcf=disabled + -Dsanlock=disabled + -Dopenwsman=disabled + + -Ddriver_esx=enabled + -Dinit_script=systemd + -Dqemu_user=$(usex caps qemu root) + -Dqemu_group=$(usex caps qemu root) + -Ddriver_remote=enabled + -Dstorage_fs=enabled + -Ddriver_vmware=enabled + + --localstatedir="${EPREFIX}/var" + -Dinitconfdir="${EPREFIX}/etc/systemd" + -Drunstatedir="${EPREFIX}/run" + -Ddocdir="${EPREFIX}/usr/share/doc/${PF}" + ) + + # Workaround for bug #938302 + if use dtrace && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then + local native_file="${T}"/meson.${CHOST}.ini.local + cat >> ${native_file} <<-EOF || die + [binaries] + dtrace='stap-dtrace' + EOF + emesonargs+=( --native-file "${native_file}" ) + fi + + meson_src_configure +} + +src_test() { + export VIR_TEST_DEBUG=1 + # Don't run the syntax check tests, they're fragile and not relevant + # to us downstream anyway. + # We also crank up the timeout (as Fedora does) just to preempt failures + # on slower arches. + meson_src_test --no-suite syntax-check --timeout-multiplier 10 +} + +src_install() { + meson_src_install + + # Depending on configuration option, libvirt will create some bogus + # directoreis. They are either not used, or libvirtd is able to create + # them on demand, so let's remove them. + # + # Note, we are using -f here so that rm does not fail or warn if the + # directory is nonexistent. + rm -rf "${D}"/etc/sysconfig + rm -rf "${D}"/var + rm -rf "${D}"/run + + use libvirtd || return 0 + # From here, only libvirtd-related instructions, be warned! + + newtmpfiles "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf + + newinitd "${S}/libvirtd.init" libvirtd + newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests + newinitd "${FILESDIR}/virtlockd.init-r2" virtlockd + newinitd "${FILESDIR}/virtlogd.init-r2" virtlogd + + newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd + newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests + + DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r3") + DISABLE_AUTOFORMATTING=true + readme.gentoo_create_doc +} + +pkg_postinst() { + if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then + touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die + fi + + use libvirtd || return 0 + # From here, only libvirtd-related instructions, be warned! + tmpfiles_process libvirtd.conf + readme.gentoo_print_elog +} diff --git a/app-emulation/libvirt/libvirt-9999.ebuild b/app-emulation/libvirt/libvirt-9999.ebuild index 446f93512360..01d96c8c22a8 100644 --- a/app-emulation/libvirt/libvirt-9999.ebuild +++ b/app-emulation/libvirt/libvirt-9999.ebuild @@ -11,7 +11,7 @@ EAPI=8 # Please bump them together! PYTHON_COMPAT=( python3_{13..14} ) -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.asc inherit meson flag-o-matic linux-info python-any-r1 readme.gentoo-r1 inherit tmpfiles verify-sig @@ -109,7 +109,7 @@ RDEPEND=" >=sys-auth/polkit-0.9 ) qemu? ( - >=app-emulation/qemu-4.2 + >=app-emulation/qemu-7.2 app-crypt/swtpm dev-libs/json-c:= ) @@ -157,7 +157,7 @@ PDEPEND=" PATCHES=( "${FILESDIR}"/${PN}-11.0.0-Fix-paths-in-libvirt-guests.sh.in.patch - "${FILESDIR}"/${PN}-11.3.0-fix-paths-for-apparmor.patch + "${FILESDIR}"/${PN}-12.6.0-fix-paths-for-apparmor.patch "${FILESDIR}"/${PN}-12.2.0-do-not-use-sysconfig.patch ) diff --git a/dev-lang/swig/Manifest b/dev-lang/swig/Manifest index 49b8925910f7..2f152fc3060b 100644 --- a/dev-lang/swig/Manifest +++ b/dev-lang/swig/Manifest @@ -2,3 +2,4 @@ DIST swig-4.1.1.tar.gz 8600805 BLAKE2B 898d3405f20c3e49626fb808b568e77c69b81ec24 DIST swig-4.2.1.tar.gz 8364050 BLAKE2B 0acffd4794d09f2347d669d1460a794c03f136ab3ddc6623741e182ff52b6bf5f639c736e38540918ebb1abbe36c2ce1957aef8a429f1a716d9c5361175569bf SHA512 019dee5a46d57e1030eef47cd5d007ccaadbdcd4e53cd30d7c795f0118ecf4406a78185534502c81c5f6d7bac0713256e7e19b20b5a2d14e2c552219edbaf5cf DIST swig-4.3.1.tar.gz 8620774 BLAKE2B cd47eb3f9bf7c7e2f1583a58c4416275720b55754abd05c61636e68ac36e6b5899b293e55cf680071257017b53b95e7a2fd8983ca4effc7e98bb7af4dac5e026 SHA512 8958f7bc3345549a9bc4e00aa8d40a99f6c4bb92b95d627c8796cf8f8d1ba0041a89cab542f171778c2b26aa2a877767181ae9bd2c05fd055f373a32a463399c DIST swig-4.4.1.tar.gz 8658358 BLAKE2B 06fdcda2de0b0acf341949e0d60e284b5cd326a1f0f1d0985e387c936ef8d87fb98ea14a260ca22c19634f297f7331ed44989da07a47ee9333630397846e4db1 SHA512 103ddb4a5914f28e6739a006d35042c701e55ba05066acff3f3609befb5f43f253ea717fc41d06c93d8fb187ded4399c12c94665b93dc06d0fb835069391c7c7 +DIST swig-4.5.1.tar.gz 9191718 BLAKE2B 371086611526fc7ac437d09c6f12c4077c31b4d3b7d89facfc67363114a42202c5a715e61822b64015c1fa2e1f8c3222566dfe1482ba927a71fbfc2c4439643b SHA512 bf89652ddcfac38e42a52224ff79c5717e973779d174b822a03ad48866303779cadf9d5181bbceed4d5dd4a0ff5ed5dea4a0c7cf10c5bc4a59310cdba64f47dd diff --git a/dev-lang/swig/metadata.xml b/dev-lang/swig/metadata.xml index 807591e47fc1..e3d777ea6d70 100644 --- a/dev-lang/swig/metadata.xml +++ b/dev-lang/swig/metadata.xml @@ -16,6 +16,7 @@ </longdescription> <use> <flag name="ccache">build ccache-swig(a fast compiler cache)</flag> + <flag name="test-full">Test against more languages</flag> </use> <origin>baldeagleos-repo</origin> </pkgmetadata> diff --git a/dev-lang/swig/swig-4.5.1.ebuild b/dev-lang/swig/swig-4.5.1.ebuild new file mode 100644 index 000000000000..a7860d76fd72 --- /dev/null +++ b/dev-lang/swig/swig-4.5.1.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +inherit flag-o-matic python-any-r1 toolchain-funcs + +DESCRIPTION="Simplified Wrapper and Interface Generator" +HOMEPAGE="https://www.swig.org/ https://github.com/swig/swig" +SRC_URI="https://downloads.sourceforge.net/project/swig/swig/${P}/${P}.tar.gz" + +LICENSE="GPL-3+ BSD BSD-2" +SLOT="0" +# Temporarily unkeyworded due to breakage in reverse dependencies, bug #983043 +#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +IUSE="ccache doc pcre test test-full" +RESTRICT="!test? ( test )" + +RDEPEND=" + pcre? ( dev-libs/libpcre2:= ) + ccache? ( virtual/zlib:= ) +" +DEPEND=" + ${RDEPEND} + test? ( dev-libs/boost ) +" +BDEPEND=" + virtual/pkgconfig + test? ( + ${PYTHON_DEPS} + test-full? ( + dev-lang/mono + >=dev-lang/go-1.20 + virtual/jdk + >=dev-lang/lua-5.1:* + dev-lang/ocaml + dev-lang/perl:* + || ( + dev-lang/php:8.3 + dev-lang/php:8.2 + ) + dev-lang/R + dev-lang/tcl + ) + ) +" + +DOCS=( ANNOUNCE CHANGES CHANGES.current README TODO ) + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_configure() { + # strict aliasing violations in test code + filter-lto + append-flags -fno-strict-aliasing + + local myconf=( + PKGCONFIG="$(tc-getPKG_CONFIG)" + --without-maximum-compile-warnings + $(use_enable ccache) + $(use_with pcre) + --without-clang-format + + # tests are automagic for many languages otherwise and may be quite brittle + --without-alllang + --with-python # installed by default due to portage, significant portion of revdeps use swig for python bindings + ) + if use test-full; then + myconf+=( + --with-csharp + #--with-d # doesn't accept gcc[d]? + --with-go + #--with-guile would need guile-any type support + --with-java + #--with-javascript # broken build + --with-lua + --with-ocaml + #--with-octave # broken build + --with-perl + --with-perl5="${EPREFIX}/usr/bin/perl" + --with-php + --with-r + #--with-ruby # broken build + #--with-scilab # not packaged? + --with-tcl + ) + fi + econf "${myconf[@]}" +} + +src_compile() { + # Override these variables per Makefile.in to get verbose logs + emake FLAGS="-k" RUNPIPE="" +} + +src_test() { + # The tests won't get run w/o an explicit call, broken Makefiles? + # *-sections for bug #935318 + emake check \ + FLAGS="-k" \ + RUNPIPE="" \ + CFLAGS="${CFLAGS} -ffunction-sections -fdata-sections" \ + CXXFLAGS="${CXXFLAGS} -ffunction-sections -fdata-sections" \ + LDFLAGS="${LDFLAGS}" +} + +src_install() { + default + + if use doc; then + docinto html + dodoc -r Doc/{Devel,Manual} + fi +} diff --git a/dev-libs/expat/expat-2.8.5.ebuild b/dev-libs/expat/expat-2.8.5.ebuild index 527ab9bf0f69..3526fc8e1260 100644 --- a/dev-libs/expat/expat-2.8.5.ebuild +++ b/dev-libs/expat/expat-2.8.5.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://github.com/libexpat/libexpat/releases/download/R_${PV//\./_}/ex LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="examples static-libs test unicode" RESTRICT="!test? ( test )" BDEPEND="unicode? ( ${AUTOTOOLS_DEPEND} )" diff --git a/dev-libs/libratbag/files/libratbag-0.18-swig-4.5.patch b/dev-libs/libratbag/files/libratbag-0.18-swig-4.5.patch new file mode 100644 index 000000000000..1a19a1cd57f3 --- /dev/null +++ b/dev-libs/libratbag/files/libratbag-0.18-swig-4.5.patch @@ -0,0 +1,87 @@ +https://bugs.gentoo.org/983043 +https://github.com/libratbag/libratbag/pull/1878 +https://github.com/libratbag/libratbag/commit/1f4efda9553a5efbbd5be49def22f993ef1410ca + +From 1f4efda9553a5efbbd5be49def22f993ef1410ca Mon Sep 17 00:00:00 2001 +From: Ayoze Torres <53948812+ayozetr@users.noreply.github.com> +Date: Wed, 12 Aug 2026 19:07:56 +0100 +Subject: [PATCH] swig: use the Python 3 C API instead of the removed PyInt_* + aliases (#1878) + +src/libratbag.i calls PyInt_Check(), PyInt_AsLong() and PyInt_FromLong(). +Those are Python 2 functions; they only ever worked because SWIG emitted +compatibility macros mapping them onto their PyLong_* counterparts in the +generated wrapper. SWIG 4.5.0 dropped those macros, so the generated +libratbag.c no longer compiles: + + libratbag.c: In function '_wrap_ratbag_device_get_vendor_id': + libratbag.c:4583:17: error: implicit declaration of function + 'PyInt_FromLong'; did you mean 'PyLong_FromLong'? + libratbag.c:4583:15: error: assignment to 'PyObject *' from 'int' makes + pointer from integer without a cast [-Wint-conversion] + +Call the PyLong_* functions directly. The bindings are generated with +swig -py3, so there is no Python 2 build to keep working, and the macros +they replace expanded to exactly these functions. + +Built and verified on Arch Linux with swig 4.5.0, Python 3.14, meson 1.12.0, gcc 15: `_libratbag.so` and `_hidpp.so` link cleanly with the change and fail without it. + +Co-authored-by: Jitka Plesnikova <jplesnik@redhat.com> +Signed-off-by: Stephen Kitt <skitt@debian.org> +--- a/src/libratbag.i ++++ b/src/libratbag.i +@@ -21,12 +21,12 @@ + $1 = (unsigned int *) malloc(($2 + 1) * sizeof(unsigned int)); + for (i = 0; i < $2; i++) { + PyObject *s = PyList_GetItem($input, i); +- if (!PyInt_Check(s)) { ++ if (!PyLong_Check(s)) { + free($1); + PyErr_SetString(PyExc_ValueError, "List items must be integers"); + return NULL; + } +- $1[i] = PyInt_AsLong(s); ++ $1[i] = PyLong_AsLong(s); + } + $1[i] = 0; + } +@@ -34,7 +34,7 @@ + %typemap(argout) (unsigned int *resolutions, size_t nres) { + unsigned int i; + for (i = 0; i < $2; i++) { +- PyList_SetItem($input, i, PyInt_FromLong($1[i])); ++ PyList_SetItem($input, i, PyLong_FromLong($1[i])); + } + } + +@@ -61,24 +61,24 @@ + + /* uintXX_t mapping: Python -> C */ + %typemap(in) uint8_t { +- $1 = (uint8_t) PyInt_AsLong($input); ++ $1 = (uint8_t) PyLong_AsLong($input); + } + %typemap(in) uint16_t { +- $1 = (uint16_t) PyInt_AsLong($input); ++ $1 = (uint16_t) PyLong_AsLong($input); + } + %typemap(in) uint32_t { +- $1 = (uint32_t) PyInt_AsLong($input); ++ $1 = (uint32_t) PyLong_AsLong($input); + } + + /* uintXX_t mapping: C -> Python */ + %typemap(out) uint8_t { +- $result = PyInt_FromLong((long) $1); ++ $result = PyLong_FromLong((long) $1); + } + %typemap(out) uint16_t { +- $result = PyInt_FromLong((long) $1); ++ $result = PyLong_FromLong((long) $1); + } + %typemap(out) uint32_t { +- $result = PyInt_FromLong((long) $1); ++ $result = PyLong_FromLong((long) $1); + } + + /* Parse the header file to generate wrappers */ diff --git a/dev-libs/libratbag/libratbag-0.18.ebuild b/dev-libs/libratbag/libratbag-0.18.ebuild index 95061afdda37..60ceae257e0c 100644 --- a/dev-libs/libratbag/libratbag-0.18.ebuild +++ b/dev-libs/libratbag/libratbag-0.18.ebuild @@ -71,6 +71,7 @@ CONFIG_CHECK="~HIDRAW" PATCHES=( "${FILESDIR}"/${PN}-0.17-basename.patch + "${FILESDIR}"/${PN}-0.18-swig-4.5.patch ) pkg_setup() { diff --git a/dev-perl/Sys-Virt/Manifest b/dev-perl/Sys-Virt/Manifest index 6cfd01a9e780..b517233359d2 100644 --- a/dev-perl/Sys-Virt/Manifest +++ b/dev-perl/Sys-Virt/Manifest @@ -7,3 +7,4 @@ DIST Sys-Virt-v12.0.0.tar.gz 180276 BLAKE2B a4b116acbd3f5e731c4e0829e5d765d1ba4f DIST Sys-Virt-v12.1.0.tar.gz 180642 BLAKE2B e68e8e5ac9bb12e9e1bc365c0a905bcc995c8f2cfb28c56c57e2d2d2ecd77202f4bb308006dc463218e30eb08b7648c25054a73d4f3b2a7e5f69146f08122e4f SHA512 3f549e2cae0dff3935465f51038fdbc4243c9ad76c9dc6f887d87a5508a8c86673e100aede6152a5db655a8cee85f6ede926dcdb42116b10b6cb308483b68748 DIST Sys-Virt-v12.2.0.tar.gz 180927 BLAKE2B cb57e3c2dbb70628eb9c21643e786f813b79d339bb628e630ccd7bac79e0d081ed04fcaa27e193fada7299077cbf41e34dba70601b49ebff959cfeddb24b0a69 SHA512 b39863a7484bb8059e36a891e952e8372e76a36f28a8de287cf4acb72b67dc0b5c7a1297c6c8a2cb63d8f5946c302f1c588c55d09750790abee7d20ba4da8c3f DIST Sys-Virt-v12.6.0.tar.gz 183374 BLAKE2B ef710dd2dcb728bd5893ee461e700793234bddb922202de90dbdffd3d6ef9ddf20f3c0c7ac41da0a10fc46b921c8507be4ad55f11deaee4949c7a0db58dd1bbe SHA512 0ad03f4a8c58b55e77763af8ffef4e1b34ddcd70bc6769c4bd46604b7ca57a2714c1b3b992228fe3e019444ffa02a05b7d76e981b7ee42ae861f68cc3fa2027f +DIST Sys-Virt-v12.7.0.tar.gz 184197 BLAKE2B 5b7f24ea90fac31d72c9f67846e095c77b112966a1196b618914ea642514acd551dd3be05348d8c7ffd6d10220604fdb46fc573659feea045854c268d02c9aab SHA512 647a3d129778e04d26e3f0015b7e4fecd9057ca970ab69bca73893131d0e3889e47c29f6bdfe548c0b88a61d7b0f0599d7b8c6cf4930acedef50b44897fb09e8 diff --git a/dev-perl/Sys-Virt/Sys-Virt-12.7.0.ebuild b/dev-perl/Sys-Virt/Sys-Virt-12.7.0.ebuild new file mode 100644 index 000000000000..e823cacf90cd --- /dev/null +++ b/dev-perl/Sys-Virt/Sys-Virt-12.7.0.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Packages which get releases together: +# app-emacs/nxml-libvirt-schemas +# dev-python/libvirt-python +# dev-perl/Sys-Virt +# app-emulation/libvirt +# Please bump them together! + +DIST_AUTHOR=DANBERR +DIST_VERSION=v${PV} +DIST_EXAMPLES=("examples/*") +inherit perl-module + +DESCRIPTION="API for using the libvirt library from Perl" + +SLOT="0" +KEYWORDS="~amd64 ~ppc64 ~x86" + +RDEPEND=" + >=app-emulation/libvirt-${PV} +" +BDEPEND="${RDEPEND} + dev-perl/Module-Build + test? ( + dev-perl/CPAN-Changes + dev-perl/Test-More-UTF8 + dev-perl/Test-Pod + dev-perl/Test-Pod-Coverage + dev-perl/XML-XPath + )" +DEPEND=" + >=app-emulation/libvirt-${PV} +" diff --git a/dev-python/gpgmepy/files/gpgmepy-2.0.0-swig-4.5.patch b/dev-python/gpgmepy/files/gpgmepy-2.0.0-swig-4.5.patch new file mode 100644 index 000000000000..4ab94bebc3e8 --- /dev/null +++ b/dev-python/gpgmepy/files/gpgmepy-2.0.0-swig-4.5.patch @@ -0,0 +1,63 @@ +https://bugs.gentoo.org/983043 +https://lists.gnupg.org/pipermail/gnupg-devel/2026-August/036421.html + +As of 2026/09/21 this or an equivalent hasn't been merged upstream. + +Description: Build with swig 4.5.0 + Without this patch, the package FTBFS with swig 4.5.0. This is due to + the removal of the Python 2 compatibility macros in version 4.5.0. + According to the SWIG authors, these macros were retained in the + generated code (pyhead.swg) solely for user typemaps. All typemap + using these macros are updated to call the Python 3 C API + directly. +Author: Rafael Laboissière <rafael@debian.org> +Bug-Debian: https://bugs.debian.org/1145351 +Forwarded: no +Last-Update: 2026-08-25 + +--- gpgmepy-2.0.0.orig/gpgme.i ++++ gpgmepy-2.0.0/gpgme.i +@@ -94,8 +94,8 @@ + } + $1[i] = PyBytes_AsString(pyVector[i]); + } +- else if (PyString_Check(o)) +- $1[i] = PyString_AsString(o); ++ else if (PyBytes_Check(o)) ++ $1[i] = PyBytes_AsString(o); + else { + PyErr_Format(PyExc_TypeError, + "arg %d: list must contain only str or bytes, got %s " +@@ -316,8 +316,8 @@ + if (PyLong_Check($input)) + $1 = PyLong_AsLong($input); + #if PY_MAJOR_VERSION < 3 +- else if (PyInt_Check($input)) +- $1 = PyInt_AsLong($input); ++ else if (PyLong_Check($input)) ++ $1 = PyLong_AsLong($input); + #endif + else { + PyErr_SetString(PyExc_TypeError, "Numeric argument expected"); +@@ -341,8 +341,8 @@ + $1 = PyLong_AsLong($input); + #endif + #if PY_MAJOR_VERSION < 3 +- else if (PyInt_Check($input)) +- $1 = PyInt_AsLong($input); ++ else if (PyLong_Check($input)) ++ $1 = PyLong_AsLong($input); + #endif + else { + PyErr_SetString(PyExc_TypeError, "Numeric argument expected"); +@@ -357,8 +357,8 @@ + if (PyLong_Check($input)) + tmp$argnum = PyLong_AsLong($input); + #if PY_MAJOR_VERSION < 3 +- else if (PyInt_Check($input)) +- tmp$argnum = PyInt_AsLong($input); ++ else if (PyLong_Check($input)) ++ tmp$argnum = PyLong_AsLong($input); + #endif + else + { diff --git a/dev-python/gpgmepy/gpgmepy-2.0.0-r2.ebuild b/dev-python/gpgmepy/gpgmepy-2.0.0-r2.ebuild index bf0cea406949..70cdd27b1496 100644 --- a/dev-python/gpgmepy/gpgmepy-2.0.0-r2.ebuild +++ b/dev-python/gpgmepy/gpgmepy-2.0.0-r2.ebuild @@ -36,6 +36,7 @@ PATCHES=( "${FILESDIR}"/${PN}-2.0.0_pre20250603-python.patch # https://github.com/gpg/gpgmepy/commit/a4b0c9f6e285c0a56b758f73cc4ee38c0b3e5c46 "${FILESDIR}"/${P}-test-fix.patch + "${FILESDIR}"/${PN}-2.0.0-swig-4.5.patch ) src_prepare() { diff --git a/dev-python/libvirt-python/Manifest b/dev-python/libvirt-python/Manifest index ce0ec5d02d4d..8f0b4794da6a 100644 --- a/dev-python/libvirt-python/Manifest +++ b/dev-python/libvirt-python/Manifest @@ -8,3 +8,5 @@ DIST libvirt_python-12.2.0.tar.gz 244689 BLAKE2B b8591860f6cefd160535f70b17afdf1 DIST libvirt_python-12.2.0.tar.gz.asc 833 BLAKE2B 2a6365eab211414f15b55f4769fa3f7789522700266be4fc8fe852ba02c701a9f58c2b72cd3210447572c6c0e526b71405f4a19c2e5cd0f71e66445c32647776 SHA512 73edd0a887e1f5bc91f8d27c0e800d750a6005e01c726f9ff72b667a7bc6527607d98a18a5b66194d4bd35fc5b06481c34f6003c5c2c7cb882c6a9bd11765d4a DIST libvirt_python-12.6.0.tar.gz 252693 BLAKE2B 17d0760d5f56b17ec6bd738e6a4f25d57ce411edb4db2fe3f5e0ff2fae670583973d8ab6b0eb1fe7acbcb2d781e6a628ded62e08ea2ff85695204ce144f3058c SHA512 e43a3ee2c46fdcb82c65239639e38683067fb0492c0dc26e5435138435d612277f3ab08b7e73a933b07ad9e2f411feb82e84690e82f906cfcfc9f3aa7b5f3c42 DIST libvirt_python-12.6.0.tar.gz.asc 833 BLAKE2B edf2e70a0af3ba13e2a31bad7036350ee5e0a411a87a02a15ff77e05c2d7bb451f90c343691cc3f56d2b555e83975476e1042455ffb96bae7f515c8db805ac25 SHA512 884cab9736a723b16232e6b7062cde573180c75616b080edad96ace1f0ae62a4fbca0e2dd09e3e460403f667cd0a7e942e2594b742c071a437546a7d79983a4f +DIST libvirt_python-12.7.0.tar.gz 256560 BLAKE2B 3c03ced41b09869e1e6b5fbb9c5b7919e83e3eb3f0197dec66926e6f727fb9936ac4c872197f29800fd39768260f41f60b37df3f3d9cdbc44049fc7801d4edce SHA512 35c837491141bf8a856711991840ef7526cab26375175042d9f1326aa0217886ec6c3f3334ae60be96564b5258dd78f1504a0a841cb4c77e5bd9c813beee7a77 +DIST libvirt_python-12.7.0.tar.gz.asc 833 BLAKE2B e6bcc03a410c3f4b9b5346cbe4df7d36f6359cad2893263186c91beb8c7d2611f7811a5d6eb7149cdd2f1f81849b727d227dddfe6d09aa151386a0f04d60e1a8 SHA512 50778d6dea1dddc786cc755305f78b70ba0c8c708703f44b4e3d53ffe6294d3a7308b2d1153a505ad16596d96a951780500adc78feef03aa7462e28767a6b476 diff --git a/dev-python/libvirt-python/libvirt-python-12.7.0.ebuild b/dev-python/libvirt-python/libvirt-python-12.7.0.ebuild new file mode 100644 index 000000000000..e7c2af787d5a --- /dev/null +++ b/dev-python/libvirt-python/libvirt-python-12.7.0.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Packages which get releases together: +# app-emacs/nxml-libvirt-schemas +# dev-python/libvirt-python +# dev-perl/Sys-Virt +# app-emulation/libvirt +# Please bump them together! + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) +inherit distutils-r1 verify-sig + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt-python.git" + RDEPEND="app-emulation/libvirt:=" +else + MY_P="${P/-/_}" + SRC_URI="https://download.libvirt.org/python/${MY_P}.tar.gz + verify-sig? ( https://download.libvirt.org/python/${MY_P}.tar.gz.asc )" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" + RDEPEND="app-emulation/libvirt:0/${PV}" + S="${WORKDIR}/${MY_P}" +fi + +DESCRIPTION="libvirt Python bindings" +HOMEPAGE="https://www.libvirt.org" + +LICENSE="LGPL-2" +SLOT="0" +IUSE="examples test" +RESTRICT="!test? ( test )" + +BDEPEND=" + virtual/pkgconfig + test? ( + dev-python/lxml[${PYTHON_USEDEP}] + ) + verify-sig? ( >=sec-keys/openpgp-keys-libvirt-20260831 ) +" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.asc + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +python_compile() { + # setuptools is broken for C extensions, bug #907718 + distutils-r1_python_compile -j1 +} + +python_install_all() { + if use examples; then + dodoc -r examples + docompress -x /usr/share/doc/${PF}/examples + fi + + distutils-r1_python_install_all +} diff --git a/dev-util/android-udev-rules/Manifest b/dev-util/android-udev-rules/Manifest index 3e2a20ee6e5f..06607692add7 100644 --- a/dev-util/android-udev-rules/Manifest +++ b/dev-util/android-udev-rules/Manifest @@ -1,2 +1,2 @@ -DIST android-udev-rules-20250525.tar.gz 23794 BLAKE2B 2a086c3451d7f5309108960eff25afc77e7902e3bbf68018b1a4b89115123e7a45c293dbecece217a5565f71e5688e3996426f0e6a1167bf35deb14da4bddb70 SHA512 c4370ba89ee240d540b6a18e6fd37bace27315b9637577eb08c48cfec8c77dcb8ebfebdf2b7853b9f3c7db35fe50458af52d070946bb0ab0db67539470bbf0ad DIST android-udev-rules-20260423.tar.gz 23917 BLAKE2B 0149de234ac44e72b05cfb5467d636ee71b29e04bf80036524912823f9fe6c831c3493c7f6b44c6969e369432df25379f97c48df3992593a776016b2971c623a SHA512 97966f1c02a9f85825a217384c94cfa8b9f721173e543c324b866ee7823b09ca67ec7ba1b012ce10de9d56ae7e4157d4cec8364c8e325001664cf6383778a5fe +DIST android-udev-rules-20260922.tar.gz 24039 BLAKE2B ae9ce487d8557c2747935ab8b38f431dcb5563dd73bc5e07570f9a93f3f60b2fb9047187340a4c029f9967cefe893d3796d414b2f2b3ffa24a8da250cbed62a0 SHA512 2963f9ed5d54fc3fc8e4aa61773d599ceabce100b83c54dfb739c8189b60a12003407d10cab92248ae0feb4c3fb56280742404f8fe93726a36be9b972c3bdcbd diff --git a/dev-util/android-udev-rules/android-udev-rules-20250525.ebuild b/dev-util/android-udev-rules/android-udev-rules-20260922.ebuild index 7fe4e9222260..0dc57aebae4a 100644 --- a/dev-util/android-udev-rules/android-udev-rules-20250525.ebuild +++ b/dev-util/android-udev-rules/android-udev-rules-20260922.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022-2025 Gentoo Authors +# Copyright 2022-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -11,7 +11,7 @@ SRC_URI="https://github.com/M0Rf30/android-udev-rules/archive/refs/tags/${PV}.ta LICENSE="GPL-3" SLOT="0" -KEYWORDS="amd64 ~arm arm64 x86" +KEYWORDS="~amd64 ~arm ~arm64 ~x86" # No tests RESTRICT="test" diff --git a/dev-util/babeltrace/babeltrace-2.1.2.ebuild b/dev-util/babeltrace/babeltrace-2.1.2.ebuild index c4e80f79dd6c..057a61dc0f71 100644 --- a/dev-util/babeltrace/babeltrace-2.1.2.ebuild +++ b/dev-util/babeltrace/babeltrace-2.1.2.ebuild @@ -46,6 +46,10 @@ BDEPEND=" " VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jeremiegalarneau.asc +PATCHES=( + "${FILESDIR}"/babeltrace-2.1.2-swig-4.5.patch +) + pkg_setup() { use python && python-single-r1_pkg_setup } diff --git a/dev-util/babeltrace/files/babeltrace-2.1.2-swig-4.5.patch b/dev-util/babeltrace/files/babeltrace-2.1.2-swig-4.5.patch new file mode 100644 index 000000000000..e18c20251bb4 --- /dev/null +++ b/dev-util/babeltrace/files/babeltrace-2.1.2-swig-4.5.patch @@ -0,0 +1,59 @@ +https://bugs.gentoo.org/983043 +https://github.com/efficios/babeltrace/commit/1c59884d4ddf384b87df95d317b62f5f5783ca27 + +From 1c59884d4ddf384b87df95d317b62f5f5783ca27 Mon Sep 17 00:00:00 2001 +From: Jitka Plesnikova <jplesnik@redhat.com> +Date: Tue, 28 Jul 2026 13:29:18 +0000 +Subject: [PATCH] bt2: replace removed Python 2 C API macros for SWIG 4.5.0 + compatibility + +SWIG 4.5.0 has removed some Python 2/3 compatibility macros. The two +that affect us are `PyString_FromString` and +`SWIG_Python_str_FromChar`, which are both replaced with +`PyUnicode_FromString`. + +Change-Id: I3c74d8ea7257d9cdc0fa4b533ae7b3a5ef9521d1 +Signed-off-by: Simon Marchi <simon.marchi@efficios.com> +Signed-off-by: Jitka Plesnikova <jplesnik@redhat.com> +Reviewed-on: https://review.lttng.org/c/babeltrace/+/18423 +Tested-by: jenkins <jenkins@lttng.org> +--- a/src/bindings/python/bt2/bt2/native_bt.i ++++ b/src/bindings/python/bt2/bt2/native_bt.i +@@ -56,7 +56,7 @@ typedef uint64_t bt_listener_id; + * + * We initialize the output parameter `temp_value` to an invalid but non-zero + * pointer value. This is to make sure we don't rely on its initial value in +- * the epilogue (where we call SWIG_Python_str_FromChar). When they fail, ++ * the epilogue (where we call PyUnicode_FromString). When they fail, + * functions on which we apply this typemap don't guarantee that the value of + * `temp_value` will be unchanged or valid. + */ +@@ -67,7 +67,7 @@ typedef uint64_t bt_listener_id; + %typemap(argout) (const char **) { + if (*$1) { + /* SWIG_AppendOutput() steals the created object */ +- $result = SWIG_AppendOutput($result, SWIG_Python_str_FromChar(*$1)); ++ $result = SWIG_AppendOutput($result, PyUnicode_FromString(*$1)); + } else { + /* SWIG_AppendOutput() steals Py_None */ + Py_INCREF(Py_None); +--- a/src/bindings/python/bt2/bt2/native_bt_error.i.hpp ++++ b/src/bindings/python/bt2/bt2/native_bt_error.i.hpp +@@ -19,7 +19,7 @@ static PyObject *bt_bt2_format_bt_error_cause(const bt_error_cause *error_cause) + BT_COMMON_COLOR_WHEN_NEVER); + BT_ASSERT(error_cause_str); + +- py_error_cause_str = PyString_FromString(error_cause_str); ++ py_error_cause_str = PyUnicode_FromString(error_cause_str); + + g_free(error_cause_str); + +@@ -35,7 +35,7 @@ static PyObject *bt_bt2_format_bt_error(const bt_error *error) + BT_COMMON_COLOR_WHEN_NEVER); + BT_ASSERT(error_str); + +- py_error_str = PyString_FromString(error_str); ++ py_error_str = PyUnicode_FromString(error_str); + + g_free(error_str); + diff --git a/dev-util/jenkins-bin/jenkins-bin-2.568.3.ebuild b/dev-util/jenkins-bin/jenkins-bin-2.568.3.ebuild index dc8f46ab0c2f..01cf39a77f68 100644 --- a/dev-util/jenkins-bin/jenkins-bin-2.568.3.ebuild +++ b/dev-util/jenkins-bin/jenkins-bin-2.568.3.ebuild @@ -12,7 +12,7 @@ S="${WORKDIR}" LICENSE="MIT" SLOT="lts" -KEYWORDS="~amd64 ~arm64 ~x86" +KEYWORDS="amd64 ~arm64 ~x86" DEPEND="acct-group/jenkins acct-user/jenkins" diff --git a/dev-util/maturin/maturin-1.15.0.ebuild b/dev-util/maturin/maturin-1.15.0.ebuild index ad7abff14f0d..821010e732c3 100644 --- a/dev-util/maturin/maturin-1.15.0.ebuild +++ b/dev-util/maturin/maturin-1.15.0.ebuild @@ -25,7 +25,7 @@ LICENSE+=" BZIP2 " # crates SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="doc +ssl test" RESTRICT="!test? ( test )" diff --git a/net-misc/airouter/Manifest b/net-misc/airouter/Manifest index 142952972b49..c92ff9cb6094 100644 --- a/net-misc/airouter/Manifest +++ b/net-misc/airouter/Manifest @@ -2,3 +2,5 @@ DIST airouter-0.1.2-r1.tar.zst 85425944 BLAKE2B f31bc203d9db5d16bfaac7a17431fa1b DIST airouter-0.1.2-r2.tar.zst 87017898 BLAKE2B a6e8af5a79a33f12c2f681ca3cefc9d6e66a558705b301ccb1e3b9dfeea3dc0d100779765dfbd53367160c07241e680cba67cda9384ec94c128f4a446a6f4bb1 SHA512 7d8d15367f761c75a59952142ec5570ec7b3bb77150e8f8da14c637083beed46a19d56f60fcff0683b5e8284cec8e252fca69f849796c74691fe4e2222f7a976 DIST airouter-0.1.2-r3.tar.zst 86794645 BLAKE2B 00d5e90a8fa187d47e15535d50dd74269f36b77af819deb69b831b58f6d789a4921633ab2c7566ad14effbe76e42c10c7681a46f31e03ef7ef4a55a3e7292dc6 SHA512 ae72c824afd624a4cc563a8bb137cc6455367443a2b0da15bc81ea03978839456102c245d5c864147c631706cefbeab6467e4b3bbecdbe6cd786d0fb7b42bee7 DIST llmbridge-0.1.2-20260919.tar.zst 116018 BLAKE2B a290d588687a0d37b14ba9845da0201b0c3b8f6a5495f39e9a0f96d89226c7f5907ff666a5de9b3e104bbb1479b5be913a1801b4324de1745a70209371e0da63 SHA512 28b3c1b27c179cef85871f5d2f7c1098cfe87d228abfa01118ac3bf44744d6bf866e92f1fd7738c9898380fdde217599a729ff68fe3fb3d471ed1cf3f0374ca7 +DIST airouter-0.1.2-r4.tar.zst 86894368 BLAKE2B 784e633146138ba2012750c6bb03b6685fe55cd77818acb7d4ce630f3ae6a1fe7278e6cb2e99ba57beeabe01108d7b37d5c2d11ceab0cad18eda173f1fafa3e0 SHA512 1d02fb09ee7c16f9afc030368b4500d60c4a2552ccdc737ab3c32eeb57a7f14032b337027b3239500b054553af1a8a6f4d6f92d00446629d36de9a3b806f2330 +DIST airouter-0.1.2-r5.tar.zst 86807460 BLAKE2B df86f434e7e6b20f6d75c3d5164a5dc8878cea2b9058f7f89d64c8cefa776affc223b85019723e9f1abf540d87d3ae6cf748491baa9745f8ccfbb4c534b2fbe6 SHA512 cc26ae5ac17b593c9be04379c9a202ab7432c02150608bb7f7a4a21a9dced511c0e5b1d3874a5123e164381c9567c7edc222ab93e04797f6c594b4bb271cdd89 diff --git a/net-misc/airouter/airouter-0.1.2-r4.ebuild b/net-misc/airouter/airouter-0.1.2-r4.ebuild new file mode 100755 index 000000000000..a449b10d79d1 --- /dev/null +++ b/net-misc/airouter/airouter-0.1.2-r4.ebuild @@ -0,0 +1,115 @@ +EAPI=8 + +RUST_MIN_VER="1.88.0" +inherit cargo + +DESCRIPTION="Metadata-only routing plane for owned and frontier AI compute" +HOMEPAGE="https://trunkmasters.com/airouter" +SRC_URI="https://distfiles.baldeagleos.com/airouter-0.1.2-r4.tar.zst https://distfiles.baldeagleos.com/llmbridge-0.1.2-20260919.tar.zst" +S="${WORKDIR}/airouter" + +# The archive contains AIRouter, its pinned LLMBridge path dependency, and a +# complete Cargo vendor tree. The package must build without /srv/airouter or +# network access. +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + + +RDEPEND=" + acct-group/airouter + acct-group/airouter-admin + acct-group/airouter-framework + acct-user/airouter + acct-user/airouter-agent + dev-db/postgresql + sys-auth/citadel + >=dev-lang/python-3.10 + sys-apps/acl + sys-apps/bubblewrap + sys-apps/util-linux +" +BDEPEND=" + net-misc/rsync + >=dev-lang/rust-1.88.0 +" + +src_unpack() { + # Portage on the target profile does not unpack .tar.zst through the + # generic helper; extract both immutable source inputs explicitly. + tar --zstd -xf "${DISTDIR}/airouter-0.1.2-r4.tar.zst" -C "${WORKDIR}" || die + tar --zstd -xf "${DISTDIR}/llmbridge-0.1.2-20260919.tar.zst" -C "${WORKDIR}" || die + mv "${WORKDIR}/llmbridge-0.1.2-20260919" "${WORKDIR}/llmbridge" || die +} + +src_compile() { + cargo build --offline --release --workspace --locked \ + --features "airouter-catalog/skills-tools,airouter-catalog/workspace-tools,\ +airouter-catalog/development-tools,airouter-catalog/release-tools,\ +airouter-catalog/learning-tools,airouter-catalog/host-tools,\ +airouter-catalog/control-tools" || die +} + +src_install() { + dosbin target/release/airouterd + dosbin target/release/airouter-agentd + dosbin target/release/airouterctl + dosbin target/release/airouter-catalog + dosbin target/release/airouter-host + dosbin target/release/airouter-release + dosbin target/release/airouter-verify + dosbin target/release/airouter-permissions + dosbin target/release/airouter-toolsd + dobin target/release/airouter-smoke + dobin target/release/airouter-tool + exeinto /usr/libexec/airouter + doexe target/release/enroll-node + doexe packaging/scripts/airouter-renew-node-server + doexe packaging/scripts/airouter-capability-refresh + doexe packaging/scripts/airouter-framework-backup + doexe packaging/scripts/airouter-tools-launch + doexe target/release/airouter-desktop-worker + exeinto /usr/libexec/airouter/catalog + doexe target/release/airouter-skills-catalog + doexe target/release/airouter-workspace-catalog + doexe target/release/airouter-development-catalog + doexe target/release/airouter-release-catalog + doexe target/release/airouter-learning-catalog + doexe target/release/airouter-host-catalog + doexe target/release/airouter-control-catalog + newexe scripts/airouter-route.py airouter-route + exeinto /usr/libexec/airouter/qualification + doexe scripts/qualify-citadel-session.py + insinto /etc/cron.d + doins packaging/cron/airouter-server-cert-renew + doins packaging/cron/airouter-capability-refresh + doins packaging/cron/airouter-framework-backup + insinto /etc/airouter + doins config/airouter.toml + newins config/framework.example.toml framework.toml + doins config/tools.example.toml config/tools-client.example.toml + newins config/routing.example.json routing.json + insinto /etc/airouter-capabilities + newins packaging/capabilities.sources.example.json sources.json + insinto /etc/airouter/qualification + doins packaging/qualification/native-codex-workbench.json + diropts -o airouter -g airouter -m 0700 + keepdir /etc/airouter/secrets + newinitd packaging/openrc/airouterd airouterd + newinitd packaging/openrc/airouter-frameworkd airouter-frameworkd + newinitd packaging/openrc/airouter-catalog-refresh airouter-catalog-refresh + newinitd packaging/openrc/airouter-qualification airouter-qualification + newinitd packaging/openrc/airouter-toolsd airouter-toolsd + docinto tools + dodoc config/tools.example.toml config/tools-client.example.toml crates/airouter-tools/README.md crates/airouter-tools/DESKTOPS.md + docinto / + dodoc README.md schema/README.md + diropts -o airouter -g airouter -m 0750 + keepdir /var/lib/airouter + keepdir /var/backups/airouter-framework +} + +pkg_postinst() { + elog "Create the signing key with: airouterctl generate-signing-key" + elog "Apply migrations with the restricted airouter_migrate role before starting airouterd." +} diff --git a/net-misc/airouter/airouter-0.1.2-r5.ebuild b/net-misc/airouter/airouter-0.1.2-r5.ebuild new file mode 100755 index 000000000000..429ad9989da6 --- /dev/null +++ b/net-misc/airouter/airouter-0.1.2-r5.ebuild @@ -0,0 +1,115 @@ +EAPI=8 + +RUST_MIN_VER="1.88.0" +inherit cargo + +DESCRIPTION="Metadata-only routing plane for owned and frontier AI compute" +HOMEPAGE="https://trunkmasters.com/airouter" +SRC_URI="https://distfiles.baldeagleos.com/airouter-0.1.2-r5.tar.zst https://distfiles.baldeagleos.com/llmbridge-0.1.2-20260919.tar.zst" +S="${WORKDIR}/airouter" + +# The archive contains AIRouter, its pinned LLMBridge path dependency, and a +# complete Cargo vendor tree. The package must build without /srv/airouter or +# network access. +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + + +RDEPEND=" + acct-group/airouter + acct-group/airouter-admin + acct-group/airouter-framework + acct-user/airouter + acct-user/airouter-agent + dev-db/postgresql + sys-auth/citadel + >=dev-lang/python-3.10 + sys-apps/acl + sys-apps/bubblewrap + sys-apps/util-linux +" +BDEPEND=" + net-misc/rsync + >=dev-lang/rust-1.88.0 +" + +src_unpack() { + # Portage on the target profile does not unpack .tar.zst through the + # generic helper; extract both immutable source inputs explicitly. + tar --zstd -xf "${DISTDIR}/airouter-0.1.2-r5.tar.zst" -C "${WORKDIR}" || die + tar --zstd -xf "${DISTDIR}/llmbridge-0.1.2-20260919.tar.zst" -C "${WORKDIR}" || die + mv "${WORKDIR}/llmbridge-0.1.2-20260919" "${WORKDIR}/llmbridge" || die +} + +src_compile() { + cargo build --offline --release --workspace --locked \ + --features "airouter-catalog/skills-tools,airouter-catalog/workspace-tools,\ +airouter-catalog/development-tools,airouter-catalog/release-tools,\ +airouter-catalog/learning-tools,airouter-catalog/host-tools,\ +airouter-catalog/control-tools" || die +} + +src_install() { + dosbin target/release/airouterd + dosbin target/release/airouter-agentd + dosbin target/release/airouterctl + dosbin target/release/airouter-catalog + dosbin target/release/airouter-host + dosbin target/release/airouter-release + dosbin target/release/airouter-verify + dosbin target/release/airouter-permissions + dosbin target/release/airouter-toolsd + dobin target/release/airouter-smoke + dobin target/release/airouter-tool + exeinto /usr/libexec/airouter + doexe target/release/enroll-node + doexe packaging/scripts/airouter-renew-node-server + doexe packaging/scripts/airouter-capability-refresh + doexe packaging/scripts/airouter-framework-backup + doexe packaging/scripts/airouter-tools-launch + doexe target/release/airouter-desktop-worker + exeinto /usr/libexec/airouter/catalog + doexe target/release/airouter-skills-catalog + doexe target/release/airouter-workspace-catalog + doexe target/release/airouter-development-catalog + doexe target/release/airouter-release-catalog + doexe target/release/airouter-learning-catalog + doexe target/release/airouter-host-catalog + doexe target/release/airouter-control-catalog + newexe scripts/airouter-route.py airouter-route + exeinto /usr/libexec/airouter/qualification + doexe scripts/qualify-citadel-session.py + insinto /etc/cron.d + doins packaging/cron/airouter-server-cert-renew + doins packaging/cron/airouter-capability-refresh + doins packaging/cron/airouter-framework-backup + insinto /etc/airouter + doins config/airouter.toml + newins config/framework.example.toml framework.toml + doins config/tools.example.toml config/tools-client.example.toml + newins config/routing.example.json routing.json + insinto /etc/airouter-capabilities + newins packaging/capabilities.sources.example.json sources.json + insinto /etc/airouter/qualification + doins packaging/qualification/native-codex-workbench.json + diropts -o airouter -g airouter -m 0700 + keepdir /etc/airouter/secrets + newinitd packaging/openrc/airouterd airouterd + newinitd packaging/openrc/airouter-frameworkd airouter-frameworkd + newinitd packaging/openrc/airouter-catalog-refresh airouter-catalog-refresh + newinitd packaging/openrc/airouter-qualification airouter-qualification + newinitd packaging/openrc/airouter-toolsd airouter-toolsd + docinto tools + dodoc config/tools.example.toml config/tools-client.example.toml crates/airouter-tools/README.md crates/airouter-tools/DESKTOPS.md + docinto / + dodoc README.md schema/README.md + diropts -o airouter -g airouter -m 0750 + keepdir /var/lib/airouter + keepdir /var/backups/airouter-framework +} + +pkg_postinst() { + elog "Create the signing key with: airouterctl generate-signing-key" + elog "Apply migrations with the restricted airouter_migrate role before starting airouterd." +} diff --git a/net-proxy/3proxy/3proxy-0.9.9.0.ebuild b/net-proxy/3proxy/3proxy-0.9.9.0.ebuild index 72afea02f189..cdedbcb3e670 100644 --- a/net-proxy/3proxy/3proxy-0.9.9.0.ebuild +++ b/net-proxy/3proxy/3proxy-0.9.9.0.ebuild @@ -13,7 +13,7 @@ HOMEPAGE=" SRC_URI="https://github.com/3proxy/3proxy/archive/${PV}.tar.gz -> ${P}.tar.gz" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~ppc ~sparc ~x86" +KEYWORDS="~alpha amd64 ~arm ppc ~sparc x86" IUSE="odbc pam pcre ssl" DEPEND=" diff --git a/sys-libs/libapparmor/files/libapparmor-4.1.7-swig-4.5.patch b/sys-libs/libapparmor/files/libapparmor-4.1.7-swig-4.5.patch new file mode 100644 index 000000000000..4838f91c121f --- /dev/null +++ b/sys-libs/libapparmor/files/libapparmor-4.1.7-swig-4.5.patch @@ -0,0 +1,31 @@ +https://bugs.gentoo.org/983043 +https://gitlab.com/apparmor/apparmor/-/merge_requests/2191 +https://gitlab.com/apparmor/apparmor/-/commit/6b80489953728aab8aeb4f9075283feb26e2e262 + +From 6b80489953728aab8aeb4f9075283feb26e2e262 Mon Sep 17 00:00:00 2001 +From: Nazar Kazakov <nazar.kazakov@codethink.co.uk> +Date: Thu, 13 Aug 2026 17:28:03 +0100 +Subject: [PATCH] libapparmor: swig: don't use removed macro %new_copy_array + +SWIG 4.5 removed this macro, see +https://github.com/swig/swig/blob/v4.5.0/CHANGES.current#L840 + +Signed-off-by: Nazar Kazakov <nazar.kazakov@codethink.co.uk> +--- a/swig/SWIG/libapparmor.i ++++ b/swig/SWIG/libapparmor.i +@@ -143,7 +143,11 @@ warnings.warn("free_record is now a no-op as the record's memory is handled auto + } + if (alloc_status != SWIG_NEWOBJ) { + // Unconditionally copy because the C function modifies the string in place +- $1 = %new_copy_array(con_ptr, con_len+1, char); ++ $1 = %new_array(con_len+1, char); ++ if ($1 == NULL) { ++ SWIG_exception_fail(SWIG_MemoryError, "could not allocate C con_ptr copy array"); ++ } ++ memcpy($1, con_ptr, con_len+1); + } else { + $1 = con_ptr; + } +-- +GitLab + diff --git a/sys-libs/libapparmor/libapparmor-4.1.7.ebuild b/sys-libs/libapparmor/libapparmor-4.1.7.ebuild index 265c22a4e542..4719a0b46dd6 100644 --- a/sys-libs/libapparmor/libapparmor-4.1.7.ebuild +++ b/sys-libs/libapparmor/libapparmor-4.1.7.ebuild @@ -52,6 +52,10 @@ BDEPEND=" ) " +PATCHES=( + "${FILESDIR}"/libapparmor-4.1.7-swig-4.5.patch +) + src_prepare() { default |
