diff --git a/changelog/updates/2024-08-27-weekly-updates.md b/changelog/updates/2024-08-27-weekly-updates.md new file mode 100644 index 00000000000..a5ef1fcba96 --- /dev/null +++ b/changelog/updates/2024-08-27-weekly-updates.md @@ -0,0 +1,4 @@ +- pahole ([1.27](https://git.kernel.org/pub/scm/devel/pahole/pahole.git/tag/?h=v1.27)) +- sysext-python: more-itertools ([10.4.0](https://github.com/more-itertools/more-itertools/releases/tag/v10.4.0)) +- sysext-python: wheel ([0.44.0](https://github.com/pypa/wheel/releases/tag/0.44.0)) +- sysext-zfs: zfs ([2.2.5](https://github.com/openzfs/zfs/releases/tag/zfs-2.2.5) (includes [2.2.4](https://github.com/openzfs/zfs/releases/tag/zfs-2.2.4))) diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords index ba31d06be49..4a862654a27 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords @@ -42,12 +42,11 @@ =app-emulation/open-vmdk-1.0 * # Keep versions on both arches in sync. -=dev-build/meson-1.5.1 ~arm64 =dev-cpp/abseil-cpp-20230125.3-r4 ~arm64 # Keep versions on both arches in sync. =dev-cpp/glog-0.6.0 ~arm64 -=dev-lang/python-3.11.9_p1 ~amd64 +=dev-lang/python-3.11.9_p2 ~amd64 # Accept unstable host Rust compilers. =dev-lang/rust-1.80.1 ~amd64 ~arm64 @@ -76,6 +75,9 @@ # get stabilized in Gentoo. =dev-libs/yajl-2.1.0-r5 ~amd64 ~arm64 +# Keep versions on both arches in sync. +=dev-python/cython-3.0.11 ~arm64 + # Catalyst 4 is not stable yet, but earlier versions are masked now. dev-util/catalyst ~amd64 ~arm64 @@ -106,6 +108,10 @@ dev-util/catalyst ~amd64 ~arm64 # Upgrade to latest version for secureboot =sys-boot/mokutil-0.6.0 ~amd64 +# Keep versions on both arches in sync. +=sys-fs/zfs-2.2.5 ~arm64 +=sys-fs/zfs-kmod-2.2.5 ~arm64 + # Enable ipvsadm for arm64. =sys-cluster/ipvsadm-1.31-r1 ~arm64 diff --git a/sdk_container/src/third_party/portage-stable/app-alternatives/sh/sh-0.ebuild b/sdk_container/src/third_party/portage-stable/app-alternatives/sh/sh-0.ebuild index c62843c07c1..0c27f5c1566 100644 --- a/sdk_container/src/third_party/portage-stable/app-alternatives/sh/sh-0.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-alternatives/sh/sh-0.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022-2023 Gentoo Authors +# Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -15,7 +15,7 @@ ALTERNATIVES=( inherit app-alternatives DESCRIPTION="/bin/sh (POSIX shell) symlink" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" RDEPEND=" !app-eselect/eselect-sh diff --git a/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.11.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.11.0.ebuild index 3f6fb3a7a9f..ff2bd6fba83 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.11.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.11.0.ebuild @@ -15,7 +15,7 @@ if [[ ${PV} == 9999* ]]; then else SRC_URI="${CARGO_CRATE_URIS}" SRC_URI+="https://github.com/containers/aardvark-dns/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" - KEYWORDS="amd64 arm64 ~ppc64 ~riscv" + KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv" fi # main diff --git a/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-9999.ebuild index 1e5d082427f..6eb7550f45c 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-9999.ebuild @@ -15,7 +15,7 @@ if [[ ${PV} == 9999* ]]; then else SRC_URI="${CARGO_CRATE_URIS}" SRC_URI+="https://github.com/containers/aardvark-dns/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" - KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" + KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv" fi # main diff --git a/sdk_container/src/third_party/portage-stable/app-containers/catatonit/catatonit-0.2.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/catatonit/catatonit-0.2.0.ebuild index d456e883998..e87fb8dd631 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/catatonit/catatonit-0.2.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/catatonit/catatonit-0.2.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022-2023 Gentoo Authors +# Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -13,7 +13,7 @@ if [[ ${PV} == 9999* ]]; then EGIT_REPO_URI="https://github.com/openSUSE/catatonit.git" else SRC_URI="https://github.com/openSUSE/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64 arm64 ~ppc64 ~riscv" + KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv" fi LICENSE="GPL-2+" diff --git a/sdk_container/src/third_party/portage-stable/app-containers/catatonit/catatonit-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/catatonit/catatonit-9999.ebuild index 74469d9d4d1..a15fe9fe0ac 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/catatonit/catatonit-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/catatonit/catatonit-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022-2023 Gentoo Authors +# Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -13,7 +13,7 @@ if [[ ${PV} == 9999* ]]; then EGIT_REPO_URI="https://github.com/openSUSE/catatonit.git" else SRC_URI="https://github.com/openSUSE/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" + KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv" fi LICENSE="GPL-2+" diff --git a/sdk_container/src/third_party/portage-stable/app-containers/conmon/conmon-2.1.11.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/conmon/conmon-2.1.11.ebuild index 13d3d6c215c..bfc4da4cc9d 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/conmon/conmon-2.1.11.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/conmon/conmon-2.1.11.ebuild @@ -18,7 +18,7 @@ else https://github.com/Flowdalic/conmon/commit/ff8794c5bc0805cc430229728befde16da47b68c.patch -> ${PN}-2.1.11-make-docs-target-not-depend-on-install.tools.patch " - KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" + KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv" fi LICENSE="Apache-2.0" diff --git a/sdk_container/src/third_party/portage-stable/app-containers/conmon/conmon-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/conmon/conmon-9999.ebuild index bed057cb8f1..c2141f095e2 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/conmon/conmon-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/conmon/conmon-9999.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} == 9999* ]]; then EGIT_REPO_URI="https://github.com/containers/conmon.git" else SRC_URI="https://github.com/containers/conmon/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" + KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv" fi LICENSE="Apache-2.0" diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containers-common/containers-common-0.59.1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containers-common/containers-common-0.59.1.ebuild index c5755460275..abc1bd846c5 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/containers-common/containers-common-0.59.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/containers-common/containers-common-0.59.1.ebuild @@ -14,7 +14,7 @@ if [[ ${PV} == 9999* ]]; then else SRC_URI="https://github.com/containers/common/archive/v${PV}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/${P#containers-}" - KEYWORDS="amd64 arm64 ~riscv" + KEYWORDS="amd64 arm64 ~loong ~riscv" fi LICENSE="Apache-2.0" diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containers-common/containers-common-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containers-common/containers-common-9999.ebuild index 4a0427e20df..deb362fc0d3 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/containers-common/containers-common-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/containers-common/containers-common-9999.ebuild @@ -14,7 +14,7 @@ if [[ ${PV} == 9999* ]]; then else SRC_URI="https://github.com/containers/common/archive/v${PV}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/${P#containers-}" - KEYWORDS="~amd64 ~arm64 ~riscv" + KEYWORDS="~amd64 ~arm64 ~loong ~riscv" fi LICENSE="Apache-2.0" diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containers-image/containers-image-5.30.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containers-image/containers-image-5.30.0.ebuild index de66edc7162..317689821ec 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/containers-image/containers-image-5.30.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/containers-image/containers-image-5.30.0.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} == 9999* ]]; then else SRC_URI="https://github.com/containers/image/archive/v${PV}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/${P#containers-}" - KEYWORDS="amd64 arm64 ~riscv" + KEYWORDS="amd64 arm64 ~loong ~riscv" fi LICENSE="Apache-2.0" diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containers-image/containers-image-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containers-image/containers-image-9999.ebuild index 9d755c4cf4a..40770f7a7d7 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/containers-image/containers-image-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/containers-image/containers-image-9999.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} == 9999* ]]; then else SRC_URI="https://github.com/containers/image/archive/v${PV}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/${P#containers-}" - KEYWORDS="~amd64 ~arm64 ~riscv" + KEYWORDS="~amd64 ~arm64 ~loong ~riscv" fi LICENSE="Apache-2.0" diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containers-shortnames/containers-shortnames-2023.02.20.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containers-shortnames/containers-shortnames-2023.02.20.ebuild index bf48bb1f16f..2baab9c7d15 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/containers-shortnames/containers-shortnames-2023.02.20.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/containers-shortnames/containers-shortnames-2023.02.20.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -12,7 +12,7 @@ if [[ ${PV} == *9999* ]]; then else SRC_URI="https://github.com/containers/shortnames/archive/v${PV}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/${P#containers-}" - KEYWORDS="amd64 arm64 ~riscv" + KEYWORDS="amd64 arm64 ~loong ~riscv" fi LICENSE="Apache-2.0" diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containers-shortnames/containers-shortnames-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containers-shortnames/containers-shortnames-9999.ebuild index fc6e0837c92..8c33114ebd8 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/containers-shortnames/containers-shortnames-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/containers-shortnames/containers-shortnames-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -12,7 +12,7 @@ if [[ ${PV} == *9999* ]]; then else SRC_URI="https://github.com/containers/shortnames/archive/v${PV}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/${P#containers-}" - KEYWORDS="~amd64" + KEYWORDS="~amd64 ~loong" fi LICENSE="Apache-2.0" diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/containers-storage-1.54.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/containers-storage-1.54.0.ebuild index 7161e2aa1c5..be92b5c954c 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/containers-storage-1.54.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/containers-storage-1.54.0.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} == 9999* ]]; then else SRC_URI="https://github.com/containers/storage/archive/v${PV}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/${P#containers-}" - KEYWORDS="~amd64 ~arm64 ~riscv" + KEYWORDS="~amd64 ~arm64 ~loong ~riscv" fi LICENSE="Apache-2.0" diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/containers-storage-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/containers-storage-9999.ebuild index 7161e2aa1c5..be92b5c954c 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/containers-storage-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/containers-storage-9999.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} == 9999* ]]; then else SRC_URI="https://github.com/containers/storage/archive/v${PV}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/${P#containers-}" - KEYWORDS="~amd64 ~arm64 ~riscv" + KEYWORDS="~amd64 ~arm64 ~loong ~riscv" fi LICENSE="Apache-2.0" diff --git a/sdk_container/src/third_party/portage-stable/app-containers/crun/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/crun/Manifest index 3e403e47f1c..53569abf719 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/crun/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/crun/Manifest @@ -1,3 +1,4 @@ DIST crun-1.11.2.tar.xz 738176 BLAKE2B ef13475089c87599159ce00dd26fbb19c7f2bb9564352c1f8040925e521bb924cf28a8d1f37cc95ce7d1b2797b8654740e9ad08352e357c8c9e2d176466101e0 SHA512 ae35ffb9bd1c7acebfd7f6236fa6a7ad524593d8f2cea1203f0e89023e9791d2d5bbc5c5cfc32ee5f18ad80662a1659076ab5f4d5ff74c6026842f2dd12be977 DIST crun-1.14.3.tar.xz 750456 BLAKE2B 5a63b5da2f85ff1a83d4589be224c5b7a1123b6d7714b90a63c1907b78d42392aff25ffe5d9a4127173ac47026d57e9c93a39f5ba4b07de7f9f3722c14e6d203 SHA512 d6645c519ff00dda5def6d58240600d15e76969489918d51c0def2fee7dbad6374f83e5afc14a998d176aa2944765df5cd84c3031b265a1931ab23f2fc965fc1 +DIST crun-1.16.tar.gz 1759549 BLAKE2B 1dfdf9177ae52e627c92e70e48a558bb355c87f629e95f1debaf6b7d8c38802110bd796545d5b2dbe3cac7f8de1f9c94e9b5f046cc618e73afd4c434188d585c SHA512 718e17abdb8c2a9e1fdd39f09e7e3e435d88c5785cc13c1e67f492847d7d938cf399aecc055ecf88720fa8f73b8539f057e3b0e53f10f4e382f5664a2243b959 DIST crun-1.8.4.tar.xz 729552 BLAKE2B 8169518a0ddd8deb3820f7030d03dec6941d5d34fb73a036b82f15b0d8f2f702e117de00b829a16cb9976e118f5a5ca732b1cd572708f664cfeafc564f883824 SHA512 2ed80db2e7ddd1438bbe33e99ec2cdbcc55c4869504f719ff9302e834929752af09a59cd905accb37ee5f6cae3b9b16fd4f4c3fdab31db5fc38b007c1505bfa0 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.16.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.16.ebuild new file mode 100644 index 00000000000..c2730e40b57 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/crun/crun-1.16.ebuild @@ -0,0 +1,75 @@ +# Copyright 2019-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) + +inherit python-any-r1 + +DESCRIPTION="A fast and low-memory footprint OCI Container Runtime fully written in C" +HOMEPAGE="https://github.com/containers/crun" + +if [[ "$PV" == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/${PN}.git" +else + SRC_URI="https://github.com/containers/${PN}/releases/download/${PV}/${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv" +fi + +LICENSE="GPL-2+ LGPL-2.1+" +SLOT="0" +IUSE="+bpf +caps criu +seccomp selinux systemd static-libs" + +DEPEND=" + dev-libs/yajl:= + sys-kernel/linux-headers + caps? ( sys-libs/libcap ) + criu? ( >=sys-process/criu-3.15 ) + seccomp? ( sys-libs/libseccomp ) + systemd? ( sys-apps/systemd:= ) +" +RDEPEND="${DEPEND} + selinux? ( sec-policy/selinux-container )" +BDEPEND=" + ${PYTHON_DEPS} + virtual/pkgconfig +" + +src_configure() { + local myeconfargs=( + $(use_enable bpf) + $(use_enable caps) + $(use_enable criu) + $(use_enable seccomp) + $(use_enable systemd) + $(usex static-libs '--enable-shared --enable-static' '--enable-shared --disable-static' '' '') + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + emake "DESTDIR=${D}" install-exec + doman crun.1 + einstalldocs + + einfo "Cleaning up .la files" + find "${ED}" -name '*.la' -delete || die +} + +src_test() { + emake check-TESTS -C ./libocispec + + # the crun test suite is comprehensive to the extent that tests will fail + # within a sandbox environment, due to the nature of the privileges + # required to create linux "containers". + local supported_tests=( + "tests/tests_libcrun_utils" + "tests/tests_libcrun_errors" + "tests/tests_libcrun_intelrdt" + "tests/test_oci_features" + ) + emake check-TESTS TESTS="${supported_tests[*]}" +} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.11.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.11.0.ebuild index 42ba29c8332..81168b09df4 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.11.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.11.0.ebuild @@ -15,7 +15,7 @@ if [[ ${PV} == 9999* ]]; then EGIT_REPO_URI="https://github.com/containers/netavark.git" else SRC_URI="${CARGO_CRATE_URIS} https://github.com/containers/netavark/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" - KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" + KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv" fi # main diff --git a/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-9999.ebuild index 42ba29c8332..81168b09df4 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-9999.ebuild @@ -15,7 +15,7 @@ if [[ ${PV} == 9999* ]]; then EGIT_REPO_URI="https://github.com/containers/netavark.git" else SRC_URI="${CARGO_CRATE_URIS} https://github.com/containers/netavark/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" - KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" + KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv" fi # main diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.1.1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.1.1.ebuild index 95b806ea578..fd1d527b4b9 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.1.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.1.1.ebuild @@ -17,7 +17,7 @@ else SRC_URI="https://github.com/containers/podman/archive/v${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/${P/_rc/-rc}" [[ ${PV} != *rc* ]] && \ - KEYWORDS="~amd64 ~arm64 ~riscv" + KEYWORDS="~amd64 ~arm64 ~loong ~riscv" fi # main pkg diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-9999.ebuild index 95b806ea578..fd1d527b4b9 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-9999.ebuild @@ -17,7 +17,7 @@ else SRC_URI="https://github.com/containers/podman/archive/v${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/${P/_rc/-rc}" [[ ${PV} != *rc* ]] && \ - KEYWORDS="~amd64 ~arm64 ~riscv" + KEYWORDS="~amd64 ~arm64 ~loong ~riscv" fi # main pkg diff --git a/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9999.ebuild index 91f87fbcb9a..32a908dc0b8 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9999.ebuild @@ -13,9 +13,9 @@ PYTHON_COMPAT=( python3_{10..12} ) PYTHON_REQ_USE="threads(+)" USE_RUBY="ruby31 ruby32" -inherit vim-doc flag-o-matic bash-completion-r1 lua-single python-single-r1 ruby-single toolchain-funcs desktop xdg-utils +inherit bash-completion-r1 flag-o-matic lua-single desktop python-single-r1 ruby-single toolchain-funcs vim-doc xdg-utils -if [[ ${PV} == 9999* ]] ; then +if [[ ${PV} == 9999* ]]; then inherit git-r3 EGIT_REPO_URI="https://github.com/vim/vim.git" else @@ -29,7 +29,7 @@ HOMEPAGE="https://www.vim.org https://github.com/vim/vim" LICENSE="vim" SLOT="0" -IUSE="X acl crypt cscope debug gpm lua minimal nls perl python racket ruby selinux sound tcl terminal vim-pager" +IUSE="acl crypt cscope debug gpm lua minimal nls perl python racket ruby selinux sound tcl terminal vim-pager X" REQUIRED_USE=" lua? ( ${LUA_REQUIRED_USE} ) python? ( ${PYTHON_REQUIRED_USE} ) @@ -37,18 +37,18 @@ REQUIRED_USE=" " RDEPEND=" + ~app-editors/vim-core-${PV} >=app-eselect/eselect-vi-1.1 >=sys-libs/ncurses-5.2-r2:0= - nls? ( virtual/libintl ) acl? ( kernel_linux? ( sys-apps/acl ) ) crypt? ( dev-libs/libsodium:= ) cscope? ( dev-util/cscope ) gpm? ( >=sys-libs/gpm-1.19.3 ) - lua? ( ${LUA_DEPS} + lua? ( + ${LUA_DEPS} $(lua_gen_impl_dep 'deprecated' lua5-1) ) - ~app-editors/vim-core-${PV} - vim-pager? ( app-editors/vim-core[-minimal] ) + nls? ( virtual/libintl ) perl? ( dev-lang/perl:= ) python? ( ${PYTHON_DEPS} ) racket? ( dev-scheme/racket ) @@ -56,6 +56,7 @@ RDEPEND=" selinux? ( sys-libs/libselinux ) sound? ( media-libs/libcanberra ) tcl? ( dev-lang/tcl:0= ) + vim-pager? ( app-editors/vim-core[-minimal] ) X? ( x11-libs/libXt ) " DEPEND="${RDEPEND} @@ -76,7 +77,7 @@ if [[ ${PV} != 9999* ]]; then ) fi -# platform-specific checks (bug #898452): +# platform-specific checks (bug #898450 #898452): # - acl() -- Solaris # - statacl() -- AIX QA_CONFIG_IMPL_DECL_SKIP=( @@ -153,7 +154,8 @@ src_prepare() { # (2) Rebuild auto/configure # (3) Notice auto/configure is newer than auto/config.mk # (4) Run ./configure (with wrong args) to remake auto/config.mk - sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed" + sed -i -e \ + 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed" rm src/auto/configure || die "rm failed" # bug 908961 @@ -177,8 +179,9 @@ src_configure() { # This should fix a sandbox violation (see bug #24447). The hvc # things are for ppc64, see bug #86433. + local file for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do - if [[ -e "${file}" ]]; then + if [[ -e ${file} ]]; then addwrite ${file} fi done @@ -316,6 +319,7 @@ src_test() { # Hangs. export TEST_SKIP_PAT='\(Test_expand_star_star\|Test_exrc\|Test_job_tty_in_out\|Test_spelldump_bang\|Test_fuzzy_completion_env\|Test_term_mouse_multiple_clicks_to_select_mode\|Test_spelldump\)' + # Don't do additional GUI tests. emake -j1 -C src/testdir nongui } @@ -355,23 +359,23 @@ src_install() { } pkg_postinst() { - # Update documentation tags (from vim-doc.eclass) + # update documentation tags (from vim-doc.eclass) update_vim_helptags - # Call eselect vi update - eselect_vi_update - # update desktop file mime cache xdg_desktop_database_update + + # call eselect vi update + eselect_vi_update } pkg_postrm() { - # Update documentation tags (from vim-doc.eclass) + # update documentation tags (from vim-doc.eclass) update_vim_helptags - # Call eselect vi update - eselect_vi_update - # update desktop file mime cache xdg_desktop_database_update + + # call eselect vi update + eselect_vi_update } diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-7.2.0-linux-headers-6.2-glibc-2.36.patch b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-7.2.0-linux-headers-6.2-glibc-2.36.patch deleted file mode 100644 index 2a58ca1ad73..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-7.2.0-linux-headers-6.2-glibc-2.36.patch +++ /dev/null @@ -1,137 +0,0 @@ -https://bugs.gentoo.org/895662 -https://gitlab.com/qemu-project/qemu/-/commit/9f0246539ae84a5e21efd1cc4516fc343f08115a -https://gitlab.com/qemu-project/qemu/-/commit/6003159ce18faad4e1bc7bf9c85669019cd4950e - -From 9f0246539ae84a5e21efd1cc4516fc343f08115a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= -Date: Tue, 10 Jan 2023 12:49:00 -0500 -Subject: [PATCH] Revert "linux-user: add more compat ioctl definitions" -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This reverts commit c5495f4ecb0cdaaf2e9dddeb48f1689cdb520ca0. - -glibc has fixed (in 2.36.9000-40-g774058d729) the problem -that caused a clash when both sys/mount.h annd linux/mount.h -are included, and backported this to the 2.36 stable release -too: - - https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E - -It is saner for QEMU to remove the workaround it applied for -glibc 2.36 and expect distros to ship the 2.36 maint release -with the fix. This avoids needing to add a further workaround -to QEMU to deal with the fact that linux/brtfs.h now also pulls -in linux/mount.h via linux/fs.h since Linux 6.1 - -Signed-off-by: Daniel P. Berrangé -Reviewed-by: Marc-André Lureau -Message-Id: <20230110174901.2580297-2-berrange@redhat.com> -Signed-off-by: Laurent Vivier ---- a/linux-user/syscall.c -+++ b/linux-user/syscall.c -@@ -111,31 +111,6 @@ - #define FS_IOC32_SETFLAGS _IOW('f', 2, int) - #define FS_IOC32_GETVERSION _IOR('v', 1, int) - #define FS_IOC32_SETVERSION _IOW('v', 2, int) -- --#define BLKGETSIZE64 _IOR(0x12,114,size_t) --#define BLKDISCARD _IO(0x12,119) --#define BLKIOMIN _IO(0x12,120) --#define BLKIOOPT _IO(0x12,121) --#define BLKALIGNOFF _IO(0x12,122) --#define BLKPBSZGET _IO(0x12,123) --#define BLKDISCARDZEROES _IO(0x12,124) --#define BLKSECDISCARD _IO(0x12,125) --#define BLKROTATIONAL _IO(0x12,126) --#define BLKZEROOUT _IO(0x12,127) -- --#define FIBMAP _IO(0x00,1) --#define FIGETBSZ _IO(0x00,2) -- --struct file_clone_range { -- __s64 src_fd; -- __u64 src_offset; -- __u64 src_length; -- __u64 dest_offset; --}; -- --#define FICLONE _IOW(0x94, 9, int) --#define FICLONERANGE _IOW(0x94, 13, struct file_clone_range) -- - #else - #include - #endif --- -GitLab - -From 6003159ce18faad4e1bc7bf9c85669019cd4950e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= -Date: Tue, 10 Jan 2023 12:49:01 -0500 -Subject: [PATCH] Revert "linux-user: fix compat with glibc >= 2.36 - sys/mount.h" -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This reverts commit 3cd3df2a9584e6f753bb62a0028bd67124ab5532. - -glibc has fixed (in 2.36.9000-40-g774058d729) the problem -that caused a clash when both sys/mount.h annd linux/mount.h -are included, and backported this to the 2.36 stable release -too: - - https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E - -It is saner for QEMU to remove the workaround it applied for -glibc 2.36 and expect distros to ship the 2.36 maint release -with the fix. This avoids needing to add a further workaround -to QEMU to deal with the fact that linux/brtfs.h now also pulls -in linux/mount.h via linux/fs.h since Linux 6.1 - -Signed-off-by: Daniel P. Berrangé -Reviewed-by: Marc-André Lureau -Message-Id: <20230110174901.2580297-3-berrange@redhat.com> -Signed-off-by: Laurent Vivier ---- a/linux-user/syscall.c -+++ b/linux-user/syscall.c -@@ -95,25 +95,7 @@ - #include - #include - #include -- --#ifdef HAVE_SYS_MOUNT_FSCONFIG --/* -- * glibc >= 2.36 linux/mount.h conflicts with sys/mount.h, -- * which in turn prevents use of linux/fs.h. So we have to -- * define the constants ourselves for now. -- */ --#define FS_IOC_GETFLAGS _IOR('f', 1, long) --#define FS_IOC_SETFLAGS _IOW('f', 2, long) --#define FS_IOC_GETVERSION _IOR('v', 1, long) --#define FS_IOC_SETVERSION _IOW('v', 2, long) --#define FS_IOC_FIEMAP _IOWR('f', 11, struct fiemap) --#define FS_IOC32_GETFLAGS _IOR('f', 1, int) --#define FS_IOC32_SETFLAGS _IOW('f', 2, int) --#define FS_IOC32_GETVERSION _IOR('v', 1, int) --#define FS_IOC32_SETVERSION _IOW('v', 2, int) --#else - #include --#endif - #include - #if defined(CONFIG_FIEMAP) - #include ---- a/meson.build -+++ b/meson.build -@@ -2046,8 +2046,6 @@ config_host_data.set('HAVE_OPTRESET', - cc.has_header_symbol('getopt.h', 'optreset')) - config_host_data.set('HAVE_IPPROTO_MPTCP', - cc.has_header_symbol('netinet/in.h', 'IPPROTO_MPTCP')) --config_host_data.set('HAVE_SYS_MOUNT_FSCONFIG', -- cc.has_header_symbol('sys/mount.h', 'FSCONFIG_SET_FLAG')) - - # has_member - config_host_data.set('HAVE_SIGEV_NOTIFY_THREAD_ID', --- -GitLab diff --git a/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/Manifest b/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/Manifest index 9fef1bcd1cd..e568a300175 100644 --- a/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/Manifest @@ -2,3 +2,4 @@ DIST elt-patches-20240315.tar.xz 45416 BLAKE2B 4a1e33bba89c43cb91d75641d35837aa4 DIST elt-patches-20240324.tar.xz 45712 BLAKE2B 29a94ad3132ba10f4fc90cde685732b1cb679d693e1b1a1fbdb7fd99fbfc70aa7df9e6753ef6374cd606195829bd9d6a8b9b19126780ffa8f28542fb59d99fb0 SHA512 3878d5d303b372c873859510d6a0f3911657f4b66af8a91833657a13902474d011e30b4d245e5f82df791a9231f0253bb0ddef42bba66acb4241600265fb7925 DIST elt-patches-20240512.tar.xz 46176 BLAKE2B 8ca496aae63dd49e7148b7c06e687b3644a58211ec5cf7b82d8ccb7603df6390c7f9ba6f71b4b9b9db7263bf0c7005f9c6098091227c6b34729032f6a6101cd7 SHA512 c33321668b9191d2f8221fb4a1ea365ccce6d0b61bf8bb1b95fc6c2c67ada8b36c44d7423d994678e60e3197bf2721aca9e062e882d2cea05b465ad0d4e8a93c DIST elt-patches-20240721.tar.xz 46392 BLAKE2B 87d2cefebcacbfa447e8981bf16eda3d21bcf4190e91c478280cd81089ab43440a86ff84a5c6b2cda7d772707dad645d4f481d9ec2543f9c14059fe084c2f54d SHA512 a8a8f55e5e1b0a2ea67895e86307a6fd5116593c25a2e3cc6fb2361f21eddc125a91c46ef84c0fd036c1bb25a682a4ff07c581c041a9b853d713d5c8f73d8d5b +DIST elt-patches-20240824.tar.xz 47256 BLAKE2B 3fc40af8eb219277a11051be3e8391bed08fba28a7d79b83ee3ab3cf6360d5d0c04ce2a2db7d627eaf76e029899cafb1ad22ac465634a17d3ba6b7b48d9a457d SHA512 0eb502b026003e918e8aa4045cb3556524d52c331c099a445b9638b3cdfdabf22538c08a0526332671c3623db77bf56d3b6f580402abbc5253d1dca9ec759476 diff --git a/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240721.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240721.ebuild index 29410c13f99..89a0025fce5 100644 --- a/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240721.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240721.ebuild @@ -19,7 +19,7 @@ else https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~arm64-linux ~ppc64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~arm64-linux ~ppc64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-2" diff --git a/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240824.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240824.ebuild new file mode 100644 index 00000000000..29410c13f99 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-portage/elt-patches/elt-patches-20240824.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Collection of patches for libtool.eclass" +HOMEPAGE="https://gitweb.gentoo.org/proj/elt-patches.git/" + +if [[ ${PV} == *9999* ]] ; then + EGIT_REPO_URI=" + https://anongit.gentoo.org/git/proj/elt-patches.git + https://github.com/gentoo/elt-patches + " + inherit git-r3 +else + SRC_URI=" + https://dev.gentoo.org/~grobian/distfiles/${P}.tar.xz + https://dev.gentoo.org/~vapier/dist/${P}.tar.xz + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz + " + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~arm64-linux ~ppc64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +fi + +LICENSE="GPL-2" +SLOT="0" +# The 'check' target currently wants network access to fetch libtool tarballs. +RESTRICT="test" + +RDEPEND="sys-apps/gentoo-functions" +BDEPEND="app-arch/xz-utils" + +src_compile() { + emake rootprefix="${EPREFIX}" libdirname="$(get_libdir)" +} + +src_install() { + emake DESTDIR="${D}" rootprefix="${EPREFIX}" install +} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/Manifest b/sdk_container/src/third_party/portage-stable/app-shells/bash/Manifest index 47c184961f9..bb5824215f0 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/Manifest @@ -26,6 +26,8 @@ DIST bash-5.2.tar.gz.sig 95 BLAKE2B 2991b7c46ef1cdca08062f419be47fca7551f4c5d9aa DIST bash-5.3-alpha.tar.gz 11195025 BLAKE2B b3325f6927d7dde86aae165891317b972f0b9814e134676b3d7d3aea81ce4d4cad1a01f160e290352072153ad3568ee21701a35190ef5e6274b3c03fc95c8d42 SHA512 52354eb7cd71330192ec76fdda04bcacf758a312e89b45558db5f5345f19b0d8e54732049934958cf89786f5bd7c538d88859eb8d8d22dabfc9ec7305263d10e DIST bash-5.3-alpha.tar.gz.sig 95 BLAKE2B 69c8b33fe2a40498662ef084967701cff1926086785a41d6f49a3c2e2b9908499226d3d970bdb6397a74d3ccc22acb3651261ad2a421799eb135c64a78af8589 SHA512 c9587da66457e2010b0852c6dbf5949821a543b7f1b616a4d016df3477913e2a655c57289e83adeeb31b8b8afca22313e3af76cf727b93932d33a889c1263c20 DIST bash-5.3_alpha_p20240815-cf694865de527e597de5a906643a74037341a431.tar.xz 8537760 BLAKE2B df370a28aa40af0cf108f9578c81ef53cf175e97ca9b5cdca85fa8de99df81a0f58950c20e7af0180ee420218b04b9e9f721fef42b292e6b3261aa4846cabf55 SHA512 dd552214404aa1410954f3b4e3da5e744001eda2b6a613f52177bbfdff19c094a7406673dcfc1dfa653895a221969c2edcf8362556cdeadbd0cf16a610fcd191 +DIST bash-5.3_alpha_p20240821-e327891b52513bef0b34aac625c44f8fa6811f53.tar.xz 15948864 BLAKE2B c8afaa735df7dc75bf0f3b4b07c25bf9ac0cb23d7fe10451b4a39e821d3fd308384760e16d6e2256601f938f3665a1d0cdbd2638806b63029906f2ae5d646091 SHA512 e3291af9bb0c66ba6d0c52db446e51bc628933f132ab7654eb803da02ec7bf6e57bf6d13e65a25fe1c07b518e5d68a9b3526ca4e157ba3cc3d091b3c4f1fea43 +DIST bash-5.3_alpha_p20240823-2e01122fe78eb5a42c9b9f3ca46b91f895959675.tar.xz 8541288 BLAKE2B 64cf9fc5873b925558a7aa2e2a0e76f9f326ab0606b720e8684021e540bcd992307d146b9c5d2e3f1e2779a372874753c9dd8cf7296e1013470f53e70082fc5a SHA512 3a8a5b522ac082c081ababee84cf2f1f1518c9a397a1b612de40c6e07a3104c74561eb5db75e74eec742284665667135eba5eb975d8599c3e89eeafa7383b5e4 DIST bash205b-001 1132 BLAKE2B 0c5eef29777d54ef05957ea3d63b1556fb380bd20c238dc28993d822b37bc4e78ff4048ad069f6b8cd25da77ccdeb7aecd86c4349cb9d81e5e94c7001eeae5e6 SHA512 5ce4357468821b05e747201f3aa57225ad8f540c9e2c87051720490e039c30b478b9b662a68f14a0800fefe40184e4495e2645665200f9d75e9a115b2ac08071 DIST bash205b-002 755 BLAKE2B 6a6ed5679d451f02f8104b345c1722d11718ce3b4043b581c17786d40d8da69a34786fb56d0c363dba277b8e9dd33f12f70c9cc73a9fc39ba4a8319406f0458d SHA512 46947b0229478d5c2cfeff68b8ebc00e4ef0c8b94e336ca12f72b4490ba3622c0240c01c17c1641c3b07adc2c64ec94d6d780365e8990768ec8888f3a9526883 DIST bash205b-003 2356 BLAKE2B b7887d00d92fd298cd07a15e1c73b516dabd22ecd74c97091636dd97a0cd55024ed698e5cc924c4311d994dd326b1ad074bea35e7650cf9cf4e25c60d2713fa7 SHA512 74528ca5d165b812d299f1c69b47757bd677c0b22ce4217e155cd641708b02364a93c6709fb57b546b376b36da74429a61493921c7c199563da40ddcf1c1f399 diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20240821.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20240821.ebuild new file mode 100644 index 00000000000..650520901e7 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20240821.ebuild @@ -0,0 +1,411 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc +inherit flag-o-matic toolchain-funcs prefix verify-sig + +# Uncomment if we have a patchset. +#GENTOO_PATCH_DEV="sam" +#GENTOO_PATCH_VER="${PV}" + +MY_PV=${PV/_p*} +MY_PV=${MY_PV/_/-} +MY_P=${PN}-${MY_PV} +MY_PATCHES=() + +# Determine the patchlevel. +case ${PV} in + 9999|*_alpha*|*_beta*|*_rc*) + # Set a negative patchlevel to indicate that it's a pre-release. + PLEVEL=-1 + ;; + *_p*) + PLEVEL=${PV##*_p} + ;; + *) + PLEVEL=0 +esac + +# The version of readline this bash normally ships with. Note that we only use +# the bundled copy of readline for pre-releases. +READLINE_VER="8.3_alpha" + +DESCRIPTION="The standard GNU Bourne again shell" +HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git" + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git" + EGIT_BRANCH=devel + inherit git-r3 +elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then + # It can be useful to have snapshots in the pre-release period once + # the first alpha is out, as various bugs get reported and fixed from + # the alpha, and the next pre-release is usually quite far away. + # + # i.e. if it's worth packaging the alpha, it's worth packaging a followup. + BASH_COMMIT="e327891b52513bef0b34aac625c44f8fa6811f53" + SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.xz -> ${P}-${BASH_COMMIT}.tar.xz" + S=${WORKDIR}/${PN}-${BASH_COMMIT} +else + my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}.tar.gz" ) + + # bash-5.1 -> bash51 + my_p=${PN}$(ver_cut 1-2) my_p=${my_p/.} + + for (( my_patch_idx = 1; my_patch_idx <= PLEVEL; my_patch_idx++ )); do + printf -v my_patch_ver %s-%03d "${my_p}" "${my_patch_idx}" + my_urls+=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}-patches/${my_patch_ver}" ) + MY_PATCHES+=( "${DISTDIR}/${my_patch_ver}" ) + done + + SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )" + S=${WORKDIR}/${MY_P} + + unset -v my_urls my_p my_patch_idx my_patch_ver +fi + +if [[ ${GENTOO_PATCH_VER} ]]; then + SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz" +fi + +LICENSE="GPL-3+" +SLOT="0" +if (( PLEVEL >= 0 )); then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +fi +IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline" + +DEPEND=" + >=sys-libs/ncurses-5.2-r2:= + nls? ( virtual/libintl ) +" +if (( PLEVEL >= 0 )); then + DEPEND+=" readline? ( >=sys-libs/readline-${READLINE_VER}:= )" +fi +RDEPEND=" + ${DEPEND} +" +# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011). +BDEPEND=" + pgo? ( dev-util/gperf ) + verify-sig? ( sec-keys/openpgp-keys-chetramey ) +" + +# EAPI 8 tries to append it but it doesn't exist here. +QA_CONFIGURE_OPTIONS="--disable-static" + +PATCHES=( + #"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/ + + # Patches to or from Chet, posted to the bug-bash mailing list. + "${FILESDIR}/${PN}-5.0-syslog-history-extern.patch" +) + +pkg_setup() { + # bug #7332 + if is-flag -malign-double; then + eerror "Detected bad CFLAGS '-malign-double'. Do not use this" + eerror "as it breaks LFS (struct stat64) on x86." + die "remove -malign-double from your CFLAGS mr ricer" + fi + + if use bashlogger; then + ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs." + ewarn "This will log ALL output you enter into the shell, you have been warned." + fi +} + +src_unpack() { + local patch + + if [[ ${PV} == 9999 ]]; then + git-r3_src_unpack + elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then + default + else + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig} + + for patch in "${MY_PATCHES[@]}"; do + verify-sig_verify_detached "${patch}"{,.sig} + done + fi + + unpack "${MY_P}.tar.gz" + + if [[ ${GENTOO_PATCH_VER} ]]; then + unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz" + fi + fi +} + +src_prepare() { + # Include official patches. + (( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}" + + # Clean out local libs so we know we use system ones w/releases. The + # touch utility is invoked for the benefit of config.status. + if (( PLEVEL >= 0 )); then + rm -rf lib/{readline,termcap}/* \ + && touch lib/{readline,termcap}/Makefile.in \ + && sed -i -E 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in \ + || die + fi + + # Prefixify hardcoded path names. No-op for non-prefix. + hprefixify pathnames.h.in + + # Avoid regenerating docs after patches, bug #407985. + sed -i -E '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in \ + && touch -r . doc/* \ + || die + + # Sometimes hangs (more noticeable w/ pgo), bug #907403. + rm tests/run-jobs || die + + eapply -p0 "${PATCHES[@]}" + eapply_user +} + +src_configure() { + local -a myconf + + # Upstream only test with Bison and require GNUisms like YYEOF and + # YYERRCODE. The former at least may be in POSIX soon: + # https://www.austingroupbugs.net/view.php?id=1269. + # configure warns on use of non-Bison but doesn't abort. The result + # may misbehave at runtime. + unset -v YACC + + # wcsnwidth(), substring() issues with -Wlto-type-mismatch, reported + # upstream to Chet by email. + filter-lto + + myconf=( + --disable-profiling + + # Force linking with system curses ... the bundled termcap lib + # sucks bad compared to ncurses. For the most part, ncurses + # is here because readline needs it. But bash itself calls + # ncurses in one or two small places :(. + --with-curses + + $(use_enable mem-scramble) + $(use_enable net net-redirections) + $(use_enable readline) + $(use_enable readline bang-history) + $(use_enable readline history) + $(use_with afs) + $(use_with mem-scramble bash-malloc) + ) + + # For descriptions of these, see config-top.h. + # bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426 + append-cppflags \ + -DDEFAULT_PATH_VALUE=\'\""${EPREFIX}"/usr/local/sbin:"${EPREFIX}"/usr/local/bin:"${EPREFIX}"/usr/sbin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/bin\"\' \ + -DSTANDARD_UTILS_PATH=\'\""${EPREFIX}"/bin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/usr/sbin\"\' \ + -DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \ + -DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \ + -DNON_INTERACTIVE_LOGIN_SHELLS \ + -DSSH_SOURCE_BASHRC \ + $(use bashlogger && echo -DSYSLOG_HISTORY) + + use nls || myconf+=( --disable-nls ) + + if (( PLEVEL >= 0 )); then + # Historically, we always used the builtin readline, but since + # our handling of SONAME upgrades has gotten much more stable + # in the PM (and the readline ebuild itself preserves the old + # libs during upgrades), linking against the system copy should + # be safe. + # Exact cached version here doesn't really matter as long as it + # is at least what's in the DEPEND up above. + export ac_cv_rl_version=${READLINE_VER%%_*} + + # Use system readline only with released versions. + myconf+=( --with-installed-readline=. ) + fi + + if use plugins; then + append-ldflags "-Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/bash" + else + # Disable the plugins logic by hand since bash doesn't provide + # a way of doing it. + export ac_cv_func_dl{close,open,sym}=no \ + ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no + + sed -i -e '/LOCAL_LDFLAGS=/s:-rdynamic::' configure || die + fi + + # bug #444070 + tc-export AR + + econf "${myconf[@]}" +} + +src_compile() { + local -a pgo_generate_flags pgo_use_flags + local flag + + # -fprofile-partial-training because upstream notes the test suite isn't + # super comprehensive. + # https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo + if use pgo; then + pgo_generate_flags=( + -fprofile-update=atomic + -fprofile-dir="${T}"/pgo + -fprofile-generate="${T}"/pgo + ) + pgo_use_flags=( + -fprofile-use="${T}"/pgo + -fprofile-dir="${T}"/pgo + ) + if flag=$(test-flags-CC -fprofile-partial-training); then + pgo_generate_flags+=( "${flag}" ) + pgo_use_flags+=( "${flag}" ) + fi + fi + + emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" + use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" all others + + # Build Bash and run its tests to generate profiles. + if (( ${#pgo_generate_flags[@]} )); then + # Used in test suite. + unset -v A + + emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" -k check + + if tc-is-clang; then + llvm-profdata merge "${T}"/pgo --output="${T}"/pgo/default.profdata || die + fi + + # Rebuild Bash using the profiling data we just generated. + emake clean + emake CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" + use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" all others + fi +} + +src_test() { + # Used in test suite. + unset -v A + + default +} + +src_install() { + local d f + + default + + my_prefixify() { + while read -r; do + if [[ $REPLY == *$1* ]]; then + REPLY=${REPLY/"/etc/"/"${EPREFIX}/etc/"} + fi + printf '%s\n' "${REPLY}" || ! break + done < "$2" || die + } + + dodir /bin + mv -- "${ED}"/usr/bin/bash "${ED}"/bin/ || die + dosym bash /bin/rbash + + insinto /etc/bash + doins "${FILESDIR}"/bash_logout + my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc + + insinto /etc/bash/bashrc.d + my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color.bash | newins - 10-gentoo-color.bash + newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r1.bash 10-gentoo-title.bash + if [[ ! ${EPREFIX} ]]; then + doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash + fi + + insinto /etc/skel + for f in bash{_logout,_profile,rc}; do + newins "${FILESDIR}/dot-${f}" ".${f}" + done + + if use plugins; then + exeinto "/usr/$(get_libdir)/bash" + set -- examples/loadables/*.o + doexe "${@%.o}" + + insinto /usr/include/bash-plugins + doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h} + fi + + if use examples; then + for d in examples/{functions,misc,scripts,startup-files}; do + exeinto "/usr/share/doc/${PF}/${d}" + docinto "${d}" + for f in "${d}"/*; do + if [[ ${f##*/} != @(PERMISSION|*README) ]]; then + doexe "${f}" + else + dodoc "${f}" + fi + done + done + fi + + # Install bash_builtins.1 and rbash.1. + emake -C doc DESTDIR="${D}" install_builtins + sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die + doman "${T}"/rbash.1 + + newdoc CWRU/changelog ChangeLog + dosym bash.info /usr/share/info/bashref.info +} + +pkg_preinst() { + if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then + mkdir -p -- "${EROOT}"/etc/bash \ + && mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \ + || die + fi +} + +pkg_postinst() { + local old_ver + + # If /bin/sh does not exist, provide it. + if [[ ! -e ${EROOT}/bin/sh ]]; then + ln -sf -- bash "${EROOT}"/bin/sh || die + fi + + read -r old_ver <<<"${REPLACING_VERSIONS}" + if [[ ! $old_ver ]]; then + : + elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r8"; then + return + fi + + while read -r; do ewarn "${REPLY}"; done <<'EOF' +Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash. + +Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the +characteristics of the operating environment, it may contain a command to set +the terminal's window title. Those who were already choosing to customise the +PROMPT_COMMAND variable are now advised to append their commands like so: + +PROMPT_COMMAND+=('custom command goes here') + +Gentoo no longer defaults to having bash set the window title in the case +that the terminal is controlled by sshd(8), unless screen is launched on the +remote side or the terminal reliably supports saving and restoring the title +(as alacritty, foot and tmux do). Those wanting for the title to be set +regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d +drop-in - to set PROMPT_COMMMAND like so: + +PROMPT_COMMAND=(genfun_set_win_title) + +Those who would prefer for bash never to interfere with the window title may +now opt out of the default title setting behaviour, either with the "unset -v +PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired. +EOF +} diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20240823.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20240823.ebuild new file mode 100644 index 00000000000..f309185219f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20240823.ebuild @@ -0,0 +1,411 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc +inherit flag-o-matic toolchain-funcs prefix verify-sig + +# Uncomment if we have a patchset. +#GENTOO_PATCH_DEV="sam" +#GENTOO_PATCH_VER="${PV}" + +MY_PV=${PV/_p*} +MY_PV=${MY_PV/_/-} +MY_P=${PN}-${MY_PV} +MY_PATCHES=() + +# Determine the patchlevel. +case ${PV} in + 9999|*_alpha*|*_beta*|*_rc*) + # Set a negative patchlevel to indicate that it's a pre-release. + PLEVEL=-1 + ;; + *_p*) + PLEVEL=${PV##*_p} + ;; + *) + PLEVEL=0 +esac + +# The version of readline this bash normally ships with. Note that we only use +# the bundled copy of readline for pre-releases. +READLINE_VER="8.3_alpha" + +DESCRIPTION="The standard GNU Bourne again shell" +HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git" + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git" + EGIT_BRANCH=devel + inherit git-r3 +elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then + # It can be useful to have snapshots in the pre-release period once + # the first alpha is out, as various bugs get reported and fixed from + # the alpha, and the next pre-release is usually quite far away. + # + # i.e. if it's worth packaging the alpha, it's worth packaging a followup. + BASH_COMMIT="2e01122fe78eb5a42c9b9f3ca46b91f895959675" + SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.xz -> ${P}-${BASH_COMMIT}.tar.xz" + S=${WORKDIR}/${PN}-${BASH_COMMIT} +else + my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}.tar.gz" ) + + # bash-5.1 -> bash51 + my_p=${PN}$(ver_cut 1-2) my_p=${my_p/.} + + for (( my_patch_idx = 1; my_patch_idx <= PLEVEL; my_patch_idx++ )); do + printf -v my_patch_ver %s-%03d "${my_p}" "${my_patch_idx}" + my_urls+=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}-patches/${my_patch_ver}" ) + MY_PATCHES+=( "${DISTDIR}/${my_patch_ver}" ) + done + + SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )" + S=${WORKDIR}/${MY_P} + + unset -v my_urls my_p my_patch_idx my_patch_ver +fi + +if [[ ${GENTOO_PATCH_VER} ]]; then + SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz" +fi + +LICENSE="GPL-3+" +SLOT="0" +if (( PLEVEL >= 0 )); then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +fi +IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline" + +DEPEND=" + >=sys-libs/ncurses-5.2-r2:= + nls? ( virtual/libintl ) +" +if (( PLEVEL >= 0 )); then + DEPEND+=" readline? ( >=sys-libs/readline-${READLINE_VER}:= )" +fi +RDEPEND=" + ${DEPEND} +" +# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011). +BDEPEND=" + pgo? ( dev-util/gperf ) + verify-sig? ( sec-keys/openpgp-keys-chetramey ) +" + +# EAPI 8 tries to append it but it doesn't exist here. +QA_CONFIGURE_OPTIONS="--disable-static" + +PATCHES=( + #"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/ + + # Patches to or from Chet, posted to the bug-bash mailing list. + "${FILESDIR}/${PN}-5.0-syslog-history-extern.patch" +) + +pkg_setup() { + # bug #7332 + if is-flag -malign-double; then + eerror "Detected bad CFLAGS '-malign-double'. Do not use this" + eerror "as it breaks LFS (struct stat64) on x86." + die "remove -malign-double from your CFLAGS mr ricer" + fi + + if use bashlogger; then + ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs." + ewarn "This will log ALL output you enter into the shell, you have been warned." + fi +} + +src_unpack() { + local patch + + if [[ ${PV} == 9999 ]]; then + git-r3_src_unpack + elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then + default + else + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig} + + for patch in "${MY_PATCHES[@]}"; do + verify-sig_verify_detached "${patch}"{,.sig} + done + fi + + unpack "${MY_P}.tar.gz" + + if [[ ${GENTOO_PATCH_VER} ]]; then + unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz" + fi + fi +} + +src_prepare() { + # Include official patches. + (( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}" + + # Clean out local libs so we know we use system ones w/releases. The + # touch utility is invoked for the benefit of config.status. + if (( PLEVEL >= 0 )); then + rm -rf lib/{readline,termcap}/* \ + && touch lib/{readline,termcap}/Makefile.in \ + && sed -i -E 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in \ + || die + fi + + # Prefixify hardcoded path names. No-op for non-prefix. + hprefixify pathnames.h.in + + # Avoid regenerating docs after patches, bug #407985. + sed -i -E '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in \ + && touch -r . doc/* \ + || die + + # Sometimes hangs (more noticeable w/ pgo), bug #907403. + rm tests/run-jobs || die + + eapply -p0 "${PATCHES[@]}" + eapply_user +} + +src_configure() { + local -a myconf + + # Upstream only test with Bison and require GNUisms like YYEOF and + # YYERRCODE. The former at least may be in POSIX soon: + # https://www.austingroupbugs.net/view.php?id=1269. + # configure warns on use of non-Bison but doesn't abort. The result + # may misbehave at runtime. + unset -v YACC + + # wcsnwidth(), substring() issues with -Wlto-type-mismatch, reported + # upstream to Chet by email. + filter-lto + + myconf=( + --disable-profiling + + # Force linking with system curses ... the bundled termcap lib + # sucks bad compared to ncurses. For the most part, ncurses + # is here because readline needs it. But bash itself calls + # ncurses in one or two small places :(. + --with-curses + + $(use_enable mem-scramble) + $(use_enable net net-redirections) + $(use_enable readline) + $(use_enable readline bang-history) + $(use_enable readline history) + $(use_with afs) + $(use_with mem-scramble bash-malloc) + ) + + # For descriptions of these, see config-top.h. + # bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426 + append-cppflags \ + -DDEFAULT_PATH_VALUE=\'\""${EPREFIX}"/usr/local/sbin:"${EPREFIX}"/usr/local/bin:"${EPREFIX}"/usr/sbin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/bin\"\' \ + -DSTANDARD_UTILS_PATH=\'\""${EPREFIX}"/bin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/usr/sbin\"\' \ + -DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \ + -DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \ + -DNON_INTERACTIVE_LOGIN_SHELLS \ + -DSSH_SOURCE_BASHRC \ + $(use bashlogger && echo -DSYSLOG_HISTORY) + + use nls || myconf+=( --disable-nls ) + + if (( PLEVEL >= 0 )); then + # Historically, we always used the builtin readline, but since + # our handling of SONAME upgrades has gotten much more stable + # in the PM (and the readline ebuild itself preserves the old + # libs during upgrades), linking against the system copy should + # be safe. + # Exact cached version here doesn't really matter as long as it + # is at least what's in the DEPEND up above. + export ac_cv_rl_version=${READLINE_VER%%_*} + + # Use system readline only with released versions. + myconf+=( --with-installed-readline=. ) + fi + + if use plugins; then + append-ldflags "-Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/bash" + else + # Disable the plugins logic by hand since bash doesn't provide + # a way of doing it. + export ac_cv_func_dl{close,open,sym}=no \ + ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no + + sed -i -e '/LOCAL_LDFLAGS=/s:-rdynamic::' configure || die + fi + + # bug #444070 + tc-export AR + + econf "${myconf[@]}" +} + +src_compile() { + local -a pgo_generate_flags pgo_use_flags + local flag + + # -fprofile-partial-training because upstream notes the test suite isn't + # super comprehensive. + # https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo + if use pgo; then + pgo_generate_flags=( + -fprofile-update=atomic + -fprofile-dir="${T}"/pgo + -fprofile-generate="${T}"/pgo + ) + pgo_use_flags=( + -fprofile-use="${T}"/pgo + -fprofile-dir="${T}"/pgo + ) + if flag=$(test-flags-CC -fprofile-partial-training); then + pgo_generate_flags+=( "${flag}" ) + pgo_use_flags+=( "${flag}" ) + fi + fi + + emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" + use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" all others + + # Build Bash and run its tests to generate profiles. + if (( ${#pgo_generate_flags[@]} )); then + # Used in test suite. + unset -v A + + emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" -k check + + if tc-is-clang; then + llvm-profdata merge "${T}"/pgo --output="${T}"/pgo/default.profdata || die + fi + + # Rebuild Bash using the profiling data we just generated. + emake clean + emake CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" + use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" all others + fi +} + +src_test() { + # Used in test suite. + unset -v A + + default +} + +src_install() { + local d f + + default + + my_prefixify() { + while read -r; do + if [[ $REPLY == *$1* ]]; then + REPLY=${REPLY/"/etc/"/"${EPREFIX}/etc/"} + fi + printf '%s\n' "${REPLY}" || ! break + done < "$2" || die + } + + dodir /bin + mv -- "${ED}"/usr/bin/bash "${ED}"/bin/ || die + dosym bash /bin/rbash + + insinto /etc/bash + doins "${FILESDIR}"/bash_logout + my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc + + insinto /etc/bash/bashrc.d + my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color.bash | newins - 10-gentoo-color.bash + newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r1.bash 10-gentoo-title.bash + if [[ ! ${EPREFIX} ]]; then + doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash + fi + + insinto /etc/skel + for f in bash{_logout,_profile,rc}; do + newins "${FILESDIR}/dot-${f}" ".${f}" + done + + if use plugins; then + exeinto "/usr/$(get_libdir)/bash" + set -- examples/loadables/*.o + doexe "${@%.o}" + + insinto /usr/include/bash-plugins + doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h} + fi + + if use examples; then + for d in examples/{functions,misc,scripts,startup-files}; do + exeinto "/usr/share/doc/${PF}/${d}" + docinto "${d}" + for f in "${d}"/*; do + if [[ ${f##*/} != @(PERMISSION|*README) ]]; then + doexe "${f}" + else + dodoc "${f}" + fi + done + done + fi + + # Install bash_builtins.1 and rbash.1. + emake -C doc DESTDIR="${D}" install_builtins + sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die + doman "${T}"/rbash.1 + + newdoc CWRU/changelog ChangeLog + dosym bash.info /usr/share/info/bashref.info +} + +pkg_preinst() { + if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then + mkdir -p -- "${EROOT}"/etc/bash \ + && mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \ + || die + fi +} + +pkg_postinst() { + local old_ver + + # If /bin/sh does not exist, provide it. + if [[ ! -e ${EROOT}/bin/sh ]]; then + ln -sf -- bash "${EROOT}"/bin/sh || die + fi + + read -r old_ver <<<"${REPLACING_VERSIONS}" + if [[ ! $old_ver ]]; then + : + elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r8"; then + return + fi + + while read -r; do ewarn "${REPLY}"; done <<'EOF' +Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash. + +Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the +characteristics of the operating environment, it may contain a command to set +the terminal's window title. Those who were already choosing to customise the +PROMPT_COMMAND variable are now advised to append their commands like so: + +PROMPT_COMMAND+=('custom command goes here') + +Gentoo no longer defaults to having bash set the window title in the case +that the terminal is controlled by sshd(8), unless screen is launched on the +remote side or the terminal reliably supports saving and restoring the title +(as alacritty, foot and tmux do). Those wanting for the title to be set +regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d +drop-in - to set PROMPT_COMMMAND like so: + +PROMPT_COMMAND=(genfun_set_win_title) + +Those who would prefer for bash never to interfere with the window title may +now opt out of the default title setting behaviour, either with the "unset -v +PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired. +EOF +} diff --git a/sdk_container/src/third_party/portage-stable/app-text/mandoc/mandoc-1.14.6.ebuild b/sdk_container/src/third_party/portage-stable/app-text/mandoc/mandoc-1.14.6.ebuild index 07c5d97647c..0bb1b3e8f18 100644 --- a/sdk_container/src/third_party/portage-stable/app-text/mandoc/mandoc-1.14.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-text/mandoc/mandoc-1.14.6.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -11,7 +11,7 @@ SRC_URI="https://mdocml.bsd.lv/snapshots/${P}.tar.gz" LICENSE="ISC" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" IUSE="cgi selinux system-man test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.4.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.4.2.ebuild index c1202d979e1..9789efe7496 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.4.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.4.2.ebuild @@ -33,7 +33,7 @@ else VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi fi diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.5.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.5.1.ebuild index 8c9c3db0177..f0a32e52674 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.5.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.5.1.ebuild @@ -33,7 +33,7 @@ else VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi fi diff --git a/sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/abseil-cpp-20240116.2-r4.ebuild b/sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/abseil-cpp-20240116.2-r4.ebuild index 7c260feeb08..ea6ec8cea29 100644 --- a/sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/abseil-cpp-20240116.2-r4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/abseil-cpp-20240116.2-r4.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://github.com/abseil/abseil-cpp/archive/${PV}.tar.gz -> ${P}.tar.g LICENSE="Apache-2.0" SLOT="0/${PV%%.*}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" IUSE="test" RDEPEND=">=dev-cpp/gtest-1.13.0[${MULTILIB_USEDEP}]" diff --git a/sdk_container/src/third_party/portage-stable/dev-cpp/gtest/gtest-1.14.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-cpp/gtest/gtest-1.14.0-r1.ebuild index 927e75f3970..931f57f2e5c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-cpp/gtest/gtest-1.14.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-cpp/gtest/gtest-1.14.0-r1.ebuild @@ -21,7 +21,7 @@ else -> ${P}.tar.gz" S="${WORKDIR}"/googletest-${GOOGLETEST_COMMIT} fi - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="Google C++ Testing Framework" diff --git a/sdk_container/src/third_party/portage-stable/dev-embedded/u-boot-tools/files/disable-unused-mkeficapsule.patch b/sdk_container/src/third_party/portage-stable/dev-embedded/u-boot-tools/files/disable-unused-mkeficapsule.patch deleted file mode 100644 index 90c8ce3f0a4..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-embedded/u-boot-tools/files/disable-unused-mkeficapsule.patch +++ /dev/null @@ -1,14 +0,0 @@ -Disable unused mkeficapsule - -`CONFIG_TOOLS_MKEFICAPSULE` requires gnutls to build. Since we don't actually -expose the tool, we can just disable it. - -diff -ur a/configs/tools-only_defconfig b/configs/tools-only_defconfig ---- a/configs/tools-only_defconfig 2023-01-09 09:07:33.000000000 -0700 -+++ b/configs/tools-only_defconfig 2023-08-11 14:01:50.151294889 -0600 -@@ -33,4 +33,4 @@ - # CONFIG_VIRTIO_SANDBOX is not set - # CONFIG_GENERATE_ACPI_TABLE is not set - # CONFIG_EFI_LOADER is not set --CONFIG_TOOLS_MKEFICAPSULE=y -+# CONFIG_TOOLS_MKEFICAPSULE is not set diff --git a/sdk_container/src/third_party/portage-stable/dev-embedded/u-boot-tools/files/disable-unused-pylibfdt.patch b/sdk_container/src/third_party/portage-stable/dev-embedded/u-boot-tools/files/disable-unused-pylibfdt.patch deleted file mode 100644 index 8686341a877..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-embedded/u-boot-tools/files/disable-unused-pylibfdt.patch +++ /dev/null @@ -1,17 +0,0 @@ -Disable unused pylibfdt - -The `imply BINMAN` causes `pylibfdt` to be built, which requires python. We -don't currently expose `pylibfdt`, or declare python dependencies, so disable -it. - -diff -ur a/arch/Kconfig b/arch/Kconfig ---- a/arch/Kconfig 2023-01-09 09:07:33.000000000 -0700 -+++ b/arch/Kconfig 2023-08-11 14:01:05.998403114 -0600 -@@ -205,7 +205,6 @@ - imply KEYBOARD - imply PHYSMEM - imply GENERATE_ACPI_TABLE -- imply BINMAN - - config SH - bool "SuperH architecture" diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/python/Manifest index fee96260925..72bd9531069 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/Manifest @@ -10,14 +10,6 @@ DIST Python-3.12.4.tar.xz 20659356 BLAKE2B 4255171ef8ee1777bab829be7bbaf28a9d507 DIST Python-3.12.4.tar.xz.asc 963 BLAKE2B d4f62dca1de5f4e4b2581fc49ca55b1d87abe7c4ceb2c9087efe4b92d9e9b3bdd25949bbf82fd771b4b60bc3690be982c2f25b810d87592665f0728fbe08be9d SHA512 1102b17f395e0ec5de5368d04a4dceb8cc98dd408b68b53998071cf129eb9a6c259316a416128f1dfa37a739f86e599507502a98430348da2272442ce1b7059e DIST Python-3.12.5.tar.xz 20422396 BLAKE2B f127d1e12d12be84d5837282757787be8a0cf702adce29b93622f91f45ba2d8cc0f5db2e8277c86b098623951b302015febd28bdabaff66b30cb06a5ef2b4a24 SHA512 7a1c30d798434fe24697bc253f6010d75145e7650f66803328425c8525331b9fa6b63d12a652687582db205f8d4c8279c8f73c338168592481517b063351c921 DIST Python-3.12.5.tar.xz.asc 963 BLAKE2B 238167f6b4012136bc4274eee0dd4d958c4ee02d2505f9f64e5bcad15e84a9e9e12a9fc907651083543f1fce93579b752d4ccdf60c8cc421cb43e9034877bf1c SHA512 65ce92272a38cc6bf8bf56fa2a99a830cf5b33b811b1788508e7b6f8b5d3e93e0b143412f829271be40cbb4e7c154f84499239b3e8ab63b2ccf0a5a22d2f84ee -DIST Python-3.13.0b1.tar.xz 21054240 BLAKE2B fba108b2971fe188a05340753a48379c9a829ce680f13dc50d95d889ef5ee833b82be157d1b011ba841c149d633e8eb64b07098bf03a2adcf711b3f688465050 SHA512 81cc1d8691bfcc8f8bb232ea15c18039d0df036f5cbc1667fec3b6c34cdf198bed97418ec775c037778c250b7bc4f35bd5fb938dd478cc17fc48c74b8a2b2d19 -DIST Python-3.13.0b1.tar.xz.asc 963 BLAKE2B 1b038d2b73fdbe11a1ada18ceab4a174ae52aab68ae9c3a9952ee60a16ce3e08e54c13e0c47264442415f70bd39a06c2b0f97c3cef31330f51102dad6d4a837b SHA512 c10832b5016ad9a9588b7efd29a35272c1c07b444df116c397fed82d66f30150687d68a6853637094be2fe1d8ed0928a9cd151617c91d9eb9938ba1385bd7143 -DIST Python-3.13.0b2.tar.xz 21089692 BLAKE2B 3cc77e9b7abcd8c9797a40b2a1f5ff6562a1841dd44c4785a57941b1eb4d70d20a3dc5bcf8cbfe3d1b2c7f846d7da7fd89758e113542820945da996d2c6a68af SHA512 3a37c8137958a6ebaf06f5a03b28c7817f359f346d820a9989932b1a716478647e8d1b94c1a08197bcabf68cd90443a08ab9454af9151eace52401d8b60d0c35 -DIST Python-3.13.0b2.tar.xz.asc 963 BLAKE2B 2acab01cd8b2b5072e87f0c697767e9cec6a73cd6afae38f066a3bfa14798d10e01c03e806a1a90d1db3e5d91dea090d9dd37d1884bef3291783e6163e3d8906 SHA512 17091aba45ebd8c8feb3e9c54854e20dcd44fec4a1c08c9c0c4593166c407c4ad2b245a0e0893afc83a43e8b461a557fa1d6691c87a6a5ebc97ea448a9201c87 -DIST Python-3.13.0b3.tar.xz 20841504 BLAKE2B 92760124355483da082ac9fdc7a72eb6739e99acd97521a8c9a60bb73a25e26bcb8bdc9e911ee91667244320b742a9572c1e12229eb1c0d97ef5794493abac0f SHA512 1f0ef2d6f5d450664ad4104b92193b5a2dbe9c79add0a79c35ad9508f9fc7f1a5561efd5e4367defddf45457291524d353705d9a60b3550065920e204c77357d -DIST Python-3.13.0b3.tar.xz.asc 963 BLAKE2B 784df664961ea36cb570d685c0cf6e8fe7159161c38103f217303bc0264c73a9904021cca297a180c7dd712d4e7fcee161d741919bee49eff962a25d14568d41 SHA512 3d8bdc8c26441a12518940d264e93a8897042e297ccf9cd2ddec725716a58486475be9462582ee489bd189a4d028b43504f979298174c1b008d521b7ab5fbf1b -DIST Python-3.13.0b4.tar.xz 20876136 BLAKE2B b3a7b42b03320df618af18844a8b0f1c4b88b9bcd581cacd2d40d3ecec7d0f11aac36e54913f64541a2287d7a5052aa69f8e8d0379d6bbb4fba78600bf484f75 SHA512 e556f7a4e54b688d0424b0bd84f9849b52f4f7e04c68d4d5b877d86b4f9ded92c9efaa2b7ab33f345235f35e8d544833542f7a4cb100d0ff15b7d98b8367b935 -DIST Python-3.13.0b4.tar.xz.asc 963 BLAKE2B 0d9c7baa1eedce684e73359682f63c2aa6e7abc7cc77ee7fcf6d9658e93221c02412aa55f22d16337b72a680f10c70520742292da1138228f9257f81bc57d328 SHA512 243637efff94965aa4d997fe26c91a7c1aa7dcfdf7f78d35d6f4fc408b654dfa9d075d1c73bc5a90d145f6e5029ee395a86faf7e027c24a55fabfea6ca20fbd4 DIST Python-3.13.0rc1.tar.xz 20881016 BLAKE2B 3971a233e9c3c782973e0276740f00f8f2072eeda914663cdf7fa6c5de2437c60c441184344a64e25cab5c71a02c47cf4602dd08f127f310c885386cd887fec4 SHA512 fce7664f3298cfd191a7dc20b7b47acafdc50d058a2814312c94c30b65291395957d701e4661b9bb760417942acb5d27e5b8bb479bcda9a82cf29f53772a2daf DIST Python-3.13.0rc1.tar.xz.asc 963 BLAKE2B 1c292362cd133dbbb1df1e0cf440e8adde2bc8db9174e550d5b76a09e80d0dbc11a0250e6f041e54fe58f25dc05f071c7af1aa910ae56ece5eb430502a2ba67c SHA512 3613829d9631f46b1b1ce11bfe5bb7fbfa49d97b639bb883c86737ea6ae8d15c24c526083cafb916011bd6d0b3b5fab2b17afd367edbdce99b32e0b4b845fd22 DIST Python-3.8.19.tar.xz 18975156 BLAKE2B 57b241aeb8f99a8c30590dcb9402abbcf573f00d06e807846bc9135c0a8a4af896c4d772d34abc3c292339953f4974a203bff61a78641d91b1826770226cd7e9 SHA512 1d2a57fa15ccdaec8cdca508ba2ffb01e1ae053a3446ac709bc334480f8e913070899f01ed680cce6dc7ddfddcb27ef402fe206562249fa4c4e87be21ece0625 @@ -27,22 +19,19 @@ DIST Python-3.9.19.tar.xz.asc 833 BLAKE2B b48b58b8ccf4d6ba8d0d7120f04bebf59f843f DIST python-gentoo-patches-2.7.18_p16.tar.xz 35448 BLAKE2B 0139c0944f62f9cdd236f6a8557e0ed19704c7d72869af1cb7d8bd3e646a746cd4a0201e1b44232a5e78ef49f254db20b0d0271bf744fbfd4fe0f1e99b8f3e6c SHA512 810be590d0e06fab4b2165e6852ca49662f09dcd7e20b47a29f613ad7653252c8dfac3f0eb228d77c8a914efa7c08788b2fbd552a4b47504f5fd0ec17450c48f DIST python-gentoo-patches-3.10.14_p1.tar.xz 15836 BLAKE2B a850e4ad4f025fa9d38ccba937f1b3ee8443ed186c22ede58b4c7324a8541cf724590686671a9aa9194662303ce75bc80aac8ee6f9da34b793876817b6f593ff SHA512 5d969f5e5126ee675a062924a5f403de142fc5bfe4a931fd3576bcc6298a855419d305d4b1ffedacb429783a05324b36eef4c45c861c47bada0bdd840de2bca3 DIST python-gentoo-patches-3.10.14_p2.tar.xz 19564 BLAKE2B 2ad1398e0679e73028a0614e8c4ef6bc76928f6c1d0e93c39c3bf2c23201904ee677377abb120444995154bda4251cb8f0aabafca5e6c82601a6270d0e62bf67 SHA512 6d4194b85a176a1a0f7acc3eab48829d504e66381f3008821a9a433e63f5188b444321192ad536d8219a1c3ca56dbdb5c39439401cbbb30f35a606e2b6617624 +DIST python-gentoo-patches-3.10.14_p3.tar.xz 22080 BLAKE2B f45ebe4df3dc39a842c93d741ef66fd0f9f7d1c6453d499d59b62eda41f01bc17e109205fedc506963d1f21eb3fbf9478564ff5e1a11c10336f855069a642ceb SHA512 db268f1482e5c46a71ce3aef2c2ab6d458cc5263aec360e61c6aff97f119f4f100becefbb575156b1b0239e591a496cb62a136597fadae8a5b630c7233c0040a DIST python-gentoo-patches-3.11.9.tar.xz 8456 BLAKE2B 4e62837f17c1d056460df417b056a79ad78dbcdd3454761c7cda68ffe6faf8f4d4f04d5539e0ba94332fe19a751f7d5ff2c35ff969a6aa09a2c72d2ce5efbff1 SHA512 a288aa8d1d15e906e0f1762602a2122f9dc91bbd6b72123ac5d00ce55b3af324a4e8280b600fc0fb630e489e57ee1547d7595a4ede7a70e4b26d6686a8414997 DIST python-gentoo-patches-3.11.9_p1.tar.xz 12348 BLAKE2B 885c18eb52d299c8da43fe48106a2464ce594822e8ed362150c98f749065447b7438741cacf82a71db102434a5b2a2e91778aca8609fd7ede7898f9e57a82d49 SHA512 2ed8a97692a8980e565038ad095dad8ed3daf1f8c5c5e042a0bc278c320e099962ad13b5ff919ae334674a4828c5e8f3b9c3af6b3c37e93a42374284f5ea2243 +DIST python-gentoo-patches-3.11.9_p2.tar.xz 14916 BLAKE2B a910eae412fc1ce3657272c3c2ea9ef95b8d5711ed4c85b93a35f4ab757b1134bff0f8c8a0071e8e06aac784d0b51e36cd9271f892098cba272da4a4e73317d1 SHA512 5c055186b3a8376f4f602ec5d1f8e7bf0f067bc67295c1cdaa68ce1fb6fb21cda75e22705b8a5a2a6525af67f3b36a82fde5ba6ae9b097a5914ab79a2f1a0fad DIST python-gentoo-patches-3.12.3.tar.xz 6028 BLAKE2B 7953a48a1d95a6a33bd88060fbcac463a5469371aa0c882c3945f1fea64a63c4d45fca8451f51f4eaeea00a04267ad2e54e4cc720c95e8bb5a3477e00263b80a SHA512 4779bab2b24e59e4a77987ce3e9611d99e87c9c4d016309758c26a65fe2e11ef04d48d5af628c02b1552dc1f31b768f87448f8e19e716b4fe372941e6dacac3f -DIST python-gentoo-patches-3.12.4_p1.tar.xz 7088 BLAKE2B 450b95539aaf7c8c052ca1bbcab3b1a8f1c33e8007b6c66cc290c33d88cac8bad346e13cf96508834599a59ccb6548e6dd8cbfb1e24d84539f502101b04299d0 SHA512 df874cb1d8d0f5df60fca82daa2a59cbcfeba6be72b021101a753306a09bb19ee268681b3fdb39659be923d868c727bf7aabbe8173cfd48a329c66f4727353c7 -DIST python-gentoo-patches-3.12.4_p2.tar.xz 11124 BLAKE2B 8e49af60b1e514de9b77c562a8df5ae7d6caf0045e631fcf85a8f91335cf18f1df2ac611ea73d26e5b70c2537beb423a9303dcce41c2c2e2b049ee9f1e537b53 SHA512 df1d49e60d23f5f09144c57034c86f81f8d185f65c3a93bbb2b386977638bd525b45fe1dff8c7202d60ca3a5fdf96b94a492b076072713565e7449b679fde7b5 DIST python-gentoo-patches-3.12.4_p3.tar.xz 14796 BLAKE2B 68f5235ef434f9db16e7bc635ff51b6607cfb9be713fdc3c0ef624ec0f513345f6e02e27b8ebc2b3c8a5fcd4f4f5161024407ae364bdffd3b22a7a9d3a509b30 SHA512 8e337a7234b8ad64dd82435dcda0ef4e90c21214bd7b13a83fe9ba700d5b07ce11fb33b7d34d808132120b4a077fde26278b87116bb02ccef50470c046a66d2b DIST python-gentoo-patches-3.12.5.tar.xz 6056 BLAKE2B d9b85d98a75f6365c63ddabb8f25db3be11e7e4de22ec9426bb24160efcca25c75e3e19beec9fc2f8f8fe273c145f825c6f27ece2fca83d44cf2dbdfacae918d SHA512 72949ae8a1c796cb57e8b43d259037a723482b5a3849823c1cdc58acc012177a0ec836a4dd6ad656fe57ee1d84491c03ed9109667a953aa52bf5df7640de969f -DIST python-gentoo-patches-3.13.0b1_p3.tar.xz 11056 BLAKE2B ef932bac59d2316ee8fe638a3d34ce247ff587915546038627674cd4c03179998a58336f8ebae45f1fcc94c8059d61ff6f22693f25ace1462bce275f50bfb48f SHA512 956e3da7376d60d7a593af50fff9842016a3b193180e93ab8298756c9eedfb2aaf8c1287bb75111e6340b5bac20a12dcb00ef51ecf0e12ef9ae5c98202fb071b -DIST python-gentoo-patches-3.13.0b2_p9.tar.xz 11288 BLAKE2B e46bac845ce54e32446316b8a5e055905f023e88ad7fb9cfed101f0fccf6c0fef2fb9fd5b7dc4b15ec1e6c075ceaa9f07777c3cfede0f88412871beac0a54e47 SHA512 4148342d649acd98cce1f3d3c7bdbf4adad069ba555624882ddb69f00ee0e64641014086b5e60d97eac809ccb1e3e782a112eb58d7bb83bcfa3222811cbb8682 -DIST python-gentoo-patches-3.13.0b3.tar.xz 5704 BLAKE2B 665f60d0a440c63ca6bbc1615333e01e0b9d3c5cd8c871157866dd70146a9afb71aecdb6f72f75de2fd8c163d011c8df538c8b278ad6a91079f3300bd05fead3 SHA512 959826aaf467235c8a144a2b94137113b273f79febd30fee0556b718132bb89b5ba97bc01a3718771cade099777f131b322682f336dfaabe18cd5838a75318fa -DIST python-gentoo-patches-3.13.0b3_p1.tar.xz 8716 BLAKE2B 25b2d9f059c6f31a354b19833a3dfaab446a43ca00bbaa415e38c3ede6c4a738046469ca4ef6e184a5d7df33a8a1c5209271a1eb0728c3791e6630953bcd798f SHA512 57bbe0470e3356cef3b1880cedd18d4e84d6f64d1f398ce3e3e729744ac5f7a4dc4144333e2355f9ecf41c58382ab5708e7dbf7d480dbf797caa460862aee3bd -DIST python-gentoo-patches-3.13.0b4.tar.xz 5700 BLAKE2B cc3e6d899dc51dc4a0f4b57fb5a891a61e5ba5a943edd31b55b6540f1d52a61f2a80f8ac1cdbc36ce155a83ab3942b8991fad0e83baab4c0a1080e62b30e16df SHA512 bf236ed221512a032a057f8b89b29a28e84cfaba56f58c2eaacee846db636089b2ae4534dc55ff3389cfbf1a4485e1cc2049a5cdb98ec1cd31eef71de60596c1 -DIST python-gentoo-patches-3.13.0rc1.tar.xz 5696 BLAKE2B c34beb06ea6052b297e1bc5ec790f712a6d8acfa23b16b44dd8a7fc2788a4ba266da21cc2f463e79f10749e2f4752ae34c7074a0e588e84614020e6acd86403b SHA512 a6a2e8dc2a35a76b265788658cd8ecf2f5b7f466701cf4599df300eb8914435198f26789dafa309a7dc4c23e0da2aeb905c8175611f6fa50f622e70016212202 -DIST python-gentoo-patches-3.13.0rc1_p1.tar.xz 9840 BLAKE2B f8f52be8fde89793e5692a4693c030980a32651626cc6184f962d7d9dc9209ce6593f127ff279b71fda4fafeec148af80971bdb6dcaf129f63cc52238a34630f SHA512 e0d3aaf528ffeed8335f98dd4bfd43da8274757b0ae9f6a473134e9b57eafe12b870e41e1aafa52c2bd96de1b7ab9b9f225ddf8e87eec51f088b5484b3c92852 +DIST python-gentoo-patches-3.12.5_p1.tar.xz 8632 BLAKE2B 13570bb465002cea3590b06d055b936ac0fcc68f6f258aca99a67f02f0b1cd28396424b686c5e080f593a74a744ff449e7220f51f167a858b2313be4c8b64b19 SHA512 eb9fb2d48236a9f7941fb8938310cc32d216eb01e19277175223b8b1fe1bfd606bde9a3c8bc66ad2e494fb87ce23b0d1acd359c375e4a11a5caae25450c11360 DIST python-gentoo-patches-3.13.0rc1_p2.tar.xz 12748 BLAKE2B 851d16e16d2a98fde62c38054d9bedf3538d88a59e19dcfd8ee7d86f3f67a3b66105664da9181dbfb9ad16aa0042815ccf469225348fb0ba8854337b0a736d33 SHA512 8264aa65bf71e97a4afe47a9fba58815163bc950ea70ff708c5f265722c5b4b8af19fbbe8a9c3673957a6de3af8307a9ba0ed9f4e42472ca24c5ed930682a038 +DIST python-gentoo-patches-3.13.0rc1_p3.tar.xz 15148 BLAKE2B 668060644372e8ddf2d9686796ec304ae7689f5c10ecbc6862f054f96504c418b0e4df28675e4fbb610889f9a665a7a54f23633036b0df35f19f40ef8e6bab32 SHA512 c0cbdf9e0fe2ad29175302e548ebfda1d2af42af0ffeb363eb8b0dc53e1059f5abd7dcd02fd8e9eb9ba7bef2b34b7693633f0a62dc1ab933f43077feacf00fbc DIST python-gentoo-patches-3.8.19_p2.tar.xz 35524 BLAKE2B a6b81e6ae907b60eea676cb65a9c693e62453dc44616baaadb294c5782a195c20eff6c2869b38ea110fe06e9e511468f4ab0c3d1811b16e0ab2833f9dc09b25b SHA512 9944c330b6062c2ac6e13fcfbc1c8835dfd078f6744cdfbc03ba787ae97c08bdae559cefadafe9dfe9be9c31f8c15ee895599b266d870f73c06a2f4b15c78dc3 DIST python-gentoo-patches-3.8.19_p3.tar.xz 39392 BLAKE2B 451765c7546831c35f52e2772b8b43b6515f66cace2d13ed473228bf2d2b18f49b938a61d4cdf1be0fecbebfac1fc8d3d95f7597eb9d877c0b2ce495e8d419c1 SHA512 76e405ddfd3ee98dbd077f6ec83ae93d0506ddbc3b2b8884a0f38c6269ea982b635b0eb7820f6f9b2f81eb0ef514b93a5eb10437414cde4de2bfb7ea37764b3c +DIST python-gentoo-patches-3.8.19_p4.tar.xz 41888 BLAKE2B 8f5fcf8b6d925c9f668a1f8ac22d4b8c2ff7b4d90103606afc37eef735d5ed0fe7288469fb18e08bc31165c16c9877977610e5a6af9e385518028baed34fde2f SHA512 4440725419af3bc5c4f1719dd39605df28e2bca625c3a822082e4541db9479dc6fcf8c2d6fc777292b75f70669ab7e010df105b2b580865a442df76c0f83ebbc DIST python-gentoo-patches-3.9.19_p3.tar.xz 28240 BLAKE2B 35c70b1f9a590abe9a74795f478ab788cd72c96e9d84f2756685e61324dc4203148e71b00a236bb4af8fb8315e3582ecec255b39749a653e0511d4a9f9fef725 SHA512 6b8f4dab4aa7d4d646ee4091b5cf76bbc8896d4299a3623660a2c5fec06c0cf56c0a50ac87604885cd155141bc85e0e80acdbedb7b34a813901aad021b9b8ab2 DIST python-gentoo-patches-3.9.19_p4.tar.xz 32048 BLAKE2B 9595d508304baf36a2c8daa2ae15d3596fdfb5fed5c531fc379ee347d5b165885ade1842f094184fb7bd81a6385e45f9b77ba7bfa4334ea30292c0bc59b373e2 SHA512 5713c69ee3745246a570e0f05ac8f45baa8f9fa8a2154c930f1ddcf827a2a790cb5e308f5ff9452d3ffda5d60c167a02429af773eebf13dcb6463793cd448500 +DIST python-gentoo-patches-3.9.19_p5.tar.xz 34548 BLAKE2B 6ad49bba626932b3ba1b781fe5762882aa90b552bedc0f1b8fe0921c7e4ad1bd67ddbc2c11c969fae53fd2b6189dd1b1506da87c123c055ec3df023950bd1938 SHA512 d66a2d6012d98edde4a9eb52cd8a06f0338a25f44e299713abd970884c7b1d457c6a09a1e27035841eae3a4844bbec1b4d2a4b691bbf519867a6ed58f251e633 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.4_p1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.14_p3.ebuild similarity index 84% rename from sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.4_p1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.14_p3.ebuild index a2461c6b390..0b054e7e089 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.4_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.14_p3.ebuild @@ -5,7 +5,7 @@ EAPI="8" WANT_LIBTOOL="none" inherit autotools check-reqs flag-o-matic multiprocessing pax-utils -inherit python-utils-r1 toolchain-funcs verify-sig +inherit prefix python-utils-r1 toolchain-funcs verify-sig MY_PV=${PV/_rc/rc} MY_P="Python-${MY_PV%_p*}" @@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" -KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE=" bluetooth build debug +ensurepip examples gdbm libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind @@ -43,7 +43,6 @@ RESTRICT="!test? ( test )" RDEPEND=" app-arch/bzip2:= app-arch/xz-utils:= - app-crypt/libb2 >=dev-libs/expat-2.1:= dev-libs/libffi:= dev-libs/mpdecimal:= @@ -51,7 +50,7 @@ RDEPEND=" >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl - ensurepip? ( dev-python/ensurepip-pip ) + ensurepip? ( dev-python/ensurepip-wheels ) gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) ncurses? ( >=sys-libs/ncurses-5.2:= ) @@ -72,20 +71,15 @@ RDEPEND=" DEPEND=" ${RDEPEND} bluetooth? ( net-wireless/bluez ) - test? ( - app-arch/xz-utils - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - dev-python/ensurepip-wheel - ) valgrind? ( dev-debug/valgrind ) + test? ( app-arch/xz-utils ) " # autoconf-archive needed to eautoreconf BDEPEND=" dev-build/autoconf-archive app-alternatives/awk virtual/pkgconfig - verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) + verify-sig? ( sec-keys/openpgp-keys-python ) " RDEPEND+=" !build? ( app-misc/mime-types ) @@ -122,8 +116,8 @@ src_unpack() { 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 + rm -r Modules/expat || die + rm -r Modules/_ctypes/libffi* || die local PATCHES=( "${WORKDIR}/${PATCHSET}" @@ -131,12 +125,14 @@ src_prepare() { default + # https://bugs.gentoo.org/850151 + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die + # 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 + local jobs=$(makeopts_jobs) + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die eautoreconf } @@ -156,7 +152,7 @@ build_cbuild_python() { local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} # We need to build our own Python on CBUILD first, and feed it in. - # bug #847910 + # bug #847910 and bug #864911. local myeconfargs_cbuild=( "${myeconfargs[@]}" @@ -167,41 +163,40 @@ build_cbuild_python() { --disable-shared # As minimal as possible for the mini CBUILD Python - # we build just for cross to satisfy --with-build-python. + # we build just for cross. --without-lto - --without-readline --disable-optimizations ) mkdir "${WORKDIR}"/${P}-${CBUILD} || die pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. + PYTHON_DISABLE_MODULES+=" _ctypes _crypt" \ + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" # 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 _crypt + cat >> Makefile <<-EOF || die + MODULE_NIS=disabled + MODULE__DBM=disabled + MODULE__GDBM=disabled + MODULE__DBM=disabled + MODULE__SQLITE3=disabled + MODULE__HASHLIB=disabled + MODULE__SSL=disabled + MODULE__CURSES=disabled + MODULE__CURSES_PANEL=disabled + MODULE_READLINE=disabled + MODULE__TKINTER=disabled + MODULE_PYEXPAT=disabled + MODULE_ZLIB=disabled 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 + # will check the existence of the Python it was pointed to # immediately. - emake + PYTHON_DISABLE_MODULES+=" _ctypes _crypt" emake popd &> /dev/null || die } @@ -210,6 +205,18 @@ src_configure() { if ! use bluetooth; then local -x ac_cv_header_bluetooth_bluetooth_h=no fi + local disable + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + export PYTHON_DISABLE_MODULES="${disable}" + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi append-flags -fwrapv filter-flags -malign-double @@ -296,9 +303,8 @@ src_configure() { --without-ensurepip --without-lto --with-system-expat + --with-system-ffi --with-system-libmpdec - --with-platlibdir=lib - --with-pkg-config=yes --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip $(use_with debug assertions) @@ -307,6 +313,9 @@ src_configure() { $(use_with valgrind) ) + # disable implicit optimization/debugging flags + local -x OPT= + # https://bugs.gentoo.org/700012 if tc-is-lto; then append-cflags $(test-flags-CC -ffat-lto-objects) @@ -315,29 +324,11 @@ src_configure() { ) 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 - ) + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + export PATH="${WORKDIR}/${P}-${CBUILD}:${PATH}" fi # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get @@ -351,6 +342,7 @@ src_configure() { append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw fi + hprefixify setup.py econf "${myeconfargs[@]}" if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then @@ -367,7 +359,9 @@ src_compile() { # Ensure sed works as expected # https://bugs.gentoo.org/594768 local -x LC_ALL=C - export PYTHONSTRICTEXTENSIONBUILD=1 + # Prevent using distutils bundled by setuptools. + # https://bugs.gentoo.org/823728 + export SETUPTOOLS_USE_DISTUTILS=stdlib # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't # end up writing bytecode & violating sandbox. @@ -404,11 +398,6 @@ src_test() { 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=( -u-network -j "$(makeopts_jobs)" @@ -465,12 +454,7 @@ src_test() { src_install() { local libdir=${ED}/usr/lib/python${PYVER} - # the Makefile rules are broken - # https://github.com/python/cpython/issues/100221 - mkdir -p "${libdir}"/lib-dynload || die - - # -j1 hack for now for bug #843458 - emake -j1 DESTDIR="${D}" altinstall + emake DESTDIR="${D}" altinstall # Fix collisions between different slots of Python. rm "${ED}/usr/$(get_libdir)/libpython3.so" || die @@ -500,7 +484,7 @@ src_install() { rm -r "${libdir}"/ensurepip || die fi if ! use sqlite; then - rm -r "${libdir}/"sqlite3 || die + rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die fi if ! use tk; then rm -r "${ED}/usr/bin/idle${PYVER}" || die diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta1_p3.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.9_p2.ebuild similarity index 75% rename from sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta1_p3.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.9_p2.ebuild index c7e6f46cf05..55821697ebb 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta1_p3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.9_p2.ebuild @@ -2,15 +2,12 @@ # Distributed under the terms of the GNU General Public License v2 EAPI="8" - -LLVM_COMPAT=( 18 ) -LLVM_OPTIONAL=1 WANT_LIBTOOL="none" -inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing -inherit pax-utils python-utils-r1 toolchain-funcs verify-sig +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils +inherit prefix python-utils-r1 toolchain-funcs verify-sig -MY_PV=${PV/_beta/b} +MY_PV=${PV/_rc/rc} MY_P="Python-${MY_PV%_p*}" PYVER=$(ver_cut 1-2) PATCHSET="python-gentoo-patches-${MY_PV}" @@ -31,12 +28,11 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc ~x86" IUSE=" - bluetooth build +debug +ensurepip examples gdbm +gil jit - libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind + bluetooth build debug +ensurepip examples gdbm libedit + +ncurses pgo +readline +sqlite +ssl test tk valgrind " -REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" RESTRICT="!test? ( test )" # Do not add a dependency on dev-lang/python to this ebuild. @@ -55,7 +51,7 @@ RDEPEND=" >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl - ensurepip? ( dev-python/ensurepip-pip ) + ensurepip? ( dev-python/ensurepip-wheels ) gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) ncurses? ( >=sys-libs/ncurses-5.2:= ) @@ -76,12 +72,7 @@ RDEPEND=" DEPEND=" ${RDEPEND} bluetooth? ( net-wireless/bluez ) - test? ( - app-arch/xz-utils - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - dev-python/ensurepip-wheel - ) + test? ( app-arch/xz-utils ) valgrind? ( dev-debug/valgrind ) " # autoconf-archive needed to eautoreconf @@ -89,13 +80,7 @@ BDEPEND=" dev-build/autoconf-archive app-alternatives/awk virtual/pkgconfig - jit? ( - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - sys-devel/llvm:${LLVM_SLOT} - ') - ) - verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) + verify-sig? ( sec-keys/openpgp-keys-python ) " RDEPEND+=" !build? ( app-misc/mime-types ) @@ -117,18 +102,9 @@ QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) pkg_pretend() { use test && check-reqs_pkg_pretend - - if ! use gil || use jit; then - ewarn "USE=-gil and USE=jit flags are considered experimental upstream. Using" - ewarn "them 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[gil,-jit]. Instead," - ewarn "please consider reporting freethreading / JIT problems upstream." - fi } pkg_setup() { - use jit && llvm-r1_pkg_setup use test && check-reqs_pkg_setup } @@ -141,8 +117,8 @@ src_unpack() { 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 + rm -r Modules/expat || die + rm -r Modules/_ctypes/libffi* || die local PATCHES=( "${WORKDIR}/${PATCHSET}" @@ -150,12 +126,14 @@ src_prepare() { default + # https://bugs.gentoo.org/850151 + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die + # 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 + local jobs=$(makeopts_jobs) + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die eautoreconf } @@ -194,33 +172,33 @@ build_cbuild_python() { mkdir "${WORKDIR}"/${P}-${CBUILD} || die pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. + PYTHON_DISABLE_MODULES+=" _ctypes _crypt" \ + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" # 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 _crypt + cat >> Makefile <<-EOF || die + MODULE_NIS_STATE=disabled + MODULE__DBM_STATE=disabled + MODULE__GDBM_STATE=disabled + MODULE__DBM_STATE=disabled + MODULE__SQLITE3_STATE=disabled + MODULE__HASHLIB_STATE=disabled + MODULE__SSL_STATE=disabled + MODULE__CURSES_STATE=disabled + MODULE__CURSES_PANEL_STATE=disabled + MODULE_READLINE_STATE=disabled + MODULE__TKINTER_STATE=disabled + MODULE_PYEXPAT_STATE=disabled + MODULE_ZLIB_STATE=disabled 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 + PYTHON_DISABLE_MODULES+=" _ctypes _crypt" emake popd &> /dev/null || die } @@ -242,105 +220,25 @@ src_configure() { dbmliborder+="${dbmliborder:+:}gdbm" fi - # Set baseline test skip flags. - COMMON_TEST_SKIPS=( - # failures - -x test_concurrent_futures - -x test_gdb - ) - - # 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 - ) - ;; - ia64*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - ) - ;; - mips*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - -x test_statistics - ) - ;; - powerpc64-*) # big endian - COMMON_TEST_SKIPS+=( - -x test_descr - ) - ;; - riscv*) - COMMON_TEST_SKIPS+=( - -x test_urllib2 - ) - ;; - sparc*) - COMMON_TEST_SKIPS+=( - # bug 788022 - -x test_multiprocessing_fork - -x test_multiprocessing_forkserver - - -x test_ctypes - -x test_descr - # bug 931908 - -x test_exceptions - ) - ;; - esac - - # 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_gdb -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_concurrent_futures -x test_httpservers -x test_logging -x test_multiprocessing_fork @@ -350,43 +248,23 @@ src_configure() { # Hangs (actually runs indefinitely executing itself w/ many cpython builds) # bug #900429 -x test_tools - - # Fails in profiling run, passes in src_test(). - -x test_capi ) - # Arch-specific skips. See #931888 for a collection of these. - case ${CHOST} in - alpha*) - profile_task_flags+=( - -x test_os - ) - ;; - hppa*) - profile_task_flags+=( - -x test_descr - # bug 931908 - -x test_exceptions - -x test_os - ) - ;; - ia64*) - profile_task_flags+=( - -x test_signal - ) - ;; - powerpc64-*) # big endian - profile_task_flags+=( - # bug 931908 - -x test_exceptions - ) - ;; - riscv*) - profile_task_flags+=( - -x test_statistics - ) - ;; - esac + # musl-specific skips + use elibc_musl && profile_task_flags+=( + # 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 has_version "app-arch/rpm" ; then # Avoid sandbox failure (attempts to write to /var/lib/rpm) @@ -415,19 +293,21 @@ src_configure() { --without-ensurepip --without-lto --with-system-expat + --with-system-ffi --with-system-libmpdec --with-platlibdir=lib --with-pkg-config=yes --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip $(use_with debug assertions) - $(use_enable gil) - $(use_enable jit experimental-jit) $(use_enable pgo optimizations) $(use_with readline readline "$(usex libedit editline readline)") $(use_with valgrind) ) + # disable implicit optimization/debugging flags + local -x OPT= + # https://bugs.gentoo.org/700012 if tc-is-lto; then append-cflags $(test-flags-CC -ffat-lto-objects) @@ -436,22 +316,6 @@ src_configure() { ) 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+=( @@ -472,6 +336,7 @@ src_configure() { append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw fi + hprefixify setup.py econf "${myeconfargs[@]}" if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then @@ -480,6 +345,20 @@ src_configure() { die "Broken sem_open function (bug 496328)" fi + # force-disable modules we don't want built + local disable_modules=( NIS ) + use gdbm || disable_modules+=( _GDBM _DBM ) + use sqlite || disable_modules+=( _SQLITE3 ) + use ssl || disable_modules+=( _HASHLIB _SSL ) + use ncurses || disable_modules+=( _CURSES _CURSES_PANEL ) + use readline || disable_modules+=( READLINE ) + use tk || disable_modules+=( _TKINTER ) + + local mod + for mod in "${disable_modules[@]}"; do + echo "MODULE_${mod}_STATE=disabled" + done >> Makefile || die + # install epython.py as part of stdlib echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die } @@ -488,6 +367,9 @@ src_compile() { # Ensure sed works as expected # https://bugs.gentoo.org/594768 local -x LC_ALL=C + # Prevent using distutils bundled by setuptools. + # https://bugs.gentoo.org/823728 + export SETUPTOOLS_USE_DISTUTILS=stdlib export PYTHONSTRICTEXTENSIONBUILD=1 # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't @@ -500,7 +382,7 @@ src_compile() { local -x COLUMNS=80 local -x PYTHONDONTWRITEBYTECODE= - addwrite "/usr/lib/python${PYVER}/site-packages" + addpredict "/usr/lib/python${PYVER}/site-packages" fi # also need to clear the flags explicitly here or they end up @@ -531,10 +413,36 @@ src_test() { local -x LOGNAME=buildbot local test_opts=( - --verbose3 -u-network -j "$(makeopts_jobs)" - "${COMMON_TEST_SKIPS[@]}" + + # fails + -x test_concurrent_futures + -x test_gdb + ) + + if use sparc ; then + # bug #788022 + test_opts+=( + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + ) + fi + + # musl-specific skips + use elibc_musl && test_opts+=( + # 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 ) # workaround docutils breaking tests @@ -560,10 +468,6 @@ src_test() { src_install() { local libdir=${ED}/usr/lib/python${PYVER} - # the Makefile rules are broken - # https://github.com/python/cpython/issues/100221 - mkdir -p "${libdir}"/lib-dynload || die - # -j1 hack for now for bug #843458 emake -j1 DESTDIR="${D}" altinstall @@ -643,7 +547,8 @@ src_install() { EOF chmod +x "${scriptdir}/python${pymajor}-config" || die ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die - # pydoc + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die # idle if use tk; then diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.4_p2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.5_p1.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.4_p2.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.5_p1.ebuild index a2461c6b390..ac3fc7f12d9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.4_p2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.5_p1.ebuild @@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" -KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE=" bluetooth build debug +ensurepip examples gdbm libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta2_p9.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta2_p9.ebuild deleted file mode 100644 index 87d11b2c537..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta2_p9.ebuild +++ /dev/null @@ -1,659 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -LLVM_COMPAT=( 18 ) -LLVM_OPTIONAL=1 -WANT_LIBTOOL="none" - -inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing -inherit pax-utils python-utils-r1 toolchain-funcs verify-sig - -MY_PV=${PV/_beta/b} -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.asc - ) -" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -IUSE=" - bluetooth build +debug +ensurepip examples gdbm +gil jit - libedit +ncurses pgo +readline +sqlite +ssl 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-crypt/libb2 - >=dev-libs/expat-2.1:= - dev-libs/libffi:= - dev-libs/mpdecimal:= - dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= - virtual/libcrypt:= - virtual/libintl - ensurepip? ( dev-python/ensurepip-pip ) - 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? ( - app-arch/xz-utils - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - dev-python/ensurepip-wheel - ) - valgrind? ( dev-debug/valgrind ) -" -# autoconf-archive needed to eautoreconf -BDEPEND=" - dev-build/autoconf-archive - app-alternatives/awk - virtual/pkgconfig - jit? ( - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - sys-devel/llvm:${LLVM_SLOT} - ') - ) - verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) -" -RDEPEND+=" - !build? ( app-misc/mime-types ) -" -if [[ ${PV} != *_alpha* ]]; then - RDEPEND+=" - dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] - " -fi - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc - -# large file tests involve a 2.5G file being copied (duplicated) -CHECKREQS_DISK_BUILD=5500M - -QA_PKGCONFIG_VERSION=${PYVER} -# false positives -- functions specific to *BSD -QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) - -pkg_pretend() { - use test && check-reqs_pkg_pretend - - if ! use gil || use jit; then - ewarn "USE=-gil and USE=jit flags are considered experimental upstream. Using" - ewarn "them 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[gil,-jit]. Instead," - ewarn "please consider reporting freethreading / JIT problems upstream." - fi -} - -pkg_setup() { - use jit && llvm-r1_pkg_setup - use test && check-reqs_pkg_setup -} - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} - 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 _crypt - 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 - - append-flags -fwrapv - 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=( - # failures - -x test_concurrent_futures - -x test_gdb - # test_asyncio_repl_is_ok is flaky - # https://github.com/python/cpython/issues/119909 - -x test_repl - ) - - # 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 - ) - ;; - ia64*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - ) - ;; - mips*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - -x test_statistics - ) - ;; - powerpc64-*) # big endian - COMMON_TEST_SKIPS+=( - -x test_descr - ) - ;; - riscv*) - COMMON_TEST_SKIPS+=( - -x test_urllib2 - ) - ;; - sparc*) - COMMON_TEST_SKIPS+=( - # bug 788022 - -x test_multiprocessing_fork - -x test_multiprocessing_forkserver - - -x test_ctypes - -x test_descr - # bug 931908 - -x test_exceptions - ) - ;; - esac - - # 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 - - # Fails in profiling run, passes in src_test(). - -x test_capi - ) - - # Arch-specific skips. See #931888 for a collection of these. - case ${CHOST} in - alpha*) - profile_task_flags+=( - -x test_os - ) - ;; - hppa*) - profile_task_flags+=( - -x test_descr - # bug 931908 - -x test_exceptions - -x test_os - ) - ;; - ia64*) - profile_task_flags+=( - -x test_signal - ) - ;; - powerpc64-*) # big endian - profile_task_flags+=( - # bug 931908 - -x test_exceptions - ) - ;; - riscv*) - profile_task_flags+=( - -x test_statistics - ) - ;; - esac - - if has_version "app-arch/rpm" ; then - # Avoid sandbox failure (attempts to write to /var/lib/rpm) - profile_task_flags+=( - -x test_distutils - ) - fi - local -x PROFILE_TASK="${profile_task_flags[*]}" - 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-computed-gotos - --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 - - $(use_with debug assertions) - $(use_enable gil) - $(use_enable jit experimental-jit) - $(use_enable pgo optimizations) - $(use_with readline readline "$(usex libedit editline readline)") - $(use_with valgrind) - ) - - # https://bugs.gentoo.org/700012 - if tc-is-lto; then - append-cflags $(test-flags-CC -ffat-lto-objects) - 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= - 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= - - 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}" 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 ensurepip; then - rm -r "${libdir}"/ensurepip || die - fi - 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,test/test_tk*} || 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() { - local v - for v in ${REPLACING_VERSIONS}; do - if ver_test "${v}" -lt 3.13.0_beta2; then - ewarn "Python 3.13.0b2 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.13 modules, e.g. using:" - ewarn - ewarn " emerge -1v /usr/lib/python3.13/site-packages" - fi - done -} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta3.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta3.ebuild deleted file mode 100644 index 87d11b2c537..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta3.ebuild +++ /dev/null @@ -1,659 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -LLVM_COMPAT=( 18 ) -LLVM_OPTIONAL=1 -WANT_LIBTOOL="none" - -inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing -inherit pax-utils python-utils-r1 toolchain-funcs verify-sig - -MY_PV=${PV/_beta/b} -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.asc - ) -" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -IUSE=" - bluetooth build +debug +ensurepip examples gdbm +gil jit - libedit +ncurses pgo +readline +sqlite +ssl 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-crypt/libb2 - >=dev-libs/expat-2.1:= - dev-libs/libffi:= - dev-libs/mpdecimal:= - dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= - virtual/libcrypt:= - virtual/libintl - ensurepip? ( dev-python/ensurepip-pip ) - 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? ( - app-arch/xz-utils - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - dev-python/ensurepip-wheel - ) - valgrind? ( dev-debug/valgrind ) -" -# autoconf-archive needed to eautoreconf -BDEPEND=" - dev-build/autoconf-archive - app-alternatives/awk - virtual/pkgconfig - jit? ( - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - sys-devel/llvm:${LLVM_SLOT} - ') - ) - verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) -" -RDEPEND+=" - !build? ( app-misc/mime-types ) -" -if [[ ${PV} != *_alpha* ]]; then - RDEPEND+=" - dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] - " -fi - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc - -# large file tests involve a 2.5G file being copied (duplicated) -CHECKREQS_DISK_BUILD=5500M - -QA_PKGCONFIG_VERSION=${PYVER} -# false positives -- functions specific to *BSD -QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) - -pkg_pretend() { - use test && check-reqs_pkg_pretend - - if ! use gil || use jit; then - ewarn "USE=-gil and USE=jit flags are considered experimental upstream. Using" - ewarn "them 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[gil,-jit]. Instead," - ewarn "please consider reporting freethreading / JIT problems upstream." - fi -} - -pkg_setup() { - use jit && llvm-r1_pkg_setup - use test && check-reqs_pkg_setup -} - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} - 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 _crypt - 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 - - append-flags -fwrapv - 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=( - # failures - -x test_concurrent_futures - -x test_gdb - # test_asyncio_repl_is_ok is flaky - # https://github.com/python/cpython/issues/119909 - -x test_repl - ) - - # 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 - ) - ;; - ia64*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - ) - ;; - mips*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - -x test_statistics - ) - ;; - powerpc64-*) # big endian - COMMON_TEST_SKIPS+=( - -x test_descr - ) - ;; - riscv*) - COMMON_TEST_SKIPS+=( - -x test_urllib2 - ) - ;; - sparc*) - COMMON_TEST_SKIPS+=( - # bug 788022 - -x test_multiprocessing_fork - -x test_multiprocessing_forkserver - - -x test_ctypes - -x test_descr - # bug 931908 - -x test_exceptions - ) - ;; - esac - - # 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 - - # Fails in profiling run, passes in src_test(). - -x test_capi - ) - - # Arch-specific skips. See #931888 for a collection of these. - case ${CHOST} in - alpha*) - profile_task_flags+=( - -x test_os - ) - ;; - hppa*) - profile_task_flags+=( - -x test_descr - # bug 931908 - -x test_exceptions - -x test_os - ) - ;; - ia64*) - profile_task_flags+=( - -x test_signal - ) - ;; - powerpc64-*) # big endian - profile_task_flags+=( - # bug 931908 - -x test_exceptions - ) - ;; - riscv*) - profile_task_flags+=( - -x test_statistics - ) - ;; - esac - - if has_version "app-arch/rpm" ; then - # Avoid sandbox failure (attempts to write to /var/lib/rpm) - profile_task_flags+=( - -x test_distutils - ) - fi - local -x PROFILE_TASK="${profile_task_flags[*]}" - 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-computed-gotos - --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 - - $(use_with debug assertions) - $(use_enable gil) - $(use_enable jit experimental-jit) - $(use_enable pgo optimizations) - $(use_with readline readline "$(usex libedit editline readline)") - $(use_with valgrind) - ) - - # https://bugs.gentoo.org/700012 - if tc-is-lto; then - append-cflags $(test-flags-CC -ffat-lto-objects) - 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= - 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= - - 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}" 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 ensurepip; then - rm -r "${libdir}"/ensurepip || die - fi - 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,test/test_tk*} || 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() { - local v - for v in ${REPLACING_VERSIONS}; do - if ver_test "${v}" -lt 3.13.0_beta2; then - ewarn "Python 3.13.0b2 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.13 modules, e.g. using:" - ewarn - ewarn " emerge -1v /usr/lib/python3.13/site-packages" - fi - done -} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta3_p1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta3_p1.ebuild deleted file mode 100644 index 87d11b2c537..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta3_p1.ebuild +++ /dev/null @@ -1,659 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -LLVM_COMPAT=( 18 ) -LLVM_OPTIONAL=1 -WANT_LIBTOOL="none" - -inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing -inherit pax-utils python-utils-r1 toolchain-funcs verify-sig - -MY_PV=${PV/_beta/b} -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.asc - ) -" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -IUSE=" - bluetooth build +debug +ensurepip examples gdbm +gil jit - libedit +ncurses pgo +readline +sqlite +ssl 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-crypt/libb2 - >=dev-libs/expat-2.1:= - dev-libs/libffi:= - dev-libs/mpdecimal:= - dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= - virtual/libcrypt:= - virtual/libintl - ensurepip? ( dev-python/ensurepip-pip ) - 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? ( - app-arch/xz-utils - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - dev-python/ensurepip-wheel - ) - valgrind? ( dev-debug/valgrind ) -" -# autoconf-archive needed to eautoreconf -BDEPEND=" - dev-build/autoconf-archive - app-alternatives/awk - virtual/pkgconfig - jit? ( - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - sys-devel/llvm:${LLVM_SLOT} - ') - ) - verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) -" -RDEPEND+=" - !build? ( app-misc/mime-types ) -" -if [[ ${PV} != *_alpha* ]]; then - RDEPEND+=" - dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] - " -fi - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc - -# large file tests involve a 2.5G file being copied (duplicated) -CHECKREQS_DISK_BUILD=5500M - -QA_PKGCONFIG_VERSION=${PYVER} -# false positives -- functions specific to *BSD -QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) - -pkg_pretend() { - use test && check-reqs_pkg_pretend - - if ! use gil || use jit; then - ewarn "USE=-gil and USE=jit flags are considered experimental upstream. Using" - ewarn "them 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[gil,-jit]. Instead," - ewarn "please consider reporting freethreading / JIT problems upstream." - fi -} - -pkg_setup() { - use jit && llvm-r1_pkg_setup - use test && check-reqs_pkg_setup -} - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} - 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 _crypt - 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 - - append-flags -fwrapv - 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=( - # failures - -x test_concurrent_futures - -x test_gdb - # test_asyncio_repl_is_ok is flaky - # https://github.com/python/cpython/issues/119909 - -x test_repl - ) - - # 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 - ) - ;; - ia64*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - ) - ;; - mips*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - -x test_statistics - ) - ;; - powerpc64-*) # big endian - COMMON_TEST_SKIPS+=( - -x test_descr - ) - ;; - riscv*) - COMMON_TEST_SKIPS+=( - -x test_urllib2 - ) - ;; - sparc*) - COMMON_TEST_SKIPS+=( - # bug 788022 - -x test_multiprocessing_fork - -x test_multiprocessing_forkserver - - -x test_ctypes - -x test_descr - # bug 931908 - -x test_exceptions - ) - ;; - esac - - # 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 - - # Fails in profiling run, passes in src_test(). - -x test_capi - ) - - # Arch-specific skips. See #931888 for a collection of these. - case ${CHOST} in - alpha*) - profile_task_flags+=( - -x test_os - ) - ;; - hppa*) - profile_task_flags+=( - -x test_descr - # bug 931908 - -x test_exceptions - -x test_os - ) - ;; - ia64*) - profile_task_flags+=( - -x test_signal - ) - ;; - powerpc64-*) # big endian - profile_task_flags+=( - # bug 931908 - -x test_exceptions - ) - ;; - riscv*) - profile_task_flags+=( - -x test_statistics - ) - ;; - esac - - if has_version "app-arch/rpm" ; then - # Avoid sandbox failure (attempts to write to /var/lib/rpm) - profile_task_flags+=( - -x test_distutils - ) - fi - local -x PROFILE_TASK="${profile_task_flags[*]}" - 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-computed-gotos - --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 - - $(use_with debug assertions) - $(use_enable gil) - $(use_enable jit experimental-jit) - $(use_enable pgo optimizations) - $(use_with readline readline "$(usex libedit editline readline)") - $(use_with valgrind) - ) - - # https://bugs.gentoo.org/700012 - if tc-is-lto; then - append-cflags $(test-flags-CC -ffat-lto-objects) - 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= - 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= - - 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}" 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 ensurepip; then - rm -r "${libdir}"/ensurepip || die - fi - 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,test/test_tk*} || 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() { - local v - for v in ${REPLACING_VERSIONS}; do - if ver_test "${v}" -lt 3.13.0_beta2; then - ewarn "Python 3.13.0b2 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.13 modules, e.g. using:" - ewarn - ewarn " emerge -1v /usr/lib/python3.13/site-packages" - fi - done -} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta4.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta4.ebuild deleted file mode 100644 index 20a8761fa61..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta4.ebuild +++ /dev/null @@ -1,658 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -LLVM_COMPAT=( 18 ) -LLVM_OPTIONAL=1 -WANT_LIBTOOL="none" - -inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing -inherit pax-utils python-utils-r1 toolchain-funcs verify-sig - -MY_PV=${PV/_beta/b} -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.asc - ) -" -S="${WORKDIR}/${MY_P}" - -LICENSE="PSF-2" -SLOT="${PYVER}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -IUSE=" - bluetooth build +debug +ensurepip examples gdbm +gil jit - libedit +ncurses pgo +readline +sqlite +ssl 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-crypt/libb2 - >=dev-libs/expat-2.1:= - dev-libs/libffi:= - dev-libs/mpdecimal:= - dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= - virtual/libcrypt:= - virtual/libintl - ensurepip? ( dev-python/ensurepip-pip ) - 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? ( - app-arch/xz-utils - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - dev-python/ensurepip-wheel - ) - valgrind? ( dev-debug/valgrind ) -" -# autoconf-archive needed to eautoreconf -BDEPEND=" - dev-build/autoconf-archive - app-alternatives/awk - virtual/pkgconfig - jit? ( - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - sys-devel/llvm:${LLVM_SLOT} - ') - ) - verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) -" -RDEPEND+=" - !build? ( app-misc/mime-types ) -" -if [[ ${PV} != *_alpha* ]]; then - RDEPEND+=" - dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] - " -fi - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc - -# large file tests involve a 2.5G file being copied (duplicated) -CHECKREQS_DISK_BUILD=5500M - -QA_PKGCONFIG_VERSION=${PYVER} -# false positives -- functions specific to *BSD -QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) - -pkg_pretend() { - use test && check-reqs_pkg_pretend - - if ! use gil || use jit; then - ewarn "USE=-gil and USE=jit flags are considered experimental upstream. Using" - ewarn "them 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[gil,-jit]. Instead," - ewarn "please consider reporting freethreading / JIT problems upstream." - fi -} - -pkg_setup() { - use jit && llvm-r1_pkg_setup - use test && check-reqs_pkg_setup -} - -src_unpack() { - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} - 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 _crypt - 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 - - append-flags -fwrapv - 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=( - # failures - -x test_concurrent_futures - -x test_gdb - # flaky: https://github.com/python/cpython/issues/121973 - -x test_pyrepl - ) - - # 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 - ) - ;; - ia64*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - ) - ;; - mips*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - -x test_statistics - ) - ;; - powerpc64-*) # big endian - COMMON_TEST_SKIPS+=( - -x test_descr - ) - ;; - riscv*) - COMMON_TEST_SKIPS+=( - -x test_urllib2 - ) - ;; - sparc*) - COMMON_TEST_SKIPS+=( - # bug 788022 - -x test_multiprocessing_fork - -x test_multiprocessing_forkserver - - -x test_ctypes - -x test_descr - # bug 931908 - -x test_exceptions - ) - ;; - esac - - # 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 - - # Fails in profiling run, passes in src_test(). - -x test_capi - ) - - # Arch-specific skips. See #931888 for a collection of these. - case ${CHOST} in - alpha*) - profile_task_flags+=( - -x test_os - ) - ;; - hppa*) - profile_task_flags+=( - -x test_descr - # bug 931908 - -x test_exceptions - -x test_os - ) - ;; - ia64*) - profile_task_flags+=( - -x test_signal - ) - ;; - powerpc64-*) # big endian - profile_task_flags+=( - # bug 931908 - -x test_exceptions - ) - ;; - riscv*) - profile_task_flags+=( - -x test_statistics - ) - ;; - esac - - if has_version "app-arch/rpm" ; then - # Avoid sandbox failure (attempts to write to /var/lib/rpm) - profile_task_flags+=( - -x test_distutils - ) - fi - local -x PROFILE_TASK="${profile_task_flags[*]}" - 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-computed-gotos - --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 - - $(use_with debug assertions) - $(use_enable gil) - $(use_enable jit experimental-jit) - $(use_enable pgo optimizations) - $(use_with readline readline "$(usex libedit editline readline)") - $(use_with valgrind) - ) - - # https://bugs.gentoo.org/700012 - if tc-is-lto; then - append-cflags $(test-flags-CC -ffat-lto-objects) - 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= - 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= - - 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}" 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 ensurepip; then - rm -r "${libdir}"/ensurepip || die - fi - 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,test/test_tk*} || 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() { - local v - for v in ${REPLACING_VERSIONS}; do - if ver_test "${v}" -lt 3.13.0_beta2; then - ewarn "Python 3.13.0b2 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.13 modules, e.g. using:" - ewarn - ewarn " emerge -1v /usr/lib/python3.13/site-packages" - fi - done -} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_rc1_p1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_rc1_p3.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_rc1_p1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_rc1_p3.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.19_p4.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.19_p4.ebuild new file mode 100644 index 00000000000..2a490a407fa --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.19_p4.ebuild @@ -0,0 +1,432 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +WANT_LIBTOOL="none" + +inherit autotools flag-o-matic multiprocessing pax-utils +inherit prefix python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +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.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE=" + bluetooth build debug +ensurepip examples gdbm +ncurses pgo + +readline +sqlite +ssl 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:= + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-wheels ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( >=sys-libs/readline-4.1:= ) + 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? ( app-arch/xz-utils ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-python ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + rm -r Modules/expat || die + rm -r Modules/_ctypes/libffi* || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # https://bugs.gentoo.org/850151 + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs) + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + rm Lib/distutils/command/wininst*.exe || die + + eautoreconf +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + local disable + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + export PYTHON_DISABLE_MODULES="${disable}" + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + append-flags -fwrapv + 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 + + 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 + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-ffi + --with-system-libmpdec + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_with valgrind) + ) + + # disable implicit optimization/debugging flags + local -x OPT= + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + if tc-is-cross-compiler ; then + # 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 and bug #864911. + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --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. + --without-lto + --disable-optimizations + ) + + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + export PATH="${WORKDIR}/${P}-${CBUILD}:${PATH}" + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. + PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" \ + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Avoid as many dependencies as possible for the cross build. + cat >> Makefile <<-EOF || die + MODULE_NIS=disabled + MODULE__DBM=disabled + MODULE__GDBM=disabled + MODULE__DBM=disabled + MODULE__SQLITE3=disabled + MODULE__HASHLIB=disabled + MODULE__SSL=disabled + MODULE__CURSES=disabled + MODULE__CURSES_PANEL=disabled + MODULE_READLINE=disabled + MODULE__TKINTER=disabled + MODULE_PYEXPAT=disabled + MODULE_ZLIB=disabled + EOF + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the Python it was pointed to + # immediately. + PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" emake + popd &> /dev/null || die + 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 + + hprefixify setup.py + 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 + # Prevent using distutils bundled by setuptools. + # https://bugs.gentoo.org/823728 + export SETUPTOOLS_USE_DISTUTILS=stdlib + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # 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 + + local test_opts=( + -u-network + -j "$(makeopts_jobs)" + + # fails + -x test_concurrent_futures + -x test_gdb + ) + + if use sparc ; then + # bug #788022 + test_opts+=( + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + ) + fi + + # workaround docutils breaking tests + cat > Lib/docutils.py <<-EOF || die + raise ImportError("Thou shalt not import!") + EOF + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + rm Lib/docutils.py || die + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + emake DESTDIR="${D}" altinstall + + # Remove static library + rm "${ED}"/usr/$(get_libdir)/libpython*.a || die + + # 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 ensurepip; then + rm -r "${libdir}"/ensurepip || die + fi + if ! use sqlite; then + rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || 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 + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_rc1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.19_p5.ebuild similarity index 55% rename from sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_rc1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.19_p5.ebuild index ba7b0569874..711e311506f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_rc1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.19_p5.ebuild @@ -2,15 +2,12 @@ # Distributed under the terms of the GNU General Public License v2 EAPI="8" - -LLVM_COMPAT=( 18 ) -LLVM_OPTIONAL=1 WANT_LIBTOOL="none" -inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing -inherit pax-utils python-utils-r1 toolchain-funcs verify-sig +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils +inherit prefix python-utils-r1 toolchain-funcs verify-sig -MY_PV=${PV/_} +MY_PV=${PV/_rc/rc} MY_P="Python-${MY_PV%_p*}" PYVER=$(ver_cut 1-2) PATCHSET="python-gentoo-patches-${MY_PV}" @@ -33,10 +30,9 @@ LICENSE="PSF-2" SLOT="${PYVER}" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE=" - bluetooth build +debug +ensurepip examples gdbm +gil jit - libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind + bluetooth build debug +ensurepip examples gdbm +ncurses pgo + +readline +sqlite +ssl test tk valgrind " -REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" RESTRICT="!test? ( test )" # Do not add a dependency on dev-lang/python to this ebuild. @@ -47,7 +43,6 @@ RESTRICT="!test? ( test )" RDEPEND=" app-arch/bzip2:= app-arch/xz-utils:= - app-crypt/libb2 >=dev-libs/expat-2.1:= dev-libs/libffi:= dev-libs/mpdecimal:= @@ -55,14 +50,11 @@ RDEPEND=" >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl - ensurepip? ( dev-python/ensurepip-pip ) + ensurepip? ( dev-python/ensurepip-wheels ) 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:= ) - ) + readline? ( >=sys-libs/readline-4.1:= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( @@ -76,12 +68,7 @@ RDEPEND=" DEPEND=" ${RDEPEND} bluetooth? ( net-wireless/bluez ) - test? ( - app-arch/xz-utils - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - dev-python/ensurepip-wheel - ) + test? ( app-arch/xz-utils ) valgrind? ( dev-debug/valgrind ) " # autoconf-archive needed to eautoreconf @@ -89,22 +76,11 @@ BDEPEND=" dev-build/autoconf-archive app-alternatives/awk virtual/pkgconfig - jit? ( - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - sys-devel/llvm:${LLVM_SLOT} - ') - ) - verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) + verify-sig? ( sec-keys/openpgp-keys-python ) " RDEPEND+=" !build? ( app-misc/mime-types ) " -if [[ ${PV} != *_alpha* ]]; then - RDEPEND+=" - dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] - " -fi VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc @@ -117,18 +93,9 @@ QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) pkg_pretend() { use test && check-reqs_pkg_pretend - - if ! use gil || use jit; then - ewarn "USE=-gil and USE=jit flags are considered experimental upstream. Using" - ewarn "them 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[gil,-jit]. Instead," - ewarn "please consider reporting freethreading / JIT problems upstream." - fi } pkg_setup() { - use jit && llvm-r1_pkg_setup use test && check-reqs_pkg_setup } @@ -141,8 +108,8 @@ src_unpack() { 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 + rm -r Modules/expat || die + rm -r Modules/_ctypes/libffi* || die local PATCHES=( "${WORKDIR}/${PATCHSET}" @@ -150,85 +117,35 @@ src_prepare() { default + # https://bugs.gentoo.org/850151 + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die + # 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 + local jobs=$(makeopts_jobs) + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || 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 _crypt - 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 + local disable + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + export PYTHON_DISABLE_MODULES="${disable}" + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi append-flags -fwrapv filter-flags -malign-double @@ -242,107 +159,20 @@ src_configure() { dbmliborder+="${dbmliborder:+:}gdbm" fi - # Set baseline test skip flags. - COMMON_TEST_SKIPS=( - # failures - -x test_concurrent_futures - -x test_gdb - # flaky: https://github.com/python/cpython/issues/121973 - -x test_pyrepl - ) - - # 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 - ) - ;; - ia64*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - ) - ;; - mips*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - -x test_statistics - ) - ;; - powerpc64-*) # big endian - COMMON_TEST_SKIPS+=( - -x test_descr - ) - ;; - riscv*) - COMMON_TEST_SKIPS+=( - -x test_urllib2 - ) - ;; - sparc*) - COMMON_TEST_SKIPS+=( - # bug 788022 - -x test_multiprocessing_fork - -x test_multiprocessing_forkserver - - -x test_ctypes - -x test_descr - # bug 931908 - -x test_exceptions - ) - ;; - esac - - # 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_gdb -x test_dtrace + -u-network # 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_concurrent_futures -x test_httpservers -x test_logging -x test_multiprocessing_fork @@ -352,44 +182,8 @@ src_configure() { # Hangs (actually runs indefinitely executing itself w/ many cpython builds) # bug #900429 -x test_tools - - # Fails in profiling run, passes in src_test(). - -x test_capi ) - # Arch-specific skips. See #931888 for a collection of these. - case ${CHOST} in - alpha*) - profile_task_flags+=( - -x test_os - ) - ;; - hppa*) - profile_task_flags+=( - -x test_descr - # bug 931908 - -x test_exceptions - -x test_os - ) - ;; - ia64*) - profile_task_flags+=( - -x test_signal - ) - ;; - powerpc64-*) # big endian - profile_task_flags+=( - # bug 931908 - -x test_exceptions - ) - ;; - riscv*) - profile_task_flags+=( - -x test_statistics - ) - ;; - esac - if has_version "app-arch/rpm" ; then # Avoid sandbox failure (attempts to write to /var/lib/rpm) profile_task_flags+=( @@ -406,7 +200,6 @@ src_configure() { ac_cv_header_stropts_h=no --enable-shared - --without-static-libpython --enable-ipv6 --infodir='${prefix}/share/info' --mandir='${prefix}/share/man' @@ -417,19 +210,18 @@ src_configure() { --without-ensurepip --without-lto --with-system-expat + --with-system-ffi --with-system-libmpdec - --with-platlibdir=lib - --with-pkg-config=yes --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip $(use_with debug assertions) - $(use_enable gil) - $(use_enable jit experimental-jit) $(use_enable pgo optimizations) - $(use_with readline readline "$(usex libedit editline readline)") $(use_with valgrind) ) + # disable implicit optimization/debugging flags + local -x OPT= + # https://bugs.gentoo.org/700012 if tc-is-lto; then append-cflags $(test-flags-CC -ffat-lto-objects) @@ -438,29 +230,70 @@ src_configure() { ) 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 + # 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 and bug #864911. + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --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. + --without-lto + --disable-optimizations ) + + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + export PATH="${WORKDIR}/${P}-${CBUILD}:${PATH}" + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. + PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" \ + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Avoid as many dependencies as possible for the cross build. + cat >> Makefile <<-EOF || die + MODULE_NIS=disabled + MODULE__DBM=disabled + MODULE__GDBM=disabled + MODULE__DBM=disabled + MODULE__SQLITE3=disabled + MODULE__HASHLIB=disabled + MODULE__SSL=disabled + MODULE__CURSES=disabled + MODULE__CURSES_PANEL=disabled + MODULE_READLINE=disabled + MODULE__TKINTER=disabled + MODULE_PYEXPAT=disabled + MODULE_ZLIB=disabled + EOF + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the Python it was pointed to + # immediately. + PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" emake + popd &> /dev/null || die fi # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get @@ -474,6 +307,7 @@ src_configure() { append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw fi + hprefixify setup.py econf "${myeconfargs[@]}" if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then @@ -490,20 +324,21 @@ src_compile() { # Ensure sed works as expected # https://bugs.gentoo.org/594768 local -x LC_ALL=C - export PYTHONSTRICTEXTENSIONBUILD=1 + # Prevent using distutils bundled by setuptools. + # https://bugs.gentoo.org/823728 + export SETUPTOOLS_USE_DISTUTILS=stdlib # 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= + + addpredict "/usr/lib/python${PYVER}/site-packages" fi # also need to clear the flags explicitly here or they end up @@ -528,18 +363,28 @@ src_test() { 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[@]}" + + # fails + -x test_concurrent_futures + -x test_gdb ) + if use sparc ; then + # bug #788022 + test_opts+=( + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + ) + fi + + # workaround docutils breaking tests + cat > Lib/docutils.py <<-EOF || die + raise ImportError("Thou shalt not import!") + EOF + # bug 660358 local -x COLUMNS=80 local -x PYTHONDONTWRITEBYTECODE= @@ -548,14 +393,18 @@ src_test() { CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty local ret=${?} + rm Lib/docutils.py || die + [[ ${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}" altinstall + emake DESTDIR="${D}" altinstall + + # Remove static library + rm "${ED}"/usr/$(get_libdir)/libpython*.a || die # Fix collisions between different slots of Python. rm "${ED}/usr/$(get_libdir)/libpython3.so" || die @@ -585,7 +434,7 @@ src_install() { rm -r "${libdir}"/ensurepip || die fi if ! use sqlite; then - rm -r "${libdir}/"sqlite3 || die + rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die fi if ! use tk; then rm -r "${ED}/usr/bin/idle${PYVER}" || die @@ -633,26 +482,11 @@ src_install() { EOF chmod +x "${scriptdir}/python${pymajor}-config" || die ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die - # pydoc + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die # idle if use tk; then ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die fi } - -pkg_postinst() { - local v - for v in ${REPLACING_VERSIONS}; do - if ver_test "${v}" -lt 3.13.0_beta2; then - ewarn "Python 3.13.0b2 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.13 modules, e.g. using:" - ewarn - ewarn " emerge -1v /usr/lib/python3.13/site-packages" - fi - done -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r5.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r5.ebuild new file mode 100644 index 00000000000..358927ac57c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r5.ebuild @@ -0,0 +1,246 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools edos2unix flag-o-matic multilib multilib-minimal pam db-use systemd toolchain-funcs tmpfiles + +SASLAUTHD_CONF_VER="2.1.26" +MY_PATCH_VER="${PN}-2.1.28-r4-patches" +DESCRIPTION="The Cyrus SASL (Simple Authentication and Security Layer)" +HOMEPAGE="https://www.cyrusimap.org/sasl/" +#SRC_URI="ftp://ftp.cyrusimap.org/cyrus-sasl/${P}.tar.gz" +SRC_URI="https://github.com/cyrusimap/${PN}/releases/download/${P}/${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~grobian/distfiles/${MY_PATCH_VER}.tar.xz" + +LICENSE="BSD-with-attribution" +SLOT="2" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="authdaemond berkdb gdbm kerberos ldapdb openldap mysql pam postgres sample selinux sqlite srp ssl static-libs urandom" +REQUIRED_USE="ldapdb? ( openldap )" + +# See bug #855890 for sys-libs/db slot +DEPEND="net-mail/mailbase + virtual/libcrypt:= + authdaemond? ( || ( net-mail/courier-imap mail-mta/courier ) ) + berkdb? ( >=sys-libs/db-4.8.30-r1:4.8[${MULTILIB_USEDEP}] ) + gdbm? ( >=sys-libs/gdbm-1.10-r1:=[${MULTILIB_USEDEP}] ) + kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] ) + openldap? ( >=net-nds/openldap-2.4.38-r1:=[${MULTILIB_USEDEP}] ) + mysql? ( dev-db/mysql-connector-c:0=[${MULTILIB_USEDEP}] ) + pam? ( >=sys-libs/pam-0-r1[${MULTILIB_USEDEP}] ) + postgres? ( dev-db/postgresql:* ) + sqlite? ( >=dev-db/sqlite-3.8.2:3[${MULTILIB_USEDEP}] ) + ssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )" +RDEPEND="${DEPEND} + selinux? ( sec-policy/selinux-sasl )" +BDEPEND="virtual/libcrypt + berkdb? ( >=sys-libs/db-4.8.30-r1:4.8 ) + gdbm? ( >=sys-libs/gdbm-1.10-r1 )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/sasl/md5global.h +) + +PATCHES=( + "${WORKDIR}"/${MY_PATCH_VER}/ +) + +src_prepare() { + default + + # Use plugindir for sasldir + # https://github.com/cyrusimap/cyrus-sasl/issues/339 (I think) + sed -i '/^sasldir =/s:=.*:= $(plugindir):' \ + "${S}"/plugins/Makefile.{am,in} || die "sed failed" + + # bug #486740 and bug #468556 (dropped AM_CONFIG_HEADER sed in 2.1.28) + sed -i -e 's:AC_CONFIG_MACRO_DIR:AC_CONFIG_MACRO_DIRS:g' configure.ac || die + + eautoreconf +} + +src_configure() { + export CC_FOR_BUILD="$(tc-getBUILD_CC)" + + # -Werror=lto-type-mismatch + # https://bugs.gentoo.org/894684 + # https://github.com/cyrusimap/cyrus-sasl/pull/771 + # + # Fixed upstream in git master but not released. + use srp && filter-lto + + if [[ ${CHOST} == *-solaris* ]] ; then + # getpassphrase is defined in /usr/include/stdlib.h + append-cppflags -DHAVE_GETPASSPHRASE + else + # this horrendously breaks things on Solaris + append-cppflags -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -DLDAP_DEPRECATED + # replaces BSD_SOURCE (bug #579218) + append-cppflags -D_DEFAULT_SOURCE + fi + + multilib-minimal_src_configure + + if ( use berkdb || use gdbm ) && tc-is-cross-compiler ; then + mkdir -p "${WORKDIR}"/${P}-build || die + cd "${WORKDIR}"/${P}-build || die + # We don't care which berkdb version is used as this build is only + # temporary for generating an empty sasldb2 later. + ECONF_SOURCE="${S}" econf_build \ + --with-dblib=$(usex berkdb berkeley gdbm) + fi +} + +multilib_src_configure() { + local myeconfargs=( + --enable-login + --enable-ntlm + --enable-auth-sasldb + --disable-cmulocal + --disable-krb4 + --disable-macos-framework + --enable-otp + --without-sqlite + --with-saslauthd="${EPREFIX}"/run/saslauthd + --with-pwcheck="${EPREFIX}"/run/saslauthd + --with-configdir="${EPREFIX}"/etc/sasl2 + --with-plugindir="${EPREFIX}/usr/$(get_libdir)/sasl2" + --with-dbpath="${EPREFIX}"/etc/sasl2/sasldb2 + --with-sphinx-build=no + $(use_with ssl openssl) + $(use_with pam) + $(use_with openldap ldap) + $(use_enable ldapdb) + $(multilib_native_use_enable sample) + $(use_enable kerberos gssapi) + $(multilib_native_use_with mysql mysql "${EPREFIX}"/usr) + $(multilib_native_use_with postgres pgsql "${EPREFIX}/usr/$(get_libdir)/postgresql") + $(use_with sqlite sqlite3 "${EPREFIX}/usr/$(get_libdir)") + $(use_enable srp) + $(use_enable static-libs static) + + # Add authdaemond support (bug #56523). + $(usex authdaemond --with-authdaemond="${EPREFIX}"/var/lib/courier/authdaemon/socket '') + + # Fix for bug #59634. + $(usex ssl '' --without-des) + + # Use /dev/urandom instead of /dev/random (bug #46038). + $(usex urandom --with-devrandom=/dev/urandom '') + ) + + if use sqlite || { multilib_is_native_abi && { use mysql || use postgres; }; } ; then + myeconfargs+=( --enable-sql ) + else + myeconfargs+=( --disable-sql ) + fi + + # Default to GDBM if both 'gdbm' and 'berkdb' are present. + if use gdbm ; then + einfo "Building with GNU DB as database backend for your SASLdb" + myeconfargs+=( --with-dblib=gdbm ) + elif use berkdb ; then + einfo "Building with BerkeleyDB as database backend for your SASLdb" + myeconfargs+=( + --with-dblib=berkeley + --with-bdb-incdir="$(db_includedir)" + ) + else + einfo "Building without SASLdb support" + myeconfargs+=( --with-dblib=none ) + fi + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +src_compile() { + multilib-minimal_src_compile + + if ( use berkdb || use gdbm ) && tc-is-cross-compiler ; then + emake -C "${WORKDIR}"/${P}-build + fi +} + +multilib_src_install() { + default + + if multilib_is_native_abi; then + if use sample ; then + docinto sample + dodoc "${S}"/sample/*.c + exeinto /usr/share/doc/${P}/sample + doexe sample/client sample/server + fi + + dosbin saslauthd/testsaslauthd + keepdir /etc/sasl2 + + if use berkdb || use gdbm ; then + einfo "Generating an empty sasldb2 ..." + tc-is-cross-compiler && { cd "${WORKDIR}"/${P}-build || die; } + export SASL_PATH=./plugins/.libs + + ./utils/saslpasswd2 -f "${ED}"/etc/sasl2/sasldb2-empty -p login <<< p \ + || die "Failed to generate sasldb2" + + ./utils/saslpasswd2 -f "${ED}"/etc/sasl2/sasldb2-empty -d login \ + || die "Failed to delete temp user" + + fowners root:mail /etc/sasl2/sasldb2-empty + fperms 0640 /etc/sasl2/sasldb2-empty + fi + fi +} + +multilib_src_install_all() { + doman man/* + + # Reset docinto to default value (bug #674296) + docinto + dodoc AUTHORS ChangeLog doc/legacy/TODO + newdoc pwcheck/README README.pwcheck + + newdoc docsrc/sasl/release-notes/$(ver_cut 1-2)/index.rst release-notes + edos2unix "${ED}"/usr/share/doc/${PF}/release-notes + + docinto html + dodoc doc/html/*.html + + if use pam; then + newpamd "${FILESDIR}"/saslauthd.pam-include saslauthd + fi + + newinitd "${FILESDIR}"/pwcheck.rc6 pwcheck + systemd_dounit "${FILESDIR}"/pwcheck.service + + newinitd "${FILESDIR}"/saslauthd2.rc7 saslauthd + newconfd "${FILESDIR}"/saslauthd-${SASLAUTHD_CONF_VER}.conf saslauthd + systemd_dounit "${FILESDIR}"/saslauthd.service + dotmpfiles "${FILESDIR}"/${PN}.conf + + # The get_modname bit is important: do not remove the .la files on + # platforms where the lib isn't called .so for cyrus searches the .la to + # figure out what the name is supposed to be instead + if ! use static-libs && [[ $(get_modname) == .so ]] ; then + find "${ED}" -name "*.la" -delete || die + fi +} + +pkg_postinst() { + tmpfiles_process ${PN}.conf + + if ( use berkdb || use gdbm ) && [[ ! -f ${EROOT}/etc/sasl2/sasldb2 ]] ; then + cp -av "${EROOT}"/etc/sasl2/sasldb2{-empty,} || die + fi + + if use authdaemond ; then + elog "You need to add a user running a service using Courier's" + elog "authdaemon to the 'mail' group. For example, do:" + elog " gpasswd -a postfix mail" + elog "to add the 'postfix' user to the 'mail' group." + fi + + elog "pwcheck and saslauthd home directories have moved to:" + elog " /run/saslauthd, using tmpfiles.d" +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgudev/libgudev-238-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgudev/libgudev-238-r2.ebuild index 7e9eb935f5a..d717ec411e8 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgudev/libgudev-238-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgudev/libgudev-238-r2.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://download.gnome.org/sources/libgudev/${PV}/${P}.tar.xz" LICENSE="LGPL-2.1+" SLOT="0/0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="introspection test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/Manifest index 268f70c1409..c22691f3739 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/Manifest @@ -1,2 +1,3 @@ DIST libtraceevent-1.7.3.tar.gz 152363 BLAKE2B dcbca01f2246045f4f2377f91118e2468bca4344686b9e0349d04270543fea5648d5c227bdaf6e716d623bab8d03cec7a869bf67d03ca6a7836014854bbe40b8 SHA512 81302cb24a3fc71e8bd6a0ba975a2699eaa629ac0e90837bf8fc8e23e04156827d19b25544cdb506b0bf76d5f08699264c9ecb979f9218bdee6b0b0e7339b1e0 DIST libtraceevent-1.8.2.tar.gz 155682 BLAKE2B afadd9f559bdc071b3741ce42b8bf0c320523f2b39c437bcf4180f277eb804c33b2feac447fae15a869164475fb5f019ef171b69be32c46b74e5f22a3ed3808b SHA512 52b7a23e8bf04feaa568199c99c98217fcb8df1b99d46197ef9edcea19b42e71ff9d2e6c45ebf5335ec782d636ad3d14be4acae5a9e5158650f5f62813081fa2 +DIST libtraceevent-1.8.3.tar.gz 156029 BLAKE2B 91df67b7ba2bb76f594b9b6ab457394d3fad8e1db5ec2206e58c821ebf8101c4e1c87adb00aa7c59520d1ac2b0820f43ebe01a062e5c0bb586a4f99078c1b3f4 SHA512 25aebdd3f8bd5f9e0fadf4f03af73effdfe6e40c5667dfbe5011f4bfaf536657dde1c085e7c26d13a9da04fa8ce2d7c27210a5d3ab8aabc7e7a485a46a4456ea diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/libtraceevent-1.7.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/libtraceevent-1.7.3.ebuild index e19e80f863c..d0704b3afcc 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/libtraceevent-1.7.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/libtraceevent-1.7.3.ebuild @@ -6,10 +6,10 @@ EAPI=8 inherit meson DESCRIPTION="Linux kernel trace event library" -HOMEPAGE="https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/" +HOMEPAGE="https://www.trace-cmd.org/" if [[ ${PV} =~ [9]{4,} ]]; then - EGIT_REPO_URI="git://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/" + EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/" inherit git-r3 else SRC_URI="https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/snapshot/${P}.tar.gz" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/libtraceevent-1.8.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/libtraceevent-1.8.2.ebuild index 4fa3852012c..04f59e41b8e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/libtraceevent-1.8.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/libtraceevent-1.8.2.ebuild @@ -6,10 +6,10 @@ EAPI=8 inherit meson DESCRIPTION="Linux kernel trace event library" -HOMEPAGE="https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/" +HOMEPAGE="https://www.trace-cmd.org/" if [[ ${PV} =~ [9]{4,} ]]; then - EGIT_REPO_URI="git://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/" + EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/" inherit git-r3 else SRC_URI="https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/snapshot/${P}.tar.gz" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/libtraceevent-1.8.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/libtraceevent-1.8.3.ebuild new file mode 100644 index 00000000000..04f59e41b8e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/libtraceevent-1.8.3.ebuild @@ -0,0 +1,48 @@ +# Copyright 2019-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit meson + +DESCRIPTION="Linux kernel trace event library" +HOMEPAGE="https://www.trace-cmd.org/" + +if [[ ${PV} =~ [9]{4,} ]]; then + EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/" + inherit git-r3 +else + SRC_URI="https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/snapshot/${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +LICENSE="LGPL-2.1" +SLOT="0" +IUSE="doc test" +RESTRICT="!test? ( test )" + +RDEPEND=" + ! pyproject.toml <<-EOF || die + [build-system] + requires = ["flit_core >=3.2,<4"] + build-backend = "flit_core.buildapi" + + [project] + name = "jaraco.context" + version = "${PV}" + description = "Context managers by jaraco" + EOF +} + +python_install() { + distutils-r1_python_install + # rename to workaround a bug in pkg_resources + # https://bugs.gentoo.org/834522 + mv "${D}$(python_get_sitedir)"/jaraco{_,.}context-${PV}.dist-info || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/jaraco-context-6.0.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/jaraco-context-6.0.1.ebuild new file mode 100644 index 00000000000..bb3bb1f1507 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/jaraco-context-6.0.1.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# please keep this ebuild at EAPI 8 -- sys-apps/portage dep +EAPI=8 + +DISTUTILS_USE_PEP517=flit +PYPI_PN=${PN/-/.} +PYTHON_COMPAT=( python3_{10..13} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Context managers by jaraco" +HOMEPAGE=" + https://github.com/jaraco/jaraco.context/ + https://pypi.org/project/jaraco.context/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + +RDEPEND=" + $(python_gen_cond_dep ' + dev-python/backports-tarfile[${PYTHON_USEDEP}] + ' 3.10 3.11) +" +BDEPEND=" + test? ( + dev-python/portend[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # Internet + jaraco/context/__init__.py::jaraco.context.repo_context +) + +src_configure() { + grep -q 'build-backend = "setuptools' pyproject.toml || + die "Upstream changed build-backend, recheck" + # write a custom pyproject.toml to ease setuptools bootstrap + cat > pyproject.toml <<-EOF || die + [build-system] + requires = ["flit_core >=3.2,<4"] + build-backend = "flit_core.buildapi" + + [project] + name = "jaraco.context" + version = "${PV}" + description = "Context managers by jaraco" + EOF +} + +python_install() { + distutils-r1_python_install + # rename to workaround a bug in pkg_resources + # https://bugs.gentoo.org/834522 + mv "${D}$(python_get_sitedir)"/jaraco{_,.}context-${PV}.dist-info || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/more-itertools/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/more-itertools/Manifest index f6fa4c97d9c..cb9636d0eda 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/more-itertools/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/more-itertools/Manifest @@ -1,2 +1 @@ -DIST more-itertools-10.3.0.tar.gz 118147 BLAKE2B 7205050f4cb3e705e3ad7f477baba0e3976b7b48fae44622014efb56fbae85efc1abfee5f6c3075326b53ffbae2bf1e626a524d2cb9241e033a75525e8b747d4 SHA512 fed7c1b085aafd5c50bbc5304f29a098d4ba96e4b253c2e5ab7fd995e895f5cdf63edada93f039b1a71e0f913c0902d8836f73de270bd1048a5fd8ed4f3d45a4 DIST more-itertools-10.4.0.tar.gz 120755 BLAKE2B 26950158c03c3d05cf5e6983941bf087e7799c90aff2928b20cfa9efc80a890f85a9616e95e363c4151d2233fa49b0dfaa381ab6e27d188573162887226ccdff SHA512 03f1a2390cac259138c96b4bd53712f14b8ee09dc83fe32f237835e7cac59ed22d48f6bc97d1734e06fb0fb44511abf72bf5d30b72e757ab2c62ee0b0f02ffb1 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/more-itertools/more-itertools-10.3.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/more-itertools/more-itertools-10.3.0.ebuild deleted file mode 100644 index 36b8551dc13..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/more-itertools/more-itertools-10.3.0.ebuild +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=flit -PYPI_NO_NORMALIZE=1 -PYTHON_COMPAT=( python3_{10..13} pypy3 ) - -inherit distutils-r1 pypi - -DESCRIPTION="More routines for operating on iterables, beyond itertools" -HOMEPAGE=" - https://github.com/more-itertools/more-itertools/ - https://pypi.org/project/more-itertools/ -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" - -distutils_enable_sphinx docs \ - dev-python/sphinx-rtd-theme -distutils_enable_tests unittest diff --git a/sdk_container/src/third_party/portage-stable/dev-python/more-itertools/more-itertools-10.4.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/more-itertools/more-itertools-10.4.0.ebuild index 2190b92689f..36b8551dc13 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/more-itertools/more-itertools-10.4.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/more-itertools/more-itertools-10.4.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" distutils_enable_sphinx docs \ dev-python/sphinx-rtd-theme diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/Manifest index 75aeb906c12..41cf4603d6d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/Manifest @@ -1,2 +1,3 @@ DIST setuptools-72.1.0.tar.gz 2419487 BLAKE2B df05affc48f8909b6b3b9dc30ef33e31c4b3781e747fea7d23b855d0294976f563e25b268666bfd2c758be66eca00e3e850463ff3d6f26b891185a2a15c8d31c SHA512 d0a34f16dfa6bb9a6df39076cd43528cf854d343f6f801c448ea0ebab2a259aec3d03571e2a26709df6082ed2fcb6c43b86448be556fd559b6af41831b4f38e0 DIST setuptools-72.2.0.tar.gz 2419230 BLAKE2B f04c196d13f62302e7c6f30a1021598fe22955cc8c980ddf22efa65f4d398c25273552b1a19b8719e2fee722dc44e9f1a2e339c5b6da8f4ca4ae8399cd27b2e1 SHA512 029c711be2953cc7fd88b6a0a00715e05ac04414e085e0b2387d58757c970a3316afb6e13426fa10dcc53785b98c8543ba48d49acf223a6332399a39a4924732 +DIST setuptools-73.0.1.tar.gz 2526506 BLAKE2B 766453a7f6f3e34bdc63628b8c0321730c66381cc6048d01fbf9dbf76eb9900cd5cfa6dbd7c55c95ada3e01065d43bf7cd9029793e0735cae989b3cb1b95287c SHA512 5def2d817329524e610c7981fc3a84687ea4d2e0a72799341a706a16ec61df3efc16c4622f8b88746ad4cb52f92f2493c23a99a21cf3607ed48da480dedd200b diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-73.0.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-73.0.1.ebuild new file mode 100644 index 00000000000..99f798f9e34 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-73.0.1.ebuild @@ -0,0 +1,125 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# please keep this ebuild at EAPI 8 -- sys-apps/portage dep +EAPI=8 + +# please bump dev-python/ensurepip-setuptools along with this package! + +DISTUTILS_USE_PEP517=standalone +PYTHON_TESTED=( python3_{10..13} pypy3 ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) +PYTHON_REQ_USE="xml(+)" + +inherit distutils-r1 pypi + +DESCRIPTION="Collection of extensions to Distutils" +HOMEPAGE=" + https://github.com/pypa/setuptools/ + https://pypi.org/project/setuptools/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + !!=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}] + >=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}] + >=dev-python/packaging-24[${PYTHON_USEDEP}] + >=dev-python/platformdirs-2.6.2-r1[${PYTHON_USEDEP}] + >=dev-python/wheel-0.44.0[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}] + ' 3.10) +" +BDEPEND=" + ${RDEPEND} + test? ( + $(python_gen_cond_dep ' + >=dev-python/build-1.0.3[${PYTHON_USEDEP}] + >=dev-python/ini2toml-0.14[${PYTHON_USEDEP}] + >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}] + >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}] + >=dev-python/jaraco-path-3.2.0[${PYTHON_USEDEP}] + dev-python/jaraco-test[${PYTHON_USEDEP}] + dev-python/pip[${PYTHON_USEDEP}] + dev-python/pip-run[${PYTHON_USEDEP}] + dev-python/pyproject-hooks[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + >=dev-python/pytest-home-0.5[${PYTHON_USEDEP}] + dev-python/pytest-subprocess[${PYTHON_USEDEP}] + dev-python/pytest-timeout[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}] + >=dev-python/virtualenv-20[${PYTHON_USEDEP}] + ' "${PYTHON_TESTED[@]}") + ) +" +# setuptools-scm is here because installing plugins apparently breaks stuff at +# runtime, so let's pull it early. See bug #663324. +# +# trove-classifiers are optionally used in validation, if they are +# installed. Since we really oughtn't block them, let's always enforce +# the newest version for the time being to avoid errors. +# https://github.com/pypa/setuptools/issues/4459 +PDEPEND=" + dev-python/setuptools-scm[${PYTHON_USEDEP}] + >=dev-python/trove-classifiers-2024.7.2[${PYTHON_USEDEP}] +" + +src_prepare() { + local PATCHES=( + # TODO: remove this when we're 100% PEP517 mode + "${FILESDIR}/setuptools-62.4.0-py-compile.patch" + ) + + distutils-r1_src_prepare + + # breaks tests + sed -i -e '/--import-mode/d' pytest.ini || die + + # remove bundled dependencies + rm -r */_vendor setuptools/_distutils/_vendor || die + + find -name '*.py' -exec sed \ + -e 's:from [.]_vendor[.]:from :' \ + -i {} + || die +} + +python_test() { + if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then + return + fi + + local EPYTEST_DESELECT=( + # network + setuptools/tests/test_build_meta.py::test_legacy_editable_install + setuptools/tests/test_distutils_adoption.py + setuptools/tests/test_editable_install.py + setuptools/tests/test_virtualenv.py::test_no_missing_dependencies + setuptools/tests/test_virtualenv.py::test_test_command_install_requirements + # TODO + setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic + setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors + # expects bundled deps in virtualenv + setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_in_sdist + setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_not_in_wheel + # fails if python-xlib is installed + setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts + # TODO, probably some random package + setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass + # broken by unbundling + setuptools/tests/test_setuptools.py::test_wheel_includes_vendored_metadata + # fails on normalized metadata, perhaps different dep version? + setuptools/tests/test_build_meta.py::TestBuildMetaBackend::test_build_with_pyproject_config + ) + + local EPYTEST_XDIST=1 + local -x PRE_BUILT_SETUPTOOLS_WHEEL=${DISTUTILS_WHEEL_PATH} + epytest -o tmp_path_retention_policy=all \ + -m "not uses_network" setuptools +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/truststore/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/truststore/Manifest index af44aab4a86..8dab231c48a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/truststore/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/truststore/Manifest @@ -1 +1,2 @@ DIST truststore-0.9.1.gh.tar.gz 26720 BLAKE2B e5bf3905367f75cdfd9314f1c544f004e62c2ddcde97f83bfe5ddc2d7606d44df5fc352811c8c42423be2da46e5f7b9642a2aeebe61436669c4cd9265ddbec96 SHA512 38567198a3b0d4e9c0b3df72674f3e1fef0614ef0afa80bd7276f98c2e7ef2dc00cca92184b80a1dfe535c5d2508ebdb775e389576c2f07536838f67de1958ca +DIST truststore-0.9.2.gh.tar.gz 27256 BLAKE2B 0f03da308697a6bcf8def97b875a962f484418dc6b54d6795a9de5dc68b949f145e6611aa6b4bebcde3f03693bbdfaaa238a9d32b5f9b2d635b4e3075420f239 SHA512 e2d9da3d22a2f06d83dd9c7c9014dd689d8e915c7c8b8b33a3526859d15e9a5d4e86162f51f22b566e844a0c6a5b16fa3ab6907a56ce11c4fcc27444493a5970 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/truststore/truststore-0.9.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/truststore/truststore-0.9.2.ebuild new file mode 100644 index 00000000000..94410355d87 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/truststore/truststore-0.9.2.ebuild @@ -0,0 +1,47 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit +PYTHON_COMPAT=( pypy3 python3_{10..13} ) + +inherit distutils-r1 + +DESCRIPTION="Verify certificates using native system trust stores" +HOMEPAGE=" + https://github.com/sethmlarson/truststore/ + https://pypi.org/project/truststore/ +" +SRC_URI=" + https://github.com/sethmlarson/truststore/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~sparc ~x86" +# The vast majority of tests require Internet access. +PROPERTIES="test_network" +RESTRICT="test" + +BDEPEND=" + test? ( + dev-python/aiohttp[${PYTHON_USEDEP}] + dev-python/flaky[${PYTHON_USEDEP}] + dev-python/httpx[${PYTHON_USEDEP}] + dev-python/pyopenssl[${PYTHON_USEDEP}] + dev-python/pytest-asyncio[${PYTHON_USEDEP}] + dev-python/pytest-httpserver[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/trustme[${PYTHON_USEDEP}] + dev-python/urllib3[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -p asyncio -p pytest_httpserver +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/wheel/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/wheel/Manifest index 28543063e41..a6de1d3543f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/wheel/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/wheel/Manifest @@ -1,2 +1 @@ -DIST wheel-0.43.0.tar.gz 99109 BLAKE2B 49e77ba84fb0a9b3bd177d994b9b33f8e5fa2bb8528fe1216fd55e6d749e201ac9a76ff24c8178485bff94d0f7840d42e0aa8f940fc3fe7d91c41411fa1cd907 SHA512 b6213c05263026884c07bdc4d529252f0be013c3fc6d0558008b7130ba90d4ef11e57f155f62f5e2528ddcd78d188530b2b7c78acc15b8168f64935fe6e6393b DIST wheel-0.44.0.tar.gz 100733 BLAKE2B 6beefa0875be52fb2dff2921cb87063bcafdf2e31c43963676fbae8aef4e68ea21675aa715f94052edc9f5e8dbbd5e2afe3abc17f521eb36b24fa628b0522bbe SHA512 f0a1efbf70e8a2eebdf7564932bdfa3892940a3fbfc00f256f61be03a51ff9cc5a55570d1d3f5878670be84ab233483453ce754ea46c508574fcf4ec61d480c8 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/wheel/wheel-0.43.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/wheel/wheel-0.43.0.ebuild deleted file mode 100644 index a8b3a7d1ade..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/wheel/wheel-0.43.0.ebuild +++ /dev/null @@ -1,40 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# please keep this ebuild at EAPI 8 -- sys-apps/portage dep -EAPI=8 - -DISTUTILS_USE_PEP517=flit -PYTHON_COMPAT=( python3_{10..13} pypy3 ) - -inherit distutils-r1 pypi - -DESCRIPTION="A built-package format for Python" -HOMEPAGE=" - https://github.com/pypa/wheel/ - https://pypi.org/project/wheel/ -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" - -RDEPEND=" - dev-python/packaging[${PYTHON_USEDEP}] -" -BDEPEND=" - test? ( - dev-python/setuptools[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -src_prepare() { - # unbundle packaging - rm -r src/wheel/vendored || die - sed -i -e 's:\.vendored\.::' src/wheel/*.py || die - sed -i -e 's:wheel\.vendored\.::' tests/*.py || die - - distutils-r1_src_prepare -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/wheel/wheel-0.44.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/wheel/wheel-0.44.0.ebuild index 61f54c9d736..705373fb4f7 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/wheel/wheel-0.44.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/wheel/wheel-0.44.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" RDEPEND=" dev-python/packaging[${PYTHON_USEDEP}] diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-7.5.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-7.5.0-r1.ebuild index 95dece1442f..44e89eba098 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-7.5.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-7.5.0-r1.ebuild @@ -27,14 +27,14 @@ S="${S_K}/tools/bpf/bpftool" LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" -IUSE="caps +llvm" +IUSE="caps llvm" RDEPEND=" - sys-libs/binutils-libs:= sys-libs/zlib:= virtual/libelf:= caps? ( sys-libs/libcap:= ) llvm? ( sys-devel/llvm:= ) + !llvm? ( sys-libs/binutils-libs:= ) " DEPEND=" ${RDEPEND} @@ -68,9 +68,9 @@ src_unpack() { eshopts_push -o noglob ebegin "Filtering partial source patch" xzcat "${DISTDIR}"/${LINUX_PATCH} | filterdiff -p1 ${paths[@]/#/-i} > ${P}.patch - test -s ${P}.patch assert -n "Unpacking to ${P} from ${DISTDIR}/${LINUX_PATCH} failed" eend $? || die "filterdiff failed" + test -s ${P}.patch || die "patch is empty?!" eshopts_pop fi diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/metadata.xml index ddb15174a59..a09ffc7b942 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/metadata.xml @@ -11,6 +11,6 @@ Use sys-libs/libcap to enable unprivileged run support - Use sys-devel/llvm + Use sys-devel/llvm instead of libbfd (sys-libs/binutils-libs) for JIT disassembly diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-1.27-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-1.27-r1.ebuild index 97e2e021ecf..cc0ef53be58 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-1.27-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-1.27-r1.ebuild @@ -29,7 +29,7 @@ else fi S="${WORKDIR}"/${MY_P} BDEPEND="verify-sig? ( sec-keys/openpgp-keys-arnaldocarvalhodemelo )" - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" + KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86" fi LICENSE="GPL-2" # only diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.10.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.10.4.ebuild index 4c50de41217..df1101c9dc1 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.10.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.10.4.ebuild @@ -33,7 +33,7 @@ S="${S_K}/tools/perf" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" IUSE="abi_mips_o32 abi_mips_n32 abi_mips_n64 audit babeltrace capstone big-endian bpf caps crypt debug +doc gtk java libpfm +libtraceevent +libtracefs lzma numa perl python slang systemtap tcmalloc unwind zstd" REQUIRED_USE=" @@ -155,9 +155,9 @@ src_unpack() { eshopts_push -o noglob ebegin "Filtering partial source patch" xzcat "${DISTDIR}"/${LINUX_PATCH} | filterdiff -p1 ${paths[@]/#/-i} > ${P}.patch - test -s ${P}.patch assert -n "Unpacking to ${P} from ${DISTDIR}/${LINUX_PATCH} failed" eend $? || die "filterdiff failed" + test -s ${P}.patch || die "patch is empty?!" eshopts_pop fi diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.10.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.10.ebuild index c26fcdac95d..7668df3a67d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.10.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.10.ebuild @@ -33,7 +33,7 @@ S="${S_K}/tools/perf" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" IUSE="abi_mips_o32 abi_mips_n32 abi_mips_n64 audit babeltrace capstone big-endian bpf caps crypt debug +doc gtk java libpfm +libtraceevent +libtracefs lzma numa perl python slang systemtap tcmalloc unwind zstd" REQUIRED_USE=" diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.3.ebuild index 63546a59a6c..9d36b0ce8ca 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.3.ebuild @@ -33,7 +33,7 @@ S="${S_K}/tools/perf" LICENSE="GPL-2" SLOT="0" -KEYWORDS="amd64 arm arm64 ~mips ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux" +KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux" IUSE="audit babeltrace clang crypt debug +doc gtk java libpfm lzma numa perl python slang systemtap unwind zlib zstd" REQUIRED_USE="${PYTHON_REQUIRED_USE}" diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.7.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.7.ebuild index f07ddebfbf7..99074877b2f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.7.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.7.ebuild @@ -33,7 +33,7 @@ S="${S_K}/tools/perf" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux" IUSE="abi_mips_o32 abi_mips_n32 abi_mips_n64 audit babeltrace big-endian bpf caps crypt debug +doc gtk java libpfm +libtraceevent +libtracefs lzma numa perl python slang systemtap tcmalloc unwind zstd" REQUIRED_USE=" diff --git a/sdk_container/src/third_party/portage-stable/eclass/lua-single.eclass b/sdk_container/src/third_party/portage-stable/eclass/lua-single.eclass index 8432df0583b..ad707595515 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/lua-single.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/lua-single.eclass @@ -1,10 +1,9 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: lua-single.eclass # @MAINTAINER: # William Hubbs -# Marek Szuba # @AUTHOR: # Marek Szuba # Based on python-single-r1.eclass by Michał Górny et al. diff --git a/sdk_container/src/third_party/portage-stable/eclass/lua-utils.eclass b/sdk_container/src/third_party/portage-stable/eclass/lua-utils.eclass index 0ff36734dc8..7272f80d037 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/lua-utils.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/lua-utils.eclass @@ -1,10 +1,9 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: lua-utils.eclass # @MAINTAINER: # William Hubbs -# Marek Szuba # @AUTHOR: # Marek Szuba # Based on python-utils-r1.eclass by Michał Górny et al. @@ -144,18 +143,18 @@ _lua_wrapper_setup() { _lua_export "${impl}" ELUA LUA # Lua interpreter - ln -s "${EPREFIX}"/usr/bin/${ELUA} "${workdir}"/bin/lua || die + ln -s "${LUA}" "${workdir}"/bin/lua || die # Lua compiler, or a stub for it in case of luajit if [[ ${ELUA} == luajit ]]; then # Just in case - ln -s "${EPREFIX}"/bin/true "${workdir}"/bin/luac || die + ln -s "${BROOT}"/bin/true "${workdir}"/bin/luac || die else - ln -s "${EPREFIX}"/usr/bin/${ELUA/a/ac} "${workdir}"/bin/luac || die + ln -s "${BROOT}"/usr/bin/${ELUA/a/ac} "${workdir}"/bin/luac || die fi # pkg-config - ln -s "${EPREFIX}"/usr/$(get_libdir)/pkgconfig/${ELUA}.pc \ + ln -s "${ESYSROOT}"/usr/$(get_libdir)/pkgconfig/${ELUA}.pc \ "${workdir}"/pkgconfig/lua.pc || die fi @@ -264,7 +263,7 @@ _lua_export() { debug-print "${FUNCNAME}: ELUA = ${ELUA}" ;; LUA) - export LUA="${EPREFIX}"/usr/bin/${impl} + export LUA="${BROOT}"/usr/bin/${impl} debug-print "${FUNCNAME}: LUA = ${LUA}" ;; LUA_CFLAGS) diff --git a/sdk_container/src/third_party/portage-stable/eclass/selinux-policy-2.eclass b/sdk_container/src/third_party/portage-stable/eclass/selinux-policy-2.eclass index ad760673cab..e7d6cd9a9e5 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/selinux-policy-2.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/selinux-policy-2.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Eclass for installing SELinux policy, and optionally @@ -260,13 +260,9 @@ selinux-policy-2_pkg_postinst() { local COMMAND for i in ${POLICY_TYPES}; do - if [[ "${MODS}" = "unconfined" ]]; then - case ${i} in - strict|mcs|mls) - einfo "Ignoring loading of unconfined module in ${i} module store."; - continue - ;; - esac + if [[ "${i}" == "strict" ]] && [[ "${MODS}" = "unconfined" ]]; then + einfo "Ignoring loading of unconfined module in strict module store."; + continue; fi einfo "Inserting the following modules into the $i module store: ${MODS}" diff --git a/sdk_container/src/third_party/portage-stable/eclass/virtualx.eclass b/sdk_container/src/third_party/portage-stable/eclass/virtualx.eclass index 6e77cd662bd..f7318eafc59 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/virtualx.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/virtualx.eclass @@ -113,6 +113,7 @@ virtx() { export XAUTHORITY= einfo "Starting Xvfb ..." + addpredict /dev/dri/ # Needed for Xvfb w/ >=mesa-24.2.0 debug-print "${FUNCNAME}: Xvfb -displayfd 1 ${xvfbargs[*]}" local logfile=${T}/Xvfb.log diff --git a/sdk_container/src/third_party/portage-stable/licenses/NVIDIA-NVLM b/sdk_container/src/third_party/portage-stable/licenses/NVIDIA-NVLM deleted file mode 100644 index 2c878c87ea7..00000000000 --- a/sdk_container/src/third_party/portage-stable/licenses/NVIDIA-NVLM +++ /dev/null @@ -1,28 +0,0 @@ - * This source code is subject to NVIDIA ownership rights under U.S. and - * international Copyright laws. Users and possessors of this source code - * are hereby granted a nonexclusive, royalty-free license to use this code - * in individual and commercial software. - * - * NVIDIA MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOURCE - * CODE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR - * IMPLIED WARRANTY OF ANY KIND. NVIDIA DISCLAIMS ALL WARRANTIES WITH - * REGARD TO THIS SOURCE CODE, INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE. - * IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, - * OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS - * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE - * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE - * OR PERFORMANCE OF THIS SOURCE CODE. - * - * U.S. Government End Users. This source code is a "commercial item" as - * that term is defined at 48 C.F.R. 2.101 (OCT 1995), consisting of - * "commercial computer software" and "commercial computer software - * documentation" as such terms are used in 48 C.F.R. 12.212 (SEPT 1995) - * and is provided to the U.S. Government only as a commercial end item. - * Consistent with 48 C.F.R.12.212 and 48 C.F.R. 227.7202-1 through - * 227.7202-4 (JUNE 1995), all U.S. Government End Users acquire the - * source code with only those rights set forth herein. - * - * Any use of this source code in individual and commercial software must - * include, in the user documentation and internal comments to the code, - * the above Disclaimer and U.S. Government End Users Notice. diff --git a/sdk_container/src/third_party/portage-stable/licenses/SIP b/sdk_container/src/third_party/portage-stable/licenses/SIP deleted file mode 100644 index 9406c3085a7..00000000000 --- a/sdk_container/src/third_party/portage-stable/licenses/SIP +++ /dev/null @@ -1,49 +0,0 @@ -RIVERBANK COMPUTING LIMITED LICENSE AGREEMENT FOR SIP - -1. This LICENSE AGREEMENT ("the SIP License") is between Riverbank Computing -Limited ("Riverbank"), and the Individual or Organization ("Licensee") -accessing and otherwise using SIP software in source or binary form and its -associated documentation. SIP comprises a software tool for generating Python -bindings for software C and C++ libraries, and a Python extension module used -at runtime by those generated bindings. This License Agreement may also be -applied to other software packages written by Riverbank. - -2. Subject to the terms and conditions of this License Agreement, Riverbank -hereby grants Licensee a nonexclusive, royalty-free, world-wide license to -reproduce, analyze, test, perform and/or display publicly, prepare derivative -works, distribute, and otherwise use SIP alone or in any derivative version, -provided, however, that Riverbank's License Agreement and Riverbank's notice of -copyright, e.g., "Copyright (c) 2015 Riverbank Computing Limited; All Rights -Reserved" are retained in SIP alone or in any derivative version prepared by -Licensee. - -3. In the event Licensee prepares a derivative work that is based on or -incorporates SIP or any part thereof, and wants to make the derivative work -available to others as provided herein, then Licensee hereby agrees to include -in any such work a brief summary of the changes made to SIP. - -4. Licensee may not use SIP to generate Python bindings for any C or C++ -library for which bindings are already provided by Riverbank. - -5. Riverbank is making SIP available to Licensee on an "AS IS" basis. -RIVERBANK MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY -OF EXAMPLE, BUT NOT LIMITATION, RIVERBANK MAKES NO AND DISCLAIMS ANY -REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR -PURPOSE OR THAT THE USE OF SIP WILL NOT INFRINGE ANY THIRD PARTY RIGHTS. - -6. RIVERBANK SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF SIP FOR ANY -INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF MODIFYING, -DISTRIBUTING, OR OTHERWISE USING SIP, OR ANY DERIVATIVE THEREOF, EVEN IF -ADVISED OF THE POSSIBILITY THEREOF. - -7. This License Agreement will automatically terminate upon a material breach -of its terms and conditions. - -8. Nothing in this License Agreement shall be deemed to create any relationship -of agency, partnership, or joint venture between Riverbank and Licensee. This -License Agreement does not grant permission to use Riverbank trademarks or -trade name in a trademark sense to endorse or promote products or services of -Licensee, or any third party. - -9. By copying, installing or otherwise using SIP, Licensee agrees to be bound -by the terms and conditions of this License Agreement. diff --git a/sdk_container/src/third_party/portage-stable/net-dialup/lrzsz/lrzsz-0.12.20-r8.ebuild b/sdk_container/src/third_party/portage-stable/net-dialup/lrzsz/lrzsz-0.12.20-r8.ebuild deleted file mode 100644 index 7b098c0c729..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-dialup/lrzsz/lrzsz-0.12.20-r8.ebuild +++ /dev/null @@ -1,75 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools toolchain-funcs - -DESCRIPTION="Communication package providing the X, Y, and ZMODEM file transfer protocols" -HOMEPAGE="https://www.ohse.de/uwe/software/lrzsz.html" -SRC_URI=" - https://www.ohse.de/uwe/releases/${P}.tar.gz - https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${PN}-m4-${PV}.tar.bz2 -" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" -IUSE="nls" - -DEPEND="nls? ( virtual/libintl )" -BDEPEND="nls? ( sys-devel/gettext )" - -PATCHES=( - "${FILESDIR}"/${PN}-autotools.patch - "${FILESDIR}"/${PN}-implicit-decl.patch - "${FILESDIR}"/${P}-automake-1.12.patch - "${FILESDIR}"/${P}-automake-1.13.patch - "${FILESDIR}"/${P}-gettext-0.20.patch - "${FILESDIR}"/${P}-AR.patch - "${FILESDIR}"/${P}-configure-clang16.patch - "${FILESDIR}"/${P}-gettext-0.22.patch - "${FILESDIR}"/${P}-disable-nls.patch - "${FILESDIR}"/${P}-c99.patch -) - -DOCS=( AUTHORS COMPATABILITY ChangeLog NEWS \ - README{,.cvs,.gettext,.isdn4linux,.tests} THANKS TODO ) - -src_prepare() { - default - - # automake is unhappy if this is missing - >> config.rpath || die - # This is too old. Remove it so automake puts in a newer copy. - rm missing || die - # Autoheader does not like seeing this file. - rm acconfig.h || die - # embed default m4 files in case gettext is not installed - mv "${WORKDIR}"/m4 . || die - - eautoreconf -} - -src_configure() { - tc-export CC - - econf $(use_enable nls) -} - -src_test() { - # Don't use check target. - # See bug #120748 before changing this function. - emake vcheck -} - -src_install() { - default - - local x - for x in {r,s}{b,x,z} ; do - dosym l${x} /usr/bin/${x} - dosym l${x:0:1}z.1 /usr/share/man/man1/${x}.1 - [ "${x:1:1}" = "z" ] || dosym l${x:0:1}z.1 /usr/share/man/man1/l${x}.1 - done -} diff --git a/sdk_container/src/third_party/portage-stable/net-dialup/lrzsz/lrzsz-0.12.20-r9.ebuild b/sdk_container/src/third_party/portage-stable/net-dialup/lrzsz/lrzsz-0.12.20-r9.ebuild index 93f8a934e1c..9e857e1741b 100644 --- a/sdk_container/src/third_party/portage-stable/net-dialup/lrzsz/lrzsz-0.12.20-r9.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-dialup/lrzsz/lrzsz-0.12.20-r9.ebuild @@ -14,7 +14,7 @@ SRC_URI=" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" IUSE="nls" DEPEND="nls? ( virtual/libintl )" diff --git a/sdk_container/src/third_party/portage-stable/net-libs/gnutls/files/gnutls-3.8.7.1-tests.patch b/sdk_container/src/third_party/portage-stable/net-libs/gnutls/files/gnutls-3.8.7.1-tests.patch new file mode 100644 index 00000000000..1e1b3b54f49 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-libs/gnutls/files/gnutls-3.8.7.1-tests.patch @@ -0,0 +1,45 @@ +https://gitlab.com/gnutls/gnutls/-/commit/f3e8eac0586a19f4dafd89f68006a536b826e65a + +From f3e8eac0586a19f4dafd89f68006a536b826e65a Mon Sep 17 00:00:00 2001 +From: Andreas Metzler +Date: Thu, 15 Aug 2024 16:22:02 +0200 +Subject: [PATCH] revert back to datefudge for "openssl ocsp". + +openssl's -attime only changes the verification logic but not the +generation. + +Broken by: d1bc7f644422c4d87edfcd9fafe7f292a1a3a6de + +Signed-off-by: Andreas Metzler +--- a/tests/ocsp-tests/ocsp-must-staple-connection.sh ++++ b/tests/ocsp-tests/ocsp-must-staple-connection.sh +@@ -48,6 +48,8 @@ fi + + . "${srcdir}/scripts/common.sh" + ++skip_if_no_datefudge ++ + eval "${GETPORT}" + # Port for gnutls-serv + TLS_SERVER_PORT=$PORT +@@ -69,7 +71,6 @@ fi + + CERTDATE="2016-04-28 00:00:00" + TESTDATE="2016-04-29 00:00:00" +-EPOCHTESTDATE=1461888000 + EXP_OCSP_DATE="2016-03-27 00:00:00" + + OCSP_PID="" +@@ -129,8 +130,8 @@ cp "${srcdir}/ocsp-tests/certs/ocsp_index.txt.attr" ${ATTRFILE} + # SO_REUSEADDR usage. + PORT=${OCSP_PORT} + launch_bare_server \ +- "${OPENSSL}" ocsp -attime "${EPOCHTESTDATE}" \ +- -index "${INDEXFILE}" -text \ ++ "$FAKETIME" "${TESTDATE}" \ ++ "${OPENSSL}" ocsp -index "${INDEXFILE}" -text \ + -port "${OCSP_PORT}" \ + -rsigner "${srcdir}/ocsp-tests/certs/ocsp-server.pem" \ + -rkey "${srcdir}/ocsp-tests/certs/ocsp-server.key" \ +-- +GitLab diff --git a/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.7.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.7.1-r1.ebuild index 3474e58c498..8dee2bec3d0 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.7.1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.7.1-r1.ebuild @@ -74,6 +74,7 @@ QA_CONFIG_IMPL_DECL_SKIP=( PATCHES=( "${FILESDIR}"/${PN}-3.8.7.1-configure-brotli.patch + "${FILESDIR}"/${PN}-3.8.7.1-tests.patch ) src_prepare() { @@ -89,13 +90,6 @@ src_prepare() { # fails to compile in certain configurations sed -i -e 's/__APPLE__/__NO_APPLE__/' lib/system/certs.c || die - if [[ ${CHOST} == *-solaris* ]] ; then - # should be gone on next release, for gnulib memset_s breakage - append-cppflags -D__STDC_WANT_LIB_EXT1__=1 - # alloca usage, similar - sed -i -e '$a#include ' config.h.in || die - fi - # Use sane .so versioning on FreeBSD. #elibtoolize @@ -155,6 +149,12 @@ multilib_src_configure() { ) ECONF_SOURCE="${S}" econf "${libconf[@]}" "${myeconfargs[@]}" + + if [[ ${CHOST} == *-solaris* ]] ; then + # gnulib ends up defining its own pthread_mutexattr_gettype + # otherwise, which is causing versioning problems + echo "#define PTHREAD_IN_USE_DETECTION_HARD 1" >> config.h || die + fi } multilib_src_install_all() { diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libpsl/Manifest b/sdk_container/src/third_party/portage-stable/net-libs/libpsl/Manifest index 400b330da1d..c7393db2b4e 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/libpsl/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-libs/libpsl/Manifest @@ -1,2 +1 @@ -DIST libpsl-0.21.2.tar.gz 7617025 BLAKE2B b50f805bb467dc3284bc91645a37a2208098ad809d3771c74ef13c3b8f6029a07ad80a56702c7e3d1a1125d272403c85dd97b64a28465b9ff2d095eaf94b9a4d SHA512 f1df72220bf4391d4701007100b0df66c833a2cbcb7481c9d13f0b9e0cad3b66d2d15d4b976e5bad60d2ad1540355112fa1acb07aa925c241d2d7cd20681c71d DIST libpsl-0.21.5.tar.gz 7624251 BLAKE2B a0076f622b85df99f866de6707850ac216b764bdb68c6d516f4603da42dac8eae3ee4c53d68dbb6af6f779c2c7f1b9caab74c8b558209b1f6823f95c13fc3ceb SHA512 c14d575cecc0f1693894dd79565b6b9220084ddfa43b908a1cefe16d147cdd5ec47796eb0c2135e2f829a951abaf39d8a371ab5c1352f57b36e610e25adf91f5 diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libpsl/libpsl-0.21.2.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/libpsl/libpsl-0.21.2.ebuild deleted file mode 100644 index 8dba8ae8ee9..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-libs/libpsl/libpsl-0.21.2.ebuild +++ /dev/null @@ -1,66 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..11} ) -inherit meson-multilib python-any-r1 - -DESCRIPTION="C library for the Public Suffix List" -HOMEPAGE="https://github.com/rockdaboot/libpsl" -SRC_URI="https://github.com/rockdaboot/${PN}/releases/download/${PV}/${P}.tar.gz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" -IUSE="icu +idn test" -RESTRICT="!test? ( test )" - -RDEPEND=" - icu? ( !idn? ( dev-libs/icu:=[${MULTILIB_USEDEP}] ) ) - idn? ( - dev-libs/libunistring:=[${MULTILIB_USEDEP}] - net-dns/libidn2:=[${MULTILIB_USEDEP}] - ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - ${PYTHON_DEPS} - sys-devel/gettext - virtual/pkgconfig -" - -PATCHES=( - "${FILESDIR}"/${P}-tests-optional.patch -) - -pkg_pretend() { - if use icu && use idn ; then - ewarn "\"icu\" and \"idn\" USE flags are enabled. Using \"idn\"." - fi -} - -multilib_src_configure() { - local emesonargs=( - $(meson_use test tests) - ) - - # Prefer idn even if icu is in USE as well - if use idn ; then - emesonargs+=( - -Druntime=libidn2 - -Dbuiltin=true - ) - elif use icu ; then - emesonargs+=( - -Druntime=libicu - -Dbuiltin=true - ) - else - emesonargs+=( - -Druntime=no - ) - fi - - meson_src_configure -} diff --git a/sdk_container/src/third_party/portage-stable/net-misc/chrony/chrony-4.5.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/chrony/chrony-4.5.ebuild index 8eb587f88c6..b3439f8d9be 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/chrony/chrony-4.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/chrony/chrony-4.5.ebuild @@ -19,7 +19,7 @@ else SRC_URI+=" verify-sig? ( https://chrony-project.org/releases/${P/_/-}-tar-gz-asc.txt -> ${P/_/-}.tar.gz.asc )" if [[ ${PV} != *_pre* ]] ; then - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv sparc x86" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv sparc x86" fi fi diff --git a/sdk_container/src/third_party/portage-stable/net-misc/chrony/chrony-9999.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/chrony/chrony-9999.ebuild index 75c467aacec..eed7ae6b026 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/chrony/chrony-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/chrony/chrony-9999.ebuild @@ -19,7 +19,7 @@ else SRC_URI+=" verify-sig? ( https://chrony-project.org/releases/${P/_/-}-tar-gz-asc.txt -> ${P/_/-}.tar.gz.asc )" if [[ ${PV} != *_pre* ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~sparc ~x86" fi fi diff --git a/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2024.03.26.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2024.03.26.ebuild index 90df839f93d..91d818f5b4a 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2024.03.26.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2024.03.26.ebuild @@ -12,7 +12,7 @@ RELEASE_COMMIT="4988e2b" if [[ ${PV} == 9999* ]]; then inherit git-r3 - EGIT_REPO_URI="git://passt.top/passt" + EGIT_REPO_URI="https://passt.top/passt" else SRC_URI="https://passt.top/passt/snapshot/passt-${RELEASE_COMMIT}.tar.xz -> ${P}.tar.xz" S="${WORKDIR}/${PN}-${RELEASE_COMMIT}" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2024.04.05.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2024.04.05.ebuild index e4201215e52..be03e08a6fa 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2024.04.05.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2024.04.05.ebuild @@ -12,7 +12,7 @@ RELEASE_COMMIT="954589b" if [[ ${PV} == 9999* ]]; then inherit git-r3 - EGIT_REPO_URI="git://passt.top/passt" + EGIT_REPO_URI="https://passt.top/passt" else SRC_URI="https://passt.top/passt/snapshot/passt-${RELEASE_COMMIT}.tar.xz -> ${P}.tar.xz" S="${WORKDIR}/${PN}-${RELEASE_COMMIT}" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2024.04.26.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2024.04.26.ebuild index c73a0f7c146..cf83c50f72e 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2024.04.26.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2024.04.26.ebuild @@ -12,7 +12,7 @@ RELEASE_COMMIT="d03c4e2" if [[ ${PV} == 9999* ]]; then inherit git-r3 - EGIT_REPO_URI="git://passt.top/passt" + EGIT_REPO_URI="https://passt.top/passt" else SRC_URI="https://passt.top/passt/snapshot/passt-${RELEASE_COMMIT}.tar.xz -> ${P}.tar.xz" S="${WORKDIR}/${PN}-${RELEASE_COMMIT}" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2024.05.10.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2024.05.10.ebuild index ce44d6abe4e..022bbfc62aa 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2024.05.10.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2024.05.10.ebuild @@ -12,7 +12,7 @@ RELEASE_COMMIT="7288448" if [[ ${PV} == 9999* ]]; then inherit git-r3 - EGIT_REPO_URI="git://passt.top/passt" + EGIT_REPO_URI="https://passt.top/passt" else SRC_URI="https://passt.top/passt/snapshot/passt-${RELEASE_COMMIT}.tar.xz -> ${P}.tar.xz" S="${WORKDIR}/${PN}-${RELEASE_COMMIT}" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2024.06.07.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2024.06.07.ebuild index 65a98bc9f51..37ba4d13c25 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2024.06.07.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2024.06.07.ebuild @@ -12,11 +12,11 @@ RELEASE_COMMIT="8a83b53" if [[ ${PV} == 9999* ]]; then inherit git-r3 - EGIT_REPO_URI="git://passt.top/passt" + EGIT_REPO_URI="https://passt.top/passt" else SRC_URI="https://passt.top/passt/snapshot/passt-${RELEASE_COMMIT}.tar.xz -> ${P}.tar.xz" S="${WORKDIR}/${PN}-${RELEASE_COMMIT}" - KEYWORDS="~amd64 ~arm64 ~riscv" + KEYWORDS="~amd64 ~arm64 ~loong ~riscv" fi LICENSE="BSD GPL-2+" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-9999.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-9999.ebuild index 65a98bc9f51..37ba4d13c25 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-9999.ebuild @@ -12,11 +12,11 @@ RELEASE_COMMIT="8a83b53" if [[ ${PV} == 9999* ]]; then inherit git-r3 - EGIT_REPO_URI="git://passt.top/passt" + EGIT_REPO_URI="https://passt.top/passt" else SRC_URI="https://passt.top/passt/snapshot/passt-${RELEASE_COMMIT}.tar.xz -> ${P}.tar.xz" S="${WORKDIR}/${PN}-${RELEASE_COMMIT}" - KEYWORDS="~amd64 ~arm64 ~riscv" + KEYWORDS="~amd64 ~arm64 ~loong ~riscv" fi LICENSE="BSD GPL-2+" diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/Manifest b/sdk_container/src/third_party/portage-stable/net-nds/openldap/Manifest index 987dc7f896b..b8161c1bb97 100644 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-nds/openldap/Manifest @@ -1,8 +1,8 @@ DIST openldap-2.4.59.tgz 5886272 BLAKE2B a2a8bed1d2af97fd41d651668152fd4740871bc5a8abf4b50390839228af82ac103346b3500ae0f8dd31b708acabb30435b90cd48dfafe510e648df5150d96b8 SHA512 233459ab446da6e107a7fc4ecd5668d6b08c11a11359ee76449550393e8f586a29b59d7ae09a050a1fca4fcf388ea61438ef60831b3ae802d92c048365ae3968 DIST openldap-OPENLDAP_REL_ENG_2_5_14.tar.bz2 5024359 BLAKE2B ffdffbd47e76545c2dc2d433d290945ab6eebd910031a60249cd8f6eac24f67841098e61c7e57864428e20a183a46d36dac422bba8cf6f3596f97439875af96b SHA512 abd1e8bda0762500db028f283fe2da9480a419072927295d6f3e1448cae130592511f385a87585843cf88217417c90ef57174ca919cfcf163eb41642a72bb4e3 DIST openldap-OPENLDAP_REL_ENG_2_5_16.tar.bz2 5022608 BLAKE2B 829e416e3cf92d36df0d6642e44083f9b288ef9c3743a84aef3f03cdf7b08b21ea45231653a2659fe0da285ca47a346d336d02c8e0dda21f039fb9e49630262b SHA512 629b92e275b69a540b200e61165492a4706afdf7b15d21bfe2f1fd4c338ecf397ad0c918e36dcef54d1f0cede2f039a8f73d4735f00e892d64ce9a177d490a07 -DIST openldap-OPENLDAP_REL_ENG_2_6_3.tar.gz 6244895 BLAKE2B 97792a1b368de44867b0ce9eef38601c3e64b7d40e4ca206295bee110097697c919040d2220eea6f0581812e09a2cc3e6afb4a243a5072a8a0a95f24f9fb354b SHA512 1c882a0cd0729b5d0f40b58588d0e36ae3b1cae6d569f0576e940c7c63d03c29ed2c9db87695a87594ba99a927ef4cba491bddba3ce049025fd5883463122ba7 +DIST openldap-OPENLDAP_REL_ENG_2_5_18.tar.bz2 5026131 BLAKE2B 0f1a00995bd880b3ee42c4de2c3a405ebb7969de253f4b3866eb46c1856b61539ed7e1133a1b11636efc1da1ed5fc6cae53da60b22ab31486518000d34ff6324 SHA512 77a84950c905d2a4bd25f93108eb79f1416689176531246f12b4c3f6e8e3fe689504cd3f9875142e9bf665306a622ac8fe7e6b39aa4be67099f0965a16634526 DIST openldap-OPENLDAP_REL_ENG_2_6_4.tar.bz2 5043227 BLAKE2B 9bec77dbace0e52d1607d9ac13a77349e7d0b8876aa81fa635893638d00db58ec6bf8412f11fd266bba0440887be1aa21eb4a876122152f7f6de9fd8f75b6b4c SHA512 bff11bf1ae125bcabbd307f6c4e1c102a8df6f1091f84f5e7053fdbaa89ccd6aa0c86cc8dcce4fb9b6ffd853b5f8d3c933733f5713aeb4d6a9d77ab145293b48 -DIST openldap-OPENLDAP_REL_ENG_2_6_5.tar.bz2 5040569 BLAKE2B d1835e560a81bc3df2eb44964162306057ad28869a1e41da7ab823460b4a33437cd385ec9448a6df9bc580afd04dff5c4680e0b91a2f16960ad2c5f3812410ba SHA512 d259ca5ac8fbdcf9bb477e24c0feaf05678ab660007164a54463a954f1b26c3f9740855d16155fa249adcb2652223fdcfc682bb4005b46a5f36e2d5cae37f158 DIST openldap-OPENLDAP_REL_ENG_2_6_6.tar.bz2 5040213 BLAKE2B 2497b6698344674a9e8db5f2f2531541167065bb8ac9f512ecdb9349115140d5e83daef9b489e244eee08445de57599ddcfeeed71d4aab41edc58a3092910925 SHA512 3c235ff7b26f753afeb0176e95ecbf6a353bf76f00935c091323366bf97289f628d4d7b4ae3e2a31fe0797715d6c69e6704967dc79ccbae7add3023e226ad73b +DIST openldap-OPENLDAP_REL_ENG_2_6_8.tar.bz2 5065637 BLAKE2B d55345c11bd8892a594c3f7114cd1368e017c2e29997da7a80bdd915308d498f62dfb5cc3a3360b50df78ef5f90a48a566a8ce3ace85ebf9aa6b288a37c4eff2 SHA512 556d1377afc73a84ee325c4d7bcc8446def936b67d3f07df4bd2a243ff30f268c5c0c298977482df1e1a86b2b7a0cd7846fc1f51d706748d39f67f5d621ccc04 DIST rfc2307bis.schema-20140524 12262 BLAKE2B 98031f49e9bde1e4821e637af3382364d8344ed7017649686a088070d96a632dffa6c661552352656b1b159c0fd962965580069a64c7f3d5bb6a3ed75f60fd99 SHA512 83b89a1deeefc8566b97e7e865b9b6d04541099cbdf719e24538a7d27d61b6209e87ab9003a9f140bd9afd018ec569e71721e3a24090e1902c8b6659d2ba103e diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.59-atexit-fix.patch b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.59-atexit-fix.patch new file mode 100644 index 00000000000..4ffee325275 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.59-atexit-fix.patch @@ -0,0 +1,60 @@ +Port upstream commit 337455eb3a66176cc3f66d2c663a72cc7b4178bd to 2.4.59. + +With 2.4.x, gentoo-infra saw crashes in nsscache during exit. +This patch was later reverted upstream because it was not portable to AIX And +was fixed in a different way in 2.5 & 2.6 releases. + +original https://github.com/openldap/openldap/commit/337455eb3a66176cc3f66d2c663a72cc7b4178bd +revert: https://github.com/openldap/openldap/commit/5e13ef87a94491f9339dbca709db29e76741f1a9 +AIX discussion: https://bugs.openldap.org/show_bug.cgi?id=10176 +diff '--color=auto' -NuarwbB --exclude '*.rej' --exclude '*.orig' openldap-2.4.59.orig/libraries/libldap/init.c openldap-2.4.59/libraries/libldap/init.c +--- openldap-2.4.59.orig/libraries/libldap/init.c 2021-06-03 11:40:31.000000000 -0700 ++++ openldap-2.4.59/libraries/libldap/init.c 2024-08-24 11:15:06.727326650 -0700 +@@ -508,9 +508,6 @@ + gopts->ldo_def_sasl_authcid = NULL; + } + #endif +-#ifdef HAVE_TLS +- ldap_int_tls_destroy( gopts ); +-#endif + } + + /* +diff '--color=auto' -NuarwbB --exclude '*.rej' --exclude '*.orig' openldap-2.4.59.orig/libraries/libldap/tls2.c openldap-2.4.59/libraries/libldap/tls2.c +--- openldap-2.4.59.orig/libraries/libldap/tls2.c 2024-08-24 11:14:46.910678897 -0700 ++++ openldap-2.4.59/libraries/libldap/tls2.c 2024-08-24 11:15:38.103963402 -0700 +@@ -155,6 +155,14 @@ + tls_imp->ti_tls_destroy(); + } + ++static void ++ldap_exit_tls_destroy( void ) ++{ ++ struct ldapoptions *lo = LDAP_INT_GLOBAL_OPT(); ++ ++ ldap_int_tls_destroy( lo ); ++} ++ + /* + * Initialize a particular TLS implementation. + * Called once per implementation. +@@ -163,6 +171,7 @@ + tls_init(tls_impl *impl ) + { + static int tls_initialized = 0; ++ int rc; + + if ( !tls_initialized++ ) { + #ifdef LDAP_R_COMPILE +@@ -175,7 +184,10 @@ + #ifdef LDAP_R_COMPILE + impl->ti_thr_init(); + #endif +- return impl->ti_tls_init(); ++ rc = impl->ti_tls_init(); ++ ++ atexit( ldap_exit_tls_destroy ); ++ return rc; + } + + /* diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.59-implicit-function.patch b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.59-implicit-function.patch new file mode 100644 index 00000000000..ec7775c99df --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.59-implicit-function.patch @@ -0,0 +1,41 @@ +--- openldap-2.4.59/servers/slapd/back-meta/conn.c 2021-06-03 11:40:31.000000000 -0700 ++++ openldap-2.4.59/servers/slapd/back-meta/conn.c 2024-08-24 14:22:31.677357359 -0700 +@@ -31,6 +31,7 @@ + + #define AVL_INTERNAL + #include "slap.h" ++#include "proto-slap.h" + #include "../back-ldap/back-ldap.h" + #include "back-meta.h" + +--- openldap-2.4.59/servers/slapd/back-ldap/bind.c 2021-06-03 11:40:31.000000000 -0700 ++++ openldap-2.4.59/servers/slapd/back-ldap/bind.c 2024-08-24 14:22:13.340701355 -0700 +@@ -31,6 +31,7 @@ + + #define AVL_INTERNAL + #include "slap.h" ++#include "proto-slap.h" + #include "back-ldap.h" + #include "lutil.h" + #include "lutil_ldap.h" +--- openldap-2.4.59/servers/slapd/config.c 2021-06-03 11:40:31.000000000 -0700 ++++ openldap-2.4.59/servers/slapd/config.c 2024-08-24 14:22:13.414034645 -0700 +@@ -43,6 +43,7 @@ + #endif + + #include "slap.h" ++#include "proto-slap.h" + #ifdef LDAP_SLAPI + #include "slapi/slapi.h" + #endif +diff '--color=auto' -NuarwbB openldap-2.4.59.orig/servers/slapd/proto-slap.h openldap-2.4.59/servers/slapd/proto-slap.h +--- openldap-2.4.59.orig/servers/slapd/proto-slap.h 2024-08-24 14:31:02.304109181 -0700 ++++ openldap-2.4.59/servers/slapd/proto-slap.h 2024-08-24 14:31:18.004121208 -0700 +@@ -739,6 +739,7 @@ + LDAP_SLAPD_F (int) bindconf_tls_set LDAP_P(( + slap_bindconf *bc, LDAP *ld )); + LDAP_SLAPD_F (void) bindconf_free LDAP_P(( slap_bindconf *bc )); ++LDAP_SLAPD_F (void) slap_client_keepalive LDAP_P(( LDAP *ld, slap_keepalive *sk )); + LDAP_SLAPD_F (int) slap_client_connect LDAP_P(( LDAP **ldp, slap_bindconf *sb )); + LDAP_SLAPD_F (int) config_generic_wrapper LDAP_P(( Backend *be, + const char *fname, int lineno, int argc, char **argv )); diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.6.1-fix-bashism-configure.patch b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.6.1-fix-bashism-configure.patch deleted file mode 100644 index c2acb679e3b..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.6.1-fix-bashism-configure.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/configure.ac -+++ b/configure.ac -@@ -2055,7 +2055,7 @@ dnl - WITH_SYSTEMD=no - systemdsystemunitdir= - ol_link_systemd=no --if test $ol_enable_slapd == no && test $ol_enable_balancer != yes ; then -+if test $ol_enable_slapd = no && test $ol_enable_balancer != yes ; then - if test $ol_with_systemd != no ; then - AC_MSG_WARN([servers disabled, ignoring --with-systemd=$ol_with_systemd argument]) - ol_with_systemd=no diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.6.x-gnutls-pointer-error.patch b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.6.x-gnutls-pointer-error.patch new file mode 100644 index 00000000000..e6ab4e5a46c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.6.x-gnutls-pointer-error.patch @@ -0,0 +1,40 @@ +From 634017950c1c920d0de63fffa5c52e621de1d603 Mon Sep 17 00:00:00 2001 +From: Wang Mingyu +Date: Wed, 26 Jun 2024 07:41:01 +0000 +Subject: Fix incompatible pointer type error with gcc option + -Wincompatible-pointer-types + +lib32-openldap do_compile failure with gcc-14: +| tls_g.c:971:57: error: passing argument 4 of 'gnutls_fingerprint' from incompatible pointer type [-Wincompatible-pointer-types] +| 971 | keyhash.bv_val, &keyhash.bv_len ) < 0 ) { +| | ^~~~~~~~~~~~~~~ +| | | +| | ber_len_t * {aka long unsigned int *} +| In file included from tls_g.c:44: +| /usr/include/gnutls/gnutls.h:2406:32: note: expected 'size_t *' {aka 'unsigned int *'} but argument is of type 'ber_len_t *' {aka 'long unsigned int *'} +| 2406 | size_t *result_size); +| | ^~~ + +Upstream-Status: Submitted + +Signed-off-by: Wang Mingyu +--- + libraries/libldap/tls_g.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libraries/libldap/tls_g.c b/libraries/libldap/tls_g.c +index 7c23875..b4b487d 100644 +--- a/libraries/libldap/tls_g.c ++++ b/libraries/libldap/tls_g.c +@@ -968,7 +968,7 @@ tlsg_session_pinning( LDAP *ld, tls_session *sess, char *hashalg, struct berval + keyhash.bv_len = gnutls_hash_get_len( alg ); + keyhash.bv_val = LDAP_MALLOC( keyhash.bv_len ); + if ( !keyhash.bv_val || gnutls_fingerprint( alg, &key, +- keyhash.bv_val, &keyhash.bv_len ) < 0 ) { ++ keyhash.bv_val, (size_t *)&keyhash.bv_len ) < 0 ) { + goto done; + } + } else { +-- +2.34.1 + diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.6.x-slapd-pointer-types.patch b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.6.x-slapd-pointer-types.patch new file mode 100644 index 00000000000..9f79048645d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.6.x-slapd-pointer-types.patch @@ -0,0 +1,71 @@ +# https://git.openldap.org/openldap/openldap/-/commit/fb9e6a81bbee880549e7ec18f0a74ddddbd2d1ab.patch +From fb9e6a81bbee880549e7ec18f0a74ddddbd2d1ab Mon Sep 17 00:00:00 2001 +From: Stephen Gallagher +Date: Tue, 6 Feb 2024 21:38:24 -0500 +Subject: [PATCH] ITS#10171 - Explicitly cast private values + +Fixes issues with -Werror=incompatible-pointer-types + +Signed-off-by: Stephen Gallagher +--- + servers/slapd/config.c | 2 +- + servers/slapd/overlays/constraint.c | 2 +- + servers/slapd/overlays/dyngroup.c | 2 +- + servers/slapd/overlays/valsort.c | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/servers/slapd/config.c b/servers/slapd/config.c +index 80333f359c..987c862d91 100644 +--- a/servers/slapd/config.c ++++ b/servers/slapd/config.c +@@ -151,7 +151,7 @@ int config_check_vals(ConfigTable *Conf, ConfigArgs *c, int check_only ) { + int rc, arg_user, arg_type, arg_syn, iarg; + unsigned uiarg; + long larg; +- size_t ularg; ++ unsigned long ularg; + ber_len_t barg; + + if(Conf->arg_type == ARG_IGNORED) { +diff --git a/servers/slapd/overlays/constraint.c b/servers/slapd/overlays/constraint.c +index f939b37762..0d6156af4d 100644 +--- a/servers/slapd/overlays/constraint.c ++++ b/servers/slapd/overlays/constraint.c +@@ -557,7 +557,7 @@ done:; + a2->restrict_filter = ap.restrict_filter; + a2->restrict_val = ap.restrict_val; + +- for ( app = &on->on_bi.bi_private; *app; app = &(*app)->ap_next ) ++ for ( app = (constraint **)&on->on_bi.bi_private; *app; app = &(*app)->ap_next ) + /* Get to the end */ ; + + a2->ap_next = *app; +diff --git a/servers/slapd/overlays/dyngroup.c b/servers/slapd/overlays/dyngroup.c +index 5d890d6650..e0e70af2d9 100644 +--- a/servers/slapd/overlays/dyngroup.c ++++ b/servers/slapd/overlays/dyngroup.c +@@ -111,7 +111,7 @@ static int dgroup_cf( ConfigArgs *c ) + */ + a2 = ch_malloc( sizeof(adpair) ); + +- for ( app = &on->on_bi.bi_private; *app; app = &(*app)->ap_next ) ++ for ( app = (adpair **)&on->on_bi.bi_private; *app; app = &(*app)->ap_next ) + /* Get to the end */ ; + + a2->ap_mem = ap.ap_mem; +diff --git a/servers/slapd/overlays/valsort.c b/servers/slapd/overlays/valsort.c +index 3d998e2fcb..e251500d0b 100644 +--- a/servers/slapd/overlays/valsort.c ++++ b/servers/slapd/overlays/valsort.c +@@ -201,7 +201,7 @@ valsort_cf_func(ConfigArgs *c) { + return(1); + } + +- for ( vip = &on->on_bi.bi_private; *vip; vip = &(*vip)->vi_next ) ++ for ( vip = (valsort_info **)&on->on_bi.bi_private; *vip; vip = &(*vip)->vi_next ) + /* Get to the end */ ; + + vi = ch_malloc( sizeof(valsort_info) ); +-- +GitLab + diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.4.59-r2.ebuild b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.4.59-r2.ebuild index c40329c153e..4806ec8b4eb 100644 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.4.59-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.4.59-r2.ebuild @@ -693,7 +693,8 @@ multilib_src_compile() { build_contrib_module "allowed" "allowed.c" "allowed" build_contrib_module "autogroup" "autogroup.c" "autogroup" build_contrib_module "cloak" "cloak.c" "cloak" - # build_contrib_module "comp_match" "comp_match.c" "comp_match" # really complex, adds new external deps, questionable demand + # build_contrib_module "comp_match" "comp_match.c" "comp_match" + # comp_match: really complex, adds new external deps, questionable demand build_contrib_module "denyop" "denyop.c" "denyop-overlay" build_contrib_module "dsaschema" "dsaschema.c" "dsaschema-plugin" build_contrib_module "dupent" "dupent.c" "dupent" @@ -757,7 +758,8 @@ multilib_src_install() { einfo "Adding $(basename ${x})" sed -e "/###INSERTDYNAMICMODULESHERE###$/a# moduleload\t$(basename ${x})" -i "${configfile}" || die done - sed -e "s:###INSERTDYNAMICMODULESHERE###$:# modulepath\t${EPREFIX}/usr/$(get_libdir)/openldap/openldap:" -i "${configfile}" + sed -e "s:###INSERTDYNAMICMODULESHERE###$:# modulepath\t${EPREFIX}/usr/$(get_libdir)/openldap/openldap:" \ + -i "${configfile}" use prefix || fowners root:ldap /etc/openldap/slapd.conf fperms 0640 /etc/openldap/slapd.conf cp "${configfile}" "${configfile}".default || die diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.4-r2.ebuild b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.4.59-r3.ebuild similarity index 59% rename from sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.4-r2.ebuild rename to sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.4.59-r3.ebuild index 4ff4b2c3d6d..367fb900d9b 100644 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.4-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.4.59-r3.ebuild @@ -1,51 +1,56 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=8 +EAPI=7 # Re cleanups: # 2.5.x is an LTS release so we want to keep it for a while. -inherit autotools flag-o-matic multibuild multilib multilib-minimal preserve-libs -inherit ssl-cert toolchain-funcs systemd tmpfiles - -MY_PV="$(ver_rs 1-2 _)" +inherit autotools db-use flag-o-matic multilib multilib-minimal preserve-libs ssl-cert toolchain-funcs systemd tmpfiles BIS_PN=rfc2307bis.schema BIS_PV=20140524 BIS_P="${BIS_PN}-${BIS_PV}" DESCRIPTION="LDAP suite of application and development tools" -HOMEPAGE="https://www.openldap.org/" +HOMEPAGE="https://www.OpenLDAP.org/" + +# upstream mirrors are mostly not working, using canonical URI SRC_URI=" - https://gitlab.com/openldap/${PN}/-/archive/OPENLDAP_REL_ENG_${MY_PV}/${PN}-OPENLDAP_REL_ENG_${MY_PV}.tar.bz2 - mirror://gentoo/${BIS_P} -" -S="${WORKDIR}"/${PN}-OPENLDAP_REL_ENG_${MY_PV} + https://openldap.org/software/download/OpenLDAP/openldap-release/${P}.tgz + http://gpl.savoirfairelinux.net/pub/mirrors/openldap/openldap-release/${P}.tgz + http://repository.linagora.org/OpenLDAP/openldap-release/${P}.tgz + http://mirror.eu.oneandone.net/software/openldap/openldap-release/${P}.tgz + mirror://gentoo/${BIS_P}" LICENSE="OPENLDAP GPL-2" -# Subslot added for bug #835654 -SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" - -IUSE_DAEMON="argon2 +cleartext crypt experimental minimal samba tcpd" -IUSE_OVERLAY="overlays perl autoca" -IUSE_OPTIONAL="debug gnutls iodbc odbc sasl ssl selinux static-libs +syslog test" -IUSE_CONTRIB="kerberos kinit pbkdf2 sha2 smbkrb5passwd" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" + +IUSE_DAEMON="crypt samba tcpd experimental minimal" +IUSE_BACKEND="+berkdb" +IUSE_OVERLAY="overlays perl" +IUSE_OPTIONAL="gnutls iodbc sasl ssl odbc debug ipv6 +syslog selinux static-libs test" +IUSE_CONTRIB="smbkrb5passwd kerberos kinit pbkdf2 sha2" IUSE_CONTRIB="${IUSE_CONTRIB} cxx" -IUSE="systemd ${IUSE_DAEMON} ${IUSE_BACKEND} ${IUSE_OVERLAY} ${IUSE_OPTIONAL} ${IUSE_CONTRIB}" +IUSE="${IUSE_DAEMON} ${IUSE_BACKEND} ${IUSE_OVERLAY} ${IUSE_OPTIONAL} ${IUSE_CONTRIB}" REQUIRED_USE="cxx? ( sasl ) pbkdf2? ( ssl ) - test? ( cleartext sasl ) - autoca? ( !gnutls ) + test? ( berkdb ) ?? ( test minimal ) kerberos? ( ?? ( kinit smbkrb5passwd ) )" RESTRICT="!test? ( test )" -SYSTEM_LMDB_VER=0.9.30 +# always list newer first +# Do not add any AGPL-3 BDB here! +# See bug 525110, comment 15. +# Advanced usage: OPENLDAP_BDB_SLOTS in the environment can be used to force a slot during build. +BDB_SLOTS="${OPENLDAP_BDB_SLOTS:=5.3 4.8}" +BDB_PKGS='' +for _slot in $BDB_SLOTS; do BDB_PKGS="${BDB_PKGS} sys-libs/db:${_slot}" ; done + # openssl is needed to generate lanman-passwords required by samba COMMON_DEPEND=" - kernel_linux? ( sys-apps/util-linux ) ssl? ( !gnutls? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] @@ -57,11 +62,9 @@ COMMON_DEPEND=" ) sasl? ( dev-libs/cyrus-sasl:= ) !minimal? ( - dev-libs/libevent:= dev-libs/libltdl sys-fs/e2fsprogs - >=dev-db/lmdb-${SYSTEM_LMDB_VER}:= - argon2? ( app-crypt/argon2:= ) + >=dev-db/lmdb-0.9.18:= crypt? ( virtual/libcrypt:= ) tcpd? ( sys-apps/tcp-wrappers ) odbc? ( !iodbc? ( dev-db/unixODBC ) @@ -70,14 +73,19 @@ COMMON_DEPEND=" samba? ( dev-libs/openssl:0= ) + berkdb? ( + dash "${FILESDIR}"/${PN}-2.4.28-fix-dash.patch - "${FILESDIR}"/${PN}-2.6.1-system-mdb.patch + + # bug #420959 + "${FILESDIR}"/${PN}-2.4.31-gcc47.patch + + # unbundle lmdb + "${FILESDIR}"/${PN}-2.4.42-mdb-unbundle.patch + + # fix some compiler warnings + "${FILESDIR}"/${PN}-2.4.47-warnings.patch + + # Atexit segfault + "${FILESDIR}"/${PN}-2.4.59-atexit-fix.patch + + # implicit function defs "${FILESDIR}"/${PN}-2.6.1-cloak.patch - "${FILESDIR}"/${PN}-2.6.1-flags.patch - "${FILESDIR}"/${PN}-2.6.1-fix-missing-mapping.patch - "${FILESDIR}"/${PN}-2.6.4-clang16.patch - "${FILESDIR}"/${PN}-2.6.4-libressl.patch #903001 + "${FILESDIR}"/${PN}-2.4.59-implicit-function.patch ) openldap_filecount() { @@ -170,7 +211,7 @@ openldap_find_versiontags() { openldap_found_tag=0 have_files=0 for each in ${openldap_datadirs[@]} ; do - CURRENT_TAGDIR="${EROOT}$(sed "s:\/::" <<< ${each})" + CURRENT_TAGDIR="${ROOT}$(sed "s:\/::" <<< ${each})" CURRENT_TAG="${CURRENT_TAGDIR}/${OPENLDAP_VERSIONTAG}" if [[ -d "${CURRENT_TAGDIR}" ]] && [[ "${openldap_found_tag}" == 0 ]] ; then einfo "- Checking ${each}..." @@ -229,33 +270,19 @@ openldap_find_versiontags() { [[ "${have_files}" == "1" ]] && einfo "DB files present" || einfo "No DB files present" # Now we must check for the major version of sys-libs/db linked against. - # TODO: remove this as we dropped bdb support (gone upstream) in 2.6.1? SLAPD_PATH="${EROOT}/usr/$(get_libdir)/openldap/slapd" if [[ "${have_files}" == "1" ]] && [[ -f "${SLAPD_PATH}" ]]; then OLDVER="$(/usr/bin/ldd ${SLAPD_PATH} \ | awk '/libdb-/{gsub("^libdb-","",$1);gsub(".so$","",$1);print $1}')" - local fail=0 - - # This will not cover detection of cn=Config based configuration, but - # it's hopefully good enough. - if grep -sq '^backend.*shell' "${EROOT}"/etc/openldap/slapd.conf; then - eerror " OpenLDAP >= 2.5.x has dropped support for Shell backend." - eerror " You will need to migrate per upstream's migration notes" - eerror " at https://www.openldap.org/doc/admin25/appendix-upgrading.html." - eerror " Your existing database will not be accessible until it is" - eerror " converted away from backend shell!" - echo - fail=1 + if use berkdb; then + # find which one would be used + for bdb_slot in ${BDB_SLOTS} ; do + NEWVER="$(db_findver "=sys-libs/db-${bdb_slot}*")" + [[ -n "${NEWVER}" ]] && break + done fi - if has_version "${CATEGORY}/${PN}[berkdb]" || grep -sq '^backend.*(bdb|hdb)' /etc/openldap/slapd.conf; then - eerror " OpenLDAP >= 2.5.x has dropped support for Berkeley DB." - eerror " You will need to migrate per upstream's migration notes" - eerror " at https://www.openldap.org/doc/admin25/appendix-upgrading.html." - eerror " Your existing database will not be accessible until it is" - eerror " converted to mdb!" - echo - fail=1 - elif [[ -z "${OLDVER}" ]] && [[ -z "${NEWVER}" ]]; then + local fail=0 + if [[ -z "${OLDVER}" ]] && [[ -z "${NEWVER}" ]]; then : # Nothing wrong here. elif [[ -z "${OLDVER}" ]] && [[ -n "${NEWVER}" ]]; then @@ -311,8 +338,8 @@ openldap_upgrade_howto() { eerror " 7. slapadd -l ${l}" eerror " 8. chown ldap:ldap /var/lib/openldap-data/*" eerror " 9. /etc/init.d/slapd start" - eerror "10. Check that your data is intact." - eerror "11. Set up the new replication system." + eerror "10. check that your data is intact." + eerror "11. set up the new replication system." eerror if [[ "${FORCE_UPGRADE}" != "1" ]]; then die "You need to upgrade your database first" @@ -337,79 +364,57 @@ pkg_setup() { } src_prepare() { - # The system copy of dev-db/lmdb must match the version that this copy - # of OpenLDAP shipped with! See bug #588792. - # - # Fish out MDB_VERSION_MAJOR/MDB_VERSION_MINOR/MDB_VERSION_PATCH from - # the bundled lmdb's header to find out the version. - local bundled_lmdb_version=$(sed -En '/^#define MDB_VERSION_(MAJOR|MINOR|PATCH)(\s+)?/{s/[^0-9.]//gp}' \ - libraries/liblmdb/lmdb.h || die) - printf -v bundled_lmdb_version "%s." ${bundled_lmdb_version} - - if [[ ${SYSTEM_LMDB_VER}. != ${bundled_lmdb_version} ]] ; then - eerror "Source lmdb version: ${bundled_lmdb_version}" - eerror "Ebuild lmdb version: ${SYSTEM_LMDB_VER}" - die "Ebuild needs to update SYSTEM_LMDB_VER!" - fi - - rm -r libraries/liblmdb || die 'could not removed bundled lmdb directory' - - local filename - for filename in doc/drafts/draft-ietf-ldapext-acl-model-xx.txt; do - iconv -f iso-8859-1 -t utf-8 "${filename}" > "${filename}.utf8" - mv "${filename}.utf8" "${filename}" - done + # ensure correct SLAPI path by default + sed -e 's,\(#define LDAPI_SOCK\).*,\1 "'"${EPREFIX}"'/var/run/openldap/slapd.sock",' \ + -i include/ldap_defaults.h || die default - - sed -i \ - -e "s:\$(localstatedir)/run:${EPREFIX}/run:" \ - -e '/MKDIR.*.(DESTDIR)\/run/d' \ - servers/slapd/Makefile.in || die 'adjusting slapd Makefile.in failed' + rm -r libraries/liblmdb || die pushd build &>/dev/null || die "pushd build" einfo "Making sure upstream build strip does not do stripping too early" sed -i.orig \ -e '/^STRIP/s,-s,,g' \ - top.mk || die "Failed to remove too early stripping" + top.mk || die "Failed to block stripping" popd &>/dev/null || die - # Fails with OpenSSL 3, bug #848894 - # https://bugs.openldap.org/show_bug.cgi?id=10009 - rm tests/scripts/test076-authid-rewrite || die + # wrong assumption that /bin/sh is /bin/bash + sed \ + -e 's|/bin/sh|/bin/bash|g' \ + -i tests/scripts/* || die "sed failed" - eautoreconf - multilib_copy_sources + if test -e configure.in -a ! -e configure.ac ; then + mv -f configure.in configure.ac + fi + + # Required for autoconf-2.70 #765043 + sed 's@^AM_INIT_AUTOMAKE.*@AC_PROG_MAKE_SET@' -i configure.ac || die + AT_NOEAUTOMAKE=yes eautoreconf } build_contrib_module() { - # [] + # pushd "${S}/contrib/slapd-modules/$1" &>/dev/null || die "pushd contrib/slapd-modules/$1" - einfo "Compiling contrib-module: $1" - local target="${2:-all}" - emake \ - LDAP_BUILD="${BUILD_DIR}" prefix="${EPREFIX}/usr" \ - CC="${CC}" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" \ - "${target}" + einfo "Compiling contrib-module: $3" + # Make sure it's uppercase + local define_name="$(LC_ALL=C tr '[:lower:]' '[:upper:]' <<< "SLAPD_OVER_${1}")" + "${lt}" --mode=compile --tag=CC \ + "${CC}" \ + -D${define_name}=SLAPD_MOD_DYNAMIC \ + -I"${BUILD_DIR}"/include \ + -I../../../include -I../../../servers/slapd ${CFLAGS} \ + -o ${2%.c}.lo -c $2 || die "compiling $3 failed" + einfo "Linking contrib-module: $3" + "${lt}" --mode=link --tag=CC \ + "${CC}" -module \ + ${CFLAGS} \ + ${LDFLAGS} \ + -rpath "${EPREFIX}"/usr/$(get_libdir)/openldap/openldap \ + -o $3.la ${2%.c}.lo || die "linking $3 failed" popd &>/dev/null || die } -multilib_src_configure() { - # Optional Features - myconf+=( - --enable-option-checking - $(use_enable debug) - --enable-dynamic - $(use_enable syslog) - --enable-ipv6 - --enable-local - ) - - # Optional Packages - myconf+=( - --without-fetch - ) - +src_configure() { if use experimental ; then # connectionless ldap per bug #342439 # connectionless is a unsupported feature according to Howard Chu @@ -418,162 +423,167 @@ multilib_src_configure() { append-flags -DLDAP_CONNECTIONLESS fi - if ! use minimal && multilib_is_native_abi; then - # SLAPD (Standalone LDAP Daemon) Options - # overlay chaining requires '--enable-ldap' #296567 - # see https://www.openldap.org/doc/admin26/overlays.html#Chaining - myconf+=( - --enable-ldap=yes - --enable-slapd - $(use_enable cleartext) - $(use_enable crypt) - $(multilib_native_use_enable sasl spasswd) - --disable-slp - $(use_enable tcpd wrappers) - ) - if use experimental ; then - myconf+=( - --enable-dynacl - # ACI build as dynamic module not supported (yet) - --enable-aci=yes - ) - fi + # The configure scripts make some assumptions that aren't valid in newer GCC. + # https://bugs.gentoo.org/920380 + append-flags $(test-flags-CC -Wno-error=implicit-int) + # conftest.c:113:16: error: passing argument 1 of 'pthread_detach' makes + # integer from pointer without a cast [-Wint-conversion] + append-flags $(test-flags-CC -Wno-error=int-conversion) + # error: passing argument 3 of ‘ldap_bv2rdn’ from incompatible pointer type + # [-Wincompatible-pointer-types] + # expected ‘char **’ but argument is of type ‘const char **’ + append-flags $(test-flags-CC -Wno-error=incompatible-pointer-types) + + multilib-minimal_src_configure +} - for option in modules rlookups slapi; do - myconf+=( --enable-${option} ) - done +multilib_src_configure() { + local myconf=() - # static SLAPD backends - for backend in mdb; do - myconf+=( --enable-${backend}=yes ) - done + use debug && myconf+=( $(use_enable debug) ) - # module SLAPD backends - for backend in asyncmeta dnssrv meta null passwd relay sock; do - # missing modules: wiredtiger (not available in portage) + # ICU exists only in the configure, nowhere in the codebase, bug #510858 + export ac_cv_header_unicode_utypes_h=no ol_cv_lib_icu=no + + if ! use minimal && multilib_is_native_abi; then + local CPPFLAGS=${CPPFLAGS} + + # re-enable serverside overlay chains per bug #296567 + # see ldap docs chaper 12.3.1 for details + myconf+=( --enable-ldap ) + + # backends + myconf+=( --enable-slapd ) + if use berkdb ; then + einfo "Using Berkeley DB for local backend" + myconf+=( --enable-bdb --enable-hdb ) + DBINCLUDE=$(db_includedir ${BDB_SLOTS}) + einfo "Using ${DBINCLUDE} for sys-libs/db version" + # We need to include the slotted db.h dir for FreeBSD + append-cppflags -I${DBINCLUDE} + else + myconf+=( --disable-bdb --disable-hdb ) + fi + for backend in dnssrv ldap mdb meta monitor null passwd relay shell sock; do myconf+=( --enable-${backend}=mod ) done - use perl && myconf+=( --enable-perl=mod ) + myconf+=( $(use_enable perl perl mod) ) + myconf+=( $(use_enable odbc sql mod) ) if use odbc ; then - myconf+=( --enable-sql=mod ) + local odbc_lib="unixodbc" if use iodbc ; then - myconf+=( --with-odbc="iodbc" ) - append-cflags -I"${EPREFIX}"/usr/include/iodbc - else - myconf+=( --with-odbc="unixodbc" ) + odbc_lib="iodbc" + append-cppflags -I"${EPREFIX}"/usr/include/iodbc fi + myconf+=( --with-odbc=${odbc_lib} ) fi - use overlays && myconf+=( --enable-overlays=mod ) - use autoca && myconf+=( --enable-autoca=mod ) || myconf+=( --enable-autoca=no ) - # compile-in the syncprov - myconf+=( --enable-syncprov=yes ) - - # Build the standalone load balancer (lloadd) - also available as a slapd module; --enable-balancer=mod - myconf+=( --enable-balancer=yes ) - - # SLAPD Password Module Options + # slapd options myconf+=( - $(use_enable argon2) + $(use_enable crypt) + --disable-slp + $(use_enable samba lmpasswd) + $(use_enable syslog) ) + if use experimental ; then + myconf+=( + --enable-dynacl + --enable-aci=mod + ) + fi + for option in aci cleartext modules rewrite rlookups slapi; do + myconf+=( --enable-${option} ) + done + + # slapd overlay options + # Compile-in the syncprov, the others as module + myconf+=( --enable-syncprov=yes ) + use overlays && myconf+=( --enable-overlays=mod ) - # Optional Packages - myconf+=( - $(use_with systemd) - $(multilib_native_use_with sasl cyrus-sasl) - ) else myconf+=( --disable-backends --disable-slapd + --disable-bdb + --disable-hdb --disable-mdb --disable-overlays - --disable-autoca --disable-syslog - --without-systemd ) fi - # Library Generation & Linking Options + # basic functionality stuff myconf+=( - $(use_enable static-libs static) - --enable-shared - --enable-versioning - --with-pic + $(use_enable ipv6) + $(multilib_native_use_with sasl cyrus-sasl) + $(multilib_native_use_enable sasl spasswd) + $(use_enable tcpd wrappers) ) - # some cross-compiling tests don't pan out well. + # Some cross-compiling tests don't pan out well. tc-is-cross-compiler && myconf+=( --with-yielding-select=yes ) local ssl_lib="no" if use ssl || ( ! use minimal && use samba ) ; then - if use gnutls ; then - myconf+=( --with-tls="gnutls" ) - else - # disable MD2 hash function - append-cflags -DOPENSSL_NO_MD2 - myconf+=( --with-tls="openssl" ) - fi - else - myconf+=( --with-tls="no" ) + ssl_lib="openssl" + use gnutls && ssl_lib="gnutls" fi - tc-export AR CC CXX + myconf+=( --with-tls=${ssl_lib} ) - ECONF_SOURCE="${S}" econf \ + for basicflag in dynamic local proctitle shared; do + myconf+=( --enable-${basicflag} ) + done + + tc-export AR CC CXX + CONFIG_SHELL="/bin/sh" \ + ECONF_SOURCE="${S}" \ + STRIP=/bin/true \ + econf \ --libexecdir="${EPREFIX}"/usr/$(get_libdir)/openldap \ - --localstatedir="${EPREFIX}"/var \ - --runstatedir="${EPREFIX}"/run \ - --sharedstatedir="${EPREFIX}"/var/lib \ + $(use_enable static-libs static) \ "${myconf[@]}" - - # argument '--runstatedir' seems to have no effect therefore this workaround - sed -i \ - -e 's:^runstatedir=.*:runstatedir=${EPREFIX}/run:' \ - configure contrib/ldapc++/configure contrib/ldaptcl/configure || die 'could not set runstatedir' - - sed -i \ - -e "s:/var/run/sasl2/mux:${EPREFIX}/run/sasl2/mux:" \ - doc/guide/admin/security.sdf || die 'could not fix run path in doc' - emake depend } src_configure_cxx() { # This needs the libraries built by the first build run. - # we have to run it AFTER the main build, not just after the main configure + # So we have to run it AFTER the main build, not just after the main + # configure. local myconf_ldapcpp=( - --with-libldap="${E}/lib" - --with-ldap-includes="${S}/include" + --with-ldap-includes="${S}"/include ) - mkdir -p "${BUILD_DIR}"/contrib/ldapc++ || die "could not create ${BUILD_DIR}/contrib/ldapc++ directory" + mkdir -p "${BUILD_DIR}"/contrib/ldapc++ || die pushd "${BUILD_DIR}/contrib/ldapc++" &>/dev/null || die "pushd contrib/ldapc++" - local LDFLAGS="${LDFLAGS}" - local CPPFLAGS="${CPPFLAGS}" - - append-ldflags -L"${BUILD_DIR}"/libraries/liblber/.libs -L"${BUILD_DIR}"/libraries/libldap/.libs + local LDFLAGS=${LDFLAGS} CPPFLAGS=${CPPFLAGS} + append-ldflags -L"${BUILD_DIR}"/libraries/liblber/.libs \ + -L"${BUILD_DIR}"/libraries/libldap/.libs append-cppflags -I"${BUILD_DIR}"/include - - ECONF_SOURCE="${S}"/contrib/ldapc++ econf "${myconf_ldapcpp[@]}" - popd &>/dev/null || die "popd contrib/ldapc++" + ECONF_SOURCE=${S}/contrib/ldapc++ \ + econf "${myconf_ldapcpp[@]}" \ + CC="${CC}" \ + CXX="${CXX}" + popd &>/dev/null || die } multilib_src_compile() { tc-export AR CC CXX - emake CC="$(tc-getCC)" SHELL="${EPREFIX}"/bin/sh + emake CC="${CC}" AR="${AR}" SHELL="${EPREFIX}"/bin/sh + local lt="${BUILD_DIR}/libtool" + export echo="echo" if ! use minimal && multilib_is_native_abi ; then if use cxx ; then einfo "Building contrib library: ldapc++" src_configure_cxx pushd "${BUILD_DIR}/contrib/ldapc++" &>/dev/null || die "pushd contrib/ldapc++" - emake + emake CC="${CC}" CXX="${CXX}" popd &>/dev/null || die fi @@ -595,7 +605,7 @@ multilib_src_compile() { DEFS="${MY_DEFS}" \ KRB5_INC="${MY_KRB5_INC}" \ LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" + CC="${CC}" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" popd &>/dev/null || die fi @@ -605,7 +615,7 @@ multilib_src_compile() { emake \ LDAP_BUILD="${BUILD_DIR}" \ - CC="$(tc-getCC)" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" + CC="${CC}" libexecdir="/usr/$(get_libdir)/openldap" popd &>/dev/null || die fi @@ -613,45 +623,122 @@ multilib_src_compile() { if use kinit ; then build_contrib_module "kinit" "kinit.c" "kinit" fi - build_contrib_module "passwd" "pw-kerberos.la" + pushd "${S}/contrib/slapd-modules/passwd" &>/dev/null || die "pushd contrib/slapd-modules/passwd" + einfo "Compiling contrib-module: pw-kerberos" + "${lt}" --mode=compile --tag=CC \ + "${CC}" \ + -I"${BUILD_DIR}"/include \ + -I../../../include \ + ${CFLAGS} \ + $(krb5-config --cflags) \ + -DHAVE_KRB5 \ + -o kerberos.lo \ + -c kerberos.c || die "compiling pw-kerberos failed" + einfo "Linking contrib-module: pw-kerberos" + "${lt}" --mode=link --tag=CC \ + "${CC}" -module \ + ${CFLAGS} \ + ${LDFLAGS} \ + -rpath "${EPREFIX}"/usr/$(get_libdir)/openldap/openldap \ + -o pw-kerberos.la \ + kerberos.lo || die "linking pw-kerberos failed" + popd &>/dev/null || die fi if use pbkdf2; then - build_contrib_module "passwd/pbkdf2" + pushd "${S}/contrib/slapd-modules/passwd/pbkdf2" &>/dev/null || die "pushd contrib/slapd-modules/passwd/pbkdf2" + einfo "Compiling contrib-module: pw-pbkdf2" + "${lt}" --mode=compile --tag=CC \ + "${CC}" \ + -I"${BUILD_DIR}"/include \ + -I../../../../include \ + ${CFLAGS} \ + -o pbkdf2.lo \ + -c pw-pbkdf2.c || die "compiling pw-pbkdf2 failed" + einfo "Linking contrib-module: pw-pbkdf2" + "${lt}" --mode=link --tag=CC \ + "${CC}" -module \ + ${CFLAGS} \ + ${LDFLAGS} \ + -rpath "${EPREFIX}"/usr/$(get_libdir)/openldap/openldap \ + -o pw-pbkdf2.la \ + pbkdf2.lo || die "linking pw-pbkdf2 failed" + popd &>/dev/null || die fi if use sha2 ; then - build_contrib_module "passwd/sha2" + pushd "${S}/contrib/slapd-modules/passwd/sha2" &>/dev/null || die "pushd contrib/slapd-modules/passwd/sha2" + einfo "Compiling contrib-module: pw-sha2" + "${lt}" --mode=compile --tag=CC \ + "${CC}" \ + -I"${BUILD_DIR}"/include \ + -I../../../../include \ + ${CFLAGS} \ + -o sha2.lo \ + -c sha2.c || die "compiling pw-sha2 failed" + "${lt}" --mode=compile --tag=CC \ + "${CC}" \ + -I"${BUILD_DIR}"/include \ + -I../../../../include \ + ${CFLAGS} \ + -o slapd-sha2.lo \ + -c slapd-sha2.c || die "compiling pw-sha2 failed" + einfo "Linking contrib-module: pw-sha2" + "${lt}" --mode=link --tag=CC \ + "${CC}" -module \ + ${CFLAGS} \ + ${LDFLAGS} \ + -rpath "${EPREFIX}"/usr/$(get_libdir)/openldap/openldap \ + -o pw-sha2.la \ + sha2.lo slapd-sha2.lo || die "linking pw-sha2 failed" + popd &>/dev/null || die fi # We could build pw-radius if GNURadius would install radlib.h - build_contrib_module "passwd" "pw-netscape.la" - - #build_contrib_module "acl" "posixgroup.la" # example code only - #build_contrib_module "acl" "gssacl.la" # example code only, also needs kerberos - build_contrib_module "addpartial" - build_contrib_module "allop" - build_contrib_module "allowed" - build_contrib_module "autogroup" - build_contrib_module "cloak" - # build_contrib_module "comp_match" # really complex, adds new external deps, questionable demand - build_contrib_module "denyop" - build_contrib_module "dsaschema" - build_contrib_module "dupent" - build_contrib_module "lastbind" + pushd "${S}/contrib/slapd-modules/passwd" &>/dev/null || die "pushd contrib/slapd-modules/passwd" + einfo "Compiling contrib-module: pw-netscape" + "${lt}" --mode=compile --tag=CC \ + "${CC}" \ + -I"${BUILD_DIR}"/include \ + -I../../../include \ + ${CFLAGS} \ + -o netscape.lo \ + -c netscape.c || die "compiling pw-netscape failed" + einfo "Linking contrib-module: pw-netscape" + "${lt}" --mode=link --tag=CC \ + "${CC}" -module \ + ${CFLAGS} \ + ${LDFLAGS} \ + -rpath "${EPREFIX}"/usr/$(get_libdir)/openldap/openldap \ + -o pw-netscape.la \ + netscape.lo || die "linking pw-netscape failed" + + #build_contrib_module "acl" "posixgroup.c" "posixGroup" # example code only + #build_contrib_module "acl" "gssacl.c" "gss" # example code only, also needs kerberos + build_contrib_module "addpartial" "addpartial-overlay.c" "addpartial-overlay" + build_contrib_module "allop" "allop.c" "overlay-allop" + build_contrib_module "allowed" "allowed.c" "allowed" + build_contrib_module "autogroup" "autogroup.c" "autogroup" + build_contrib_module "cloak" "cloak.c" "cloak" + # comp_match: really complex, adds new external deps, questionable demand + # build_contrib_module "comp_match" "comp_match.c" "comp_match" + build_contrib_module "denyop" "denyop.c" "denyop-overlay" + build_contrib_module "dsaschema" "dsaschema.c" "dsaschema-plugin" + build_contrib_module "dupent" "dupent.c" "dupent" + build_contrib_module "lastbind" "lastbind.c" "lastbind" # lastmod may not play well with other overlays - build_contrib_module "lastmod" - build_contrib_module "noopsrch" - #build_contrib_module "nops" https://bugs.gentoo.org/641576 - #build_contrib_module "nssov" RESO:LATER - build_contrib_module "trace" + build_contrib_module "lastmod" "lastmod.c" "lastmod" + build_contrib_module "noopsrch" "noopsrch.c" "noopsrch" + #build_contrib_module "nops" "nops.c" "nops-overlay" https://bugs.gentoo.org/641576 + #build_contrib_module "nssov" "nssov.c" "nssov-overlay" RESO:LATER + build_contrib_module "trace" "trace.c" "trace" + popd &>/dev/null || die # build slapi-plugins pushd "${S}/contrib/slapi-plugins/addrdnvalues" &>/dev/null || die "pushd contrib/slapi-plugins/addrdnvalues" einfo "Building contrib-module: addrdnvalues plugin" - $(tc-getCC) -shared \ + "${CC}" -shared \ -I"${BUILD_DIR}"/include \ -I../../../include \ - ${CPPFLAGS} \ ${CFLAGS} \ -fPIC \ ${LDFLAGS} \ @@ -664,29 +751,13 @@ multilib_src_compile() { multilib_src_test() { if multilib_is_native_abi; then cd tests || die - pwd - - # Increase various test timeouts/delays, bug #894012 - # We can't just double everything as there's a cumulative effect. - export SLEEP0=2 # originally 1 - export SLEEP1=10 # originally 7 - export SLEEP2=20 # originally 15 - export TIMEOUT=16 # originally 8 - - # emake test => runs only lloadd & mdb, in serial; skips ldif,sql,wt,regression - # emake partests => runs ALL of the tests in parallel - # wt/WiredTiger is not supported in Gentoo - TESTS=( plloadd pmdb ) - #TESTS+=( pldif ) # not done by default, so also exclude here - #use odbc && TESTS+=( psql ) # not done by default, so also exclude here - - emake "${TESTS[@]}" + emake tests fi } multilib_src_install() { - emake CC="$(tc-getCC)" \ - DESTDIR="${D}" SHELL="${EPREFIX}"/bin/sh install + local lt="${BUILD_DIR}/libtool" + emake DESTDIR="${D}" SHELL="${EPREFIX}"/bin/sh install if ! use minimal && multilib_is_native_abi; then # openldap modules go here @@ -705,7 +776,7 @@ multilib_src_install() { # use our config rm "${ED}"/etc/openldap/slapd.conf insinto /etc/openldap - newins "${FILESDIR}"/${PN}-2.6.3-slapd-conf slapd.conf + newins "${FILESDIR}"/${PN}-2.4.40-slapd-conf slapd.conf configfile="${ED}"/etc/openldap/slapd.conf # populate with built backends @@ -715,7 +786,7 @@ multilib_src_install() { sed -e "/###INSERTDYNAMICMODULESHERE###$/a# moduleload\t$(basename ${x})" -i "${configfile}" || die done sed -e "s:###INSERTDYNAMICMODULESHERE###$:# modulepath\t${EPREFIX}/usr/$(get_libdir)/openldap/openldap:" \ - -i "${configfile}" || die + -i "${configfile}" use prefix || fowners root:ldap /etc/openldap/slapd.conf fperms 0640 /etc/openldap/slapd.conf cp "${configfile}" "${configfile}".default || die @@ -724,19 +795,15 @@ multilib_src_install() { einfo "Install init scripts" sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd-initd-2.4.40-r2 > "${T}"/slapd || die doinitd "${T}"/slapd - newconfd "${FILESDIR}"/slapd-confd-2.6.1 slapd - - if use systemd; then - # The systemd unit uses Type=notify, so it is useless without USE=systemd - einfo "Install systemd service" - rm -rf "${ED}"/{,usr/}lib/systemd - sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd-2.6.1.service > "${T}"/slapd.service || die - systemd_dounit "${T}"/slapd.service - systemd_install_serviced "${FILESDIR}"/slapd.service.conf - newtmpfiles "${FILESDIR}"/slapd.tmpfilesd slapd.conf - fi + newconfd "${FILESDIR}"/slapd-confd-2.4.28-r1 slapd - # if built without SLP, we don't need to be before avahi + einfo "Install systemd service" + sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd.service > "${T}"/slapd.service || die + systemd_dounit "${T}"/slapd.service + systemd_install_serviced "${FILESDIR}"/slapd.service.conf + newtmpfiles "${FILESDIR}"/slapd.tmpfilesd slapd.conf + + # If built without SLP, we don't need to be before avahi sed -i \ -e '/before/{s/avahi-daemon//g}' \ "${ED}"/etc/init.d/slapd \ @@ -764,7 +831,7 @@ multilib_src_install() { cd "${S}/contrib/slapd-modules/samba4" || die emake DESTDIR="${D}" \ LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install + libexecdir="/usr/$(get_libdir)/openldap" install newdoc README samba4-README fi @@ -772,7 +839,7 @@ multilib_src_install() { cd "${S}/contrib/slapd-modules" || die for l in */*.la */*/*.la; do [[ -e ${l} ]] || continue - libtool --mode=install cp ${l} \ + "${lt}" --mode=install cp ${l} \ "${ED}"/usr/$(get_libdir)/openldap/openldap || \ die "installing ${l} failed" done @@ -797,6 +864,7 @@ multilib_src_install() { newins "${DISTDIR}"/${BIS_P} ${BIS_PN} docinto back-sock ; dodoc "${S}"/servers/slapd/back-sock/searchexample* + docinto back-shell ; dodoc "${S}"/servers/slapd/back-shell/searchexample* docinto back-perl ; dodoc "${S}"/servers/slapd/back-perl/SampleLDAP.pm dosbin "${S}"/contrib/slapd-tools/statslog @@ -815,7 +883,7 @@ multilib_src_install_all() { pkg_preinst() { # keep old libs if any - preserve_old_lib /usr/$(get_libdir)/{liblber,libldap,libldap_r}-2.4$(get_libname 0) + preserve_old_lib /usr/$(get_libdir)/{liblber,libldap_r,liblber}-2.3$(get_libname 0) # bug 440470, only display the getting started help there was no openldap before, # or we are going to a non-minimal build ! has_version net-nds/openldap || has_version 'net-nds/openldap[minimal]' @@ -824,9 +892,7 @@ pkg_preinst() { pkg_postinst() { if ! use minimal ; then - if use systemd; then - tmpfiles_process slapd.conf - fi + tmpfiles_process slapd.conf # You cannot build SSL certificates during src_install that will make # binary packages containing your SSL key, which is both a security risk @@ -861,7 +927,10 @@ pkg_postinst() { elog "Getting started using OpenLDAP? There is some documentation available:" elog "Gentoo Guide to OpenLDAP Authentication" elog "(https://wiki.gentoo.org/wiki/Centralized_authentication_using_OpenLDAP)" + elog "---" + elog "An example file for tuning BDB backends with openldap is" + elog "DB_CONFIG.fast.example in /usr/share/doc/${PF}/" fi - preserve_old_lib_notify /usr/$(get_libdir)/{liblber,libldap,libldap_r}-2.4$(get_libname 0) + preserve_old_lib_notify /usr/$(get_libdir)/{liblber,libldap,libldap_r}-2.3$(get_libname 0) } diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.5.14.ebuild b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.5.14.ebuild index 0abdc8dcb98..62ff82759fc 100644 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.5.14.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.5.14.ebuild @@ -339,7 +339,10 @@ src_prepare() { # # Fish out MDB_VERSION_MAJOR/MDB_VERSION_MINOR/MDB_VERSION_PATCH from # the bundled lmdb's header to find out the version. - local bundled_lmdb_version=$(sed -En '/^#define MDB_VERSION_(MAJOR|MINOR|PATCH)(\s+)?/{s/[^0-9.]//gp}' libraries/liblmdb/lmdb.h || die) + local bundled_lmdb_version=$( + sed -En '/^#define MDB_VERSION_(MAJOR|MINOR|PATCH)(\s+)?/{s/[^0-9.]//gp}' \ + libraries/liblmdb/lmdb.h || die + ) printf -v bundled_lmdb_version "%s." ${bundled_lmdb_version} if [[ ${SYSTEM_LMDB_VER}. != ${bundled_lmdb_version} ]] ; then @@ -708,7 +711,8 @@ multilib_src_install() { einfo "Adding $(basename ${x})" sed -e "/###INSERTDYNAMICMODULESHERE###$/a# moduleload\t$(basename ${x})" -i "${configfile}" || die done - sed -e "s:###INSERTDYNAMICMODULESHERE###$:# modulepath\t${EPREFIX}/usr/$(get_libdir)/openldap/openldap:" -i "${configfile}" + sed -e "s:###INSERTDYNAMICMODULESHERE###$:# modulepath\t${EPREFIX}/usr/$(get_libdir)/openldap/openldap:" \ + -i "${configfile}" use prefix || fowners root:ldap /etc/openldap/slapd.conf fperms 0640 /etc/openldap/slapd.conf cp "${configfile}" "${configfile}".default || die diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.5.16.ebuild b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.5.16.ebuild index 6d3babe45f1..21845b57060 100644 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.5.16.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.5.16.ebuild @@ -337,7 +337,10 @@ src_prepare() { # # Fish out MDB_VERSION_MAJOR/MDB_VERSION_MINOR/MDB_VERSION_PATCH from # the bundled lmdb's header to find out the version. - local bundled_lmdb_version=$(sed -En '/^#define MDB_VERSION_(MAJOR|MINOR|PATCH)(\s+)?/{s/[^0-9.]//gp}' libraries/liblmdb/lmdb.h || die) + local bundled_lmdb_version=$( + sed -En '/^#define MDB_VERSION_(MAJOR|MINOR|PATCH)(\s+)?/{s/[^0-9.]//gp}' \ + libraries/liblmdb/lmdb.h || die + ) printf -v bundled_lmdb_version "%s." ${bundled_lmdb_version} if [[ ${SYSTEM_LMDB_VER}. != ${bundled_lmdb_version} ]] ; then @@ -706,7 +709,8 @@ multilib_src_install() { einfo "Adding $(basename ${x})" sed -e "/###INSERTDYNAMICMODULESHERE###$/a# moduleload\t$(basename ${x})" -i "${configfile}" || die done - sed -e "s:###INSERTDYNAMICMODULESHERE###$:# modulepath\t${EPREFIX}/usr/$(get_libdir)/openldap/openldap:" -i "${configfile}" + sed -e "s:###INSERTDYNAMICMODULESHERE###$:# modulepath\t${EPREFIX}/usr/$(get_libdir)/openldap/openldap:" \ + -i "${configfile}" use prefix || fowners root:ldap /etc/openldap/slapd.conf fperms 0640 /etc/openldap/slapd.conf cp "${configfile}" "${configfile}".default || die diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.4-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.5.18.ebuild similarity index 95% rename from sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.4-r1.ebuild rename to sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.5.18.ebuild index 2f6ab178605..48748317f4b 100644 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.4-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.5.18.ebuild @@ -25,7 +25,7 @@ S="${WORKDIR}"/${PN}-OPENLDAP_REL_ENG_${MY_PV} LICENSE="OPENLDAP GPL-2" # Subslot added for bug #835654 SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" IUSE_DAEMON="argon2 +cleartext crypt experimental minimal samba tcpd" IUSE_OVERLAY="overlays perl autoca" @@ -35,13 +35,13 @@ IUSE_CONTRIB="${IUSE_CONTRIB} cxx" IUSE="systemd ${IUSE_DAEMON} ${IUSE_BACKEND} ${IUSE_OVERLAY} ${IUSE_OPTIONAL} ${IUSE_CONTRIB}" REQUIRED_USE="cxx? ( sasl ) pbkdf2? ( ssl ) - test? ( cleartext sasl ) + test? ( cleartext debug sasl ) autoca? ( !gnutls ) ?? ( test minimal ) kerberos? ( ?? ( kinit smbkrb5passwd ) )" RESTRICT="!test? ( test )" -SYSTEM_LMDB_VER=0.9.30 +SYSTEM_LMDB_VER=0.9.33 # openssl is needed to generate lanman-passwords required by samba COMMON_DEPEND=" kernel_linux? ( sys-apps/util-linux ) @@ -140,9 +140,8 @@ PATCHES=( "${FILESDIR}"/${PN}-2.6.1-system-mdb.patch "${FILESDIR}"/${PN}-2.6.1-cloak.patch "${FILESDIR}"/${PN}-2.6.1-flags.patch - "${FILESDIR}"/${PN}-2.6.1-fix-missing-mapping.patch - "${FILESDIR}"/${PN}-2.6.4-clang16.patch - "${FILESDIR}"/${PN}-2.6.4-libressl.patch #903001 + "${FILESDIR}"/${PN}-2.6.x-gnutls-pointer-error.patch + #"${FILESDIR}"/${PN}-2.6.x-slapd-pointer-types.patch # needs backport ) openldap_filecount() { @@ -237,7 +236,7 @@ openldap_find_versiontags() { # This will not cover detection of cn=Config based configuration, but # it's hopefully good enough. if grep -sq '^backend.*shell' "${EROOT}"/etc/openldap/slapd.conf; then - eerror " OpenLDAP >= 2.5.x has dropped support for Shell backend." + eerror " OpenLDAP >= 2.6.x has dropped support for Shell backend." eerror " You will need to migrate per upstream's migration notes" eerror " at https://www.openldap.org/doc/admin25/appendix-upgrading.html." eerror " Your existing database will not be accessible until it is" @@ -340,7 +339,10 @@ src_prepare() { # # Fish out MDB_VERSION_MAJOR/MDB_VERSION_MINOR/MDB_VERSION_PATCH from # the bundled lmdb's header to find out the version. - local bundled_lmdb_version=$(sed -En '/^#define MDB_VERSION_(MAJOR|MINOR|PATCH)(\s+)?/{s/[^0-9.]//gp}' libraries/liblmdb/lmdb.h || die) + local bundled_lmdb_version=$( + sed -En '/^#define MDB_VERSION_(MAJOR|MINOR|PATCH)(\s+)?/{s/[^0-9.]//gp}' \ + libraries/liblmdb/lmdb.h || die + ) printf -v bundled_lmdb_version "%s." ${bundled_lmdb_version} if [[ ${SYSTEM_LMDB_VER}. != ${bundled_lmdb_version} ]] ; then @@ -408,6 +410,17 @@ multilib_src_configure() { --without-fetch ) + # The configure scripts make some assumptions that aren't valid in newer GCC. + # https://bugs.gentoo.org/920380 + append-flags $(test-flags-CC -Wno-error=implicit-int) + # conftest.c:113:16: error: passing argument 1 of 'pthread_detach' makes + # integer from pointer without a cast [-Wint-conversion] + append-flags $(test-flags-CC -Wno-error=int-conversion) + # error: passing argument 3 of ‘ldap_bv2rdn’ from incompatible pointer type + # [-Wincompatible-pointer-types] + # expected ‘char **’ but argument is of type ‘const char **’ + #append-flags $(test-flags-CC -Wno-error=incompatible-pointer-types) + if use experimental ; then # connectionless ldap per bug #342439 # connectionless is a unsupported feature according to Howard Chu @@ -671,11 +684,11 @@ multilib_src_test() { # emake test => runs only lloadd & mdb, in serial; skips ldif,sql,wt,regression # emake partests => runs ALL of the tests in parallel # wt/WiredTiger is not supported in Gentoo - TESTS=( plloadd pmdb ) + TESTS=( lloadd mdb ) #TESTS+=( pldif ) # not done by default, so also exclude here #use odbc && TESTS+=( psql ) # not done by default, so also exclude here - emake "${TESTS[@]}" + emake -Onone "${TESTS[@]}" fi } @@ -709,7 +722,8 @@ multilib_src_install() { einfo "Adding $(basename ${x})" sed -e "/###INSERTDYNAMICMODULESHERE###$/a# moduleload\t$(basename ${x})" -i "${configfile}" || die done - sed -e "s:###INSERTDYNAMICMODULESHERE###$:# modulepath\t${EPREFIX}/usr/$(get_libdir)/openldap/openldap:" -i "${configfile}" + sed -e "s:###INSERTDYNAMICMODULESHERE###$:# modulepath\t${EPREFIX}/usr/$(get_libdir)/openldap/openldap:" \ + -i "${configfile}" use prefix || fowners root:ldap /etc/openldap/slapd.conf fperms 0640 /etc/openldap/slapd.conf cp "${configfile}" "${configfile}".default || die diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.3-r7.ebuild b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.3-r7.ebuild deleted file mode 100644 index b60d581438f..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.3-r7.ebuild +++ /dev/null @@ -1,827 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -# Re cleanups: -# 2.5.x is an LTS release so we want to keep it for a while. - -inherit autotools flag-o-matic multilib multilib-minimal preserve-libs ssl-cert toolchain-funcs systemd tmpfiles - -MY_PV="$(ver_rs 1-2 _)" - -BIS_PN=rfc2307bis.schema -BIS_PV=20140524 -BIS_P="${BIS_PN}-${BIS_PV}" - -DESCRIPTION="LDAP suite of application and development tools" -HOMEPAGE="https://www.openldap.org/" -SRC_URI=" - https://gitlab.com/openldap/${PN}/-/archive/OPENLDAP_REL_ENG_${MY_PV}/${PN}-OPENLDAP_REL_ENG_${MY_PV}.tar.gz - mirror://gentoo/${BIS_P} -" -S="${WORKDIR}"/${PN}-OPENLDAP_REL_ENG_${MY_PV} - -LICENSE="OPENLDAP GPL-2" -# Subslot added for bug #835654 -SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" - -IUSE_DAEMON="argon2 +cleartext crypt experimental minimal samba tcpd" -IUSE_OVERLAY="overlays perl autoca" -IUSE_OPTIONAL="debug gnutls iodbc ipv6 odbc sasl ssl selinux static-libs +syslog test" -IUSE_CONTRIB="kerberos kinit pbkdf2 sha2 smbkrb5passwd" -IUSE_CONTRIB="${IUSE_CONTRIB} cxx" -IUSE="systemd ${IUSE_DAEMON} ${IUSE_BACKEND} ${IUSE_OVERLAY} ${IUSE_OPTIONAL} ${IUSE_CONTRIB}" -REQUIRED_USE="cxx? ( sasl ) - pbkdf2? ( ssl ) - test? ( cleartext sasl ) - autoca? ( !gnutls ) - ?? ( test minimal ) - kerberos? ( ?? ( kinit smbkrb5passwd ) )" -RESTRICT="!test? ( test )" - -# openssl is needed to generate lanman-passwords required by samba -COMMON_DEPEND=" - kernel_linux? ( sys-apps/util-linux ) - ssl? ( - !gnutls? ( - >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] - ) - gnutls? ( - >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] - >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] - ) - ) - sasl? ( dev-libs/cyrus-sasl:= ) - !minimal? ( - dev-libs/libltdl - sys-fs/e2fsprogs - >=dev-db/lmdb-0.9.18:= - argon2? ( app-crypt/argon2:= ) - crypt? ( virtual/libcrypt:= ) - tcpd? ( sys-apps/tcp-wrappers ) - odbc? ( !iodbc? ( dev-db/unixODBC ) - iodbc? ( dev-db/libiodbc ) ) - perl? ( dev-lang/perl:=[-build(-)] ) - samba? ( - dev-libs/openssl:0= - ) - smbkrb5passwd? ( - dev-libs/openssl:0= - kerberos? ( app-crypt/heimdal ) - ) - kerberos? ( - virtual/krb5 - kinit? ( !app-crypt/heimdal ) - ) - ) -" -DEPEND="${COMMON_DEPEND} - sys-apps/groff -" -RDEPEND="${COMMON_DEPEND} - selinux? ( sec-policy/selinux-ldap ) -" - -# The user/group are only used for running daemons which are -# disabled in minimal builds, so elide the accounts too. -BDEPEND="!minimal? ( - acct-group/ldap - acct-user/ldap -) -" - -# for tracking versions -OPENLDAP_VERSIONTAG=".version-tag" -OPENLDAP_DEFAULTDIR_VERSIONTAG="/var/lib/openldap-data" - -MULTILIB_WRAPPED_HEADERS=( - # USE=cxx - /usr/include/LDAPAsynConnection.h - /usr/include/LDAPAttrType.h - /usr/include/LDAPAttribute.h - /usr/include/LDAPAttributeList.h - /usr/include/LDAPConnection.h - /usr/include/LDAPConstraints.h - /usr/include/LDAPControl.h - /usr/include/LDAPControlSet.h - /usr/include/LDAPEntry.h - /usr/include/LDAPEntryList.h - /usr/include/LDAPException.h - /usr/include/LDAPExtResult.h - /usr/include/LDAPMessage.h - /usr/include/LDAPMessageQueue.h - /usr/include/LDAPModList.h - /usr/include/LDAPModification.h - /usr/include/LDAPObjClass.h - /usr/include/LDAPRebind.h - /usr/include/LDAPRebindAuth.h - /usr/include/LDAPReferenceList.h - /usr/include/LDAPResult.h - /usr/include/LDAPSaslBindResult.h - /usr/include/LDAPSchema.h - /usr/include/LDAPSearchReference.h - /usr/include/LDAPSearchResult.h - /usr/include/LDAPSearchResults.h - /usr/include/LDAPUrl.h - /usr/include/LDAPUrlList.h - /usr/include/LdifReader.h - /usr/include/LdifWriter.h - /usr/include/SaslInteraction.h - /usr/include/SaslInteractionHandler.h - /usr/include/StringList.h - /usr/include/TlsOptions.h -) - -PATCHES=( - "${FILESDIR}"/${PN}-2.4.28-fix-dash.patch - "${FILESDIR}"/${PN}-2.6.1-system-mdb.patch - "${FILESDIR}"/${PN}-2.6.1-cloak.patch - "${FILESDIR}"/${PN}-2.6.1-flags.patch - "${FILESDIR}"/${PN}-2.6.1-fix-missing-mapping.patch - "${FILESDIR}"/${PN}-2.6.1-fix-bashism-configure.patch - "${FILESDIR}"/${PN}-2.6.3-clang16.patch -) - -openldap_filecount() { - local dir="$1" - find "${dir}" -type f ! -name '.*' ! -name 'DB_CONFIG*' | wc -l -} - -openldap_find_versiontags() { - # scan for all datadirs - local openldap_datadirs=() - if [[ -f "${EROOT}"/etc/openldap/slapd.conf ]]; then - openldap_datadirs=( $(awk '{if($1 == "directory") print $2 }' "${EROOT}"/etc/openldap/slapd.conf) ) - fi - openldap_datadirs+=( ${OPENLDAP_DEFAULTDIR_VERSIONTAG} ) - - einfo - einfo "Scanning datadir(s) from slapd.conf and" - einfo "the default installdir for Versiontags" - einfo "(${OPENLDAP_DEFAULTDIR_VERSIONTAG} may appear twice)" - einfo - - # scan datadirs if we have a version tag - openldap_found_tag=0 - have_files=0 - for each in ${openldap_datadirs[@]} ; do - CURRENT_TAGDIR="${EROOT}$(sed "s:\/::" <<< ${each})" - CURRENT_TAG="${CURRENT_TAGDIR}/${OPENLDAP_VERSIONTAG}" - if [[ -d "${CURRENT_TAGDIR}" ]] && [[ "${openldap_found_tag}" == 0 ]] ; then - einfo "- Checking ${each}..." - if [[ -r "${CURRENT_TAG}" ]] ; then - # yey, we have one :) - einfo " Found Versiontag in ${each}" - source "${CURRENT_TAG}" - if [[ "${OLDPF}" == "" ]] ; then - eerror "Invalid Versiontag found in ${CURRENT_TAGDIR}" - eerror "Please delete it" - eerror - die "Please kill the invalid versiontag in ${CURRENT_TAGDIR}" - fi - - OLD_MAJOR=$(ver_cut 2-3 ${OLDPF}) - - [[ "$(openldap_filecount ${CURRENT_TAGDIR})" -gt 0 ]] && have_files=1 - - # are we on the same branch? - if [[ "${OLD_MAJOR}" != "${PV:0:3}" ]] ; then - ewarn " Versiontag doesn't match current major release!" - if [[ "${have_files}" == "1" ]] ; then - eerror " Versiontag says other major and you (probably) have datafiles!" - echo - openldap_upgrade_howto - else - einfo " No real problem, seems there's no database." - fi - else - einfo " Versiontag is fine here :)" - fi - else - einfo " Non-tagged dir ${each}" - [[ "$(openldap_filecount ${each})" -gt 0 ]] && have_files=1 - if [[ "${have_files}" == "1" ]] ; then - einfo " EEK! Non-empty non-tagged datadir, counting `ls -a ${each} | wc -l` files" - echo - - eerror - eerror "Your OpenLDAP Installation has a non tagged datadir that" - eerror "possibly contains a database at ${CURRENT_TAGDIR}" - eerror - eerror "Please export data if any entered and empty or remove" - eerror "the directory, installation has been stopped so you" - eerror "can take required action" - eerror - eerror "For a HOWTO on exporting the data, see instructions in the ebuild" - eerror - openldap_upgrade_howto - die "Please move the datadir ${CURRENT_TAGDIR} away" - fi - fi - einfo - fi - done - [[ "${have_files}" == "1" ]] && einfo "DB files present" || einfo "No DB files present" - - # Now we must check for the major version of sys-libs/db linked against. - # TODO: remove this as we dropped bdb support (gone upstream) in 2.6.1? - SLAPD_PATH="${EROOT}/usr/$(get_libdir)/openldap/slapd" - if [[ "${have_files}" == "1" ]] && [[ -f "${SLAPD_PATH}" ]]; then - OLDVER="$(/usr/bin/ldd ${SLAPD_PATH} \ - | awk '/libdb-/{gsub("^libdb-","",$1);gsub(".so$","",$1);print $1}')" - local fail=0 - - # This will not cover detection of cn=Config based configuration, but - # it's hopefully good enough. - if grep -sq '^backend.*shell' "${EROOT}"/etc/openldap/slapd.conf; then - eerror " OpenLDAP >= 2.5.x has dropped support for Shell backend." - eerror " You will need to migrate per upstream's migration notes" - eerror " at https://www.openldap.org/doc/admin25/appendix-upgrading.html." - eerror " Your existing database will not be accessible until it is" - eerror " converted away from backend shell!" - echo - fail=1 - fi - if has_version "${CATEGORY}/${PN}[berkdb]" || grep -sq '^backend.*(bdb|hdb)' /etc/openldap/slapd.conf; then - eerror " OpenLDAP >= 2.5.x has dropped support for Berkeley DB." - eerror " You will need to migrate per upstream's migration notes" - eerror " at https://www.openldap.org/doc/admin25/appendix-upgrading.html." - eerror " Your existing database will not be accessible until it is" - eerror " converted to mdb!" - echo - fail=1 - elif [[ -z "${OLDVER}" ]] && [[ -z "${NEWVER}" ]]; then - : - # Nothing wrong here. - elif [[ -z "${OLDVER}" ]] && [[ -n "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was not built against" - eerror " any version of sys-libs/db, but the new one will build" - eerror " against ${NEWVER} and your database may be inaccessible." - echo - fail=1 - elif [[ -n "${OLDVER}" ]] && [[ -z "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was built against" - eerror " sys-libs/db:${OLDVER}, but the new one will not be" - eerror " built against any version and your database may be" - eerror " inaccessible." - echo - fail=1 - elif [[ "${OLDVER}" != "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was built against" - eerror " sys-libs/db:${OLDVER}, but the new one will build against" - eerror " ${NEWVER} and your database would be inaccessible." - echo - fail=1 - fi - [[ "${fail}" == "1" ]] && openldap_upgrade_howto - fi - - echo - einfo - einfo "All datadirs are fine, proceeding with merge now..." - einfo -} - -openldap_upgrade_howto() { - local d l i - eerror - eerror "A (possible old) installation of OpenLDAP was detected," - eerror "installation will not proceed for now." - eerror - eerror "As major version upgrades can corrupt your database," - eerror "you need to dump your database and re-create it afterwards." - eerror - eerror "Additionally, rebuilding against different major versions of the" - eerror "sys-libs/db libraries will cause your database to be inaccessible." - eerror "" - d="$(date -u +%s)" - l="/root/ldapdump.${d}" - i="${l}.raw" - eerror " 1. /etc/init.d/slapd stop" - eerror " 2. slapcat -l ${i}" - eerror " 3. grep -E -v '^(entry|context)CSN:' <${i} >${l}" - eerror " 4. mv /var/lib/openldap-data/ /var/lib/openldap-data-backup/" - eerror " 5. emerge --update \=net-nds/${PF}" - eerror " 6. etc-update, and ensure that you apply the changes" - eerror " 7. slapadd -l ${l}" - eerror " 8. chown ldap:ldap /var/lib/openldap-data/*" - eerror " 9. /etc/init.d/slapd start" - eerror "10. Check that your data is intact." - eerror "11. Set up the new replication system." - eerror - if [[ "${FORCE_UPGRADE}" != "1" ]]; then - die "You need to upgrade your database first" - else - eerror "You have the magical FORCE_UPGRADE=1 in place." - eerror "Don't say you weren't warned about data loss." - fi -} - -pkg_setup() { - if ! use sasl && use cxx ; then - die "To build the ldapc++ library you must emerge openldap with sasl support" - fi - # Bug #322787 - if use minimal && ! has_version "net-nds/openldap" ; then - einfo "No datadir scan needed, openldap not installed" - elif use minimal && has_version 'net-nds/openldap[minimal]' ; then - einfo "Skipping scan for previous datadirs as requested by minimal useflag" - else - openldap_find_versiontags - fi -} - -src_prepare() { - rm -r libraries/liblmdb || die 'could not removed bundled lmdb directory' - - for filename in doc/drafts/draft-ietf-ldapext-acl-model-xx.txt; do - iconv -f iso-8859-1 -t utf-8 "$filename" > "$filename.utf8" - mv "$filename.utf8" "$filename" - done - - default - - sed -i \ - -e "s:\$(localstatedir)/run:${EPREFIX}/run:" \ - -e '/MKDIR.*.(DESTDIR)\/run/d' \ - -e '/MKDIR.*.(DESTDIR).*.(runstatedir)/d' \ - servers/slapd/Makefile.in || die 'adjusting slapd Makefile.in failed' - - pushd build &>/dev/null || die "pushd build" - einfo "Making sure upstream build strip does not do stripping too early" - sed -i.orig \ - -e '/^STRIP/s,-s,,g' \ - top.mk || die "Failed to remove to early stripping" - popd &>/dev/null || die - - eautoreconf - multilib_copy_sources -} - -build_contrib_module() { - # [] - pushd "${S}/contrib/slapd-modules/$1" &>/dev/null || die "pushd contrib/slapd-modules/$1" - einfo "Compiling contrib-module: $1" - local target="${2:-all}" - emake \ - LDAP_BUILD="${BUILD_DIR}" prefix="${EPREFIX}/usr" \ - CC="${CC}" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" \ - "$target" - popd &>/dev/null || die -} - -multilib_src_configure() { - # Optional Features - myconf+=( - --enable-option-checking - $(use_enable debug) - --enable-dynamic - $(use_enable syslog) - $(use_enable ipv6) - --enable-local - ) - - # Optional Packages - myconf+=( - --without-fetch - ) - - if ! use minimal && multilib_is_native_abi; then - # SLAPD (Standalone LDAP Daemon) Options - # overlay chaining requires '--enable-ldap' #296567 - # see https://www.openldap.org/doc/admin26/overlays.html#Chaining - myconf+=( - --enable-ldap=yes - --enable-slapd - $(use_enable cleartext) - $(use_enable crypt) - $(multilib_native_use_enable sasl spasswd) - --disable-slp - $(use_enable tcpd wrappers) - ) - if use experimental ; then - # connectionless ldap per bug #342439 - # connectionless is a unsupported feature according to Howard Chu - # see https://bugs.openldap.org/show_bug.cgi?id=9739 - append-cppflags -DLDAP_CONNECTIONLESS - - myconf+=( - --enable-dynacl - # ACI build as dynamic module not supported (yet) - --enable-aci=yes - ) - fi - - for option in modules rlookups slapi; do - myconf+=( --enable-${option} ) - done - - # static SLAPD backends - for backend in mdb; do - myconf+=( --enable-${backend}=yes ) - done - - # module SLAPD backends - for backend in asyncmeta dnssrv meta null passwd relay sock; do - # missing modules: wiredtiger (not available in portage) - myconf+=( --enable-${backend}=mod ) - done - - use perl && myconf+=( --enable-perl=mod ) - - if use odbc ; then - myconf+=( --enable-sql=mod ) - if use iodbc ; then - myconf+=( --with-odbc="iodbc" ) - append-cflags -I"${EPREFIX}"/usr/include/iodbc - else - myconf+=( --with-odbc="unixodbc" ) - fi - fi - - use overlays && myconf+=( --enable-overlays=mod ) - use autoca && myconf+=( --enable-autoca=mod ) || myconf+=( --enable-autoca=no ) - # compile-in the syncprov - myconf+=( --enable-syncprov=yes ) - - # SLAPD Password Module Options - myconf+=( - $(use_enable argon2) - ) - - # Optional Packages - myconf+=( - $(use_with systemd) - $(multilib_native_use_with sasl cyrus-sasl) - ) - else - myconf+=( - --disable-backends - --disable-slapd - --disable-mdb - --disable-overlays - --disable-autoca - --disable-syslog - --without-systemd - ) - fi - - # Library Generation & Linking Options - myconf+=( - $(use_enable static-libs static) - --enable-shared - --enable-versioning - --with-pic - ) - - # some cross-compiling tests don't pan out well. - tc-is-cross-compiler && myconf+=( - --with-yielding-select=yes - ) - - local ssl_lib="no" - if use ssl || ( ! use minimal && use samba ) ; then - if use gnutls ; then - myconf+=( --with-tls="gnutls" ) - else - # disable MD2 hash function - append-cflags -DOPENSSL_NO_MD2 - myconf+=( --with-tls="openssl" ) - fi - else - myconf+=( --with-tls="no" ) - fi - - tc-export AR CC CXX - - ECONF_SOURCE="${S}" econf \ - --libexecdir="${EPREFIX}"/usr/$(get_libdir)/openldap \ - --localstatedir="${EPREFIX}"/var \ - --runstatedir="${EPREFIX}"/run \ - --sharedstatedir="${EPREFIX}"/var/lib \ - "${myconf[@]}" - - # argument '--runstatedir' seems to have no effect therefore this workaround - sed -i \ - -e 's:^runstatedir=.*:runstatedir=${EPREFIX}/run:' \ - configure contrib/ldapc++/configure contrib/ldaptcl/configure || die 'could not set runstatedir' - - sed -i \ - -e "s:/var/run/sasl2/mux:${EPREFIX}/run/sasl2/mux:" \ - doc/guide/admin/security.sdf || die 'could not fix run path in doc' - - emake depend -} - -src_configure_cxx() { - # This needs the libraries built by the first build run. - # we have to run it AFTER the main build, not just after the main configure - local myconf_ldapcpp=( - --with-libldap="${E}/lib" - --with-ldap-includes="${S}/include" - ) - - mkdir -p "${BUILD_DIR}"/contrib/ldapc++ || die "could not create ${BUILD_DIR}/contrib/ldapc++ directory" - pushd "${BUILD_DIR}/contrib/ldapc++" &>/dev/null || die "pushd contrib/ldapc++" - local LDFLAGS=${LDFLAGS} - local CPPFLAGS=${CPPFLAGS} - append-ldflags -L"${BUILD_DIR}"/libraries/liblber/.libs \ - -L"${BUILD_DIR}"/libraries/libldap/.libs - append-cppflags -I"${BUILD_DIR}"/include - ECONF_SOURCE=${S}/contrib/ldapc++ \ - econf "${myconf_ldapcpp[@]}" - popd &>/dev/null || die "popd contrib/ldapc++" -} - -multilib_src_compile() { - tc-export AR CC CXX - emake CC="$(tc-getCC)" SHELL="${EPREFIX}"/bin/sh - - if ! use minimal && multilib_is_native_abi ; then - if use cxx ; then - einfo "Building contrib library: ldapc++" - src_configure_cxx - pushd "${BUILD_DIR}/contrib/ldapc++" &>/dev/null || die "pushd contrib/ldapc++" - emake - popd &>/dev/null || die - fi - - if use smbkrb5passwd ; then - einfo "Building contrib-module: smbk5pwd" - pushd "${S}/contrib/slapd-modules/smbk5pwd" &>/dev/null || die "pushd contrib/slapd-modules/smbk5pwd" - - MY_DEFS="-DDO_SHADOW" - if use samba ; then - MY_DEFS="${MY_DEFS} -DDO_SAMBA" - MY_KRB5_INC="" - fi - if use kerberos ; then - MY_DEFS="${MY_DEFS} -DDO_KRB5" - MY_KRB5_INC="$(krb5-config --cflags)" - fi - - emake \ - DEFS="${MY_DEFS}" \ - KRB5_INC="${MY_KRB5_INC}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" - popd &>/dev/null || die - fi - - if use overlays ; then - einfo "Building contrib-module: samba4" - pushd "${S}/contrib/slapd-modules/samba4" &>/dev/null || die "pushd contrib/slapd-modules/samba4" - - emake \ - LDAP_BUILD="${BUILD_DIR}" \ - CC="$(tc-getCC)" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" - popd &>/dev/null || die - fi - - if use kerberos ; then - if use kinit ; then - build_contrib_module "kinit" "kinit.c" "kinit" - fi - build_contrib_module "passwd" "pw-kerberos.la" - fi - - if use pbkdf2; then - build_contrib_module "passwd/pbkdf2" - fi - - if use sha2 ; then - build_contrib_module "passwd/sha2" - fi - - # We could build pw-radius if GNURadius would install radlib.h - build_contrib_module "passwd" "pw-netscape.la" - - #build_contrib_module "acl" "posixgroup.la" # example code only - #build_contrib_module "acl" "gssacl.la" # example code only, also needs kerberos - build_contrib_module "addpartial" - build_contrib_module "allop" - build_contrib_module "allowed" - build_contrib_module "autogroup" - build_contrib_module "cloak" - # build_contrib_module "comp_match" # really complex, adds new external deps, questionable demand - build_contrib_module "denyop" - build_contrib_module "dsaschema" - build_contrib_module "dupent" - build_contrib_module "lastbind" - # lastmod may not play well with other overlays - build_contrib_module "lastmod" - build_contrib_module "noopsrch" - #build_contrib_module "nops" https://bugs.gentoo.org/641576 - #build_contrib_module "nssov" RESO:LATER - build_contrib_module "trace" - # build slapi-plugins - pushd "${S}/contrib/slapi-plugins/addrdnvalues" &>/dev/null || die "pushd contrib/slapi-plugins/addrdnvalues" - einfo "Building contrib-module: addrdnvalues plugin" - $(tc-getCC) -shared \ - -I"${BUILD_DIR}"/include \ - -I../../../include \ - ${CFLAGS} \ - -fPIC \ - ${LDFLAGS} \ - -o libaddrdnvalues-plugin.so \ - addrdnvalues.c || die "Building libaddrdnvalues-plugin.so failed" - popd &>/dev/null || die - fi -} - -multilib_src_test() { - if multilib_is_native_abi; then - cd "tests" - pwd - # emake test => runs only lloadd & mdb, in serial; skips ldif,sql,wt,regression - # emake partests => runs ALL of the tests in parallel - # wt/WiredTiger is not supported in Gentoo - TESTS=( plloadd pmdb ) - #TESTS+=( pldif ) # not done by default, so also exclude here - #use odbc && TESTS+=( psql ) # not done by default, so also exclude here - emake "${TESTS[@]}" - fi -} - -multilib_src_install() { - emake CC="$(tc-getCC)" \ - DESTDIR="${D}" SHELL="${EPREFIX}"/bin/sh install - - if ! use minimal && multilib_is_native_abi; then - # openldap modules go here - # TODO: write some code to populate slapd.conf with moduleload statements - keepdir /usr/$(get_libdir)/openldap/openldap/ - - # initial data storage dir - keepdir /var/lib/openldap-data - use prefix || fowners ldap:ldap /var/lib/openldap-data - fperms 0700 /var/lib/openldap-data - - echo "OLDPF='${PF}'" > "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - echo "# do NOT delete this. it is used" >> "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - echo "# to track versions for upgrading." >> "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - - # use our config - rm "${ED}"/etc/openldap/slapd.conf - insinto /etc/openldap - newins "${FILESDIR}"/${PN}-2.6.3-slapd-conf slapd.conf - configfile="${ED}"/etc/openldap/slapd.conf - - # populate with built backends - einfo "populate config with built backends" - for x in "${ED}"/usr/$(get_libdir)/openldap/openldap/back_*.so; do - einfo "Adding $(basename ${x})" - sed -e "/###INSERTDYNAMICMODULESHERE###$/a# moduleload\t$(basename ${x})" -i "${configfile}" || die - done - sed -e "s:###INSERTDYNAMICMODULESHERE###$:# modulepath\t${EPREFIX}/usr/$(get_libdir)/openldap/openldap:" -i "${configfile}" - use prefix || fowners root:ldap /etc/openldap/slapd.conf - fperms 0640 /etc/openldap/slapd.conf - cp "${configfile}" "${configfile}".default || die - - # install our own init scripts and systemd unit files - einfo "Install init scripts" - sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd-initd-2.4.40-r2 > "${T}"/slapd || die - doinitd "${T}"/slapd - newconfd "${FILESDIR}"/slapd-confd-2.6.1 slapd - - if use systemd; then - # The systemd unit uses Type=notify, so it is useless without USE=systemd - einfo "Install systemd service" - rm -rf "${ED}"/{,usr/}lib/systemd - sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd-2.6.1.service > "${T}"/slapd.service || die - systemd_dounit "${T}"/slapd.service - systemd_install_serviced "${FILESDIR}"/slapd.service.conf - newtmpfiles "${FILESDIR}"/slapd.tmpfilesd slapd.conf - fi - - # if built without SLP, we don't need to be before avahi - sed -i \ - -e '/before/{s/avahi-daemon//g}' \ - "${ED}"/etc/init.d/slapd \ - || die - - if use cxx ; then - einfo "Install the ldapc++ library" - cd "${BUILD_DIR}/contrib/ldapc++" || die - emake DESTDIR="${D}" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - cd "${S}"/contrib/ldapc++ || die - newdoc README ldapc++-README - fi - - if use smbkrb5passwd ; then - einfo "Install the smbk5pwd module" - cd "${S}/contrib/slapd-modules/smbk5pwd" || die - emake DESTDIR="${D}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - newdoc README smbk5pwd-README - fi - - if use overlays ; then - einfo "Install the samba4 module" - cd "${S}/contrib/slapd-modules/samba4" || die - emake DESTDIR="${D}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - newdoc README samba4-README - fi - - einfo "Installing contrib modules" - cd "${S}/contrib/slapd-modules" || die - for l in */*.la */*/*.la; do - [[ -e ${l} ]] || continue - libtool --mode=install cp ${l} \ - "${ED}"/usr/$(get_libdir)/openldap/openldap || \ - die "installing ${l} failed" - done - - dodoc "${FILESDIR}"/DB_CONFIG.fast.example - docinto contrib - doman */*.5 - #newdoc acl/README* - newdoc addpartial/README addpartial-README - newdoc allop/README allop-README - newdoc allowed/README allowed-README - newdoc autogroup/README autogroup-README - newdoc dsaschema/README dsaschema-README - newdoc passwd/README passwd-README - cd "${S}/contrib/slapi-plugins" || die - insinto /usr/$(get_libdir)/openldap/openldap - doins */*.so - docinto contrib - newdoc addrdnvalues/README addrdnvalues-README - - insinto /etc/openldap/schema - newins "${DISTDIR}"/${BIS_P} ${BIS_PN} - - docinto back-sock ; dodoc "${S}"/servers/slapd/back-sock/searchexample* - docinto back-perl ; dodoc "${S}"/servers/slapd/back-perl/SampleLDAP.pm - - dosbin "${S}"/contrib/slapd-tools/statslog - newdoc "${S}"/contrib/slapd-tools/README README.statslog - fi - - if ! use static-libs ; then - find "${ED}" \( -name '*.a' -o -name '*.la' \) -delete || die - fi -} - -multilib_src_install_all() { - dodoc ANNOUNCEMENT CHANGES COPYRIGHT README - docinto rfc ; dodoc doc/rfc/*.txt -} - -pkg_preinst() { - # keep old libs if any - preserve_old_lib /usr/$(get_libdir)/{liblber,libldap,libldap_r}-2.4$(get_libname 0) - # bug 440470, only display the getting started help there was no openldap before, - # or we are going to a non-minimal build - ! has_version net-nds/openldap || has_version 'net-nds/openldap[minimal]' - OPENLDAP_PRINT_MESSAGES=$((! $?)) -} - -pkg_postinst() { - if ! use minimal ; then - if use systemd; then - tmpfiles_process slapd.conf - fi - - # You cannot build SSL certificates during src_install that will make - # binary packages containing your SSL key, which is both a security risk - # and a misconfiguration if multiple machines use the same key and cert. - if use ssl; then - install_cert /etc/openldap/ssl/ldap - use prefix || chown ldap:ldap "${EROOT}"/etc/openldap/ssl/ldap.* - ewarn "Self-signed SSL certificates are treated harshly by OpenLDAP 2.[12]" - ewarn "Self-signed SSL certificates are treated harshly by OpenLDAP 2.[12]" - ewarn "add 'TLS_REQCERT allow' if you want to use them." - fi - - if use prefix; then - # Warn about prefix issues with slapd - eerror "slapd might NOT be usable on Prefix systems as it requires root privileges" - eerror "to start up, and requires that certain files directories be owned by" - eerror "ldap:ldap. As Prefix does not support changing ownership of files and" - eerror "directories, you will have to manually fix this yourself." - fi - - # These lines force the permissions of various content to be correct - if [[ -d "${EROOT}"/var/run/openldap ]]; then - use prefix || { chown ldap:ldap "${EROOT}"/var/run/openldap || die; } - chmod 0755 "${EROOT}"/var/run/openldap || die - fi - use prefix || chown root:ldap "${EROOT}"/etc/openldap/slapd.conf{,.default} - chmod 0640 "${EROOT}"/etc/openldap/slapd.conf{,.default} || die - use prefix || chown ldap:ldap "${EROOT}"/var/lib/openldap-data - fi - - if has_version 'net-nds/openldap[-minimal]' && ((${OPENLDAP_PRINT_MESSAGES})); then - elog "Getting started using OpenLDAP? There is some documentation available:" - elog "Gentoo Guide to OpenLDAP Authentication" - elog "(https://wiki.gentoo.org/wiki/Centralized_authentication_using_OpenLDAP)" - fi - - preserve_old_lib_notify /usr/$(get_libdir)/{liblber,libldap,libldap_r}-2.4$(get_libname 0) -} diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.4-r3.ebuild b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.4-r3.ebuild index 5e781e7012d..7194cc59760 100644 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.4-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.4-r3.ebuild @@ -6,7 +6,7 @@ EAPI=8 # Re cleanups: # 2.5.x is an LTS release so we want to keep it for a while. -inherit autotools flag-o-matic multibuild multilib multilib-minimal preserve-libs +inherit autotools flag-o-matic multilib multilib-minimal preserve-libs inherit ssl-cert toolchain-funcs systemd tmpfiles MY_PV="$(ver_rs 1-2 _)" diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.6-r2.ebuild b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.6-r2.ebuild index 965cce327fb..fd2f6205da4 100644 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.6-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.6-r2.ebuild @@ -6,7 +6,7 @@ EAPI=8 # Re cleanups: # 2.5.x is an LTS release so we want to keep it for a while. -inherit autotools flag-o-matic multibuild multilib multilib-minimal preserve-libs +inherit autotools flag-o-matic multilib multilib-minimal preserve-libs inherit ssl-cert toolchain-funcs systemd tmpfiles MY_PV="$(ver_rs 1-2 _)" @@ -149,6 +149,8 @@ PATCHES=( "${FILESDIR}"/${PN}-2.6.1-flags.patch "${FILESDIR}"/${PN}-2.6.1-fix-missing-mapping.patch "${FILESDIR}"/${PN}-2.6.6-fix-type-mismatch-lloadd.patch + "${FILESDIR}"/${PN}-2.6.x-gnutls-pointer-error.patch + "${FILESDIR}"/${PN}-2.6.x-slapd-pointer-types.patch ) openldap_filecount() { @@ -815,6 +817,7 @@ multilib_src_install() { multilib_src_install_all() { dodoc ANNOUNCEMENT CHANGES COPYRIGHT README docinto rfc ; dodoc doc/rfc/*.txt + rmdir -p "${D}"/var/openldap-lloadd # Created but not used by any part of current codebase. } pkg_preinst() { diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.6.ebuild b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.6.ebuild deleted file mode 100644 index e38e6c6522c..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.6.ebuild +++ /dev/null @@ -1,870 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Re cleanups: -# 2.5.x is an LTS release so we want to keep it for a while. - -inherit autotools flag-o-matic multibuild multilib multilib-minimal preserve-libs -inherit ssl-cert toolchain-funcs systemd tmpfiles - -MY_PV="$(ver_rs 1-2 _)" - -BIS_PN=rfc2307bis.schema -BIS_PV=20140524 -BIS_P="${BIS_PN}-${BIS_PV}" - -DESCRIPTION="LDAP suite of application and development tools" -HOMEPAGE="https://www.openldap.org/" -SRC_URI=" - https://gitlab.com/openldap/${PN}/-/archive/OPENLDAP_REL_ENG_${MY_PV}/${PN}-OPENLDAP_REL_ENG_${MY_PV}.tar.bz2 - mirror://gentoo/${BIS_P} -" -S="${WORKDIR}"/${PN}-OPENLDAP_REL_ENG_${MY_PV} - -LICENSE="OPENLDAP GPL-2" -# Subslot added for bug #835654 -SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" - -IUSE_DAEMON="argon2 +cleartext crypt experimental minimal samba tcpd" -IUSE_OVERLAY="overlays perl autoca" -IUSE_OPTIONAL="debug gnutls iodbc odbc sasl ssl selinux static-libs +syslog test" -IUSE_CONTRIB="kerberos kinit pbkdf2 sha2 smbkrb5passwd" -IUSE_CONTRIB="${IUSE_CONTRIB} cxx" -IUSE="systemd ${IUSE_DAEMON} ${IUSE_BACKEND} ${IUSE_OVERLAY} ${IUSE_OPTIONAL} ${IUSE_CONTRIB}" -REQUIRED_USE=" - cxx? ( sasl ) - pbkdf2? ( ssl ) - test? ( cleartext sasl ) - autoca? ( !gnutls ) - ?? ( test minimal ) - kerberos? ( ?? ( kinit smbkrb5passwd ) ) -" -RESTRICT="!test? ( test )" - -SYSTEM_LMDB_VER=0.9.31 -# openssl is needed to generate lanman-passwords required by samba -COMMON_DEPEND=" - kernel_linux? ( sys-apps/util-linux ) - ssl? ( - !gnutls? ( - >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] - ) - gnutls? ( - >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] - >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] - ) - ) - sasl? ( dev-libs/cyrus-sasl:= ) - !minimal? ( - dev-libs/libevent:= - dev-libs/libltdl - sys-fs/e2fsprogs - >=dev-db/lmdb-${SYSTEM_LMDB_VER}:= - argon2? ( app-crypt/argon2:= ) - crypt? ( virtual/libcrypt:= ) - tcpd? ( sys-apps/tcp-wrappers ) - odbc? ( !iodbc? ( dev-db/unixODBC ) - iodbc? ( dev-db/libiodbc ) ) - perl? ( dev-lang/perl:=[-build(-)] ) - samba? ( - dev-libs/openssl:0= - ) - smbkrb5passwd? ( - dev-libs/openssl:0= - kerberos? ( app-crypt/heimdal ) - ) - kerberos? ( - virtual/krb5 - kinit? ( !app-crypt/heimdal ) - ) - ) -" -DEPEND=" - ${COMMON_DEPEND} - sys-apps/groff -" -RDEPEND=" - ${COMMON_DEPEND} - selinux? ( sec-policy/selinux-ldap ) -" - -# The user/group are only used for running daemons which are -# disabled in minimal builds, so elide the accounts too. -BDEPEND=" - !minimal? ( - acct-group/ldap - acct-user/ldap - ) -" - -# for tracking versions -OPENLDAP_VERSIONTAG=".version-tag" -OPENLDAP_DEFAULTDIR_VERSIONTAG="/var/lib/openldap-data" - -MULTILIB_WRAPPED_HEADERS=( - # USE=cxx - /usr/include/LDAPAsynConnection.h - /usr/include/LDAPAttrType.h - /usr/include/LDAPAttribute.h - /usr/include/LDAPAttributeList.h - /usr/include/LDAPConnection.h - /usr/include/LDAPConstraints.h - /usr/include/LDAPControl.h - /usr/include/LDAPControlSet.h - /usr/include/LDAPEntry.h - /usr/include/LDAPEntryList.h - /usr/include/LDAPException.h - /usr/include/LDAPExtResult.h - /usr/include/LDAPMessage.h - /usr/include/LDAPMessageQueue.h - /usr/include/LDAPModList.h - /usr/include/LDAPModification.h - /usr/include/LDAPObjClass.h - /usr/include/LDAPRebind.h - /usr/include/LDAPRebindAuth.h - /usr/include/LDAPReferenceList.h - /usr/include/LDAPResult.h - /usr/include/LDAPSaslBindResult.h - /usr/include/LDAPSchema.h - /usr/include/LDAPSearchReference.h - /usr/include/LDAPSearchResult.h - /usr/include/LDAPSearchResults.h - /usr/include/LDAPUrl.h - /usr/include/LDAPUrlList.h - /usr/include/LdifReader.h - /usr/include/LdifWriter.h - /usr/include/SaslInteraction.h - /usr/include/SaslInteractionHandler.h - /usr/include/StringList.h - /usr/include/TlsOptions.h -) - -PATCHES=( - "${FILESDIR}"/${PN}-2.4.28-fix-dash.patch - "${FILESDIR}"/${PN}-2.6.1-system-mdb.patch - "${FILESDIR}"/${PN}-2.6.1-cloak.patch - "${FILESDIR}"/${PN}-2.6.1-flags.patch - "${FILESDIR}"/${PN}-2.6.1-fix-missing-mapping.patch -) - -openldap_filecount() { - local dir="$1" - find "${dir}" -type f ! -name '.*' ! -name 'DB_CONFIG*' | wc -l -} - -openldap_find_versiontags() { - # scan for all datadirs - local openldap_datadirs=() - if [[ -f "${EROOT}"/etc/openldap/slapd.conf ]]; then - openldap_datadirs=( $(awk '{if($1 == "directory") print $2 }' "${EROOT}"/etc/openldap/slapd.conf) ) - fi - openldap_datadirs+=( ${OPENLDAP_DEFAULTDIR_VERSIONTAG} ) - - einfo - einfo "Scanning datadir(s) from slapd.conf and" - einfo "the default installdir for Versiontags" - einfo "(${OPENLDAP_DEFAULTDIR_VERSIONTAG} may appear twice)" - einfo - - # scan datadirs if we have a version tag - openldap_found_tag=0 - have_files=0 - for each in ${openldap_datadirs[@]} ; do - CURRENT_TAGDIR="${EROOT}$(sed "s:\/::" <<< ${each})" - CURRENT_TAG="${CURRENT_TAGDIR}/${OPENLDAP_VERSIONTAG}" - if [[ -d "${CURRENT_TAGDIR}" ]] && [[ "${openldap_found_tag}" == 0 ]] ; then - einfo "- Checking ${each}..." - if [[ -r "${CURRENT_TAG}" ]] ; then - # yey, we have one :) - einfo " Found Versiontag in ${each}" - source "${CURRENT_TAG}" - if [[ "${OLDPF}" == "" ]] ; then - eerror "Invalid Versiontag found in ${CURRENT_TAGDIR}" - eerror "Please delete it" - eerror - die "Please kill the invalid versiontag in ${CURRENT_TAGDIR}" - fi - - OLD_MAJOR=$(ver_cut 2-3 ${OLDPF}) - - [[ "$(openldap_filecount ${CURRENT_TAGDIR})" -gt 0 ]] && have_files=1 - - # are we on the same branch? - if [[ "${OLD_MAJOR}" != "${PV:0:3}" ]] ; then - ewarn " Versiontag doesn't match current major release!" - if [[ "${have_files}" == "1" ]] ; then - eerror " Versiontag says other major and you (probably) have datafiles!" - echo - openldap_upgrade_howto - else - einfo " No real problem, seems there's no database." - fi - else - einfo " Versiontag is fine here :)" - fi - else - einfo " Non-tagged dir ${each}" - [[ "$(openldap_filecount ${each})" -gt 0 ]] && have_files=1 - if [[ "${have_files}" == "1" ]] ; then - einfo " EEK! Non-empty non-tagged datadir, counting `ls -a ${each} | wc -l` files" - echo - - eerror - eerror "Your OpenLDAP Installation has a non tagged datadir that" - eerror "possibly contains a database at ${CURRENT_TAGDIR}" - eerror - eerror "Please export data if any entered and empty or remove" - eerror "the directory, installation has been stopped so you" - eerror "can take required action" - eerror - eerror "For a HOWTO on exporting the data, see instructions in the ebuild" - eerror - openldap_upgrade_howto - die "Please move the datadir ${CURRENT_TAGDIR} away" - fi - fi - einfo - fi - done - [[ "${have_files}" == "1" ]] && einfo "DB files present" || einfo "No DB files present" - - # Now we must check for the major version of sys-libs/db linked against. - # TODO: remove this as we dropped bdb support (gone upstream) in 2.6.1? - SLAPD_PATH="${EROOT}/usr/$(get_libdir)/openldap/slapd" - if [[ "${have_files}" == "1" ]] && [[ -f "${SLAPD_PATH}" ]]; then - OLDVER="$(/usr/bin/ldd ${SLAPD_PATH} \ - | awk '/libdb-/{gsub("^libdb-","",$1);gsub(".so$","",$1);print $1}')" - local fail=0 - - # This will not cover detection of cn=Config based configuration, but - # it's hopefully good enough. - if grep -sq '^backend.*shell' "${EROOT}"/etc/openldap/slapd.conf; then - eerror " OpenLDAP >= 2.5.x has dropped support for Shell backend." - eerror " You will need to migrate per upstream's migration notes" - eerror " at https://www.openldap.org/doc/admin25/appendix-upgrading.html." - eerror " Your existing database will not be accessible until it is" - eerror " converted away from backend shell!" - echo - fail=1 - fi - if has_version "${CATEGORY}/${PN}[berkdb]" || grep -sq '^backend.*(bdb|hdb)' /etc/openldap/slapd.conf; then - eerror " OpenLDAP >= 2.5.x has dropped support for Berkeley DB." - eerror " You will need to migrate per upstream's migration notes" - eerror " at https://www.openldap.org/doc/admin25/appendix-upgrading.html." - eerror " Your existing database will not be accessible until it is" - eerror " converted to mdb!" - echo - fail=1 - elif [[ -z "${OLDVER}" ]] && [[ -z "${NEWVER}" ]]; then - : - # Nothing wrong here. - elif [[ -z "${OLDVER}" ]] && [[ -n "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was not built against" - eerror " any version of sys-libs/db, but the new one will build" - eerror " against ${NEWVER} and your database may be inaccessible." - echo - fail=1 - elif [[ -n "${OLDVER}" ]] && [[ -z "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was built against" - eerror " sys-libs/db:${OLDVER}, but the new one will not be" - eerror " built against any version and your database may be" - eerror " inaccessible." - echo - fail=1 - elif [[ "${OLDVER}" != "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was built against" - eerror " sys-libs/db:${OLDVER}, but the new one will build against" - eerror " ${NEWVER} and your database would be inaccessible." - echo - fail=1 - fi - [[ "${fail}" == "1" ]] && openldap_upgrade_howto - fi - - echo - einfo - einfo "All datadirs are fine, proceeding with merge now..." - einfo -} - -openldap_upgrade_howto() { - local d l i - eerror - eerror "A (possible old) installation of OpenLDAP was detected," - eerror "installation will not proceed for now." - eerror - eerror "As major version upgrades can corrupt your database," - eerror "you need to dump your database and re-create it afterwards." - eerror - eerror "Additionally, rebuilding against different major versions of the" - eerror "sys-libs/db libraries will cause your database to be inaccessible." - eerror "" - d="$(date -u +%s)" - l="/root/ldapdump.${d}" - i="${l}.raw" - eerror " 1. /etc/init.d/slapd stop" - eerror " 2. slapcat -l ${i}" - eerror " 3. grep -E -v '^(entry|context)CSN:' <${i} >${l}" - eerror " 4. mv /var/lib/openldap-data/ /var/lib/openldap-data-backup/" - eerror " 5. emerge --update \=net-nds/${PF}" - eerror " 6. etc-update, and ensure that you apply the changes" - eerror " 7. slapadd -l ${l}" - eerror " 8. chown ldap:ldap /var/lib/openldap-data/*" - eerror " 9. /etc/init.d/slapd start" - eerror "10. Check that your data is intact." - eerror "11. Set up the new replication system." - eerror - if [[ "${FORCE_UPGRADE}" != "1" ]]; then - die "You need to upgrade your database first" - else - eerror "You have the magical FORCE_UPGRADE=1 in place." - eerror "Don't say you weren't warned about data loss." - fi -} - -pkg_setup() { - if ! use sasl && use cxx ; then - die "To build the ldapc++ library you must emerge openldap with sasl support" - fi - # Bug #322787 - if use minimal && ! has_version "net-nds/openldap" ; then - einfo "No datadir scan needed, openldap not installed" - elif use minimal && has_version 'net-nds/openldap[minimal]' ; then - einfo "Skipping scan for previous datadirs as requested by minimal useflag" - else - openldap_find_versiontags - fi -} - -src_prepare() { - # The system copy of dev-db/lmdb must match the version that this copy - # of OpenLDAP shipped with! See bug #588792. - # - # Fish out MDB_VERSION_MAJOR/MDB_VERSION_MINOR/MDB_VERSION_PATCH from - # the bundled lmdb's header to find out the version. - local bundled_lmdb_version=$(sed -En '/^#define MDB_VERSION_(MAJOR|MINOR|PATCH)(\s+)?/{s/[^0-9.]//gp}' \ - libraries/liblmdb/lmdb.h || die) - printf -v bundled_lmdb_version "%s." ${bundled_lmdb_version} - - if [[ ${SYSTEM_LMDB_VER}. != ${bundled_lmdb_version} ]] ; then - eerror "Source lmdb version: ${bundled_lmdb_version}" - eerror "Ebuild lmdb version: ${SYSTEM_LMDB_VER}" - die "Ebuild needs to update SYSTEM_LMDB_VER!" - fi - - rm -r libraries/liblmdb || die 'could not removed bundled lmdb directory' - - local filename - for filename in doc/drafts/draft-ietf-ldapext-acl-model-xx.txt; do - iconv -f iso-8859-1 -t utf-8 "${filename}" > "${filename}.utf8" - mv "${filename}.utf8" "${filename}" - done - - default - - sed -i \ - -e "s:\$(localstatedir)/run:${EPREFIX}/run:" \ - -e '/MKDIR.*.(DESTDIR)\/run/d' \ - servers/slapd/Makefile.in || die 'adjusting slapd Makefile.in failed' - - pushd build &>/dev/null || die "pushd build" - einfo "Making sure upstream build strip does not do stripping too early" - sed -i.orig \ - -e '/^STRIP/s,-s,,g' \ - top.mk || die "Failed to remove too early stripping" - popd &>/dev/null || die - - # Fails with OpenSSL 3, bug #848894 - # https://bugs.openldap.org/show_bug.cgi?id=10009 - rm tests/scripts/test076-authid-rewrite || die - - eautoreconf - multilib_copy_sources -} - -build_contrib_module() { - # [] - pushd "${S}/contrib/slapd-modules/$1" &>/dev/null || die "pushd contrib/slapd-modules/$1" - einfo "Compiling contrib-module: $1" - local target="${2:-all}" - emake \ - LDAP_BUILD="${BUILD_DIR}" prefix="${EPREFIX}/usr" \ - CC="${CC}" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" \ - "${target}" - popd &>/dev/null || die -} - -multilib_src_configure() { - # Optional Features - myconf+=( - --enable-option-checking - $(use_enable debug) - --enable-dynamic - $(use_enable syslog) - --enable-ipv6 - --enable-local - ) - - # Optional Packages - myconf+=( - --without-fetch - ) - - if use experimental ; then - # connectionless ldap per bug #342439 - # connectionless is a unsupported feature according to Howard Chu - # see https://bugs.openldap.org/show_bug.cgi?id=9739 - # (see also bug #892009) - append-flags -DLDAP_CONNECTIONLESS - fi - - if ! use minimal && multilib_is_native_abi; then - # SLAPD (Standalone LDAP Daemon) Options - # overlay chaining requires '--enable-ldap' #296567 - # see https://www.openldap.org/doc/admin26/overlays.html#Chaining - myconf+=( - --enable-ldap=yes - --enable-slapd - $(use_enable cleartext) - $(use_enable crypt) - $(multilib_native_use_enable sasl spasswd) - --disable-slp - $(use_enable tcpd wrappers) - ) - if use experimental ; then - myconf+=( - --enable-dynacl - # ACI build as dynamic module not supported (yet) - --enable-aci=yes - ) - fi - - for option in modules rlookups slapi; do - myconf+=( --enable-${option} ) - done - - # static SLAPD backends - for backend in mdb; do - myconf+=( --enable-${backend}=yes ) - done - - # module SLAPD backends - for backend in asyncmeta dnssrv meta null passwd relay sock; do - # missing modules: wiredtiger (not available in portage) - myconf+=( --enable-${backend}=mod ) - done - - use perl && myconf+=( --enable-perl=mod ) - - if use odbc ; then - myconf+=( --enable-sql=mod ) - if use iodbc ; then - myconf+=( --with-odbc="iodbc" ) - append-cflags -I"${EPREFIX}"/usr/include/iodbc - else - myconf+=( --with-odbc="unixodbc" ) - fi - fi - - use overlays && myconf+=( --enable-overlays=mod ) - use autoca && myconf+=( --enable-autoca=mod ) || myconf+=( --enable-autoca=no ) - # compile-in the syncprov - myconf+=( --enable-syncprov=yes ) - - # Build the standalone load balancer (lloadd) - also available as a slapd module; --enable-balancer=mod - myconf+=( --enable-balancer=yes ) - - # SLAPD Password Module Options - myconf+=( - $(use_enable argon2) - ) - - # Optional Packages - myconf+=( - $(use_with systemd) - $(multilib_native_use_with sasl cyrus-sasl) - ) - else - myconf+=( - --disable-backends - --disable-slapd - --disable-mdb - --disable-overlays - --disable-autoca - --disable-syslog - --without-systemd - ) - fi - - # Library Generation & Linking Options - myconf+=( - $(use_enable static-libs static) - --enable-shared - --enable-versioning - --with-pic - ) - - # some cross-compiling tests don't pan out well. - tc-is-cross-compiler && myconf+=( - --with-yielding-select=yes - ) - - local ssl_lib="no" - if use ssl || ( ! use minimal && use samba ) ; then - if use gnutls ; then - myconf+=( --with-tls="gnutls" ) - else - # disable MD2 hash function - append-cflags -DOPENSSL_NO_MD2 - myconf+=( --with-tls="openssl" ) - fi - else - myconf+=( --with-tls="no" ) - fi - - tc-export AR CC CXX - - ECONF_SOURCE="${S}" econf \ - --libexecdir="${EPREFIX}"/usr/$(get_libdir)/openldap \ - --localstatedir="${EPREFIX}"/var \ - --runstatedir="${EPREFIX}"/run \ - --sharedstatedir="${EPREFIX}"/var/lib \ - "${myconf[@]}" - - # argument '--runstatedir' seems to have no effect therefore this workaround - sed -i \ - -e 's:^runstatedir=.*:runstatedir=${EPREFIX}/run:' \ - configure contrib/ldapc++/configure contrib/ldaptcl/configure || die 'could not set runstatedir' - - sed -i \ - -e "s:/var/run/sasl2/mux:${EPREFIX}/run/sasl2/mux:" \ - doc/guide/admin/security.sdf || die 'could not fix run path in doc' - - emake depend -} - -src_configure_cxx() { - # This needs the libraries built by the first build run. - # we have to run it AFTER the main build, not just after the main configure - local myconf_ldapcpp=( - --with-libldap="${E}/lib" - --with-ldap-includes="${S}/include" - ) - - mkdir -p "${BUILD_DIR}"/contrib/ldapc++ || die "could not create ${BUILD_DIR}/contrib/ldapc++ directory" - pushd "${BUILD_DIR}/contrib/ldapc++" &>/dev/null || die "pushd contrib/ldapc++" - - local LDFLAGS="${LDFLAGS}" - local CPPFLAGS="${CPPFLAGS}" - - append-ldflags -L"${BUILD_DIR}"/libraries/liblber/.libs -L"${BUILD_DIR}"/libraries/libldap/.libs - append-cppflags -I"${BUILD_DIR}"/include - - ECONF_SOURCE="${S}"/contrib/ldapc++ econf "${myconf_ldapcpp[@]}" - popd &>/dev/null || die "popd contrib/ldapc++" -} - -multilib_src_compile() { - tc-export AR CC CXX - emake CC="$(tc-getCC)" SHELL="${EPREFIX}"/bin/sh - - if ! use minimal && multilib_is_native_abi ; then - if use cxx ; then - einfo "Building contrib library: ldapc++" - src_configure_cxx - pushd "${BUILD_DIR}/contrib/ldapc++" &>/dev/null || die "pushd contrib/ldapc++" - emake - popd &>/dev/null || die - fi - - if use smbkrb5passwd ; then - einfo "Building contrib-module: smbk5pwd" - pushd "${S}/contrib/slapd-modules/smbk5pwd" &>/dev/null || die "pushd contrib/slapd-modules/smbk5pwd" - - MY_DEFS="-DDO_SHADOW" - if use samba ; then - MY_DEFS="${MY_DEFS} -DDO_SAMBA" - MY_KRB5_INC="" - fi - if use kerberos ; then - MY_DEFS="${MY_DEFS} -DDO_KRB5" - MY_KRB5_INC="$(krb5-config --cflags)" - fi - - emake \ - DEFS="${MY_DEFS}" \ - KRB5_INC="${MY_KRB5_INC}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" - popd &>/dev/null || die - fi - - if use overlays ; then - einfo "Building contrib-module: samba4" - pushd "${S}/contrib/slapd-modules/samba4" &>/dev/null || die "pushd contrib/slapd-modules/samba4" - - emake \ - LDAP_BUILD="${BUILD_DIR}" \ - CC="$(tc-getCC)" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" - popd &>/dev/null || die - fi - - if use kerberos ; then - if use kinit ; then - build_contrib_module "kinit" "kinit.c" "kinit" - fi - build_contrib_module "passwd" "pw-kerberos.la" - fi - - if use pbkdf2; then - build_contrib_module "passwd/pbkdf2" - fi - - if use sha2 ; then - build_contrib_module "passwd/sha2" - fi - - # We could build pw-radius if GNURadius would install radlib.h - build_contrib_module "passwd" "pw-netscape.la" - - #build_contrib_module "acl" "posixgroup.la" # example code only - #build_contrib_module "acl" "gssacl.la" # example code only, also needs kerberos - build_contrib_module "addpartial" - build_contrib_module "allop" - build_contrib_module "allowed" - build_contrib_module "autogroup" - build_contrib_module "cloak" - # build_contrib_module "comp_match" # really complex, adds new external deps, questionable demand - build_contrib_module "denyop" - build_contrib_module "dsaschema" - build_contrib_module "dupent" - build_contrib_module "lastbind" - # lastmod may not play well with other overlays - build_contrib_module "lastmod" - build_contrib_module "noopsrch" - #build_contrib_module "nops" https://bugs.gentoo.org/641576 - #build_contrib_module "nssov" RESO:LATER - build_contrib_module "trace" - # build slapi-plugins - pushd "${S}/contrib/slapi-plugins/addrdnvalues" &>/dev/null || die "pushd contrib/slapi-plugins/addrdnvalues" - einfo "Building contrib-module: addrdnvalues plugin" - $(tc-getCC) -shared \ - -I"${BUILD_DIR}"/include \ - -I../../../include \ - ${CPPFLAGS} \ - ${CFLAGS} \ - -fPIC \ - ${LDFLAGS} \ - -o libaddrdnvalues-plugin.so \ - addrdnvalues.c || die "Building libaddrdnvalues-plugin.so failed" - popd &>/dev/null || die - fi -} - -multilib_src_test() { - if multilib_is_native_abi; then - cd tests || die - pwd - - # Increase various test timeouts/delays, bug #894012 - # We can't just double everything as there's a cumulative effect. - export SLEEP0=2 # originally 1 - export SLEEP1=10 # originally 7 - export SLEEP2=20 # originally 15 - export TIMEOUT=16 # originally 8 - - # emake test => runs only lloadd & mdb, in serial; skips ldif,sql,wt,regression - # emake partests => runs ALL of the tests in parallel - # wt/WiredTiger is not supported in Gentoo - TESTS=( plloadd pmdb ) - #TESTS+=( pldif ) # not done by default, so also exclude here - #use odbc && TESTS+=( psql ) # not done by default, so also exclude here - - emake -Onone "${TESTS[@]}" - fi -} - -multilib_src_install() { - emake CC="$(tc-getCC)" \ - DESTDIR="${D}" SHELL="${EPREFIX}"/bin/sh install - - if ! use minimal && multilib_is_native_abi; then - # openldap modules go here - # TODO: write some code to populate slapd.conf with moduleload statements - keepdir /usr/$(get_libdir)/openldap/openldap/ - - # initial data storage dir - keepdir /var/lib/openldap-data - use prefix || fowners ldap:ldap /var/lib/openldap-data - fperms 0700 /var/lib/openldap-data - - echo "OLDPF='${PF}'" > "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - echo "# do NOT delete this. it is used" >> "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - echo "# to track versions for upgrading." >> "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - - # use our config - rm "${ED}"/etc/openldap/slapd.conf - insinto /etc/openldap - newins "${FILESDIR}"/${PN}-2.6.3-slapd-conf slapd.conf - configfile="${ED}"/etc/openldap/slapd.conf - - # populate with built backends - einfo "populate config with built backends" - for x in "${ED}"/usr/$(get_libdir)/openldap/openldap/back_*.so; do - einfo "Adding $(basename ${x})" - sed -e "/###INSERTDYNAMICMODULESHERE###$/a# moduleload\t$(basename ${x})" -i "${configfile}" || die - done - sed -e "s:###INSERTDYNAMICMODULESHERE###$:# modulepath\t${EPREFIX}/usr/$(get_libdir)/openldap/openldap:" \ - -i "${configfile}" || die - use prefix || fowners root:ldap /etc/openldap/slapd.conf - fperms 0640 /etc/openldap/slapd.conf - cp "${configfile}" "${configfile}".default || die - - # install our own init scripts and systemd unit files - einfo "Install init scripts" - sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd-initd-2.4.40-r2 > "${T}"/slapd || die - doinitd "${T}"/slapd - newconfd "${FILESDIR}"/slapd-confd-2.6.1 slapd - - if use systemd; then - # The systemd unit uses Type=notify, so it is useless without USE=systemd - einfo "Install systemd service" - rm -rf "${ED}"/{,usr/}lib/systemd - sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd-2.6.1.service > "${T}"/slapd.service || die - systemd_dounit "${T}"/slapd.service - systemd_install_serviced "${FILESDIR}"/slapd.service.conf - newtmpfiles "${FILESDIR}"/slapd.tmpfilesd slapd.conf - fi - - # if built without SLP, we don't need to be before avahi - sed -i \ - -e '/before/{s/avahi-daemon//g}' \ - "${ED}"/etc/init.d/slapd \ - || die - - if use cxx ; then - einfo "Install the ldapc++ library" - cd "${BUILD_DIR}/contrib/ldapc++" || die - emake DESTDIR="${D}" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - cd "${S}"/contrib/ldapc++ || die - newdoc README ldapc++-README - fi - - if use smbkrb5passwd ; then - einfo "Install the smbk5pwd module" - cd "${S}/contrib/slapd-modules/smbk5pwd" || die - emake DESTDIR="${D}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - newdoc README smbk5pwd-README - fi - - if use overlays ; then - einfo "Install the samba4 module" - cd "${S}/contrib/slapd-modules/samba4" || die - emake DESTDIR="${D}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - newdoc README samba4-README - fi - - einfo "Installing contrib modules" - cd "${S}/contrib/slapd-modules" || die - for l in */*.la */*/*.la; do - [[ -e ${l} ]] || continue - libtool --mode=install cp ${l} \ - "${ED}"/usr/$(get_libdir)/openldap/openldap || \ - die "installing ${l} failed" - done - - dodoc "${FILESDIR}"/DB_CONFIG.fast.example - docinto contrib - doman */*.5 - #newdoc acl/README* - newdoc addpartial/README addpartial-README - newdoc allop/README allop-README - newdoc allowed/README allowed-README - newdoc autogroup/README autogroup-README - newdoc dsaschema/README dsaschema-README - newdoc passwd/README passwd-README - cd "${S}/contrib/slapi-plugins" || die - insinto /usr/$(get_libdir)/openldap/openldap - doins */*.so - docinto contrib - newdoc addrdnvalues/README addrdnvalues-README - - insinto /etc/openldap/schema - newins "${DISTDIR}"/${BIS_P} ${BIS_PN} - - docinto back-sock ; dodoc "${S}"/servers/slapd/back-sock/searchexample* - docinto back-perl ; dodoc "${S}"/servers/slapd/back-perl/SampleLDAP.pm - - dosbin "${S}"/contrib/slapd-tools/statslog - newdoc "${S}"/contrib/slapd-tools/README README.statslog - fi - - if ! use static-libs ; then - find "${ED}" \( -name '*.a' -o -name '*.la' \) -delete || die - fi -} - -multilib_src_install_all() { - dodoc ANNOUNCEMENT CHANGES COPYRIGHT README - docinto rfc ; dodoc doc/rfc/*.txt -} - -pkg_preinst() { - # keep old libs if any - preserve_old_lib /usr/$(get_libdir)/{liblber,libldap,libldap_r}-2.4$(get_libname 0) - # bug 440470, only display the getting started help there was no openldap before, - # or we are going to a non-minimal build - ! has_version net-nds/openldap || has_version 'net-nds/openldap[minimal]' - OPENLDAP_PRINT_MESSAGES=$((! $?)) -} - -pkg_postinst() { - if ! use minimal ; then - if use systemd; then - tmpfiles_process slapd.conf - fi - - # You cannot build SSL certificates during src_install that will make - # binary packages containing your SSL key, which is both a security risk - # and a misconfiguration if multiple machines use the same key and cert. - if use ssl; then - install_cert /etc/openldap/ssl/ldap - use prefix || chown ldap:ldap "${EROOT}"/etc/openldap/ssl/ldap.* - ewarn "Self-signed SSL certificates are treated harshly by OpenLDAP 2.[12]" - ewarn "Self-signed SSL certificates are treated harshly by OpenLDAP 2.[12]" - ewarn "add 'TLS_REQCERT allow' if you want to use them." - fi - - if use prefix; then - # Warn about prefix issues with slapd - eerror "slapd might NOT be usable on Prefix systems as it requires root privileges" - eerror "to start up, and requires that certain files directories be owned by" - eerror "ldap:ldap. As Prefix does not support changing ownership of files and" - eerror "directories, you will have to manually fix this yourself." - fi - - # These lines force the permissions of various content to be correct - if [[ -d "${EROOT}"/var/run/openldap ]]; then - use prefix || { chown ldap:ldap "${EROOT}"/var/run/openldap || die; } - chmod 0755 "${EROOT}"/var/run/openldap || die - fi - use prefix || chown root:ldap "${EROOT}"/etc/openldap/slapd.conf{,.default} - chmod 0640 "${EROOT}"/etc/openldap/slapd.conf{,.default} || die - use prefix || chown ldap:ldap "${EROOT}"/var/lib/openldap-data - fi - - if has_version 'net-nds/openldap[-minimal]' && ((${OPENLDAP_PRINT_MESSAGES})); then - elog "Getting started using OpenLDAP? There is some documentation available:" - elog "Gentoo Guide to OpenLDAP Authentication" - elog "(https://wiki.gentoo.org/wiki/Centralized_authentication_using_OpenLDAP)" - fi - - preserve_old_lib_notify /usr/$(get_libdir)/{liblber,libldap,libldap_r}-2.4$(get_libname 0) -} diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.5-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.8.ebuild similarity index 95% rename from sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.5-r1.ebuild rename to sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.8.ebuild index 66a264d48ad..250d4ce0b66 100644 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.5-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.8.ebuild @@ -6,7 +6,7 @@ EAPI=8 # Re cleanups: # 2.5.x is an LTS release so we want to keep it for a while. -inherit autotools flag-o-matic multibuild multilib multilib-minimal preserve-libs +inherit autotools flag-o-matic multilib multilib-minimal preserve-libs inherit ssl-cert toolchain-funcs systemd tmpfiles MY_PV="$(ver_rs 1-2 _)" @@ -44,7 +44,7 @@ REQUIRED_USE=" " RESTRICT="!test? ( test )" -SYSTEM_LMDB_VER=0.9.31 +SYSTEM_LMDB_VER=0.9.33 # openssl is needed to generate lanman-passwords required by samba COMMON_DEPEND=" kernel_linux? ( sys-apps/util-linux ) @@ -148,6 +148,9 @@ PATCHES=( "${FILESDIR}"/${PN}-2.6.1-cloak.patch "${FILESDIR}"/${PN}-2.6.1-flags.patch "${FILESDIR}"/${PN}-2.6.1-fix-missing-mapping.patch + #"${FILESDIR}"/${PN}-2.6.6-fix-type-mismatch-lloadd.patch + "${FILESDIR}"/${PN}-2.6.x-gnutls-pointer-error.patch + #"${FILESDIR}"/${PN}-2.6.x-slapd-pointer-types.patch # included upstream ) openldap_filecount() { @@ -391,8 +394,11 @@ build_contrib_module() { einfo "Compiling contrib-module: $1" local target="${2:-all}" emake \ - LDAP_BUILD="${BUILD_DIR}" prefix="${EPREFIX}/usr" \ - CC="${CC}" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" \ + CC="${CC}" \ + LDAP_BUILD="${BUILD_DIR}" \ + libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" \ + prefix="${EPREFIX}/usr" \ + STRIP=/bin/true \ "${target}" popd &>/dev/null || die } @@ -414,6 +420,10 @@ multilib_src_configure() { $(multilib_native_use_with sasl cyrus-sasl) ) + # error: passing argument 3 of ‘ldap_bv2rdn’ from incompatible pointer type [-Wincompatible-pointer-types] + # expected ‘char **’ but argument is of type ‘const char **’ + #append-flags $(test-flags-CC -Wno-error=incompatible-pointer-types) + if use experimental ; then # connectionless ldap per bug #342439 # connectionless is a unsupported feature according to Howard Chu @@ -527,7 +537,9 @@ multilib_src_configure() { tc-export AR CC CXX - ECONF_SOURCE="${S}" econf \ + ECONF_SOURCE="${S}" \ + STRIP=/bin/true \ + econf \ --libexecdir="${EPREFIX}"/usr/$(get_libdir)/openldap \ --localstatedir="${EPREFIX}"/var \ --runstatedir="${EPREFIX}"/run \ @@ -563,13 +575,19 @@ src_configure_cxx() { append-ldflags -L"${BUILD_DIR}"/libraries/liblber/.libs -L"${BUILD_DIR}"/libraries/libldap/.libs append-cppflags -I"${BUILD_DIR}"/include - ECONF_SOURCE="${S}"/contrib/ldapc++ econf "${myconf_ldapcpp[@]}" + ECONF_SOURCE="${S}"/contrib/ldapc++ \ + STRIP=/bin/true \ + econf \ + "${myconf_ldapcpp[@]}" popd &>/dev/null || die "popd contrib/ldapc++" } multilib_src_compile() { tc-export AR CC CXX - emake CC="$(tc-getCC)" SHELL="${EPREFIX}"/bin/sh + emake \ + CC="$(tc-getCC)" \ + SHELL="${EPREFIX}"/bin/sh \ + STRIP="/bin/true" if ! use minimal && multilib_is_native_abi ; then if use cxx ; then @@ -607,8 +625,10 @@ multilib_src_compile() { pushd "${S}/contrib/slapd-modules/samba4" &>/dev/null || die "pushd contrib/slapd-modules/samba4" emake \ + CC="$(tc-getCC)" \ LDAP_BUILD="${BUILD_DIR}" \ - CC="$(tc-getCC)" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" + libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" \ + STRIP=/bin/true popd &>/dev/null || die fi @@ -688,8 +708,12 @@ multilib_src_test() { } multilib_src_install() { - emake CC="$(tc-getCC)" \ - DESTDIR="${D}" SHELL="${EPREFIX}"/bin/sh install + emake \ + CC="$(tc-getCC)" \ + DESTDIR="${D}" \ + SHELL="${EPREFIX}"/bin/sh \ + STRIP=/bin/true \ + install if ! use minimal && multilib_is_native_abi; then # openldap modules go here @@ -814,6 +838,7 @@ multilib_src_install() { multilib_src_install_all() { dodoc ANNOUNCEMENT CHANGES COPYRIGHT README docinto rfc ; dodoc doc/rfc/*.txt + rmdir -p "${D}"/var/openldap-lloadd # Created but not used by any part of current codebase. } pkg_preinst() { diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/alpha/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/alpha/package.use.mask index a3fc2a240cd..aaeb3a221a7 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/alpha/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/alpha/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Sam James (2024-08-23) +# dev-util/bpftool and/or sys-devel/bpf-toolchain not keyworded here +sys-apps/systemd bpf + # Hans de Graaff (2024-08-16) # Requires large parts of dev-ruby/rails to be keyworded dev-ruby/minitest-hooks test diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use.mask index b48476c9919..549f5f5664c 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use.mask @@ -1,10 +1,6 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -# Ulrich Müller (2024-08-03) -# Needs dev-libs/openspecfun which is not yet keyworded -sci-visualization/gnuplot amos - # Michał Górny (2024-07-24) # Full testing requires www-client/firefox. dev-python/selenium test-rust diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use.mask index 697d59d5c50..d2412f80632 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use.mask @@ -1,10 +1,6 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -# Ulrich Müller (2024-08-03) -# Needs dev-libs/openspecfun which is not yet keyworded -sci-visualization/gnuplot amos - # orbea (2024-07-19) # Unmask the dynarec flag which has arm64 asm. games-emulation/rmg -dynarec diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/package.use.mask index 1fa92e6e97c..dc92c7939f4 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/package.use.mask @@ -4,6 +4,10 @@ # NOTE: When masking a USE flag due to missing keywords, please file a keyword # request bug for the hppa arch. +# Sam James (2024-08-23) +# dev-util/bpftool and/or sys-devel/bpf-toolchain not keyworded here +sys-apps/systemd bpf + # Ulrich Müller (2024-08-03) # Needs dev-libs/openspecfun which is not yet keyworded sci-visualization/gnuplot amos diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/ia64/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/ia64/package.use.mask index f8f57449b9b..b906a322f81 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/ia64/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/ia64/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Sam James (2024-08-23) +# dev-util/bpftool and/or sys-devel/bpf-toolchain not keyworded here +sys-apps/systemd bpf + # Matt Jolly (2024-08-14) # QUIC dependencies are not keyworded net-misc/curl http3 quic curl_quic_openssl curl_quic_ngtcp2 diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/loong/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/loong/package.use.mask index 475887b6dd3..72ce670abb8 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/loong/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/loong/package.use.mask @@ -1,6 +1,19 @@ # Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Sam James (2024-08-23) +# dev-util/bpftool and/or sys-devel/bpf-toolchain not keyworded here +sys-apps/systemd bpf + +# WANG Xuerui (2024-08-22) +# dev-lang/spidermonkey gained JIT support for loong since version 107, +# but the nearest packaged version is 115. +>=dev-lang/spidermonkey-115 -jit + +# Andreas Sturmlechner (2024-08-19) +# kde-apps/kdesdk-thumbnailers is not yet keyworded +kde-apps/thumbnailers gettext + # Hans de Graaff (2024-08-18) # Requires large parts of dev-ruby/rails to be keyworded dev-ruby/minitest-hooks test @@ -125,7 +138,6 @@ dev-python/pyside6 3d location scxml app-office/libreoffice clang (2023-07-26) # MPV currently[1] has no plans to support >=lua5-3 making luajit diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/mips/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/mips/package.use.mask index ebb4e48d286..16a169bf12c 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/mips/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/mips/package.use.mask @@ -1,6 +1,36 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Arthur Zamarin (2024-08-25) +# simplify the dep tree +app-admin/syslog-ng amqp grpc kafka mongodb smtp +app-crypt/pinentry efl +app-text/doxygen gui +dev-build/cmake gui +dev-util/glade gjs +dev-util/pkgcheck emacs +dev-util/ragel doc +dev-vcs/git doc subversion +mail-mta/postfix mongodb +media-sound/liblc3 test +net-misc/rsync rrsync +net-firewall/nftables doc + +# Arthur Zamarin (2024-08-25) +# Some optional emacs dependencies are not keyworded. +app-editors/emacs gui mailutils + +# Arthur Zamarin (2024-08-25) +# net-libs/webkit-gtk has no mips keywords +app-editors/emacs xwidgets +dev-util/glade webkit + +# Arthur Zamarin (2024-08-25) +# alternatives not available on mips +app-alternatives/awk nawk +app-alternatives/bc gh +app-alternatives/lex reflex + # Arthur Zamarin (2024-07-05) # Avoid unkeyworded media-gfx/libimagequant dev-python/pillow imagequant diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/package.use.mask index 1a4bd8be7bd..7494caafa30 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/package.use.mask @@ -1,9 +1,9 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -# Ulrich Müller (2024-08-03) -# Needs dev-libs/openspecfun which is not yet keyworded -sci-visualization/gnuplot amos +# Andreas Sturmlechner (2024-08-19) +# kde-apps/kdesdk-thumbnailers is not yet keyworded +kde-apps/thumbnailers gettext # Thomas Bettler (2024-06-10) # requires dev-libs/apache-arrow which is net yet keyworded diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/package.use.mask index d0ccb441189..01db7ccd205 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/package.use.mask @@ -70,10 +70,6 @@ lxqt-base/lxqt-meta desktop-portal # impl there anyway. Please keep this in sync with use.stable.mask. dev-lang/python-exec -python_targets_pypy3 -# Georgy Yakovlev (2021-11-12) -# telepathy stack is not keyworded -dev-util/kdevelop reviewboard - # Sam James (2021-10-17) # Go doesn't support pie on ppc64, bug #818529 net-dns/dnscrypt-proxy pie diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/package.use.mask index a194f032c5c..289258c8373 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/package.use.mask @@ -1,10 +1,6 @@ # Copyright 2019-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -# Ulrich Müller (2024-08-03) -# Needs dev-libs/openspecfun which is not yet keyworded -sci-visualization/gnuplot amos - # Andreas Sturmlechner (2024-07-06) # KDE PIM is not keyworded here kde-apps/libkgapi:5 kf6compat diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/s390/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/s390/package.use.mask index 442b717d7b5..833ceeabf4a 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/s390/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/s390/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Sam James (2024-08-23) +# dev-util/bpftool and/or sys-devel/bpf-toolchain not keyworded here +sys-apps/systemd bpf + # Matt Jolly (2024-08-14) # QUIC dependencies are not keyworded net-misc/curl http3 quic curl_quic_openssl curl_quic_ngtcp2 diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/package.use.mask index e7032ba9fad..da631e3b0a7 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Sam James (2024-08-23) +# dev-util/bpftool and/or sys-devel/bpf-toolchain not keyworded here +sys-apps/systemd bpf + # Ulrich Müller (2024-08-03) # Needs dev-libs/openspecfun which is not yet keyworded sci-visualization/gnuplot amos diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.stable.mask index 1947aa4df1c..754bad07621 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.stable.mask @@ -20,7 +20,6 @@ # Andreas Sturmlechner (2024-07-21) # Need not as yet stable KF6-based counterparts (bug #934361) kde-apps/libkcddb kf6compat -kde-apps/libkcompactdisc kf6compat kde-apps/libksane kf6compat net-misc/kio-zeroconf kf6compat diff --git a/sdk_container/src/third_party/portage-stable/profiles/base/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/base/package.use.mask index 6c9bef5a32a..71cf794e08b 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/base/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/base/package.use.mask @@ -55,10 +55,6 @@ app-admin/testdisk ewf # Wayland client is broken/deprecated by upstream. Bug 930197. >=net-misc/freerdp-3 wayland -# Andreas Sturmlechner (2024-04-06) -# Depends on last-rited kde-apps/ktp-accounts-kcm -dev-util/kdevelop reviewboard - # Michał Górny (2024-03-26) # sys-auth/pam_ssh is being last rited, bug #892031. sys-auth/pambase pam_ssh diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/ppc/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/default/linux/ppc/package.use.mask index 631cbe4ff0c..eff2ddb9a45 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/default/linux/ppc/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/ppc/package.use.mask @@ -1,6 +1,10 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Mattéo Rossillol‑‑Laruelle (2024-08-06) +# Requires sys-libs/libcxx. +dev-cpp/benchmark libcxx + # Mike Frysinger (2014-10-21) # This target supports ASAN/etc... #504200. sys-devel/gcc -sanitize diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/ppc64/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/default/linux/ppc64/package.use.mask index 631cbe4ff0c..eff2ddb9a45 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/default/linux/ppc64/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/ppc64/package.use.mask @@ -1,6 +1,10 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Mattéo Rossillol‑‑Laruelle (2024-08-06) +# Requires sys-libs/libcxx. +dev-cpp/benchmark libcxx + # Mike Frysinger (2014-10-21) # This target supports ASAN/etc... #504200. sys-devel/gcc -sanitize diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/ppc64le/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/default/linux/ppc64le/package.use.mask index 631cbe4ff0c..eff2ddb9a45 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/default/linux/ppc64le/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/ppc64le/package.use.mask @@ -1,6 +1,10 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Mattéo Rossillol‑‑Laruelle (2024-08-06) +# Requires sys-libs/libcxx. +dev-cpp/benchmark libcxx + # Mike Frysinger (2014-10-21) # This target supports ASAN/etc... #504200. sys-devel/gcc -sanitize diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/make.defaults b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/make.defaults index e842848fb66..983829cdc51 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/make.defaults +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/make.defaults @@ -1,5 +1,5 @@ # Copyright 2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -CHOST="i686-pc-linux-gnut64" +CHOST="i686-pc_t64-linux-gnu" CHOST_x86="${CHOST}" diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/package.accept_keywords b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/package.accept_keywords new file mode 100644 index 00000000000..f065ec275ca --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/x86/23.0/i686/time64/package.accept_keywords @@ -0,0 +1,6 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# For better testing of time64, we use gcc-14 here already in an otherwise stable +# environment. +sys-devel/gcc:14 ~x86 diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/llvm/package.accept_keywords b/sdk_container/src/third_party/portage-stable/profiles/features/llvm/package.accept_keywords deleted file mode 100644 index 231f5393301..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/features/llvm/package.accept_keywords +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright 2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# this version contains the path fix for portage needed for stage1 builds -=sys-apps/portage-3.0.33 ~amd64 - -# this version contains the fix for CPP resetting -=sys-libs/glibc-2.35-r10 ~amd64 diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/llvm/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/features/llvm/package.use.mask index 44b8fcea3c5..9559cea0d1f 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/llvm/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/features/llvm/package.use.mask @@ -1,6 +1,11 @@ # Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Jimi Huotari (2024-08-22) +# Fails to compile due to a pre-built binary. +# Gentoo bug: 922163 +media-video/obs-studio browser + # Sam James (2023-07-22) # Doesn't call llvm-profdata so fails. sys-devel/binutils pgo diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.mask b/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.mask index a31c6934656..cdd861ded19 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.mask @@ -1,6 +1,12 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Sam James (2024-08-21) +# systemtap needs porting to musl. Fails to compile in a few ways. +# See bug #925857. +dev-debug/systemtap +sys-apps/tuned + # Robert Förster (2024-05-06) # needs mongodb net-wireless/unifi diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.use.mask index fc7357eef0b..1bae192c2ab 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.use.mask @@ -1,6 +1,20 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Ian Jordan (2024-08-22) +# Browser uses a prebuilt binary built against glibc (bug #934005) +media-video/obs-studio browser + +# Sam James (2024-08-21) +# dev-debug/systemtap doesn't work on musl +app-emulation/libvirt dtrace +gui-libs/neatvnc tracing +gui-apps/wayvnc tracing + +# Mattéo Rossillol‑‑Laruelle (2024-08-06) +# Requires sys-libs/libcxx. +dev-cpp/benchmark libcxx + # Andrew Ammerlaan (2024-07-25) # Requires systemd-detect-virt app-emulation/virt-firmware test diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/musl/use.mask b/sdk_container/src/third_party/portage-stable/profiles/features/musl/use.mask index 8188a9fef81..36a3df9cb46 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/musl/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/features/musl/use.mask @@ -1,10 +1,14 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Select the correct ELIBC -elibc_musl elibc_glibc +# Sam James (2024-08-21) +# dev-debug/systemtap doesn't work on musl +systemtap + # Sam James (2022-10-04) # Mask USE flags which pull in a binary package linked against glibc (rolling # mask, use for all such packages) diff --git a/sdk_container/src/third_party/portage-stable/profiles/package.mask b/sdk_container/src/third_party/portage-stable/profiles/package.mask index 300e0b820c5..931028fca3f 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/package.mask @@ -33,6 +33,24 @@ #--- END OF EXAMPLES --- +# Andreas Sturmlechner (2024-08-25) +# Broken with current Plasma 5 version, not ported to Plasma 6. +# Removal on 2024-09-24. +kde-misc/latte-dock + +# Florian Schmaus (2024-08-23) +# Has a serious bug that causes synced directories to end up world read- +# and writeable. See https://github.com/nextcloud/desktop/issues/6863 +>=net-misc/nextcloud-client-3.13.1 + +# William Hubbs (2024-08-21) +# Dead upstream, multiple related bugs in Gentoo. +# Removal on 2024-09-20 +# Bug #575478, #611846, #814551, #892653, #904989, #934410, #935656, +# #938262 +# Treeclean request: #938282 +sys-process/runit + # Arsen Arsenović (2024-08-02) # Guile rework masks. Mask all packages or package versions that are # being bumped as part of the Guile reslotting process. @@ -67,11 +85,6 @@ app-text/cuneiform # Removal on 2024-09-10. Bugs #937775, #675028. media-sound/SmarTagger -# Andreas Sturmlechner (2024-08-10) -# Mask KF6-based version for now until actual KF6-based consumers -# also move to ::gentoo. -~dev-util/kdevelop-pg-qt-2.3.0 - # Pacho Ramos (2024-08-09) # Mask until we find out a way to deal better with the upstream # introduced circular dep, bug #937616 @@ -172,56 +185,6 @@ dev-debug/gdb-apple # https://lore.kernel.org/netfilter-devel/Zp7FqL_YK3p_dQ8B@egarver-mac/ =net-firewall/nftables-1.1.0 -# Sam James (2024-07-24) -# Fails to build with GCC 15, several open bugs -# including test failures. Unpackaged by others. -# Removal on 2024-08-23. Bug #936581. -app-accessibility/epos - -# David Seifert (2024-07-22) -# Unmaintained, replaced by app-portage/pram which has more features -# and works better for merging PRs. Removal on 2024-08-21. -dev-perl/Gentoo-App-Pram - -# Andreas Sturmlechner (2024-07-21) -# No more revdeps after net-libs/telepathy-accounts-signon last-rites. -# Removal on 2024-08-20. -net-libs/libsignon-glib - -# Hans de Graaff (2024-07-21) -# Obsolete slots that are no longer used by any cucumber -# version. Removal on 2024-08-21. -dev-util/cucumber-core:10 -dev-util/cucumber-cucumber-expressions:16 -dev-util/cucumber-gherking:22 -dev-util/cucumber-html-formatter:20 - -# Arthur Zamarin (2024-07-20) -# EAPI=6, fails to apply patch during src_prepare. -# Removal on 2024-08-19. Bugs #936398, #908957, #908959. -media-video/raspberrypi-omxplayer - -# Arthur Zamarin (2024-07-19) -# EAPI=6 games. Feel free to drop any package after bumping it's EAPI. -# Removal on 2024-08-18. Bug #936299. -games-arcade/sdl-sopwith -games-arcade/syobon -games-arcade/wop -games-mud/crystal -games-mud/gmudix -games-mud/kildclient -games-puzzle/color-lines -games-puzzle/hangman -games-puzzle/scramble -games-puzzle/zaz -games-simulation/cannonsmash -games-strategy/crimson - -# Hans de Graaff (2024-07-17) -# Obsolete slot. Please use a newer slot instead. No reverse -# dependencies left. Removal on 2024-08-17. -dev-ruby/rmagick:4 - # Leonardo Hernández Hernández (2024-07-07) # New major ffmpeg version. Tracker bug #928905. >=media-video/ffmpeg-7.0 diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/sunos/solaris/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/prefix/sunos/solaris/package.use.mask index c7843ea3d55..ab2b27c9ac4 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/sunos/solaris/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/prefix/sunos/solaris/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Fabian Groffen (2024-08-20) +# quic code fails to compile, seems Linux minded +net-misc/curl http3 quic curl_quic_openssl + # Fabian Groffen (2024-07-21) # Python integration breaks over C++ standards conflict(s) that Python # headers try to change diff --git a/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/gnu-efi-3.0.18-r4.ebuild b/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/gnu-efi-3.0.18-r4.ebuild new file mode 100644 index 00000000000..b34d3a74c7d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/gnu-efi-3.0.18-r4.ebuild @@ -0,0 +1,128 @@ +# Copyright 2004-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic toolchain-funcs + +DESCRIPTION="Library for build EFI Applications" +HOMEPAGE="https://sourceforge.net/projects/gnu-efi/" +SRC_URI="https://downloads.sourceforge.net/gnu-efi/${P}.tar.bz2" + +# inc/, lib/ dirs (README.efilib) +# - BSD-2 +# gnuefi dir: +# - BSD (3-cluase): crt0-efi-ia32.S +# - GPL-2+ : setjmp_ia32.S +LICENSE="GPL-2+ BSD BSD-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~arm ~arm64 ~ia64 ~riscv ~x86" +IUSE="abi_x86_32 abi_x86_64 custom-cflags" +REQUIRED_USE=" + amd64? ( || ( abi_x86_32 abi_x86_64 ) ) + x86? ( || ( abi_x86_32 abi_x86_64 ) ) +" + +# for ld.bfd and objcopy +BDEPEND="sys-devel/binutils" + +# These objects get run early boot (i.e. not inside of Linux), +# so doing these QA checks on them doesn't make sense. +QA_EXECSTACK="usr/*/lib*efi.a:* usr/*/crt*.o" +RESTRICT="strip" + +PATCHES=( + "${FILESDIR}"/${P}-clang.patch + "${FILESDIR}"/${PN}-3.0.18-remove-linux-headers.patch +) + +check_and_set_objcopy() { + if [[ ${MERGE_TYPE} != "binary" ]]; then + # bug #931792 + # llvm-objcopy does not support EFI target, try to use binutils objcopy or fail + tc-export OBJCOPY + OBJCOPY="${OBJCOPY/llvm-/}" + LANG=C LC_ALL=C "${OBJCOPY}" --help | grep -q '\ /dev/null | grep ^install: | cut -f2 -d' ')/include + elif tc-is-clang; then + CPPINCLUDEDIR=$(LANG=C ${CC} -print-resource-dir 2> /dev/null)/include + fi + append-cflags "-nostdinc -isystem ${CPPINCLUDEDIR} -isystem ${ESYSROOT}/usr/include" + + if use amd64 || use x86; then + use abi_x86_32 && CHOST=i686 ABI=x86 efimake + use abi_x86_64 && CHOST=x86_64 ABI=amd64 efimake + else + efimake + fi +} + +src_install() { + if use amd64 || use x86; then + use abi_x86_32 && CHOST=i686 ABI=x86 efimake INSTALLROOT="${D}" install + use abi_x86_64 && CHOST=x86_64 ABI=amd64 efimake INSTALLROOT="${D}" install + else + efimake INSTALLROOT="${D}" install + fi + einstalldocs +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/Manifest b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/Manifest index 776e8cf74bd..f7eb20a2c60 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/Manifest @@ -22,4 +22,5 @@ DIST binutils-2.42-patches-3.tar.xz 34768 BLAKE2B e4bfaf3b42147408a8a3dcb00f5037 DIST binutils-2.42-patches-6.tar.xz 50664 BLAKE2B f13b65a761cfba80caf2e4740c6383b40305558365b950fba22aca95a104e799e8bd476082f36fb9288de4f224b09f317792c1444e549c40d15a4b64cdf61989 SHA512 1203eca0a9e622411eac377509de8fd0db3ffcb282ac38ab7a0369b166cc1091197daad85b51b145b34a4832f1a1a4d573c8254e8d67aeb22f35adb1ab3ece1f DIST binutils-2.42.tar.xz 27567160 BLAKE2B e67a5c028fba70e70088fd11b38ec8c9c4ed5a019badefda25abeb6275997b16f0891e7ff3424c4b82bbfae92e8992669826920dd53df61cd48469d8f7cd5bd1 SHA512 155f3ba14cd220102f4f29a4f1e5cfee3c48aa03b74603460d05afb73c70d6657a9d87eee6eb88bf13203fe6f31177a5c9addc04384e956e7da8069c8ecd20a6 DIST binutils-2.43-patches-1.tar.xz 11644 BLAKE2B 578ee67c3c5e67f9191a31a5c83ffcc781f757f8aaee3eea14d052db427cdd2bc769977dba16e9a8c653dcc4a94f11c149898683945d5035d0beeac128045b1a SHA512 e6db4eaf4fbea366e607a7e9a56e20851fcc34664532fd6aa1f0818271c3e2687eada3daca482e211a2b3e36be85e7e0b23158caaa0fdf9785d13a9156e8c734 +DIST binutils-2.43-patches-2.tar.xz 35184 BLAKE2B fa35c9f182c7ae0fed28614f47618d1563a58f223fd1805f348b618c1fbf039a444e44d88f46d040b6971e481e0da882e5c4492fd167d17bf39579d87a446434 SHA512 a7e167d3f6a2c08f19af4685d90a6160a1a52f1a87f5660fb6d80ec664033829c0eacad0d77b1306620e50ff89d1f9f63a7c2b064ad9775400f0cb0eba3159a4 DIST binutils-2.43.tar.xz 28175768 BLAKE2B 28b0a04a28273b76eab2d00e00160be889f155f77f5a9d8759ef8dce505c97e97641bf7ec70b92b731b520570a02b06e04e8215b068fcb1bb2573e9ef24732d9 SHA512 93e063163e54d6a6ee2bd48dc754270bf757a3635b49a702ed6b310e929e94063958512d191e66beaf44275f7ea60865dbde138b624626739679fcc306b133bb diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.43-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.43-r1.ebuild new file mode 100644 index 00000000000..ef196ce0629 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.43-r1.ebuild @@ -0,0 +1,557 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs + +DESCRIPTION="Tools necessary to build programs" +HOMEPAGE="https://sourceware.org/binutils/" + +LICENSE="GPL-3+" +IUSE="cet debuginfod doc gold gprofng hardened multitarget +nls pgo +plugins static-libs test vanilla zstd" + +# Variables that can be set here (ignored for live ebuilds) +# PATCH_VER - the patchset version +# Default: empty, no patching +# PATCH_BINUTILS_VER - the binutils version in the patchset name +# - Default: PV +# PATCH_DEV - Use download URI https://dev.gentoo.org/~{PATCH_DEV}/distfiles/... +# for the patchsets + +PATCH_VER=2 +PATCH_DEV=dilfridge + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + SLOT=${PV} +elif [[ ${PV} == *9999 ]]; then + inherit git-r3 + SLOT=$(ver_cut 1-2) +else + PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}} + PATCH_DEV=${PATCH_DEV:-dilfridge} + SRC_URI="mirror://gnu/binutils/binutils-${PV}.tar.xz https://sourceware.org/pub/binutils/releases/binutils-${PV}.tar.xz https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PV}.tar.xz" + [[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI} + https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" + SLOT=$(ver_cut 1-2) + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +# +# The cross-compile logic +# +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY} == cross-* ]] ; then + export CTARGET=${CATEGORY#cross-} + fi +fi +is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } + +# +# The dependencies +# +RDEPEND=" + >=sys-devel/binutils-config-3 + sys-libs/zlib + debuginfod? ( + dev-libs/elfutils[debuginfod(-)] + ) + zstd? ( app-arch/zstd:= ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + doc? ( sys-apps/texinfo ) + pgo? ( + dev-util/dejagnu + app-alternatives/bc + ) + test? ( + dev-util/dejagnu + app-alternatives/bc + ) + nls? ( sys-devel/gettext ) + zstd? ( virtual/pkgconfig ) + app-alternatives/lex + app-alternatives/yacc +" + +RESTRICT="!test? ( test )" + +MY_BUILDDIR=${WORKDIR}/build + +src_unpack() { + if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/binutils-patches.git" + EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git + git-r3_src_unpack + mv patches-git/9999 patch || die + + if [[ ${PV} != 9999 ]] ; then + EGIT_BRANCH=binutils-$(ver_cut 1)_$(ver_cut 2)-branch + fi + EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git" + S=${WORKDIR}/binutils + EGIT_CHECKOUT_DIR=${S} + git-r3_src_unpack + else + unpack ${P/-hppa64/}.tar.xz + + cd "${WORKDIR}" || die + unpack binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz + + # _p patch versions are Gentoo specific tarballs ... + local dir=${P%_p?} + dir=${dir/-hppa64/} + + S=${WORKDIR}/${dir} + fi + + cd "${WORKDIR}" || die + mkdir -p "${MY_BUILDDIR}" || die +} + +src_prepare() { + local patchsetname + if [[ ${PV} == 9999 ]] ; then + patchsetname="from git master" + elif [[ ${PV} == *9999 ]] ; then + patchsetname="from git branch ${EGIT_BRANCH}" + else + patchsetname="${PATCH_BINUTILS_VER}-${PATCH_VER}" + fi + + if [[ -n ${PATCH_VER} ]] || [[ ${PV} == *9999 ]] ; then + if ! use vanilla; then + einfo "Applying binutils patchset ${patchsetname}" + eapply "${WORKDIR}/patch" + einfo "Done." + + # This is applied conditionally for now just out of caution. + # It should be okay on non-prefix systems though. See bug #892549. + if is_cross || use prefix; then + eapply "${FILESDIR}"/binutils-2.43-linker-search-path.patch \ + "${FILESDIR}"/binutils-2.43-linker-prefix.patch + fi + fi + fi + + # Make sure our explicit libdir paths don't get clobbered, bug #562460 + sed -i \ + -e 's:@bfdlibdir@:@libdir@:g' \ + -e 's:@bfdincludedir@:@includedir@:g' \ + {bfd,opcodes}/Makefile.in || die + + # Apply things from PATCHES and user dirs + default + + # Run misc portage update scripts + gnuconfig_update + elibtoolize --portage --no-uclibc +} + +toolchain-binutils_bugurl() { + printf "https://bugs.gentoo.org/" +} +toolchain-binutils_pkgversion() { + printf "Gentoo ${PV}" + [[ -n ${PATCH_VER} ]] && printf " p${PATCH_VER}" +} + +src_configure() { + # See https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html + # Avoid really confusing logs from subconfigure spam, makes logs far + # more legible. + MAKEOPTS="--output-sync=line ${MAKEOPTS}" + + # Setup some paths + LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV} + INCPATH=${LIBPATH}/include + DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV} + if is_cross ; then + TOOLPATH=/usr/${CHOST}/${CTARGET} + else + TOOLPATH=/usr/${CTARGET} + fi + BINPATH=${TOOLPATH}/binutils-bin/${PV} + + # Make sure we filter $LINGUAS so that only ones that + # actually work make it through, bug #42033 + strip-linguas -u */po + + # Keep things sane + strip-flags + use cet && filter-flags -mindirect-branch -mindirect-branch=* + use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152 + + local x + echo + for x in CATEGORY CBUILD CHOST CTARGET CFLAGS LDFLAGS ; do + einfo "$(printf '%10s' ${x}:) ${!x}" + done + echo + + cd "${MY_BUILDDIR}" || die + local myconf=() + + if use plugins ; then + myconf+=( --enable-plugins ) + fi + # enable gold (installed as ld.gold) and ld's plugin architecture + if use gold ; then + myconf+=( --enable-gold ) + fi + + if use nls ; then + myconf+=( --without-included-gettext ) + else + myconf+=( --disable-nls ) + fi + + myconf+=( --with-system-zlib ) + + # For bi-arch systems, enable a 64bit bfd. This matches the bi-arch + # logic in toolchain.eclass. bug #446946 + # + # We used to do it for everyone, but it's slow on 32bit arches. bug #438522 + case $(tc-arch) in + ppc|sparc|x86) myconf+=( --enable-64-bit-bfd ) ;; + esac + + use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd ) + + [[ -n ${CBUILD} ]] && myconf+=( --build=${CBUILD} ) + + is_cross && myconf+=( + --with-sysroot="${EPREFIX}"/usr/${CTARGET} + --enable-poison-system-directories + ) + + myconf+=( --enable-secureplt ) + + # mips can't do hash-style=gnu ... + if [[ $(tc-arch) != mips ]] ; then + myconf+=( --enable-default-hash-style=gnu ) + fi + + myconf+=( + --prefix="${EPREFIX}"/usr + --host=${CHOST} + --target=${CTARGET} + --datadir="${EPREFIX}"${DATAPATH} + --datarootdir="${EPREFIX}"${DATAPATH} + --infodir="${EPREFIX}"${DATAPATH}/info + --mandir="${EPREFIX}"${DATAPATH}/man + --bindir="${EPREFIX}"${BINPATH} + --libdir="${EPREFIX}"${LIBPATH} + --libexecdir="${EPREFIX}"${LIBPATH} + --includedir="${EPREFIX}"${INCPATH} + # portage's econf() does not detect presence of --d-d-t + # because it greps only top-level ./configure. But not + # libiberty's or bfd's configure. + --disable-dependency-tracking + --disable-silent-rules + --enable-obsolete + --enable-shared + --enable-threads + --enable-relro + --enable-install-libiberty + --enable-textrel-check=$(usex hardened error warning) + # Things to think about + #--enable-deterministic-archives + --enable-new-dtags + --disable-jansson + --disable-werror + --with-bugurl="$(toolchain-binutils_bugurl)" + --with-pkgversion="$(toolchain-binutils_pkgversion)" + $(use_enable static-libs static) + $(use_with zstd) + + # Disable modules that are in a combined binutils/gdb tree, bug #490566 + --disable-{gdb,gdbserver,libbacktrace,libdecnumber,readline,sim} + # Strip out broken static link flags: https://gcc.gnu.org/PR56750 + --without-stage1-ldflags + # Change SONAME to avoid conflict across {native,cross}/binutils, binutils-libs. bug #666100 + --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st) + + $(use_with debuginfod) + + # Avoid automagic dev-libs/msgpack dep, bug #865875 + --without-msgpack + + # Allow user to opt into CET for host libraries. + # Ideally we would like automagic-or-disabled here. + # But the check does not quite work on i686: bug #760926. + $(use_enable cet) + + # We can enable this by default in future, but it's brand new + # in 2.39 with several bugs: + # - Doesn't build on musl (https://sourceware.org/bugzilla/show_bug.cgi?id=29477) + # - No man pages (https://sourceware.org/bugzilla/show_bug.cgi?id=29521) + # - Broken at runtime without Java (https://sourceware.org/bugzilla/show_bug.cgi?id=29479) + # - binutils-config (and this ebuild?) needs adaptation first (https://bugs.gentoo.org/865113) + $(use_enable gprofng) + ) + + case ${CTARGET} in + x86_64-*|aarch64*|arm64*|i[3456]*) + # These hardening options are available from 2.39+ but + # they unconditionally enable the behaviour even on arches + # where e.g. execstacks can't be avoided. + # See https://sourceware.org/bugzilla/show_bug.cgi?id=29592. + # + # TODO: Get the logic for this fixed upstream so it doesn't + # create impossible broken combinations on some arches, like mips. + # + # TODO: Get the logic for this fixed upstream so --disable-* works + # as expected. + myconf+=( + --enable-warn-execstack=yes + --enable-warn-rwx-segments=yes + ) + + if use hardened ; then + myconf+=( + # TOOD: breaks glibc test suite + #--enable-error-execstack=yes + #--enable-error-rwx-segments=yes + --enable-default-execstack=no + ) + fi + ;; + *) + ;; + esac + + if use elibc_musl ; then + # Override our earlier setting for musl, as textrels don't + # work there at all. See bug #707660. + myconf+=( + --enable-textrel-check=error + ) + fi + + if use test || { use pgo && tc-is-lto ; } ; then + # -Wa,* needs to be consistent everywhere or lto-wrapper will complain + filter-flags '-Wa,*' + fi + + if ! is_cross ; then + myconf+=( $(use_enable pgo pgo-build $(tc-is-lto && echo "lto" || echo "yes")) ) + + if use pgo ; then + # We let configure handle it for us because it has to run + # the testsuite later on for profiling, and LTO isn't compatible + # with the testsuite. + filter-lto + + export BUILD_CFLAGS="${CFLAGS}" + fi + fi + + ECONF_SOURCE="${S}" econf "${myconf[@]}" + + # Prevent makeinfo from running if doc is unset. + if ! use doc ; then + sed -i \ + -e '/^MAKEINFO/s:=.*:= true:' \ + Makefile || die + fi +} + +src_compile() { + cd "${MY_BUILDDIR}" || die + + # see Note [tooldir hack for ldscripts] + # see linker prefix patch + emake \ + tooldir="${EPREFIX}${TOOLPATH}" \ + gentoo_prefix=$(usex prefix-guest "${EPREFIX}"/usr /usr) \ + all + + # only build info pages if the user wants them + if use doc ; then + emake info + fi + + # we nuke the manpages when we're left with junk + # (like when we bootstrap, no perl -> no manpages) + find . -name '*.1' -a -size 0 -delete +} + +src_test() { + cd "${MY_BUILDDIR}" || die + + ( + # Tests don't expect LTO + filter-lto + + # lto-wrapper warnings which confuse tests + filter-flags '-Wa,*' + + # bug #637066 + filter-flags -Wall -Wreturn-type + + emake -k check \ + CFLAGS_FOR_TARGET="${CFLAGS_FOR_TARGET:-${CFLAGS}}" \ + CXXFLAGS_FOR_TARGET="${CXXFLAGS_FOR_TARGET:-${CXXFLAGS}}" \ + LDFLAGS_FOR_TARGET="${LDFLAGS_FOR_TARGET:-${LDFLAGS}}" \ + CFLAGS="${CFLAGS}" \ + CXXFLAGS="${CXXFLAGS}" \ + LDFLAGS="${LDFLAGS}" + ) +} + +src_install() { + local x d + + cd "${MY_BUILDDIR}" || die + + # see Note [tooldir hack for ldscripts] + emake DESTDIR="${D}" tooldir="${EPREFIX}${LIBPATH}" install + rm -rf "${ED}"/${LIBPATH}/bin || die + use static-libs || find "${ED}" -name '*.la' -delete + + # Newer versions of binutils get fancy with ${LIBPATH}, bug #171905 + cd "${ED}"/${LIBPATH} || die + for d in ../* ; do + [[ ${d} == ../${PV} ]] && continue + mv ${d}/* . || die + rmdir ${d} || die + done + + # Now we collect everything intp the proper SLOT-ed dirs + # When something is built to cross-compile, it installs into + # /usr/$CHOST/ by default ... we have to 'fix' that :) + if is_cross ; then + cd "${ED}"/${BINPATH} || die + for x in * ; do + mv ${x} ${x/${CTARGET}-} || die + done + + if [[ -d ${ED}/usr/${CHOST}/${CTARGET} ]] ; then + mv "${ED}"/usr/${CHOST}/${CTARGET}/include "${ED}"/${INCPATH} + mv "${ED}"/usr/${CHOST}/${CTARGET}/lib/* "${ED}"/${LIBPATH}/ + rm -r "${ED}"/usr/${CHOST}/{include,lib} + fi + fi + + insinto ${INCPATH} + local libiberty_headers=( + # Not all the libiberty headers. See libiberty/Makefile.in:install_to_libdir. + demangle.h + dyn-string.h + fibheap.h + hashtab.h + libiberty.h + objalloc.h + splay-tree.h + ) + doins "${libiberty_headers[@]/#/${S}/include/}" + if [[ -d ${ED}/${LIBPATH}/lib ]] ; then + mv "${ED}"/${LIBPATH}/lib/* "${ED}"/${LIBPATH}/ || die + rm -r "${ED}"/${LIBPATH}/lib || die + fi + + # Generate an env.d entry for this binutils + insinto /etc/env.d/binutils + cat <<-EOF > "${T}"/env.d + TARGET="${CTARGET}" + VER="${PV}" + LIBPATH="${EPREFIX}${LIBPATH}" + EOF + newins "${T}"/env.d ${CTARGET}-${PV} + + # Handle documentation + if ! is_cross ; then + cd "${S}" || die + dodoc README + + docinto bfd + dodoc bfd/ChangeLog* bfd/README bfd/PORTING bfd/TODO + + docinto binutils + dodoc binutils/ChangeLog binutils/NEWS binutils/README + + docinto gas + dodoc gas/ChangeLog* gas/CONTRIBUTORS gas/NEWS gas/README* + + docinto gprof + dodoc gprof/ChangeLog* gprof/TEST gprof/TODO gprof/bbconv.pl + + docinto ld + dodoc ld/ChangeLog* ld/README ld/NEWS ld/TODO + + docinto libiberty + dodoc libiberty/ChangeLog* libiberty/README + + docinto opcodes + dodoc opcodes/ChangeLog* + fi + + # Remove shared info pages + rm -f "${ED}"/${DATAPATH}/info/{dir,configure.info,standards.info} + + docompress "${DATAPATH}"/{info,man} + + # Trim all empty dirs + find "${ED}" -depth -type d -exec rmdir {} + 2>/dev/null +} + +pkg_postinst() { + # Make sure this ${CTARGET} has a binutils version selected + [[ -e ${EROOT}/etc/env.d/binutils/config-${CTARGET} ]] && return 0 + binutils-config ${CTARGET}-${PV} || eerror binutils-config returned an error +} + +pkg_postrm() { + local current_profile=$(binutils-config -c ${CTARGET}) + + # If no other versions exist, then uninstall for this + # target ... otherwise, switch to the newest version + # Note: only do this if this version is unmerged. We + # rerun binutils-config if this is a remerge, as + # we want the mtimes on the symlinks updated (if + # it is the same as the current selected profile) + if [[ ! -e ${EPREFIX}${BINPATH}/ld ]] && [[ ${current_profile} == ${CTARGET}-${PV} ]] ; then + local choice=$(binutils-config -l | grep ${CTARGET} | awk '{print $2}') + choice=${choice//$'\n'/ } + choice=${choice/* } + if [[ -z ${choice} ]] ; then + binutils-config -u ${CTARGET} || eerror binutils-config returned an error + else + binutils-config ${choice} || eerror binutils-config returned an error + fi + elif [[ $(CHOST=${CTARGET} binutils-config -c) == ${CTARGET}-${PV} ]] ; then + binutils-config ${CTARGET}-${PV} || eerror binutils-config returned an error + fi +} + +# Note [slotting support] +# ----------------------- +# Gentoo's layout for binutils files is non-standard as Gentoo +# supports slotted installation for binutils. Many tools +# still expect binutils to reside in known locations. +# binutils-config package restores symlinks into known locations, +# like: +# /usr/bin/${CTARGET}- +# /usr/bin/${CHOST}/${CTARGET}/lib/ldscrips +# /usr/include/ +# +# Note [tooldir hack for ldscripts] +# --------------------------------- +# Build system does not allow ./configure to tweak every location +# we need for slotting binutils hence all the shuffling in +# src_install(). This note is about SCRIPTDIR define handling. +# +# SCRIPTDIR defines 'ldscripts/' directory location. SCRIPTDIR value +# is set at build-time in ld/Makefile.am as: 'scriptdir = $(tooldir)/lib' +# and hardcoded as -DSCRIPTDIR='"$(scriptdir)"' at compile time. +# Thus we can't just move files around after compilation finished. +# +# Our goal is the following: +# - at build-time set scriptdir to point to symlinked location: +# ${TOOLPATH}: /usr/${CHOST} (or /usr/${CHOST}/${CTARGET} for cross-case) +# - at install-time set scriptdir to point to slotted location: +# ${LIBPATH}: /usr/$(get_libdir)/binutils/${CTARGET}/${PV} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/Manifest b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/Manifest index b37e2d0b1c7..8916477333e 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/Manifest @@ -11,6 +11,7 @@ DIST gcc-12-20240725.tar.xz 79899056 BLAKE2B 299edcf3a8fa35f15bcc850a5fd3be12c2d DIST gcc-12-20240801.tar.xz 79883084 BLAKE2B 9b50ef282b5d55b2c477e5edd83c70076e0fe81c533d15bb9e8a4ac2b53c855f2aac80774b6944e843c6433294fc1b6ff96d7f754c78f60623dc1068c5e0e844 SHA512 57699fe4749558e2116e38e6d3dd2427a790969789f7d510225a8306e601a5ef07ca0609ba948c79d540b52c51d29abadbb0195d66f709505d7b685fd11b3e1d DIST gcc-12-20240808.tar.xz 79911312 BLAKE2B a4958a9980e043d295df7ac75d4f0ac594b012e756133f20cc99a510d288f0be1b253e10c6ee08da36c881cce1bb545ce028ca2d65ba2e180672c09c377a9553 SHA512 ad57e71315ac4061b528a0ef6217298d545f7b48d1e73c9b543a7594c48bddf61098227aa0ad889aafb80f2532ce26d4a74b24a84c4cfa52e075415c0a512508 DIST gcc-12-20240815.tar.xz 79901552 BLAKE2B 5607c6e801b2defbd7f41d37c262e0fcf8562615c755fd34ddd91fdaf27811587e30ad8428a0fe6185f5a3d16382f40164a1f2be4eead5b9993514949afdb349 SHA512 68703cb8f3bb2f81c048bbe514e1e6669172ceea06ea4db02a3e97f6d51d9924d68898b0f4bdb6d383beb619e0e537bb57c9c4b3cd69fdb1e55173bb363af060 +DIST gcc-12-20240822.tar.xz 79887924 BLAKE2B 70312d8d2e474b67d60895eeeee82de151b2e3633435de53a6bc894ec96dc3cbc303a2676e2fddcd429f677ec25958d520807971bf1daa8df08c2f24e9f3de76 SHA512 d74ac04a3aa42c129e88dbbc47119a98e0c213bd36792f383a3716a6f55eaa09f97dfc4991656fed857acb975e427c1bcb443ed777833e3e3a08f18b405cb02f DIST gcc-12.3.0-musl-patches-1.tar.xz 3572 BLAKE2B c7bf65f7c9ea8023ddaac821ee2b778622fa310ac72a72b2f7032494a8f304eac86217f9204622e6c21aaef9952bece0d09bc126facd4f42b602927909815ab5 SHA512 babc279fea2c1fd4c018815f2f5630214fd46015ce9f365c28af242681d51818eaca30ce298eddcab1eed5ac5f2759e2b47b2335afab9d722b4469a6d4fec326 DIST gcc-12.3.0-patches-3.tar.xz 14852 BLAKE2B 7a5f1f43063b15f424099afd72096212fbbbc5151ff01f2de15dfb6e7cf274981c8cfaedba9ef61576c9096fb172fc550a7deb5cd7d9366fd249fd5dd3951f76 SHA512 aa89e4c2ae02f4fb42229ad5167f2eaa3a8fae51118645bf07199fe2124b9c83948590662b053d08002ef709fa870ea88315fd4ccbe4441a74e9cb62edcb82fb DIST gcc-12.4.0.tar.xz 83377372 BLAKE2B 0d5aa9995bf53fa2dc976a846240cfb8fafd125ad6c54f45dc9d770215eae3e9ea0db82a9a4f79c51b4d5f8461a1d730c17db6841bc31bd96dba11d9ed7544ae SHA512 5bd29402cad2deb5d9388d0236c7146414d77e5b8d5f1c6c941c7a1f47691c3389f08656d5f6e8e2d6717bf2c81f018d326f632fb468f42925b40bd217fc4853 @@ -22,6 +23,7 @@ DIST gcc-13-20240726.tar.xz 84475052 BLAKE2B d4a9d0d8957f9e728769af4a2c151eed833 DIST gcc-13-20240802.tar.xz 84475340 BLAKE2B e4d5492126745d396194d3bce0b1d64a7cdc55a5930ca0305b1e0eb2e8f5a18b795e349bfb0f2c6023bd3c2d869ec98638aad1b72d1bc728c8871f59d29cdc72 SHA512 6632b596c28c80cc7887c5821ed073d2bfa03eeef1ef59c31c5f187ceba9d8f40469350bfe754ec5834a89baf9721fb4f0e4b73c75262c00e5b888ca56c19f5a DIST gcc-13-20240809.tar.xz 84479208 BLAKE2B f551960e9ac11e4769fec2e5dfbb4b0a37c2bbaaa7310231e86d2e8f24548bc3bdbfb9977ff77b03b896b06bcf92b56a4f8f516f4dc7ef8fb6400b44e8dace8d SHA512 648719e9cf4908665164f2a8854371933f09d31def1d32ce58f77c51f64955bfcb8a1232ecf0edbdf7eeaaf5c079bf2b4234c6c3d94c7e741d6945590f4db944 DIST gcc-13-20240816.tar.xz 84492060 BLAKE2B f241e46e797cceca4d69fc626e2e91747c571c89d43c0cd631ecaa9ccabdbe9466078cba28c761527b4140ab994541967999f8bb0b4d30ef44288817169ca9ae SHA512 6b7b0feaf22359043cac89789a3c0477acb637c17c949f01a66dd6ea8c4975844a94c10ec2d56e5695b1ef0873c589c4f3c96fa70ae6a1ffc978d8b319d73f4f +DIST gcc-13-20240823.tar.xz 84482552 BLAKE2B e8f4d2fdbfb412ea4431cc0c94512cefc1658f3ea69e5d8d83dd633d4e5e42eda5bd2b7fa878177a47493eddc12bef4cde60d59223810c23ca232a2feed978d1 SHA512 302ee8901055faf26d02fd583d578c766986355e463cb9bd052ba86d0cf6b023f500e49c59817612ceaca9be33808a6bdad09eeaa1c9fcc58ea0917847921eff DIST gcc-13.2.0-musl-patches-2.tar.xz 5292 BLAKE2B c057d6574d03c05854edaa9f3fd40e9149662b04f3ac7a7db3eb078d73a7b535726d1bf52e5b12736dedb2f9898ad731f2e48a6421fcfbf7b90f929dee072fcb SHA512 a691da0c87c443a5e9d23731f4005f27871c5b12bc9102873ffa24d374aa7b9fbd187c4f5635d23fa9ffb17e351e76173c2d3fdf40646e355c4cb314b538de69 DIST gcc-13.2.0-patches-14.tar.xz 46928 BLAKE2B fce23bc5315f35b04a4976550c4b44578944a1b17e40c7553351eeb8a1ef0f3a2538da5a5e1ae6f37b784ff11bbd8a44b8f6eec542be63e34d984dee69e1cd81 SHA512 d7d52bb2915fd89c06b0134bede8db939cadbb1f2dcddf923bee2c3f9f577ff9e5e986b60420d892539edf82867a0d1bd635807814bc618b06a2b37cdaca893a DIST gcc-13.2.0-patches-16.tar.xz 44792 BLAKE2B 0b6b584d68e69685638695596b780249ca0119ad362747a82d886fd10f77ceb05d02e033e906a090c67f44b1977f40df6a95206d81a32dd15e2f5413c6c92496 SHA512 324d9e63d16c35d55edde20de049162c01b0d487b4548d06c49f0da04a761ec255bc5e020cc2e7f60d12f5d129768afdcf7c86a59126f71f388ab375c34be6de @@ -36,9 +38,11 @@ DIST gcc-14-20240727.tar.xz 88051096 BLAKE2B bb447e728275539688ba19d1f50c4f4936f DIST gcc-14-20240803.tar.xz 88016412 BLAKE2B 60301ac6acec9cea3001fda41e0dd10f6698cf0897e84750b28421c6425d28a2acfde8978a285052e44b54fc2244a181ed4430510df5920b8a94319727a5f19b SHA512 e9013bbbef39f67fcc63c9394513be43038f2fc5eebd098be3e5b90eb43bf8f2baf3ce72df1fe72ef2c327dffa103a4e1588c3c137944f7d602fb09498851328 DIST gcc-14-20240810.tar.xz 88012840 BLAKE2B 85f6513f4f4a001894fc22df6c53ce20d6af547191478d429da152f163406c6b320599445a58bef1e79bcacaae56b6bebab9bc9762a75c82bf65dd502e4e7048 SHA512 2b1fde696c9e97a15e9b3550145c74d031d6ad667ac62b51c11bc9e111caf229c6fc4530a18d876d31ab7554fc51263944b8c0182533b1e9275132ec6ce87887 DIST gcc-14-20240817.tar.xz 88024252 BLAKE2B 994b3e263246e344c6898943a17feb63f07b3de02777a77c689e001343119bd451e1ed5c6958f368077f10b4778c65fa492c55d164e2a0b1bbd65b275aae3cd1 SHA512 31de06694efeb2be49b64e9e8314a766d36c3d5f5f2d52d1e0419ba69262b7c344ef0700957eff11007ba5b81bd5e74dea2a2c0286990cb33927bac4a7db9756 +DIST gcc-14-20240824.tar.xz 88019780 BLAKE2B 8da729548e785196e1efb9e1d0ff522423196921e14828defc4c6bc176ea13c5fc76515bde7c293bf80025b54b6466b0ecd7e5ebda4307023d74704a6f19bdf6 SHA512 4ad87ded2468d5303e0a7dc51e85f82eb53c1f26aa2bcdc7aa341a159f0c2fafc43d32f1285f7fd8b359ae67e949c4556df73ba2bdcbbb05f3f8d9488052b081 DIST gcc-14.1.0-musl-patches-1.tar.xz 3600 BLAKE2B 4cd920b7ca1f122cae806707564d8e45bfd48e78c88788a12a301f6068b5a5f335d8885e67479ac536c66aeaa81f2ecb7240ae56e9fc821a7246ab66b453711f SHA512 61c48d90a55dfc2129d96aee69d939d6a89f6407f69f7bd12c1a619f28989f471fd219d731958f8e62b0fd650c32300f0ad8dc06d5df23d9fc8c1a77fe210c25 DIST gcc-14.1.0-patches-3.tar.xz 11868 BLAKE2B 06d079766bfbaddd066cd70f2d3f5e9ef17f3617fe90de4cb0a9562e6c3b2dc46d94dce03649f2e530c21e3fa0e0e6e5aae3c7b768bd08717c4f29ff29b00a04 SHA512 636a2853b5bf057fef262d54bcb250f3ebf63c600bc184cfea499783d254c462f6c0ecf5f0c5dac6634110ba0d11193fbfb96850ac27fc5a318f1d810f2231cc DIST gcc-14.1.0-patches-4.tar.xz 11620 BLAKE2B c819fbdea1f3bf10c8d4214d4c33cf28c1410171d2833b6f8c1225eeefe749ddb815067b3fdb750e5839761aee8d39ffc51ffb492f88e630076818a61b18362b SHA512 0d6e1b04591607dfc8022124b186ce499467c32db7667ee1a640fe2e07706597edc0e4ad5c7ebcb75c8f5fc6e45e9b9ef715402c71ff9ab21fe380007fe5d84f +DIST gcc-14.1.0-patches-5.tar.xz 12504 BLAKE2B 9453bb75c195e43e9b95cee89eee0722dadb8088ce258ae3334ad1023742b41fc0efea45ca4dbd73a20834aa09f72b5fd2d771e1bc58c0cff89a9d2b16ae8dd1 SHA512 b30b5ff1c0234ccfd440ede9e2c13c5fe3d72711ac94996694b3b325ec47f23c6549c41a70f7e08aea16e10fd45d348dcaaef7a7e49a981622d50b21a0971a30 DIST gcc-14.2.0-RC-20240723.tar.xz 92320472 BLAKE2B 1003e19e65b9b3093193b5eb9997236ce445cca65c701111268b5c14b8cdde5b22f74556eb30698ae8646114558539874934ff0794d73f4083425c2867989dd9 SHA512 b3ead9ea661f07606225cc0053054f9f8a1267b0b476a86168a3524ea36c623b87c4ebefdbb95a01172b267cdf387cf909f8a9fa7dfaa1e754ca3dba1267c859 DIST gcc-14.2.0-RC-20240729.tar.xz 92329476 BLAKE2B 3e12182547927360af0791147422b9b1176e7bfcbd82ba0958b426e3c355876a78ef2b8ead2ff08aa399a1d8c4f8123d11ea21bde2a1a0ef30332b8b5837a7b0 SHA512 9a94325087a6b6c584011853150aea1a8ac775ccb6c77eb55239bd92cfbcbfb5b9e873387f0d31a1fcdbfd80530febdea5caeaae676780b97539aeaef5dbeb26 DIST gcc-14.2.0.tar.xz 92306460 BLAKE2B 87baf2a06dfa75d8fb6cd62c747ef1f57d3b9bbbe33a360d9ed3de4b4dbeaa8d920504c67e409bd9863414202c14fd854b46108e984418171205119216d03d3b SHA512 932bdef0cda94bacedf452ab17f103c0cb511ff2cec55e9112fc0328cbf1d803b42595728ea7b200e0a057c03e85626f937012e49a7515bc5dd256b2bf4bc396 @@ -48,7 +52,10 @@ DIST gcc-15-20240728.tar.xz 88642832 BLAKE2B 388c921b90ff71c0aa3313479bef9c39e53 DIST gcc-15-20240804.tar.xz 89247584 BLAKE2B b49c828234a0b4cb35b0dcb7c2bfdc8d7c3d311f86f3db0acaefa81e57c3537d1ba9d32cd7fe2c7c53e2a019644fe2893aa9f69fa34c8c7af9053ba5c675ac26 SHA512 3db9bedd42fab2022532490acb7f3931976e500b7c4a3e93c226b68b7df0228d8489b80268273c9216c4bda12991bb07339c646982499761a39ba3fa54b45f29 DIST gcc-15-20240811.tar.xz 89363444 BLAKE2B eaa29844fe0fb62f3772904a5e2598541dcc78959006400f7fca5663f0ee3b6452e4aa77d46e627182b827da0a4e0e57b659db7a2a23f63219cf75785b73b3c9 SHA512 a8e169ba90168a481ea865f340b6f165dc538022b0ac814f43b80fca33eb7772001f6dd22fcb8a3f056cfacd023a21581bec5da71626860fcbc858ad573d5c39 DIST gcc-15-20240818.tar.xz 89483300 BLAKE2B 5b92220899eeeb41ad1412c9c076c21cae9ecab2aee6717126e30716355469386adbf3b867bdda542d36b245034d30236b5aa316bd47484013ee4078cb02c896 SHA512 b6fced64a433820ea542f82214362106d2ebf986324351c5282ff6b316178446337e4c99cc59e7078a2361948304e361661790e789234a25e876e68459d901bf +DIST gcc-15-20240825.tar.xz 89745112 BLAKE2B 983b2f3fbcc8cea6b145f58d8015bf4f848f102f8b196fb363940c7fd556bf2ca07eaff676f0a38a78c0105d2f804e75b2c85f98d2fa3626704b706c227919c9 SHA512 eb106d150988c3350ad2524519b497a5305ef92c09d1322738d6fa91ed382500eeac0a206e8eacd900f85d5ea39b4510783c77f9340e35a948009a2766ddad90 DIST gcc-15.0.0-musl-patches-2.tar.xz 3076 BLAKE2B 0073248fe4f7dd827980559017b5aa1fb5c4c46acc9ad5c410dc152fd1e44966d3066bf7152338573cb45b1c36027de5f0c519abd414d97a37bccef07f6a5281 SHA512 295f1a669020bbe2874e9b03afd46b5d083073b276fca3543f3767a2d74f35df81cf0a67abad50c200cf7a3af36ec98ff9977cb7d5c19f334af7d3bb1926a3de +DIST gcc-15.0.0-patches-10.tar.xz 13532 BLAKE2B f51a8b04411689b5dd8356b4a07f0d04cea45636d7f8efac1c0f0ef7936a7b0b6dea9ec167d419a4d85708db858411c720274a326ee9af6ba4ab9d451a9b3965 SHA512 06527c025451fe1255dcf6f703967986afded7bd4d35a61224a80bedd9e5e0cb951a95d66cb6c897f0fbdebfa9adc6bc478a6d9227d6d559d3f61115aefc4de2 +DIST gcc-15.0.0-patches-11.tar.xz 14880 BLAKE2B ff720e0bf6e1ca18582b9f69e1406af4d226a9427df33be38c58cef0989403c001b2d247799e7b3883ce294242725f116a6a6bf84317f93b47b64abc5d86281e SHA512 78619a8cb6174d99954296e5c79c0eaa0ebe9df13560e1e6c8ce158f50f42cb801849995e465e2d200f999ef1c26f80ae580654841420ec77012e6551e801458 DIST gcc-15.0.0-patches-4.tar.xz 11440 BLAKE2B 8b7379f91ac14dd1e496de744d221cb0ba1802c14ce32cb90e6311ca7a60cbaf488a57060673e2e9d407eed6d3c5b092c1ba6da27036d35e0c78a7ac8a5f5ec4 SHA512 92e8895ec1c6054b46581867f3e49bd2d574043ae82ca441e2b48d9ed0e2dd5c58baa53ba605ce59a5c1d59473ac0d79c0287e5b47d06f0a661c655a19a4a5df DIST gcc-15.0.0-patches-5.tar.xz 11840 BLAKE2B 9af335f7e1795e600eae742ac32f5ff737f157aaa35902227ba29b28013c95bcf5b2b1345a21c433bc10f4cfbfc267a595b6ca90ec2723f7f24fccac3f7c0355 SHA512 8cc8ec574640470780711bb5f6163f382c23999152c229d86e1143e03275a3147bd1fc0cd9bf3642a2402333ec565d30b90a6e367284b78ccc580c6721aeac23 DIST gcc-15.0.0-patches-6.tar.xz 11588 BLAKE2B 7846d77859b297a892a23b995c9aa06410c484a8f6e11fa9c9692de0f1b0a03aa1f35c4b88f164623a600bf2012fff25567075203c57fdbcb26bbc95f94d1cf9 SHA512 837ed8b5f6901715862951726e85eea043aec192f854db23201326fd6bedb7552c95527d253736c0164153b75ec487b4644fd269f9f6815b4489416602ebfe78 diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20240822.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20240822.ebuild new file mode 100644 index 00000000000..e645c4d53b7 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20240822.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +TOOLCHAIN_PATCH_DEV="sam" +PATCH_GCC_VER="12.3.0" +PATCH_VER="3" +MUSL_VER="1" +MUSL_GCC_VER="12.3.0" +PYTHON_COMPAT=( python3_{10..12} ) + +if [[ ${PV} == *.9999 ]] ; then + MY_PV_2=$(ver_cut 2) + MY_PV_3=1 + if [[ ${MY_PV_2} == 0 ]] ; then + MY_PV_2=0 + MY_PV_3=0 + else + MY_PV_2=$((${MY_PV_2} - 1)) + fi + + # e.g. 12.2.9999 -> 12.1.1 + TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3} +elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=releases/gcc-$(ver_cut 1) +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20240823.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20240823.ebuild new file mode 100644 index 00000000000..bb142a8fd1d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20240823.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +TOOLCHAIN_PATCH_DEV="sam" +PATCH_GCC_VER="13.2.0" +MUSL_GCC_VER="13.2.0" +PATCH_VER="18" +MUSL_VER="2" +PYTHON_COMPAT=( python3_{10..12} ) + +if [[ ${PV} == *.9999 ]] ; then + MY_PV_2=$(ver_cut 2) + MY_PV_3=1 + if [[ ${MY_PV_2} == 0 ]] ; then + MY_PV_2=0 + MY_PV_3=0 + else + MY_PV_2=$((${MY_PV_2} - 1)) + fi + + # e.g. 12.2.9999 -> 12.1.1 + TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3} +elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=releases/gcc-$(ver_cut 1) +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20240817-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20240817-r1.ebuild new file mode 100644 index 00000000000..261dc3f8707 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20240817-r1.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +TOOLCHAIN_PATCH_DEV="sam" +PATCH_GCC_VER="14.1.0" +PATCH_VER="5" +MUSL_VER="1" +MUSL_GCC_VER="14.1.0" +PYTHON_COMPAT=( python3_{10..12} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=releases/gcc-$(ver_cut 1) +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # m68k doesnt build (ICE, bug 932733) + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20240824.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20240824.ebuild new file mode 100644 index 00000000000..261dc3f8707 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20240824.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +TOOLCHAIN_PATCH_DEV="sam" +PATCH_GCC_VER="14.1.0" +PATCH_VER="5" +MUSL_VER="1" +MUSL_GCC_VER="14.1.0" +PYTHON_COMPAT=( python3_{10..12} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=releases/gcc-$(ver_cut 1) +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # m68k doesnt build (ICE, bug 932733) + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240818-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240818-r1.ebuild new file mode 100644 index 00000000000..8fb4502cc7a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240818-r1.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +TOOLCHAIN_PATCH_DEV="sam" +PATCH_GCC_VER="15.0.0" +PATCH_VER="10" +MUSL_VER="2" +MUSL_GCC_VER="15.0.0" +PYTHON_COMPAT=( python3_{10..12} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=master +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240825.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240825.ebuild new file mode 100644 index 00000000000..c94cfb9a6af --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240825.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +TOOLCHAIN_PATCH_DEV="sam" +PATCH_GCC_VER="15.0.0" +PATCH_VER="11" +MUSL_VER="2" +MUSL_GCC_VER="15.0.0" +PYTHON_COMPAT=( python3_{10..12} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=master +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gnuconfig/Manifest b/sdk_container/src/third_party/portage-stable/sys-devel/gnuconfig/Manifest index d31fddd593e..97821fc2f76 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gnuconfig/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gnuconfig/Manifest @@ -1,2 +1,3 @@ DIST gnuconfig-20230731.tar.xz 73112 BLAKE2B c6502d6b339e56440dbfc9abb0ba49e3eec5a573c5e44779dd326e6f11b55b7fc3a6d99fec73abbcc271e8f6f125699ce87f512cb3a825144307cf820df0067a SHA512 d8e24a30f86f1983c69a37a901e2357a0aefbe15fcd3f8a331d1c6f8eabc81b7436930055756a764ae874e406090d8029403f1c0faa3737acb94bd937cd577ef DIST gnuconfig-20240101.tar.xz 76992 BLAKE2B a42e35c9858ac1eca409b29ecd71c787adad94bd977a35a8f74c870b3632b1031cd7c00e022c7837a8705a50316d3f618bfaedf569b63b4f75a33fc638330706 SHA512 2e6f1f83454335e2c111866bed2660d86919061c2e047c79d5e191ecb9411a28c0f269e8fddd8a212d38a2d0c4114e2a432e69bcbf8c7aee671db1ce15b34ae8 +DIST gnuconfig-20240728.tar.xz 82360 BLAKE2B 476cabe032305adc916dffa39f30f07ac8249449e79da06763f08af9b642399c5c08bd5cf6b7229d63ba36b55e0ca75692b5db058ae0aa75b6b6370f12209aba SHA512 a43067a6f2a7f8d055122aefef2b0d28314c16871455e9223b8429a428ec6b4383eefe8fb50ff00d7c4c39710c6fb9fa81c3c84f3e6f5f58cbd1cf475896135e diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gnuconfig/gnuconfig-20240728.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gnuconfig/gnuconfig-20240728.ebuild new file mode 100644 index 00000000000..04e57c23b5b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gnuconfig/gnuconfig-20240728.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +if [[ ${PV} == 99999999 ]] ; then + EGIT_REPO_URI="https://git.savannah.gnu.org/r/config.git" + + inherit git-r3 +else + SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + S="${WORKDIR}" +fi + +DESCRIPTION="Updated config.sub and config.guess file from GNU" +HOMEPAGE="https://savannah.gnu.org/projects/config" + +LICENSE="GPL-3+-with-autoconf-exception" +SLOT="0" + +maint_pkg_create() { + cd "${S}" || die + + emake ChangeLog + local ver=$(gawk '{ gsub(/-/, "", $1); print $1; exit }' ChangeLog) + [[ ${#ver} != 8 ]] && die "invalid version '${ver}'" + + local tar="${T}/gnuconfig-${ver}.tar.xz" + tar -Jcf "${tar}" ./* || die "creating tar failed" + einfo "Packaged tar now available:" + einfo "$(du -b "${tar}")" +} + +src_unpack() { + if [[ ${PV} == 99999999 ]] ; then + git-r3_src_unpack + maint_pkg_create + else + unpack ${A} + fi +} + +src_install() { + insinto /usr/share/${PN} + doins config.{sub,guess} + fperms +x /usr/share/${PN}/config.{sub,guess} + dodoc ChangeLog +} diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/fuse-overlayfs/fuse-overlayfs-1.13.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/fuse-overlayfs/fuse-overlayfs-1.13.ebuild index 4bbe7b857e5..3178b8e1c7a 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/fuse-overlayfs/fuse-overlayfs-1.13.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/fuse-overlayfs/fuse-overlayfs-1.13.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/containers/fuse-overlayfs/archive/v${PV}.tar.gz -> $ LICENSE="GPL-3" SLOT="0" -KEYWORDS="amd64 arm64 ~ppc64 ~riscv" +KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv" DEPEND="sys-fs/fuse:3" RDEPEND="${DEPEND}" diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/zfs-kmod-2.2.4.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/zfs-kmod-2.2.4.ebuild index 79b2c443b06..c3bb25d6fc5 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/zfs-kmod-2.2.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/zfs-kmod-2.2.4.ebuild @@ -31,7 +31,7 @@ else ZFS_KERNEL_DEP="${ZFS_KERNEL_DEP%%.*}.$(( ${ZFS_KERNEL_DEP##*.} + 1))" if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~sparc" + KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv ~sparc" fi fi diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/zfs-kmod-2.2.5.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/zfs-kmod-2.2.5.ebuild index bf0cdfe58be..f190fb19868 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/zfs-kmod-2.2.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/zfs-kmod-2.2.5.ebuild @@ -31,7 +31,7 @@ else ZFS_KERNEL_DEP="${ZFS_KERNEL_DEP%%.*}.$(( ${ZFS_KERNEL_DEP##*.} + 1))" if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~sparc" + KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv ~sparc" fi fi diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.2.4.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.2.4.ebuild index 71e2889ab79..950fccc9ba5 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.2.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.2.4.ebuild @@ -25,7 +25,7 @@ else S="${WORKDIR}/${MY_P}" if [[ ${PV} != *_rc* ]]; then - KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~sparc" + KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv ~sparc" fi fi diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.2.5.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.2.5.ebuild index 5264247e69a..f66317b0b06 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.2.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.2.5.ebuild @@ -25,7 +25,7 @@ else S="${WORKDIR}/${MY_P}" if [[ ${PV} != *_rc* ]]; then - KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~sparc" + KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv ~sparc" fi fi diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/Manifest b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/Manifest index 369104ad39c..50140aa1f07 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/Manifest @@ -18,4 +18,5 @@ DIST binutils-2.42-patches-3.tar.xz 34768 BLAKE2B e4bfaf3b42147408a8a3dcb00f5037 DIST binutils-2.42-patches-6.tar.xz 50664 BLAKE2B f13b65a761cfba80caf2e4740c6383b40305558365b950fba22aca95a104e799e8bd476082f36fb9288de4f224b09f317792c1444e549c40d15a4b64cdf61989 SHA512 1203eca0a9e622411eac377509de8fd0db3ffcb282ac38ab7a0369b166cc1091197daad85b51b145b34a4832f1a1a4d573c8254e8d67aeb22f35adb1ab3ece1f DIST binutils-2.42.tar.xz 27567160 BLAKE2B e67a5c028fba70e70088fd11b38ec8c9c4ed5a019badefda25abeb6275997b16f0891e7ff3424c4b82bbfae92e8992669826920dd53df61cd48469d8f7cd5bd1 SHA512 155f3ba14cd220102f4f29a4f1e5cfee3c48aa03b74603460d05afb73c70d6657a9d87eee6eb88bf13203fe6f31177a5c9addc04384e956e7da8069c8ecd20a6 DIST binutils-2.43-patches-1.tar.xz 11644 BLAKE2B 578ee67c3c5e67f9191a31a5c83ffcc781f757f8aaee3eea14d052db427cdd2bc769977dba16e9a8c653dcc4a94f11c149898683945d5035d0beeac128045b1a SHA512 e6db4eaf4fbea366e607a7e9a56e20851fcc34664532fd6aa1f0818271c3e2687eada3daca482e211a2b3e36be85e7e0b23158caaa0fdf9785d13a9156e8c734 +DIST binutils-2.43-patches-2.tar.xz 35184 BLAKE2B fa35c9f182c7ae0fed28614f47618d1563a58f223fd1805f348b618c1fbf039a444e44d88f46d040b6971e481e0da882e5c4492fd167d17bf39579d87a446434 SHA512 a7e167d3f6a2c08f19af4685d90a6160a1a52f1a87f5660fb6d80ec664033829c0eacad0d77b1306620e50ff89d1f9f63a7c2b064ad9775400f0cb0eba3159a4 DIST binutils-2.43.tar.xz 28175768 BLAKE2B 28b0a04a28273b76eab2d00e00160be889f155f77f5a9d8759ef8dce505c97e97641bf7ec70b92b731b520570a02b06e04e8215b068fcb1bb2573e9ef24732d9 SHA512 93e063163e54d6a6ee2bd48dc754270bf757a3635b49a702ed6b310e929e94063958512d191e66beaf44275f7ea60865dbde138b624626739679fcc306b133bb diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.43-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.43-r2.ebuild new file mode 100644 index 00000000000..60296082185 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.43-r2.ebuild @@ -0,0 +1,177 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PATCH_VER=2 +PATCH_DEV=dilfridge + +inherit flag-o-matic libtool toolchain-funcs multilib-minimal + +MY_PN="binutils" +MY_P="${MY_PN}-${PV}" +PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}} +PATCH_DEV=${PATCH_DEV:-dilfridge} + +DESCRIPTION="Core binutils libraries (libbfd, libopcodes, libiberty) for external packages" +HOMEPAGE="https://sourceware.org/binutils/" +SRC_URI="mirror://gnu/binutils/${MY_P}.tar.xz + https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_P}.tar.xz + https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_PN}-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" + +LICENSE="|| ( GPL-3 LGPL-3 )" + +if [[ ${PV} == 2.43 ]] ; then + SLOT="0/${PV%_p?}.1" +else + die "Please cleanup the ebuild to drop the 2.43 fudge!" + SLOT="0/${PV%_p?}.0" +fi + +IUSE="64-bit-bfd cet multitarget nls static-libs test" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +RESTRICT="!test? ( test )" + +BDEPEND=" + nls? ( sys-devel/gettext ) + test? ( dev-util/dejagnu ) +" +DEPEND="sys-libs/zlib[${MULTILIB_USEDEP}]" +# Need a newer binutils-config that'll reset include/lib symlinks for us. +RDEPEND="${DEPEND} + >=sys-devel/binutils-config-5 +" + +S="${WORKDIR}/${MY_P%_p?}" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/bfd.h +) + +src_prepare() { + if [[ -n ${PATCH_VER} ]] ; then + einfo "Applying binutils-${PATCH_BINUTILS_VER} patchset ${PATCH_VER}" + eapply "${WORKDIR}/patch"/*.patch + fi + + # Fix cross-compile relinking issue, bug #626402 + elibtoolize + + if [[ ${CHOST} == *-darwin* ]] ; then + # somehow libtool/configure is messed up and (custom patch at + # upstream?) and misdetects (basically assumes) nm can be called + # with -B arg -- can't run eautoreconf (fails), so patch up + # manually, this would break any target that needs -B to nm + sed -i -e 's/lt_cv_path_NM="$tmp_nm -B"/lt_cv_path_NM="$tmp_nm"/' \ + libctf/configure || die + fi + + # See https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html + # Avoid really confusing logs from subconfigure spam, makes logs far + # more legible. + export MAKEOPTS="--output-sync=line ${MAKEOPTS}" + + default +} + +pkgversion() { + printf "Gentoo ${PVR}" + [[ -n ${PATCHVER} ]] && printf " p${PATCHVER}" +} + +multilib_src_configure() { + filter-lto + + # Workaround for lld-17 (bug #914640) + # Should be able to drop this w/ >=binutils-2.43 + append-ldflags $(test-flags-CCLD -Wl,--undefined-version) + + local myconf=( + # portage's econf() does not detect presence of --d-d-t + # because it greps only top-level ./configure. But not + # libiberty's or bfd's configure. + --disable-dependency-tracking + --disable-silent-rules + --enable-obsolete + --enable-shared + --enable-threads + # Newer versions (>=2.24) make this an explicit option. #497268 + --enable-install-libiberty + --disable-werror + --with-bugurl="https://bugs.gentoo.org/" + --with-pkgversion="$(pkgversion)" + $(use_enable static-libs static) + # The binutils eclass enables this flag for all bi-arch builds, + # but other tools often don't care about that support. Put it + # beyond a flag if people really want it, but otherwise leave + # it disabled as it can slow things down on 32bit arches. #438522 + $(use_enable 64-bit-bfd) + # This only disables building in the zlib subdir. + # For binutils itself, it'll use the system version. #591516 + --without-zlib + --with-system-zlib + # We only care about the libs, so disable programs. #528088 + --disable-{binutils,etc,ld,gas,gold,gprof,gprofng} + # Disable modules that are in a combined binutils/gdb tree. #490566 + --disable-{gdb,libdecnumber,readline,sim} + # Strip out broken static link flags. + # https://gcc.gnu.org/PR56750 + --without-stage1-ldflags + # We pull in all USE-flags that change ABI in an incompatible + # way. #666100 + # USE=multitarget change size of global arrays + # USE=64-bit-bfd changes data structures of exported API + --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st)-$(usex 64-bit-bfd 64 def) + + # avoid automagic dependency on (currently prefix) systems + # systems with debuginfod library, bug #754753 + --without-debuginfod + + # Revisit if it's useful, we do have binutils[zstd] though + --without-zstd + + # Allow user to opt into CET for host libraries. + # Ideally we would like automagic-or-disabled here. + # But the check does not quite work on i686: bug #760926. + $(use_enable cet) + ) + + # mips can't do hash-style=gnu ... + if [[ $(tc-arch) != mips ]] ; then + myconf+=( --enable-default-hash-style=gnu ) + fi + + use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd ) + + use nls \ + && myconf+=( --without-included-gettext ) \ + || myconf+=( --disable-nls ) + + if [[ ${CHOST} == *-darwin* ]] && use nls ; then + # fix underlinking in opcodes + sed -i -e 's/@SHARED_LDFLAGS@/@SHARED_LDFLAGS@ -lintl/' \ + "${S}"/opcodes/Makefile.in || die + fi + + ECONF_SOURCE="${S}" econf "${myconf[@]}" + + # Prevent makeinfo from running as we don't build docs here. + # bug #622652 + sed -i \ + -e '/^MAKEINFO/s:=.*:= true:' \ + Makefile || die +} + +multilib_src_install() { + emake DESTDIR="${D}" install + + # Provided by dev-debug/gdb instead + rm "${ED}"/usr/share/info/sframe-spec.info || die + + # Provide libiberty.h directly. + dosym libiberty/libiberty.h /usr/include/libiberty.h +} + +multilib_src_install_all() { + use static-libs || find "${ED}"/usr -name '*.la' -delete +} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-9999.ebuild new file mode 100644 index 00000000000..b9e1a9065c3 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-9999.ebuild @@ -0,0 +1,219 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit flag-o-matic libtool toolchain-funcs multilib-minimal + +DESCRIPTION="Core binutils libraries (libbfd, libopcodes, libiberty) for external packages" +HOMEPAGE="https://sourceware.org/binutils/" + +LICENSE="|| ( GPL-3 LGPL-3 )" +IUSE="64-bit-bfd cet multitarget nls static-libs test" + +# Variables that can be set here (ignored for live ebuilds) +# PATCH_VER - the patchset version +# Default: empty, no patching +# PATCH_BINUTILS_VER - the binutils version in the patchset name +# - Default: PV +# PATCH_DEV - Use download URI https://dev.gentoo.org/~{PATCH_DEV}/distfiles/... +# for the patchsets + +PATCH_VER=1 +PATCH_DEV=dilfridge + +MY_PN=binutils +MY_P=${MY_PN}-${PV} + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + SLOT="0/${PV}" +elif [[ ${PV} == *9999 ]]; then + inherit git-r3 + SLOT="0/$(ver_cut 1-2)" +else + PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}} + PATCH_DEV=${PATCH_DEV:-dilfridge} + SRC_URI="mirror://gnu/binutils/${MY_P}.tar.xz + https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_P}.tar.xz + https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_PN}-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" + SLOT="0/${PV}" + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +fi + +BDEPEND=" + nls? ( sys-devel/gettext ) + test? ( dev-util/dejagnu ) +" +DEPEND="sys-libs/zlib[${MULTILIB_USEDEP}]" +# Need a newer binutils-config that'll reset include/lib symlinks for us. +RDEPEND="${DEPEND} + >=sys-devel/binutils-config-5 +" + +RESTRICT="!test? ( test )" + +MY_BUILDDIR=${WORKDIR}/build + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/bfd.h +) + +src_unpack() { + if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI=" + https://anongit.gentoo.org/git/proj/toolchain/binutils-patches.git + https://github.com/gentoo/binutils-patches + " + EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git + git-r3_src_unpack + mv patches-git/9999 patch || die + + if [[ ${PV} != 9999 ]] ; then + EGIT_BRANCH=binutils-$(ver_cut 1)_$(ver_cut 2)-branch + fi + EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git" + S=${WORKDIR}/binutils + EGIT_CHECKOUT_DIR=${S} + git-r3_src_unpack + else + unpack ${P/-hppa64/}.tar.xz + + cd "${WORKDIR}" || die + unpack binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz + + # _p patch versions are Gentoo specific tarballs ... + local dir=${MY_P} + dir=${dir/-hppa64/} + + S=${WORKDIR}/${dir} + fi + + cd "${WORKDIR}" || die + mkdir -p "${MY_BUILDDIR}" || die +} + +src_prepare() { + if [[ -n ${PATCH_VER} ]] ; then + einfo "Applying binutils-${PATCH_BINUTILS_VER} patchset ${PATCH_VER}" + eapply "${WORKDIR}/patch"/*.patch + fi + + # Fix cross-compile relinking issue, bug #626402 + elibtoolize + + if [[ ${CHOST} == *-darwin* ]] ; then + # somehow libtool/configure is messed up and (custom patch at + # upstream?) and misdetects (basically assumes) nm can be called + # with -B arg -- can't run eautoreconf (fails), so patch up + # manually, this would break any target that needs -B to nm + sed -i -e 's/lt_cv_path_NM="$tmp_nm -B"/lt_cv_path_NM="$tmp_nm"/' \ + libctf/configure || die + fi + + # See https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html + # Avoid really confusing logs from subconfigure spam, makes logs far + # more legible. + export MAKEOPTS="--output-sync=line ${MAKEOPTS}" + + default +} + +pkgversion() { + printf "Gentoo ${PVR}" + [[ -n ${PATCHVER} ]] && printf " p${PATCHVER}" +} + +multilib_src_configure() { + filter-lto + + # Workaround for lld-17 (bug #914640) + # Should be able to drop this w/ >=binutils-2.43 + append-ldflags $(test-flags-CCLD -Wl,--undefined-version) + + local myconf=( + # portage's econf() does not detect presence of --d-d-t + # because it greps only top-level ./configure. But not + # libiberty's or bfd's configure. + --disable-dependency-tracking + --disable-silent-rules + --enable-obsolete + --enable-shared + --enable-threads + # Newer versions (>=2.24) make this an explicit option. #497268 + --enable-install-libiberty + --disable-werror + --with-bugurl="https://bugs.gentoo.org/" + --with-pkgversion="$(pkgversion)" + $(use_enable static-libs static) + # The binutils eclass enables this flag for all bi-arch builds, + # but other tools often don't care about that support. Put it + # beyond a flag if people really want it, but otherwise leave + # it disabled as it can slow things down on 32bit arches. #438522 + $(use_enable 64-bit-bfd) + # This only disables building in the zlib subdir. + # For binutils itself, it'll use the system version. #591516 + --without-zlib + --with-system-zlib + # We only care about the libs, so disable programs. #528088 + --disable-{binutils,etc,ld,gas,gold,gprof,gprofng} + # Disable modules that are in a combined binutils/gdb tree. #490566 + --disable-{gdb,gdbserver,libdecnumber,readline,sim} + # Strip out broken static link flags. + # https://gcc.gnu.org/PR56750 + --without-stage1-ldflags + # We pull in all USE-flags that change ABI in an incompatible + # way. #666100 + # USE=multitarget change size of global arrays + # USE=64-bit-bfd changes data structures of exported API + --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st)-$(usex 64-bit-bfd 64 def) + + # avoid automagic dependency on (currently prefix) systems + # systems with debuginfod library, bug #754753 + --without-debuginfod + + # Revisit if it's useful, we do have binutils[zstd] though + --without-zstd + + # Allow user to opt into CET for host libraries. + # Ideally we would like automagic-or-disabled here. + # But the check does not quite work on i686: bug #760926. + $(use_enable cet) + ) + + # mips can't do hash-style=gnu ... + if [[ $(tc-arch) != mips ]] ; then + myconf+=( --enable-default-hash-style=gnu ) + fi + + use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd ) + + use nls \ + && myconf+=( --without-included-gettext ) \ + || myconf+=( --disable-nls ) + + if [[ ${CHOST} == *-darwin* ]] && use nls ; then + # fix underlinking in opcodes + sed -i -e 's/@SHARED_LDFLAGS@/@SHARED_LDFLAGS@ -lintl/' \ + "${S}"/opcodes/Makefile.in || die + fi + + ECONF_SOURCE="${S}" econf "${myconf[@]}" + + # Prevent makeinfo from running as we don't build docs here. + # bug #622652 + sed -i \ + -e '/^MAKEINFO/s:=.*:= true:' \ + Makefile || die +} + +multilib_src_install() { + emake DESTDIR="${D}" install + + # Provide libiberty.h directly. + dosym libiberty/libiberty.h /usr/include/libiberty.h +} + +multilib_src_install_all() { + use static-libs || find "${ED}"/usr -name '*.la' -delete +} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/liburing/Manifest b/sdk_container/src/third_party/portage-stable/sys-libs/liburing/Manifest index 97fece9fcff..bfdb966cb6c 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/liburing/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-libs/liburing/Manifest @@ -2,3 +2,4 @@ DIST liburing-2.2.tar.bz2 172733 BLAKE2B 19ae8a356e4fdc296bfb3ff121b777bd7c97038 DIST liburing-2.3.tar.bz2 197929 BLAKE2B 94ae2a79522fbac13c071ad752f5cbfae3e3b3dd6b35da24e5c756ba47a7b304e5bcb18391ca23fc2edafeb2dbcdcf143fd2cda71656396ac34248159a964fb7 SHA512 341aa13d3b560617f3710291945ec2fe35d828e0b67ee3a97555fd4eb3d2042a7f9e722080d8ebb45aa74a2ca4ef58db1e8a10c351e951a604da007ba69d2738 DIST liburing-2.5.tar.bz2 217397 BLAKE2B cb5d0a61bc8ce5a92a1b581c5411938146a84c365598454ac8bac7ba0d7429e20a5a608cb725619cbf8b77570b2d638fc347fd9ee9cb1456361957a2a4d6e6d6 SHA512 cba62acde52c07185ade0ac0fee6bf3845f5677d061b52d179c6341a62f8581d4f8920fc09d27a3723bc3832bc84dd5475d173427ee5d8a063d079b07af96416 DIST liburing-2.6.tar.bz2 244371 BLAKE2B f0e05a5a82592ed45c7c7f12b437d17655989102961c3d349d18d993f21cf0f1a6eb2aa7ad863a579428a1546c307924bf368e10af96045fd40a02fd5bd5843e SHA512 bf07cc0e67498ba64d888d1a113f7c8bea3feaed6f05ce69c99a1dec9506e553a1695ab4e1ecfa86f0ba1af699769557291d5c6b125b9bf59a1452f69eac0613 +DIST liburing-2.7.tar.bz2 252289 BLAKE2B dc04745d2eda04d7009a532fc77566804c34b77dcef512f17ef424e22bc1e1a31ba87c2a841bb5574b11c494641a3128005d6dfccf2b87d6c3888fe5cd887996 SHA512 ec6cf69cae2e7e448e9e338bcd616bf27522f6f0e4768bf80d246d6df8610df3accaddae1c135c31bca7814bc3b8214854c40b3f7137163c0950605c716793f1 diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/liburing/liburing-2.7-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/liburing/liburing-2.7-r1.ebuild new file mode 100644 index 00000000000..5e6d4ed12e3 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-libs/liburing/liburing-2.7-r1.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit multilib-minimal toolchain-funcs + +DESCRIPTION="Efficient I/O with io_uring" +HOMEPAGE="https://github.com/axboe/liburing" +if [[ "${PV}" == *9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/axboe/liburing.git" +else + SRC_URI="https://git.kernel.dk/cgit/${PN}/snapshot/${P}.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + QA_PKGCONFIG_VERSION=${PV} +fi +LICENSE="MIT" +SLOT="0/2" # liburing.so major version + +IUSE="examples static-libs test" +# fsync test hangs forever +RESTRICT="!test? ( test )" + +# At least installed headers need , bug #802516 +DEPEND=">=sys-kernel/linux-headers-5.1" +RDEPEND="${DEPEND}" + +src_prepare() { + default + + if ! use examples; then + sed -e '/examples/d' Makefile -i || die + fi + if ! use test; then + sed -e '/test/d' Makefile -i || die + fi + + multilib_copy_sources +} + +multilib_src_configure() { + local myconf=( + --prefix="${EPREFIX}/usr" + --libdir="${EPREFIX}/usr/$(get_libdir)" + --libdevdir="${EPREFIX}/usr/$(get_libdir)" + --mandir="${EPREFIX}/usr/share/man" + --cc="$(tc-getCC)" + --cxx="$(tc-getCXX)" + --use-libc + ) + # No autotools configure! "econf" will fail. + TMPDIR="${T}" ./configure "${myconf[@]}" || die +} + +multilib_src_compile() { + emake V=1 AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" +} + +multilib_src_install_all() { + einstalldocs + + if ! use static-libs ; then + find "${ED}" -type f -name "*.a" -delete || die + fi +} + +multilib_src_test() { + local disabled_tests=( + accept.c + fpos.c + io_uring_register.c + link-timeout.c + read-before-exit.c + recv-msgall-stream.c + ) + local disabled_test + for disabled_test in "${disabled_tests[@]}"; do + sed -i "/\s*${disabled_test}/d" test/Makefile \ + || die "Failed to remove ${disabled_test}" + done + + emake -C test V=1 runtests +}