diff --git a/.github/workflows/portage-stable-packages-list b/.github/workflows/portage-stable-packages-list index 7e92f85d4a6..6894ad7faaf 100644 --- a/.github/workflows/portage-stable-packages-list +++ b/.github/workflows/portage-stable-packages-list @@ -14,6 +14,7 @@ acct-group/kvm acct-group/lp acct-group/man acct-group/messagebus +acct-group/named acct-group/netperf acct-group/nobody acct-group/ntp @@ -46,6 +47,7 @@ acct-group/wheel acct-user/dnsmasq acct-user/man acct-user/messagebus +acct-user/named acct-user/netperf acct-user/nobody acct-user/ntp @@ -214,6 +216,7 @@ dev-lang/python dev-lang/python-exec dev-lang/python-exec-conf dev-lang/rust +dev-lang/rust-common dev-lang/swig dev-lang/tcl dev-lang/yasm @@ -315,7 +318,7 @@ dev-python/installer dev-python/jaraco-context dev-python/jaraco-functools dev-python/jaraco-text -dev-python/jinja +dev-python/jinja2 dev-python/lark dev-python/lazy-object-proxy dev-python/linkify-it-py @@ -391,12 +394,10 @@ eclass/db-use.eclass eclass/desktop.eclass eclass/dist-kernel-utils.eclass eclass/distutils-r1.eclass -eclass/eapi7-ver.eclass eclass/eapi8-dosym.eclass eclass/edo.eclass eclass/edos2unix.eclass eclass/elisp-common.eclass -eclass/eqawarn.eclass eclass/estack.eclass eclass/fcaps.eclass eclass/flag-o-matic.eclass @@ -457,6 +458,7 @@ eclass/rpm.eclass eclass/ruby-single.eclass eclass/ruby-utils.eclass eclass/rust-toolchain.eclass +eclass/rust.eclass eclass/savedconfig.eclass eclass/secureboot.eclass eclass/selinux-policy-2.eclass @@ -478,7 +480,6 @@ eclass/usr-ldscript.eclass eclass/vcs-clean.eclass eclass/vcs-snapshot.eclass eclass/verify-sig.eclass -eclass/versionator.eclass eclass/vim-doc.eclass eclass/vim-plugin.eclass eclass/virtualx.eclass @@ -500,7 +501,7 @@ net-analyzer/traceroute net-dialup/lrzsz net-dialup/minicom -net-dns/bind-tools +net-dns/bind net-dns/c-ares net-dns/dnsmasq net-dns/libidn2 diff --git a/changelog/updates/2024-11-19-weekly-updates.md b/changelog/updates/2024-11-19-weekly-updates.md new file mode 100644 index 00000000000..4bd089cace5 --- /dev/null +++ b/changelog/updates/2024-11-19-weekly-updates.md @@ -0,0 +1,23 @@ +- SDK: autoconf ([2.72](https://lists.gnu.org/archive/html/autotools-announce/2023-12/msg00003.html)) +- SDK: cmake ([3.30.5](https://cmake.org/cmake/help/v3.30/release/3.30.html#id5)) +- base, dev: azure-vm-utils ([0.4.0](https://github.com/Azure/azure-vm-utils/commits/v0.4.0/)) +- base, dev: bind ([9.18.29](https://bind9.readthedocs.io/en/v9.18.29/notes.html#notes-for-bind-9-18-29)) +- base, dev: bpftool ([7.4.0](https://github.com/libbpf/bpftool/releases/tag/v7.4.0)) +- base, dev: checkpolicy ([3.7](https://github.com/SELinuxProject/selinux/releases/tag/3.7)) +- base, dev: gawk ([5.3.1](https://lists.gnu.org/archive/html/info-gnu/2024-09/msg00008.html)) +- base, dev: libarchive ([3.7.7](https://github.com/libarchive/libarchive/releases/tag/v3.7.7)) +- base, dev: libselinux ([3.7](https://github.com/SELinuxProject/selinux/releases/tag/3.7)) +- base, dev: libsepol ([3.7](https://github.com/SELinuxProject/selinux/releases/tag/3.7)) +- base, dev: libxml2 ([2.12.8](https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.12.8)) +- base, dev: mokutil ([0.7.2](https://github.com/lcp/mokutil/commits/0.7.2/)) +- dev: gentoolkit ([0.6.8](https://gitweb.gentoo.org/proj/gentoolkit.git/log/?h=gentoolkit-0.6.8)) +- docker: docker ([27.3.1](https://github.com/moby/moby/releases/tag/v27.3.1)) +- docker: docker-cli ([27.3.1](https://github.com/moby/moby/releases/tag/v27.3.1)) +- sysext-python: charset-normalizer ([3.4.0](https://github.com/jawah/charset_normalizer/releases/tag/3.4.0)) +- sysext-python: distlib ([0.3.9](https://github.com/pypa/distlib/blob/0.3.9/CHANGES.rst)) +- sysext-python: jaraco-functools ([4.1.0](https://github.com/jaraco/jaraco.functools/blob/v4.1.0/NEWS.rsto)) +- sysext-python: pyproject-hooks ([1.2.0](https://github.com/pypa/pyproject-hooks/blob/v1.2.0/docs/changelog.rst)) +- sysext-python: rich ([13.9.3](https://github.com/Textualize/rich/releases/tag/v13.9.3)) +- sysext-python: trove-classifiers ([2024.10.21.16](https://github.com/pypa/trove-classifiers/commits/2024.10.21.16/)) +- sysext-python: truststore ([0.10.0](https://github.com/sethmlarson/truststore/blob/v0.10.0/CHANGELOG.md)) +- vmware: libmspack ([1.11](https://github.com/kyz/libmspack/commits/v1.11/libmspack)) diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos/coreos-0.0.1-r315.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos/coreos-0.0.1-r316.ebuild similarity index 100% rename from sdk_container/src/third_party/coreos-overlay/coreos-base/coreos/coreos-0.0.1-r315.ebuild rename to sdk_container/src/third_party/coreos-overlay/coreos-base/coreos/coreos-0.0.1-r316.ebuild diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos/coreos-0.0.1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos/coreos-0.0.1.ebuild index 4816ab1db3a..bfe8b96ed1d 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos/coreos-0.0.1.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos/coreos-0.0.1.ebuild @@ -127,7 +127,7 @@ RDEPEND="${RDEPEND} net-analyzer/openbsd-netcat net-analyzer/tcpdump net-analyzer/traceroute - net-dns/bind-tools + net-dns/bind net-firewall/conntrack-tools net-firewall/ebtables net-firewall/ipset diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-devel/sdk-depends/sdk-depends-0.0.1-r52.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-devel/sdk-depends/sdk-depends-0.0.1-r53.ebuild similarity index 100% rename from sdk_container/src/third_party/coreos-overlay/coreos-devel/sdk-depends/sdk-depends-0.0.1-r52.ebuild rename to sdk_container/src/third_party/coreos-overlay/coreos-devel/sdk-depends/sdk-depends-0.0.1-r53.ebuild diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-devel/sdk-depends/sdk-depends-0.0.1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-devel/sdk-depends/sdk-depends-0.0.1.ebuild index b040f4d953f..89019b0d654 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-devel/sdk-depends/sdk-depends-0.0.1.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/coreos-devel/sdk-depends/sdk-depends-0.0.1.ebuild @@ -35,7 +35,7 @@ DEPEND=" dev-util/checkbashisms dev-util/pahole dev-util/patchelf - net-dns/bind-tools + net-dns/bind >=net-dns/dnsmasq-2.72[dhcp,ipv6] net-libs/rpcsvc-proto net-misc/curl diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/net-dns/bind b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/net-dns/bind new file mode 100644 index 00000000000..0cb2bea848c --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/net-dns/bind @@ -0,0 +1,62 @@ +# Keep only tool binaries and libraries those binaries need. +ndb_install_mask=" + /etc + /var + /usr/bin/arpaname + /usr/bin/named-* + /usr/bin/nsec3hash + /usr/lib/systemd + /usr/lib/tmpfiles.d + /usr/lib64/bind + /usr/lib64/libisccc* + /usr/libexec + /usr/sbin +" + +INSTALL_MASK+="${ndb_install_mask}" +PKG_INSTALL_MASK+="${ndb_install_mask}" + +unset ndb_install_mask + +# Override fowners to ignore changing owner or group to named. The +# only files that this happens for are files that we have put into +# {PKG_,}INSTALL_MASK. This will help us avoid installing +# acct-user/named and acct-user/group. +fowners_script=$(command -v fowners) +fowners() { + if [[ ${#} -gt 0 && ( ${1} = named:* || ${1} = *:named ) ]]; then + return 0 + fi + "${fowners_script}" "${@}" +} + +# The pkg_postinst phase function wants to generate an rndc.key file +# with /usr/sbin/rndc-confgen script if the key file is missing, then +# change the ownership to the named group. We don't need the key file +# at all as it's presumably for named. Also, we masked the installtion +# of the script. Thus we fool the phase function by putting an empty +# key file there, so the function won't trigger the generation. We +# drop the key file later too. +# +# TODO: The paths ought to be prefixed with ${EROOT}, but the +# 9.18.29-r2 ebuild is botched in this regard. This was fixed in +# 9.18.31-r1, so when we update to that version, the ${EROOT} prefix +# will need to be added. +cros_pre_pkg_postinst_add_fake_rndc_key() { + local dir='/etc/bind' + if [[ ! -d "${dir}" ]]; then + mkdir "${dir}" || die + fi + touch "${dir}/rndc.key" || die +} +# TODO: This function should just do: +# +# rm -rf "${EROOT}/etc/bind" || die +cros_post_pkg_postinst_drop_fake_rndc_key() { + # Remove the file only if it exists and is empty. + local dir='/etc/bind' file="${dir}/rndc.key" + if [[ -f "${file}" && ! -s "${file}" ]]; then + rm -f "${file}" || die + fi + rmdir "${dir}" # it's fine if it fails +} diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/net-dns/bind-tools b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/net-dns/bind-tools deleted file mode 100644 index 837a89d7a81..00000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/net-dns/bind-tools +++ /dev/null @@ -1,12 +0,0 @@ -# Work around lame function attribute checks when cross-compiling. -# Linker emits a bunch of irrelevant warnings and that trips configure -# script up into thinking that those attributes are not -# supported. Upstream bind-tools already fixed that by being smarter -# and grepping for -Wattributes instead, but we are not yet packaging -# it. We also know that constructor and destructor attributes are -# supported - they are available since at least gcc 3.4. -# -# Drop this when updating to bind tools 9.17.13 or newer. - -EXTRA_ECONF+=" ax_cv_have_func_attribute_constructor=yes" -EXTRA_ECONF+=" ax_cv_have_func_attribute_destructor=yes" diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-dns/bind/0000-libns-fix.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-dns/bind/0000-libns-fix.patch new file mode 100644 index 00000000000..fefd5c95932 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-dns/bind/0000-libns-fix.patch @@ -0,0 +1,455 @@ +diff '--color=auto' -r -U 3 bind-9.18.29/Makefile.in bind-9.18.29-patched/Makefile.in +--- bind-9.18.29/Makefile.in 2024-08-13 14:20:51.780682140 -0000 ++++ bind-9.18.29-patched/Makefile.in 2024-11-14 11:26:21.031099162 -0000 +@@ -516,7 +516,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + SUBDIRS = . lib doc bin fuzz $(am__append_2) +Only in bind-9.18.29-patched/: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/bin/check/Makefile.in bind-9.18.29-patched/bin/check/Makefile.in +--- bind-9.18.29/bin/check/Makefile.in 2024-08-13 14:20:51.824683290 -0000 ++++ bind-9.18.29-patched/bin/check/Makefile.in 2024-11-14 11:26:21.027099203 -0000 +@@ -472,7 +472,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + noinst_LTLIBRARIES = libcheck-tool.la +Only in bind-9.18.29-patched/bin/check: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/bin/confgen/Makefile.in bind-9.18.29-patched/bin/confgen/Makefile.in +--- bind-9.18.29/bin/confgen/Makefile.in 2024-08-13 14:20:51.848683916 -0000 ++++ bind-9.18.29-patched/bin/confgen/Makefile.in 2024-11-14 11:26:21.027099203 -0000 +@@ -467,7 +467,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + noinst_LTLIBRARIES = libconfgen.la +Only in bind-9.18.29-patched/bin/confgen: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/bin/delv/Makefile.in bind-9.18.29-patched/bin/delv/Makefile.in +--- bind-9.18.29/bin/delv/Makefile.in 2024-08-13 14:20:51.872684545 -0000 ++++ bind-9.18.29-patched/bin/delv/Makefile.in 2024-11-14 11:26:21.027099203 -0000 +@@ -455,7 +455,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + delv_SOURCES = \ +Only in bind-9.18.29-patched/bin/delv: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/bin/dig/Makefile.in bind-9.18.29-patched/bin/dig/Makefile.in +--- bind-9.18.29/bin/dig/Makefile.in 2024-08-13 14:20:51.904685381 -0000 ++++ bind-9.18.29-patched/bin/dig/Makefile.in 2024-11-14 11:26:21.027099203 -0000 +@@ -483,7 +483,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + noinst_LTLIBRARIES = libdighost.la +Only in bind-9.18.29-patched/bin/dig: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/bin/dnssec/Makefile.in bind-9.18.29-patched/bin/dnssec/Makefile.in +--- bind-9.18.29/bin/dnssec/Makefile.in 2024-08-13 14:20:51.936686217 -0000 ++++ bind-9.18.29-patched/bin/dnssec/Makefile.in 2024-11-14 11:26:21.027099203 -0000 +@@ -517,7 +517,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + noinst_LTLIBRARIES = libdnssectool.la +Only in bind-9.18.29-patched/bin/dnssec: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/bin/named/Makefile.in bind-9.18.29-patched/bin/named/Makefile.in +--- bind-9.18.29/bin/named/Makefile.in 2024-08-13 14:20:51.964686949 -0000 ++++ bind-9.18.29-patched/bin/named/Makefile.in 2024-11-14 11:26:21.023099244 -0000 +@@ -516,7 +516,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + nodist_named_SOURCES = xsl.c +Only in bind-9.18.29-patched/bin/named: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/bin/nsupdate/Makefile.in bind-9.18.29-patched/bin/nsupdate/Makefile.in +--- bind-9.18.29/bin/nsupdate/Makefile.in 2024-08-13 14:20:51.988687577 -0000 ++++ bind-9.18.29-patched/bin/nsupdate/Makefile.in 2024-11-14 11:26:21.027099203 -0000 +@@ -464,7 +464,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + nsupdate_SOURCES = \ +Only in bind-9.18.29-patched/bin/nsupdate: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/bin/plugins/Makefile.in bind-9.18.29-patched/bin/plugins/Makefile.in +--- bind-9.18.29/bin/plugins/Makefile.in 2024-08-13 14:20:52.012688204 -0000 ++++ bind-9.18.29-patched/bin/plugins/Makefile.in 2024-11-14 11:26:21.027099203 -0000 +@@ -485,7 +485,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + pkglib_LTLIBRARIES = filter-aaaa.la filter-a.la +Only in bind-9.18.29-patched/bin/plugins: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/bin/rndc/Makefile.in bind-9.18.29-patched/bin/rndc/Makefile.in +--- bind-9.18.29/bin/rndc/Makefile.in 2024-11-14 11:18:54.019636939 -0000 ++++ bind-9.18.29-patched/bin/rndc/Makefile.in 2024-11-14 11:26:21.027099203 -0000 +@@ -456,7 +456,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + rndc_SOURCES = \ +Only in bind-9.18.29-patched/bin/rndc: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/bin/tests/Makefile.in bind-9.18.29-patched/bin/tests/Makefile.in +--- bind-9.18.29/bin/tests/Makefile.in 2024-08-13 14:20:52.064689563 -0000 ++++ bind-9.18.29-patched/bin/tests/Makefile.in 2024-11-14 11:26:21.027099203 -0000 +@@ -503,7 +503,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + EXTRA_DIST = convert-trs-to-junit.py +Only in bind-9.18.29-patched/bin/tests: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/bin/tests/system/Makefile.in bind-9.18.29-patched/bin/tests/system/Makefile.in +--- bind-9.18.29/bin/tests/system/Makefile.in 2024-08-13 14:20:52.128691237 -0000 ++++ bind-9.18.29-patched/bin/tests/system/Makefile.in 2024-11-14 11:26:21.027099203 -0000 +@@ -750,7 +750,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + EXTRA_DIST = . +Only in bind-9.18.29-patched/bin/tests/system: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/bin/tests/system/dlzexternal/driver/Makefile.in bind-9.18.29-patched/bin/tests/system/dlzexternal/driver/Makefile.in +--- bind-9.18.29/bin/tests/system/dlzexternal/driver/Makefile.in 2024-08-13 14:20:52.152691863 -0000 ++++ bind-9.18.29-patched/bin/tests/system/dlzexternal/driver/Makefile.in 2024-11-14 11:26:21.027099203 -0000 +@@ -449,7 +449,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + noinst_LTLIBRARIES = dlzexternal.la +Only in bind-9.18.29-patched/bin/tests/system/dlzexternal/driver: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/bin/tests/system/dyndb/driver/Makefile.in bind-9.18.29-patched/bin/tests/system/dyndb/driver/Makefile.in +--- bind-9.18.29/bin/tests/system/dyndb/driver/Makefile.in 2024-08-13 14:20:52.176692492 -0000 ++++ bind-9.18.29-patched/bin/tests/system/dyndb/driver/Makefile.in 2024-11-14 11:26:21.027099203 -0000 +@@ -452,7 +452,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + noinst_LTLIBRARIES = sample.la +Only in bind-9.18.29-patched/bin/tests/system/dyndb/driver: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/bin/tests/system/hooks/driver/Makefile.in bind-9.18.29-patched/bin/tests/system/hooks/driver/Makefile.in +--- bind-9.18.29/bin/tests/system/hooks/driver/Makefile.in 2024-08-13 14:20:52.200693118 -0000 ++++ bind-9.18.29-patched/bin/tests/system/hooks/driver/Makefile.in 2024-11-14 11:26:21.027099203 -0000 +@@ -449,7 +449,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + noinst_LTLIBRARIES = test-async.la +Only in bind-9.18.29-patched/bin/tests/system/hooks/driver: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/bin/tools/Makefile.in bind-9.18.29-patched/bin/tools/Makefile.in +--- bind-9.18.29/bin/tools/Makefile.in 2024-08-13 14:20:52.236694060 -0000 ++++ bind-9.18.29-patched/bin/tools/Makefile.in 2024-11-14 11:26:21.027099203 -0000 +@@ -493,7 +493,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + arpaname_LDADD = \ +Only in bind-9.18.29-patched/bin/tools: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/doc/arm/Makefile.in bind-9.18.29-patched/doc/arm/Makefile.in +--- bind-9.18.29/doc/arm/Makefile.in 2024-08-13 14:20:52.268694896 -0000 ++++ bind-9.18.29-patched/doc/arm/Makefile.in 2024-11-14 11:26:21.031099162 -0000 +@@ -400,7 +400,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + SPHINX_V = $(SPHINX_V_@AM_V@) +Only in bind-9.18.29-patched/doc/arm: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/doc/man/Makefile.in bind-9.18.29-patched/doc/man/Makefile.in +--- bind-9.18.29/doc/man/Makefile.in 2024-08-13 14:20:52.288695419 -0000 ++++ bind-9.18.29-patched/doc/man/Makefile.in 2024-11-14 11:26:21.031099162 -0000 +@@ -440,7 +440,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + SPHINX_V = $(SPHINX_V_@AM_V@) +Only in bind-9.18.29-patched/doc/man: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/doc/misc/Makefile.in bind-9.18.29-patched/doc/misc/Makefile.in +--- bind-9.18.29/doc/misc/Makefile.in 2024-08-13 14:20:52.320696256 -0000 ++++ bind-9.18.29-patched/doc/misc/Makefile.in 2024-11-14 11:26:21.031099162 -0000 +@@ -455,7 +455,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + SPHINX_V = $(SPHINX_V_@AM_V@) +Only in bind-9.18.29-patched/doc/misc: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/fuzz/Makefile.in bind-9.18.29-patched/fuzz/Makefile.in +--- bind-9.18.29/fuzz/Makefile.in 2024-08-13 14:20:52.360697302 -0000 ++++ bind-9.18.29-patched/fuzz/Makefile.in 2024-11-14 11:26:21.031099162 -0000 +@@ -712,7 +712,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + check_LTLIBRARIES = libfuzzmain.la +Only in bind-9.18.29-patched/fuzz: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/lib/Makefile.in bind-9.18.29-patched/lib/Makefile.in +--- bind-9.18.29/lib/Makefile.in 2024-08-13 14:20:52.376697719 -0000 ++++ bind-9.18.29-patched/lib/Makefile.in 2024-11-14 11:26:21.031099162 -0000 +@@ -457,7 +457,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + SUBDIRS = isc dns isccc ns isccfg bind9 irs +Only in bind-9.18.29-patched/lib: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/lib/bind9/Makefile.in bind-9.18.29-patched/lib/bind9/Makefile.in +--- bind-9.18.29/lib/bind9/Makefile.in 2024-08-13 14:20:52.404698452 -0000 ++++ bind-9.18.29-patched/lib/bind9/Makefile.in 2024-11-14 11:26:21.027099203 -0000 +@@ -492,7 +492,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + lib_LTLIBRARIES = libbind9.la +Only in bind-9.18.29-patched/lib/bind9: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/lib/dns/Makefile.in bind-9.18.29-patched/lib/dns/Makefile.in +--- bind-9.18.29/lib/dns/Makefile.in 2024-08-13 14:20:52.524701588 -0000 ++++ bind-9.18.29-patched/lib/dns/Makefile.in 2024-11-14 11:26:21.027099203 -0000 +@@ -716,7 +716,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + lib_LTLIBRARIES = libdns.la +Only in bind-9.18.29-patched/lib/dns: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/lib/irs/Makefile.in bind-9.18.29-patched/lib/irs/Makefile.in +--- bind-9.18.29/lib/irs/Makefile.in 2024-08-13 14:20:52.552702320 -0000 ++++ bind-9.18.29-patched/lib/irs/Makefile.in 2024-11-14 11:26:21.031099162 -0000 +@@ -489,7 +489,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + lib_LTLIBRARIES = libirs.la +Only in bind-9.18.29-patched/lib/irs: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/lib/isc/Makefile.in bind-9.18.29-patched/lib/isc/Makefile.in +--- bind-9.18.29/lib/isc/Makefile.in 2024-08-13 14:20:52.660705144 -0000 ++++ bind-9.18.29-patched/lib/isc/Makefile.in 2024-11-14 11:26:21.027099203 -0000 +@@ -686,7 +686,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + lib_LTLIBRARIES = libisc.la +Only in bind-9.18.29-patched/lib/isc: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/lib/isccc/Makefile.in bind-9.18.29-patched/lib/isccc/Makefile.in +--- bind-9.18.29/lib/isccc/Makefile.in 2024-08-13 14:20:52.692705980 -0000 ++++ bind-9.18.29-patched/lib/isccc/Makefile.in 2024-11-14 11:26:21.027099203 -0000 +@@ -495,7 +495,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + lib_LTLIBRARIES = libisccc.la +Only in bind-9.18.29-patched/lib/isccc: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/lib/isccfg/Makefile.in bind-9.18.29-patched/lib/isccfg/Makefile.in +--- bind-9.18.29/lib/isccfg/Makefile.in 2024-08-13 14:20:52.724706817 -0000 ++++ bind-9.18.29-patched/lib/isccfg/Makefile.in 2024-11-14 11:26:21.031099162 -0000 +@@ -497,7 +497,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + lib_LTLIBRARIES = libisccfg.la +Only in bind-9.18.29-patched/lib/isccfg: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/lib/ns/Makefile.in bind-9.18.29-patched/lib/ns/Makefile.in +--- bind-9.18.29/lib/ns/Makefile.in 2024-08-13 14:20:52.764707863 -0000 ++++ bind-9.18.29-patched/lib/ns/Makefile.in 2024-11-14 11:26:21.031099162 -0000 +@@ -498,7 +498,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + lib_LTLIBRARIES = libns.la +Only in bind-9.18.29-patched/lib/ns: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/tests/Makefile.in bind-9.18.29-patched/tests/Makefile.in +--- bind-9.18.29/tests/Makefile.in 2024-08-13 14:20:52.780708280 -0000 ++++ bind-9.18.29-patched/tests/Makefile.in 2024-11-14 11:26:21.031099162 -0000 +@@ -457,7 +457,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + SUBDIRS = libtest isc dns ns isccfg irs +Only in bind-9.18.29-patched/tests: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/tests/dns/Makefile.in bind-9.18.29-patched/tests/dns/Makefile.in +--- bind-9.18.29/tests/dns/Makefile.in 2024-08-13 14:20:52.848710058 -0000 ++++ bind-9.18.29-patched/tests/dns/Makefile.in 2024-11-14 11:26:21.031099162 -0000 +@@ -904,7 +904,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + CLEANFILES = $(am__append_3) $(EXTRA_sigs_test_DEPENDENCIES) +Only in bind-9.18.29-patched/tests/dns: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/tests/irs/Makefile.in bind-9.18.29-patched/tests/irs/Makefile.in +--- bind-9.18.29/tests/irs/Makefile.in 2024-08-13 14:20:52.884711000 -0000 ++++ bind-9.18.29-patched/tests/irs/Makefile.in 2024-11-14 11:26:21.031099162 -0000 +@@ -667,7 +667,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + EXTRA_DIST = testdata +Only in bind-9.18.29-patched/tests/irs: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/tests/isc/Makefile.in bind-9.18.29-patched/tests/isc/Makefile.in +--- bind-9.18.29/tests/isc/Makefile.in 2024-08-13 14:20:52.956712881 -0000 ++++ bind-9.18.29-patched/tests/isc/Makefile.in 2024-11-14 11:26:21.031099162 -0000 +@@ -895,7 +895,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + @HAVE_LIBNGHTTP2_TRUE@doh_test_CPPFLAGS = \ +Only in bind-9.18.29-patched/tests/isc: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/tests/isccfg/Makefile.in bind-9.18.29-patched/tests/isccfg/Makefile.in +--- bind-9.18.29/tests/isccfg/Makefile.in 2024-08-13 14:20:52.992713823 -0000 ++++ bind-9.18.29-patched/tests/isccfg/Makefile.in 2024-11-14 11:26:21.031099162 -0000 +@@ -677,7 +677,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + @HAVE_CMOCKA_TRUE@TESTS = $(check_PROGRAMS) +Only in bind-9.18.29-patched/tests/isccfg: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/tests/libtest/Makefile.in bind-9.18.29-patched/tests/libtest/Makefile.in +--- bind-9.18.29/tests/libtest/Makefile.in 2024-08-13 14:20:53.020714555 -0000 ++++ bind-9.18.29-patched/tests/libtest/Makefile.in 2024-11-14 11:26:21.031099162 -0000 +@@ -658,7 +658,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + check_LTLIBRARIES = libtest.la +Only in bind-9.18.29-patched/tests/libtest: Makefile.ine +diff '--color=auto' -r -U 3 bind-9.18.29/tests/ns/Makefile.in bind-9.18.29-patched/tests/ns/Makefile.in +--- bind-9.18.29/tests/ns/Makefile.in 2024-08-13 14:20:53.060715601 -0000 ++++ bind-9.18.29-patched/tests/ns/Makefile.in 2024-11-14 11:26:21.031099162 -0000 +@@ -695,7 +695,7 @@ + LIBBIND9_CFLAGS = \ + -I$(top_srcdir)/lib/bind9/include + +-LIBBIND9_LIBS = \ ++LIBBIND9_LIBS = $(LIBNS_LIBS) \ + $(top_builddir)/lib/bind9/libbind9.la + + EXTRA_DIST = testdata +Only in bind-9.18.29-patched/tests/ns: Makefile.ine diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-dns/bind/README.md b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-dns/bind/README.md new file mode 100644 index 00000000000..d3bf45ef0e2 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-dns/bind/README.md @@ -0,0 +1,2 @@ +The patch fixes linking against libns through libbind9. Can be dropped +when the package is updated to 9.20.x. diff --git a/sdk_container/src/third_party/coreos-overlay/net-fs/samba/samba-4.19.7.ebuild b/sdk_container/src/third_party/coreos-overlay/net-fs/samba/samba-4.19.7.ebuild index 071a629b9c0..f6dcd0804f1 100644 --- a/sdk_container/src/third_party/coreos-overlay/net-fs/samba/samba-4.19.7.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/net-fs/samba/samba-4.19.7.ebuild @@ -89,7 +89,7 @@ COMMON_DEPEND=" ) ads? ( dev-python/dnspython:=[${PYTHON_USEDEP}] - net-dns/bind-tools[gssapi] + net-dns/bind[gssapi] ) ') acl? ( virtual/acl ) diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/amd64/generic/package.use b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/amd64/generic/package.use index d71d119c57a..38586b7c040 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/amd64/generic/package.use +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/amd64/generic/package.use @@ -3,4 +3,4 @@ sys-firmware/intel-microcode vanilla # Enable gssapi only for amd64, to avoid build errors in arm64. -net-dns/bind-tools gssapi +net-dns/bind gssapi diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/arm64/package.use b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/arm64/package.use index d9c79b5d07c..b07aa3e30f2 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/arm64/package.use +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/arm64/package.use @@ -1,4 +1,4 @@ # arm64 use # Disable gssapi for arm64 to avoid build errors -net-dns/bind-tools -gssapi +net-dns/bind -gssapi 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 0b5110a2873..8b3d91fe603 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 @@ -8,7 +8,7 @@ # (the following packages are "unstable" upstream; we're stabilising these) # Needed by updated app-containers/containers-common -=app-containers/aardvark-dns-1.12.2 ~amd64 ~arm64 +=app-containers/aardvark-dns-1.12.2-r1 ~amd64 ~arm64 # Handled by automation =app-containers/containerd-1.7.23 ~amd64 ~arm64 # DO NOT EDIT THIS LINE. Added by containerd-apply-patch.sh on 2024-10-18 08:06:10 @@ -29,14 +29,11 @@ =app-containers/crun-1.17 ~amd64 ~arm64 # Accept unstable for Docker and its CLI. -=app-containers/docker-27.2.1 ~amd64 ~arm64 -=app-containers/docker-cli-27.2.1 ~amd64 ~arm64 +=app-containers/docker-27.3.1 ~amd64 ~arm64 +=app-containers/docker-cli-27.3.1 ~amd64 ~arm64 # Needed by updated app-containers/containers-common -=app-containers/netavark-1.12.2 ~amd64 ~arm64 - -# Needed to address CVE-2024-3727 -=app-containers/podman-5.0.3 ~amd64 ~arm64 +=app-containers/netavark-1.12.2-r1 ~amd64 ~arm64 # These seem to be the versions we initially got, but the # modifications made to the ebuilds were clobbered, so these are here @@ -78,14 +75,11 @@ # The only available ebuild (from GURU) has ~amd64 and no keyword for arm64 yet. =dev-libs/jose-12 ** -# Keep versions on both arches in sync. -=dev-libs/jsoncpp-1.9.6-r2 ~arm64 - # The only available ebuild (from GURU) has ~amd64 and no keyword for arm64 yet. =dev-libs/luksmeta-9-r1 ** # Keep versions on both arches in sync. -=dev-util/bpftool-7.5.0-r1 ~arm64 +=dev-util/bpftool-7.4.0 ~arm64 # Catalyst 4 is not stable yet, but earlier versions are masked now. =dev-util/catalyst-4.0.0 ~amd64 ~arm64 @@ -98,22 +92,16 @@ =net-libs/libnetfilter_cthelper-1.0.1-r1 ~arm64 =net-libs/libnetfilter_cttimeout-1.0.1 ~arm64 -# Needed to address CVE-2024-6197, CVE-2024-6874, CVE-2024-7264 and -# CVE-2024-8096. -=net-misc/curl-8.10.1 ~amd64 ~arm64 - # Needed by updated app-containers/containers-common =net-misc/passt-2024.09.06 ~amd64 ~arm64 # Package has not been stabilised yet. -=sys-apps/azure-vm-utils-0.3.0 ~amd64 ~arm64 +=sys-apps/azure-vm-utils-0.4.0 ~amd64 ~arm64 # Keep versions on both arches in sync. =sys-apps/kexec-tools-2.0.28 ~arm64 -=sys-apps/zram-generator-1.1.2 ~arm64 - -# Upgrade to latest version for secureboot -=sys-boot/mokutil-0.6.0 ~amd64 ~arm64 +=sys-apps/zram-generator-1.1.2-r1 ~arm64 +=sys-boot/mokutil-0.7.2 ** # Enable ipvsadm for arm64. =sys-cluster/ipvsadm-1.31-r1 ~arm64 diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.use.mask b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.use.mask index 0e3644833e2..ba6b95c172f 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.use.mask +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.use.mask @@ -25,3 +25,8 @@ sys-fs/btrfs-progs man # put anywhere. Thus avoid pulling more dependencies than necessary # for throw-away things. dev-python/pillow jpeg + +# bpftool ebuild started to bdepend on sys-devel/clang unconditionally +# in order to build co-re support. We can try avoiding it by masking +# the USE flag that currently gets enabled by default. +dev-util/bpftool llvm_slot_18 diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/generic/package.provided b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/generic/package.provided index 4d2470a4335..ff38bc4c542 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/generic/package.provided +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/generic/package.provided @@ -15,3 +15,9 @@ app-eselect/eselect-iptables-20200508 # pulled in by app-admin/sudo app-misc/editor-wrapper-4 + +# Pulled in by net-dns/bind, needed only by named, which we do not +# install. +acct-group/named-0-r3 +acct-user/named-0-r3 +sys-process/psmisc-23.7 diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/sdk/package.use b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/sdk/package.use index 062e03cbe65..8d6be57ecc5 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/sdk/package.use +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/sdk/package.use @@ -33,4 +33,4 @@ x11-libs/pixman static-libs app-emulation/qemu -pin-upstream-blobs # Enable gssapi for SDK -net-dns/bind-tools gssapi +net-dns/bind gssapi diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/systemd/systemd-255.8.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-apps/systemd/systemd-255.8.ebuild index dcfd6a90800..270e534ef83 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-apps/systemd/systemd-255.8.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/sys-apps/systemd/systemd-255.8.ebuild @@ -182,7 +182,7 @@ BDEPEND=" dev-libs/libxslt:0 ${PYTHON_DEPS} $(python_gen_cond_dep " - dev-python/jinja[\${PYTHON_USEDEP}] + dev-python/jinja2[\${PYTHON_USEDEP}] dev-python/lxml[\${PYTHON_USEDEP}] boot? ( >=dev-python/pyelftools-0.30[\${PYTHON_USEDEP}] diff --git a/sdk_container/src/third_party/coreos-overlay/sys-auth/sssd/sssd-2.3.1-r6.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-auth/sssd/sssd-2.3.1-r6.ebuild index 8b21a463187..254201e3f1d 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-auth/sssd/sssd-2.3.1-r6.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/sys-auth/sssd/sssd-2.3.1-r6.ebuild @@ -27,7 +27,7 @@ RESTRICT="!test? ( test )" REQUIRED_USE="pac? ( samba ) python? ( ${PYTHON_REQUIRED_USE} )" -# Flatcar: do not force gssapi for >=net-dns/bind-tools-9.9 +# Flatcar: do not force gssapi for >=net-dns/bind-9.9 # do not force winbind for net-fs/samba DEPEND=" >=app-crypt/mit-krb5-1.10.3 @@ -38,7 +38,7 @@ DEPEND=" >=dev-libs/libpcre-8.30:= >=dev-libs/popt-1.16 >=dev-libs/openssl-1.0.2:0= - >=net-dns/bind-tools-9.9 + >=net-dns/bind-9.9 >=net-dns/c-ares-1.7.4 >=net-nds/openldap-2.4.30[sasl] >=sys-apps/dbus-1.6 diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind-tools/metadata.xml b/sdk_container/src/third_party/portage-stable/acct-group/named/metadata.xml similarity index 63% rename from sdk_container/src/third_party/portage-stable/net-dns/bind-tools/metadata.xml rename to sdk_container/src/third_party/portage-stable/acct-group/named/metadata.xml index b79cb1a4c1d..bd6443d4a37 100644 --- a/sdk_container/src/third_party/portage-stable/net-dns/bind-tools/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/acct-group/named/metadata.xml @@ -5,10 +5,4 @@ chutzpah@gentoo.org Patrick McLean - - Enable gssapi support - - - cpe:/a:isc:bind - diff --git a/sdk_container/src/third_party/portage-stable/acct-group/named/named-0-r3.ebuild b/sdk_container/src/third_party/portage-stable/acct-group/named/named-0-r3.ebuild new file mode 100644 index 00000000000..c0f364f8362 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/acct-group/named/named-0-r3.ebuild @@ -0,0 +1,8 @@ +# Copyright 2020-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit acct-group + +ACCT_GROUP_ID=40 diff --git a/sdk_container/src/third_party/portage-stable/acct-user/named/metadata.xml b/sdk_container/src/third_party/portage-stable/acct-user/named/metadata.xml new file mode 100644 index 00000000000..bd6443d4a37 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/acct-user/named/metadata.xml @@ -0,0 +1,8 @@ + + + + + chutzpah@gentoo.org + Patrick McLean + + diff --git a/sdk_container/src/third_party/portage-stable/acct-user/named/named-0-r3.ebuild b/sdk_container/src/third_party/portage-stable/acct-user/named/named-0-r3.ebuild new file mode 100644 index 00000000000..471b7d10341 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/acct-user/named/named-0-r3.ebuild @@ -0,0 +1,14 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit acct-user + +DESCRIPTION="User for net-dns/bind" + +ACCT_USER_ID=40 +ACCT_USER_HOME=/etc/bind +ACCT_USER_GROUPS=( named ) + +acct-user_add_deps diff --git a/sdk_container/src/third_party/portage-stable/app-arch/cpio/Manifest b/sdk_container/src/third_party/portage-stable/app-arch/cpio/Manifest index fd953b128e7..b64eba89366 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/cpio/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-arch/cpio/Manifest @@ -1,4 +1,2 @@ -DIST cpio-2.13-CVE-2021-38185.patch.xz 7844 BLAKE2B e338950e03c3eed3b4288435c9c75af8f0c3497b43680be4ee347e628db7cfac616b437a848094bf82cfc2c7f29d59b388bf0f6368b3b99770022e3f9533be11 SHA512 4d2cafefcd1ae9d86cb5171de2896799713490dfd9ed27d3dce0886fa4588c8df2b16ad8508a5dbb9155c9de6e40b6d1083bdb4774d967193a270a1dcbe37a33 -DIST cpio-2.13.tar.bz2 1354559 BLAKE2B 45d77723acb55f15c8574ab5a2fdff6fb1767629d177dd3416b0268e9f82ee6bdd11b4fa591ef020efccbdc3f4918cf77263169da1a0f6422dfe1a9712295778 SHA512 459398e69f7f48201c04d1080218c50f75edcf114ffcbb236644ff6fcade5fcc566929bdab2ebe9be5314828d6902e43b348a8adf28351df978c8989590e93a3 DIST cpio-2.14.tar.bz2 1521004 BLAKE2B f2fa9f5bc39cd91f4755fdf27f43cff4d1c1f098639502689a01314762ad686bf357a1eda7f92e4c802e6e8335548ca31fc789cea056ef685c558892ddcbebd1 SHA512 2dc93a81e31b6fb7ff9976243d22ca7a84bb396c7ad09e0abfb5d5efae1164ebb319fb89be45045797f8c604b3e3d2ea0746e3cfe559aa86282ea4ec9a17da28 DIST cpio-2.15.tar.bz2 1651320 BLAKE2B ca2aae6a00239be7aff5558a2e62b4fb4b43c2ed7f4d7a23699c958ae10b348c4ebf39233f0dd0242cba895fdac4d0ff3b4e56fefa0b1afe3db41eb6916e0b23 SHA512 e3c3d0344d13d540887198ee5d6209a9254ed34b87c3b3cabe6dc3ce22ef94d3f380bb60d3395eee44e4b0ec8460b957032c6251f101b4a9fbc5951a701aadff diff --git a/sdk_container/src/third_party/portage-stable/app-arch/cpio/cpio-2.13-r5.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/cpio/cpio-2.13-r5.ebuild deleted file mode 100644 index 247bac8bd04..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-arch/cpio/cpio-2.13-r5.ebuild +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools - -DESCRIPTION="A file archival tool which can also read and write tar files" -HOMEPAGE="https://www.gnu.org/software/cpio/cpio.html" -SRC_URI="mirror://gnu/cpio/${P}.tar.bz2" -SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-CVE-2021-38185.patch.xz" - -LICENSE="GPL-3+" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="nls" - -PDEPEND=" - app-alternatives/cpio -" - -PATCHES=( - "${FILESDIR}"/${PN}-2.12-non-gnu-compilers.patch #275295 - "${WORKDIR}"/${P}-CVE-2021-38185.patch - "${FILESDIR}"/${PN}-2.13-sysmacros-glibc-2.26.patch - "${FILESDIR}"/${PN}-2.13-fix-no-absolute-filenames-revert-CVE-2015-1197-handling.patch - "${FILESDIR}"/${PN}-2.13-wincompatible-function-pointer-types.patch -) - -src_prepare() { - default - - # Drop after 2.13 (only here for CVE patch) - eautoreconf -} - -src_configure() { - local myeconfargs=( - $(use_enable nls) - --bindir="${EPREFIX}"/bin - --with-rmt="${EPREFIX}"/usr/sbin/rmt - # install as gcpio for better compatibility with non-GNU userland - --program-prefix=g - ) - - econf "${myeconfargs[@]}" -} - -pkg_postinst() { - # ensure to preserve the symlink before app-alternatives/cpio - # is installed - if [[ ! -h ${EROOT}/bin/cpio ]]; then - ln -s gcpio "${EROOT}/bin/cpio" || die - fi -} diff --git a/sdk_container/src/third_party/portage-stable/app-arch/cpio/files/cpio-2.13-fix-no-absolute-filenames-revert-CVE-2015-1197-handling.patch b/sdk_container/src/third_party/portage-stable/app-arch/cpio/files/cpio-2.13-fix-no-absolute-filenames-revert-CVE-2015-1197-handling.patch deleted file mode 100644 index 326489a5494..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-arch/cpio/files/cpio-2.13-fix-no-absolute-filenames-revert-CVE-2015-1197-handling.patch +++ /dev/null @@ -1,47 +0,0 @@ -https://sources.debian.org/patches/cpio/2.13%2Bdfsg-7.1/revert-CVE-2015-1197-handling.patch/ -https://bugs.gentoo.org/700020 - -From: Chris Lamb -Date: Sat, 1 Feb 2020 13:36:37 +0100 -Subject: Fix a regression in handling of CVE-2015-1197 & - --no-absolute-filenames. - -See: - - * https://bugs.debian.org/946267 - * https://bugs.debian.org/946469 - -This reverts (most of): https://git.savannah.gnu.org/cgit/cpio.git/diff/?id=45b0ee2b407913c533f7ded8d6f8cbeec16ff6ca&id2=3177d660a4c62a6acb538b0f7c54ba423698889a ---- a/src/copyin.c -+++ b/src/copyin.c -@@ -646,8 +646,6 @@ copyin_link (struct cpio_file_stat *file_hdr, int in_file_des) - link_name = xstrdup (file_hdr->c_tar_linkname); - } - -- cpio_safer_name_suffix (link_name, true, !no_abs_paths_flag, false); -- - res = UMASKED_SYMLINK (link_name, file_hdr->c_name, - file_hdr->c_mode); - if (res < 0 && create_dir_flag) ---- a/tests/testsuite -+++ b/tests/testsuite -@@ -2787,7 +2787,7 @@ read at_status <"$at_status_file" - #AT_START_14 - at_fn_group_banner 14 'CVE-2015-1197.at:17' \ - "CVE-2015-1197 (--no-absolute-filenames for symlinks)" "" --at_xfail=no -+at_xfail=yes - ( - $as_echo "14. $at_setup_line: testing $at_desc ..." - $at_traceon - ---- a/tests/CVE-2015-1197.at -+++ b/tests/CVE-2015-1197.at -@@ -15,6 +15,7 @@ - # along with this program. If not, see . - - AT_SETUP([CVE-2015-1197 (--no-absolute-filenames for symlinks)]) -+AT_XFAIL_IF([true]) - AT_CHECK([ - tempdir=$(pwd)/tmp - mkdir $tempdir diff --git a/sdk_container/src/third_party/portage-stable/app-arch/cpio/files/cpio-2.13-sysmacros-glibc-2.26.patch b/sdk_container/src/third_party/portage-stable/app-arch/cpio/files/cpio-2.13-sysmacros-glibc-2.26.patch deleted file mode 100644 index 90e7bc77bd9..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-arch/cpio/files/cpio-2.13-sysmacros-glibc-2.26.patch +++ /dev/null @@ -1,42 +0,0 @@ ---- a/am/ax_compile_check_rettype.m4 -+++ b/am/ax_compile_check_rettype.m4 -@@ -70,6 +70,9 @@ AC_CACHE_VAL(AC_CV_NAME, - [for ac_type in char short int long "long long" $4 - do - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -+#ifdef HAVE_SYS_SYSMACROS_H -+#include -+#endif - #include - $3 - ]], [[switch (0) case 0: case (sizeof ($1($2)) == sizeof ($ac_type)):;]])], [AC_CV_NAME=$ac_type]) ---- a/configure.ac -+++ b/configure.ac -@@ -39,14 +39,11 @@ AC_C_PROTOTYPES - AC_SYS_LARGEFILE - - AC_TYPE_SIGNAL --AC_HEADER_MAJOR - AC_C_CONST - AC_TYPE_UID_T - AC_CHECK_TYPE(gid_t, int) - AC_HEADER_STDC - AC_HEADER_DIRENT --AC_COMPILE_CHECK_RETTYPE([major], [0]) --AC_COMPILE_CHECK_RETTYPE([minor], [0]) - - AC_CHECK_FUNCS([fchmod fchown]) - # This is needed for mingw build -@@ -67,7 +64,11 @@ AC_ARG_ENABLE(mt, - - AM_CONDITIONAL([CPIO_MT_COND], [test "$enable_mt" = yes]) - --AC_CHECK_HEADERS([unistd.h stdlib.h string.h fcntl.h pwd.h grp.h sys/io/trioctl.h utmp.h getopt.h locale.h libintl.h sys/wait.h utime.h locale.h process.h sys/ioctl.h]) -+AC_CHECK_HEADERS([unistd.h stdlib.h string.h fcntl.h pwd.h grp.h sys/io/trioctl.h utmp.h getopt.h locale.h libintl.h sys/wait.h utime.h locale.h process.h sys/ioctl.h sys/sysmacros.h]) -+ -+AC_HEADER_MAJOR -+AC_COMPILE_CHECK_RETTYPE([major], [0]) -+AC_COMPILE_CHECK_RETTYPE([minor], [0]) - - AC_CHECK_DECLS([errno, getpwnam, getgrnam, getgrgid, strdup, strerror, getenv, atoi, exit], , , [ - #include diff --git a/sdk_container/src/third_party/portage-stable/app-arch/cpio/files/cpio-2.13-wincompatible-function-pointer-types.patch b/sdk_container/src/third_party/portage-stable/app-arch/cpio/files/cpio-2.13-wincompatible-function-pointer-types.patch deleted file mode 100644 index 4f2dc315365..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-arch/cpio/files/cpio-2.13-wincompatible-function-pointer-types.patch +++ /dev/null @@ -1,23 +0,0 @@ -https://bugs.gentoo.org/880373 -https://savannah.gnu.org/bugs/index.php?63349 -https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=0cc39712803ade7b2d4b89c36b143dad72404063 - -From 0cc39712803ade7b2d4b89c36b143dad72404063 Mon Sep 17 00:00:00 2001 -From: Bruno Haible -Date: Sun, 18 Oct 2020 14:37:13 +0200 -Subject: obstack: Fix a clang warning. - -* lib/obstack.c (print_and_abort): Mark as __attribute_noreturn__. ---- a/gnu/obstack.c -+++ b/gnu/obstack.c -@@ -326,7 +326,7 @@ int obstack_exit_failure = EXIT_FAILURE; - # include - # endif - --static _Noreturn void -+static __attribute_noreturn__ void - print_and_abort (void) - { - /* Don't change any of these strings. Yes, it would be possible to add --- -cgit v1.1 diff --git a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/Manifest b/sdk_container/src/third_party/portage-stable/app-arch/libarchive/Manifest index ed8dfca86ac..8c37e1e0ba0 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-arch/libarchive/Manifest @@ -1,7 +1,3 @@ -DIST libarchive-3.7.4.tar.xz 5417660 BLAKE2B 128f72235da61e112201046c0cfe62a8c580cf73b426c4cfe270ae913356f6ad430ba33a663dcd617b082c7baf45ada8d1c9928c45fea16fd57e8020693a60bc SHA512 84bc346ba15861ab10aa54a3d687de955178e4efbe12bf3a49a467181e7f819673949f131f4c8338de8ed6e319a8565af376e5a540380bda08e60dffbc7c8686 -DIST libarchive-3.7.4.tar.xz.asc 659 BLAKE2B 77e705194f6e9a9f97da0ac43c9b3157e1a8a490d26da34079e4ef3f2bcf98d6f6e95567e110287fab0ec26d3fc27e5bbeff7569c9ca138de2caf47af737c6d0 SHA512 82caa18a78661ea717ce93cdcb0806eed48450c20fb4d45cb4c33001f2d4d0fb5a791552acbb24ad8c41772e1d0b66c76c9cb86946bc862109721a0c986f5331 -DIST libarchive-3.7.5.tar.xz 5437940 BLAKE2B e1cf8490b2db64e912bd181391310653b4e3524e74f35557e1ddb8c5eb53dcde307da945d393921acf7549ef0d4a6bf228d8f42ab4d795d06dd2248196a11c85 SHA512 b9cfb0a147bf0f77cca9e2bdea173f47a78dcba5df1d97a8e0e7b14a15039ac6d5467e325423b2a05741848f73ca7ab4fece922153f24f934f9370cb521d20df -DIST libarchive-3.7.5.tar.xz.asc 659 BLAKE2B 7310b8d7e3f07b8c75910ff3355ffda653402ca2d6db9cdf7d669b9a4ac5f3fb4c4c4482e85184fd68a23c96bce587a95b56efb88ae971399e130e533bd0969a SHA512 7494518b61a58a9aa1e991a2cf6b16340e34d7aa2c25a3c531799785e165541781d1a915437260bc536fe8267140cc69abb2670e8c0576e975a5a2b7ecf8e20d DIST libarchive-3.7.6.tar.xz 5458552 BLAKE2B 3251dc4d59867d1c9b43e78ac7735c27670e819a1aba4f4a76372b8509e2427ff24e379f6102a4cc3c92b965d182c8939bb6df4c82d4d1141cdd1db13bf039a2 SHA512 3ca90d665772418b9ac444044511989e81e785a13db3c101851390ba7c2ba0793c799cedb9df990e900ab78c98207f70ecee7e21829578555dde99424950ae2a DIST libarchive-3.7.6.tar.xz.asc 659 BLAKE2B 9f6a621dd4aa20f06dff71225723e60a6cee1f2a54ff07d2d19670153105f2f75d6439320f49eb46c28a4416828af7dc4f0d827e46ec9aeb5b703f06eb329d77 SHA512 2840b13f910f47d34daeed9680beb4b3cdde2d7de26ab8453756261c51fb7a39b727454f370b0ee60f8e1646c65544331a22558cbe8faf79a201b1d1346b37c1 DIST libarchive-3.7.7.tar.xz 5480580 BLAKE2B e118c693f7a78e86ab868fc6c2c77beba539cf5c7d5999e270cdceb225e9f85c68c938ec6ce3a33f75b2a44a6f7debe2c280d2573c1bcf05806300e8dce1a4f0 SHA512 2524f71f4c2ebc254a1927279be3394e820d0a0c6dec7ef835a862aa08c35756edaa4208bcdc710dd092872b59c200b555b78670372e2830822e278ff1ec4e4a diff --git a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/files/libarchive-3.7.4-INT_MAX.patch b/sdk_container/src/third_party/portage-stable/app-arch/libarchive/files/libarchive-3.7.4-INT_MAX.patch deleted file mode 100644 index 150216b3344..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/files/libarchive-3.7.4-INT_MAX.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 6ff1cd1e487ddf545337b88da3f1f5ca69a2f958 Mon Sep 17 00:00:00 2001 -From: Tim Kientzle -Date: Mon, 6 May 2024 20:46:26 -0700 -Subject: [PATCH] Define INT_MAX via `#include ` (#2170) - -#2110 added usages of INT_MAX here without adding the necessary header. - -Resolves #2162 ---- - tar/bsdtar.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/tar/bsdtar.c b/tar/bsdtar.c -index 42baab286..f0e71afd1 100644 ---- a/tar/bsdtar.c -+++ b/tar/bsdtar.c -@@ -43,6 +43,9 @@ - #ifdef HAVE_LANGINFO_H - #include - #endif -+#ifdef HAVE_LIMITS_H -+#include -+#endif - #ifdef HAVE_LOCALE_H - #include - #endif diff --git a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/files/libarchive-3.7.5-attr-dep.patch b/sdk_container/src/third_party/portage-stable/app-arch/libarchive/files/libarchive-3.7.5-attr-dep.patch deleted file mode 100644 index 3b26c51ea9d..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/files/libarchive-3.7.5-attr-dep.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 44b8e3b676746352cb3e08f76e58510c78209091 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= -Date: Wed, 18 Sep 2024 14:10:58 +0200 -Subject: [PATCH] tar/write.c: Support `sys/xattr.h` - -Synchronize the last use of `attr/xattr.h` to support using -`sys/xattr.h` instead. The former header is deprecated on GNU/Linux, -and this replacement makes it possible to build libarchive without -the `attr` package. ---- - tar/write.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/tar/write.c b/tar/write.c -index 1d1139f4c..43cd70233 100644 ---- a/tar/write.c -+++ b/tar/write.c -@@ -32,7 +32,9 @@ - #ifdef HAVE_SYS_STAT_H - #include - #endif --#ifdef HAVE_ATTR_XATTR_H -+#if HAVE_SYS_XATTR_H -+#include -+#elif HAVE_ATTR_XATTR_H - #include - #endif - #ifdef HAVE_ERRNO_H diff --git a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/files/libarchive-3.7.5-iso9660-times.patch b/sdk_container/src/third_party/portage-stable/app-arch/libarchive/files/libarchive-3.7.5-iso9660-times.patch deleted file mode 100644 index 2c5bcc27736..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/files/libarchive-3.7.5-iso9660-times.patch +++ /dev/null @@ -1,334 +0,0 @@ -From b65d12b344a5d81c6060b1c1794afa8858fe234b Mon Sep 17 00:00:00 2001 -From: Tim Kientzle -Date: Sat, 14 Sep 2024 21:09:34 -0700 -Subject: [PATCH] Be more cautious about parsing ISO-9660 timestamps - -Some ISO images don't have valid timestamps for the root directory -entry. Parsing such timestamps can generate nonsensical results, -which in one case showed up as an unexpected overflow on a 32-bit system. - -Add some validation logic that can check whether a 7-byte or 17-byte -timestamp is reasonable-looking, and use this to ignore invalid -timestamps in various locations. This also requires us to be a little -more careful about tracking which timestamps are actually known. - -Resolves issue #2329 ---- - .../archive_read_support_format_iso9660.c | 186 ++++++++++++++++-- - libarchive/test/test_read_format_iso_Z.c | 12 +- - 2 files changed, 177 insertions(+), 21 deletions(-) - -diff --git a/libarchive/archive_read_support_format_iso9660.c b/libarchive/archive_read_support_format_iso9660.c -index 056beb5ff..951afb603 100644 ---- a/libarchive/archive_read_support_format_iso9660.c -+++ b/libarchive/archive_read_support_format_iso9660.c -@@ -273,7 +273,7 @@ struct file_info { - char re; /* Having RRIP "RE" extension. */ - char re_descendant; - uint64_t cl_offset; /* Having RRIP "CL" extension. */ -- int birthtime_is_set; -+ int time_is_set; /* Bitmask indicating which times are known */ - time_t birthtime; /* File created time. */ - time_t mtime; /* File last modified time. */ - time_t atime; /* File last accessed time. */ -@@ -306,6 +306,11 @@ struct file_info { - } rede_files; - }; - -+#define BIRTHTIME_IS_SET 1 -+#define MTIME_IS_SET 2 -+#define ATIME_IS_SET 4 -+#define CTIME_IS_SET 8 -+ - struct heap_queue { - struct file_info **files; - int allocated; -@@ -394,7 +399,9 @@ static void dump_isodirrec(FILE *, const unsigned char *isodirrec); - #endif - static time_t time_from_tm(struct tm *); - static time_t isodate17(const unsigned char *); -+static int isodate17_valid(const unsigned char *); - static time_t isodate7(const unsigned char *); -+static int isodate7_valid(const unsigned char *); - static int isBootRecord(struct iso9660 *, const unsigned char *); - static int isVolumePartition(struct iso9660 *, const unsigned char *); - static int isVDSetTerminator(struct iso9660 *, const unsigned char *); -@@ -1351,13 +1358,22 @@ archive_read_format_iso9660_read_header(struct archive_read *a, - archive_entry_set_uid(entry, file->uid); - archive_entry_set_gid(entry, file->gid); - archive_entry_set_nlink(entry, file->nlinks); -- if (file->birthtime_is_set) -+ if ((file->time_is_set & BIRTHTIME_IS_SET)) - archive_entry_set_birthtime(entry, file->birthtime, 0); - else - archive_entry_unset_birthtime(entry); -- archive_entry_set_mtime(entry, file->mtime, 0); -- archive_entry_set_ctime(entry, file->ctime, 0); -- archive_entry_set_atime(entry, file->atime, 0); -+ if ((file->time_is_set & MTIME_IS_SET)) -+ archive_entry_set_mtime(entry, file->mtime, 0); -+ else -+ archive_entry_unset_mtime(entry); -+ if ((file->time_is_set & CTIME_IS_SET)) -+ archive_entry_set_ctime(entry, file->ctime, 0); -+ else -+ archive_entry_unset_ctime(entry); -+ if ((file->time_is_set & ATIME_IS_SET)) -+ archive_entry_set_atime(entry, file->atime, 0); -+ else -+ archive_entry_unset_atime(entry); - /* N.B.: Rock Ridge supports 64-bit device numbers. */ - archive_entry_set_rdev(entry, (dev_t)file->rdev); - archive_entry_set_size(entry, iso9660->entry_bytes_remaining); -@@ -1898,8 +1914,11 @@ parse_file_info(struct archive_read *a, struct file_info *parent, - file->parent = parent; - file->offset = offset; - file->size = fsize; -- file->mtime = isodate7(isodirrec + DR_date_offset); -- file->ctime = file->atime = file->mtime; -+ if (isodate7_valid(isodirrec + DR_date_offset)) { -+ file->time_is_set |= MTIME_IS_SET | ATIME_IS_SET | CTIME_IS_SET; -+ file->mtime = isodate7(isodirrec + DR_date_offset); -+ file->ctime = file->atime = file->mtime; -+ } - file->rede_files.first = NULL; - file->rede_files.last = &(file->rede_files.first); - -@@ -2573,51 +2592,73 @@ parse_rockridge_TF1(struct file_info *file, const unsigned char *data, - /* Use 17-byte time format. */ - if ((flag & 1) && data_length >= 17) { - /* Create time. */ -- file->birthtime_is_set = 1; -- file->birthtime = isodate17(data); -+ if (isodate17_valid(data)) { -+ file->time_is_set |= BIRTHTIME_IS_SET; -+ file->birthtime = isodate17(data); -+ } - data += 17; - data_length -= 17; - } - if ((flag & 2) && data_length >= 17) { - /* Modify time. */ -- file->mtime = isodate17(data); -+ if (isodate17_valid(data)) { -+ file->time_is_set |= MTIME_IS_SET; -+ file->mtime = isodate17(data); -+ } - data += 17; - data_length -= 17; - } - if ((flag & 4) && data_length >= 17) { - /* Access time. */ -- file->atime = isodate17(data); -+ if (isodate17_valid(data)) { -+ file->time_is_set |= ATIME_IS_SET; -+ file->atime = isodate17(data); -+ } - data += 17; - data_length -= 17; - } - if ((flag & 8) && data_length >= 17) { - /* Attribute change time. */ -- file->ctime = isodate17(data); -+ if (isodate17_valid(data)) { -+ file->time_is_set |= CTIME_IS_SET; -+ file->ctime = isodate17(data); -+ } - } - } else { - /* Use 7-byte time format. */ - if ((flag & 1) && data_length >= 7) { - /* Create time. */ -- file->birthtime_is_set = 1; -- file->birthtime = isodate7(data); -+ if (isodate7_valid(data)) { -+ file->time_is_set |= BIRTHTIME_IS_SET; -+ file->birthtime = isodate7(data); -+ } - data += 7; - data_length -= 7; - } - if ((flag & 2) && data_length >= 7) { - /* Modify time. */ -- file->mtime = isodate7(data); -+ if (isodate7_valid(data)) { -+ file->time_is_set |= MTIME_IS_SET; -+ file->mtime = isodate7(data); -+ } - data += 7; - data_length -= 7; - } - if ((flag & 4) && data_length >= 7) { - /* Access time. */ -- file->atime = isodate7(data); -+ if (isodate7_valid(data)) { -+ file->time_is_set |= ATIME_IS_SET; -+ file->atime = isodate7(data); -+ } - data += 7; - data_length -= 7; - } - if ((flag & 8) && data_length >= 7) { - /* Attribute change time. */ -- file->ctime = isodate7(data); -+ if (isodate7_valid(data)) { -+ file->time_is_set |= CTIME_IS_SET; -+ file->ctime = isodate7(data); -+ } - } - } - } -@@ -3226,6 +3267,56 @@ isValid733Integer(const unsigned char *p) - && p[3] == p[4]); - } - -+static int -+isodate7_valid(const unsigned char *v) -+{ -+ int year = v[0]; -+ int month = v[1]; -+ int day = v[2]; -+ int hour = v[3]; -+ int minute = v[4]; -+ int second = v[5]; -+ int gmt_off = (signed char)v[6]; -+ -+ /* ECMA-119 9.1.5 "If all seven values are zero, it shall mean -+ * that the date is unspecified" */ -+ if (year == 0 -+ && month == 0 -+ && day == 0 -+ && hour == 0 -+ && minute == 0 -+ && second == 0 -+ && gmt_off == 0) -+ return 0; -+ /* -+ * Sanity-test each individual field -+ */ -+ /* Year can have any value */ -+ /* Month must be 1-12 */ -+ if (month < 1 || month > 12) -+ return 0; -+ /* Day must be 1-31 */ -+ if (day < 1 || day > 31) -+ return 0; -+ /* Hour must be 0-23 */ -+ if (hour > 23) -+ return 0; -+ /* Minute must be 0-59 */ -+ if (minute > 59) -+ return 0; -+ /* second must be 0-59 according to ECMA-119 9.1.5 */ -+ /* BUT: we should probably allow for the time being in UTC, which -+ allows up to 61 seconds in a minute in certain cases */ -+ if (second > 61) -+ return 0; -+ /* Offset from GMT must be -48 to +52 */ -+ if (gmt_off < -48 || gmt_off > +52) -+ return 0; -+ -+ /* All tests pass, this is OK */ -+ return 1; -+} -+ - static time_t - isodate7(const unsigned char *v) - { -@@ -3252,6 +3343,67 @@ isodate7(const unsigned char *v) - return (t); - } - -+static int -+isodate17_valid(const unsigned char *v) -+{ -+ /* First 16 bytes are all ASCII digits */ -+ for (int i = 0; i < 16; i++) { -+ if (v[i] < '0' || v[i] > '9') -+ return 0; -+ } -+ -+ int year = (v[0] - '0') * 1000 + (v[1] - '0') * 100 -+ + (v[2] - '0') * 10 + (v[3] - '0'); -+ int month = (v[4] - '0') * 10 + (v[5] - '0'); -+ int day = (v[6] - '0') * 10 + (v[7] - '0'); -+ int hour = (v[8] - '0') * 10 + (v[9] - '0'); -+ int minute = (v[10] - '0') * 10 + (v[11] - '0'); -+ int second = (v[12] - '0') * 10 + (v[13] - '0'); -+ int hundredths = (v[14] - '0') * 10 + (v[15] - '0'); -+ int gmt_off = (signed char)v[16]; -+ -+ if (year == 0 && month == 0 && day == 0 -+ && hour == 0 && minute == 0 && second == 0 -+ && hundredths == 0 && gmt_off == 0) -+ return 0; -+ /* -+ * Sanity-test each individual field -+ */ -+ -+ /* Year must be 1900-2300 */ -+ /* (Not specified in ECMA-119, but these seem -+ like reasonable limits. */ -+ if (year < 1900 || year > 2300) -+ return 0; -+ /* Month must be 1-12 */ -+ if (month < 1 || month > 12) -+ return 0; -+ /* Day must be 1-31 */ -+ if (day < 1 || day > 31) -+ return 0; -+ /* Hour must be 0-23 */ -+ if (hour > 23) -+ return 0; -+ /* Minute must be 0-59 */ -+ if (minute > 59) -+ return 0; -+ /* second must be 0-59 according to ECMA-119 9.1.5 */ -+ /* BUT: we should probably allow for the time being in UTC, which -+ allows up to 61 seconds in a minute in certain cases */ -+ if (second > 61) -+ return 0; -+ /* Hundredths must be 0-99 */ -+ if (hundredths > 99) -+ return 0; -+ /* Offset from GMT must be -48 to +52 */ -+ if (gmt_off < -48 || gmt_off > +52) -+ return 0; -+ -+ /* All tests pass, this is OK */ -+ return 1; -+ -+} -+ - static time_t - isodate17(const unsigned char *v) - { -diff --git a/libarchive/test/test_read_format_iso_Z.c b/libarchive/test/test_read_format_iso_Z.c -index d07bc1bc8..716552fa3 100644 ---- a/libarchive/test/test_read_format_iso_Z.c -+++ b/libarchive/test/test_read_format_iso_Z.c -@@ -93,16 +93,20 @@ test_small(const char *name) - assertEqualIntA(a, ARCHIVE_OK, - archive_read_next_header(a, &ae)); - assertEqualString(".", archive_entry_pathname(ae)); -- assertEqualIntA(a, 3443989665, archive_entry_atime(ae)); -- assertEqualIntA(a, 0, archive_entry_birthtime(ae)); -- assertEqualIntA(a, 3443989665, archive_entry_ctime(ae)); -+ assertEqualInt(0, archive_entry_atime_is_set(ae)); -+ assertEqualInt(0, archive_entry_atime(ae)); -+ assertEqualInt(0, archive_entry_birthtime_is_set(ae)); -+ assertEqualInt(0, archive_entry_birthtime(ae)); -+ assertEqualInt(0, archive_entry_ctime_is_set(ae)); -+ assertEqualInt(0, archive_entry_ctime(ae)); - assertEqualIntA(a, 0, archive_entry_dev(ae)); - assertEqualIntA(a, AE_IFDIR, archive_entry_filetype(ae)); - assertEqualIntA(a, 0, archive_entry_gid(ae)); - assertEqualStringA(a, NULL, archive_entry_gname(ae)); - assertEqualIntA(a, 0, archive_entry_ino(ae)); - assertEqualIntA(a, AE_IFDIR | 0700, archive_entry_mode(ae)); -- assertEqualIntA(a, 3443989665, archive_entry_mtime(ae)); -+ assertEqualInt(0, archive_entry_mtime_is_set(ae)); -+ assertEqualInt(0, archive_entry_mtime(ae)); - assertEqualIntA(a, 4, archive_entry_nlink(ae)); - assertEqualIntA(a, 0700, archive_entry_perm(ae)); - assertEqualIntA(a, 2048, archive_entry_size(ae)); diff --git a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.7.4.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.7.4.ebuild deleted file mode 100644 index ef862fa31b6..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.7.4.ebuild +++ /dev/null @@ -1,178 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit libtool multilib-minimal toolchain-funcs verify-sig - -DESCRIPTION="Multi-format archive and compression library" -HOMEPAGE=" - https://www.libarchive.org/ - https://github.com/libarchive/libarchive/ -" -SRC_URI=" - https://www.libarchive.de/downloads/${P}.tar.xz - verify-sig? ( https://www.libarchive.de/downloads/${P}.tar.xz.asc ) -" - -LICENSE="BSD BSD-2 BSD-4 public-domain" -SLOT="0/13" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE=" - acl blake2 +bzip2 +e2fsprogs expat +iconv lz4 +lzma lzo nettle - static-libs test xattr +zstd -" -RESTRICT="!test? ( test )" - -RDEPEND=" - sys-libs/zlib[${MULTILIB_USEDEP}] - acl? ( virtual/acl[${MULTILIB_USEDEP}] ) - blake2? ( app-crypt/libb2[${MULTILIB_USEDEP}] ) - bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] ) - expat? ( dev-libs/expat[${MULTILIB_USEDEP}] ) - !expat? ( dev-libs/libxml2[${MULTILIB_USEDEP}] ) - iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] ) - kernel_linux? ( - xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] ) - ) - dev-libs/openssl:0=[${MULTILIB_USEDEP}] - lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] ) - lzma? ( >=app-arch/xz-utils-5.2.5-r1[${MULTILIB_USEDEP}] ) - lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] ) - nettle? ( dev-libs/nettle:0=[${MULTILIB_USEDEP}] ) - zstd? ( app-arch/zstd[${MULTILIB_USEDEP}] ) -" -DEPEND="${RDEPEND} - kernel_linux? ( - virtual/os-headers - e2fsprogs? ( sys-fs/e2fsprogs[${MULTILIB_USEDEP}] ) - ) - test? ( - app-arch/lrzip - app-arch/lz4 - app-arch/lzip - app-arch/lzop - app-arch/xz-utils - app-arch/zstd - lzma? ( app-arch/xz-utils[extra-filters(+)] ) - ) -" -BDEPEND=" - verify-sig? ( >=sec-keys/openpgp-keys-libarchive-20221209 ) - elibc_musl? ( sys-libs/queue-standalone ) -" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libarchive.org.asc - -# false positives (checks for libc-defined hash functions) -QA_CONFIG_IMPL_DECL_SKIP=( - SHA256_Init SHA256_Update SHA256_Final - SHA384_Init SHA384_Update SHA384_Final - SHA512_Init SHA512_Update SHA512_Final -) - -PATCHES=( - # https://github.com/libarchive/libarchive/issues/2069 - # (we can simply update the command since we don't support old lrzip) - "${FILESDIR}/${PN}-3.7.2-lrzip.patch" - # https://github.com/libarchive/libarchive/commit/6ff1cd1e487ddf545337b88da3f1f5ca69a2f958 - "${FILESDIR}/${PN}-3.7.4-INT_MAX.patch" -) - -src_prepare() { - default - - # Needed for flags to be respected w/ LTO - elibtoolize -} - -multilib_src_configure() { - export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923 - - local myconf=( - $(use_enable acl) - $(use_enable static-libs static) - $(use_enable xattr) - $(use_with blake2 libb2) - $(use_with bzip2 bz2lib) - $(use_with expat) - $(use_with !expat xml2) - $(use_with iconv) - $(use_with lz4) - $(use_with lzma) - $(use_with lzo lzo2) - $(use_with nettle) - --with-zlib - $(use_with zstd) - - # Windows-specific - --without-cng - ) - if multilib_is_native_abi ; then - myconf+=( - --enable-bsdcat="$(tc-is-static-only && echo static || echo shared)" - --enable-bsdcpio="$(tc-is-static-only && echo static || echo shared)" - --enable-bsdtar="$(tc-is-static-only && echo static || echo shared)" - --enable-bsdunzip="$(tc-is-static-only && echo static || echo shared)" - ) - else - myconf+=( - --disable-bsdcat - --disable-bsdcpio - --disable-bsdtar - --disable-bsdunzip - ) - fi - - ECONF_SOURCE="${S}" econf "${myconf[@]}" -} - -multilib_src_compile() { - if multilib_is_native_abi ; then - emake - else - emake libarchive.la - fi -} - -src_test() { - mkdir -p "${T}"/bin || die - # tests fail when lbzip2[symlink] is used in place of ref bunzip2 - ln -s "${BROOT}/bin/bunzip2" "${T}"/bin || die - # workaround lrzip broken on 32-bit arches with >= 10 threads - # https://bugs.gentoo.org/927766 - cat > "${T}"/bin/lrzip <<-EOF || die - #!/bin/sh - exec "$(type -P lrzip)" -p1 "\${@}" - EOF - chmod +x "${T}/bin/lrzip" || die - local -x PATH=${T}/bin:${PATH} - multilib-minimal_src_test -} - -multilib_src_test() { - # sandbox is breaking long symlink behavior - local -x SANDBOX_ON=0 - local -x LD_PRELOAD= - # some locales trigger different output that breaks tests - local -x LC_ALL=C.UTF-8 - emake check -} - -multilib_src_install() { - if multilib_is_native_abi ; then - emake DESTDIR="${D}" install - else - local install_targets=( - install-includeHEADERS - install-libLTLIBRARIES - install-pkgconfigDATA - ) - emake DESTDIR="${D}" "${install_targets[@]}" - fi - - # Libs.private: should be used from libarchive.pc instead - find "${ED}" -type f -name "*.la" -delete || die - # https://github.com/libarchive/libarchive/issues/1766 - sed -e '/Requires\.private/s:iconv::' \ - -i "${ED}/usr/$(get_libdir)/pkgconfig/libarchive.pc" || die -} diff --git a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.7.5.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.7.5.ebuild deleted file mode 100644 index 1b511581671..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.7.5.ebuild +++ /dev/null @@ -1,177 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit libtool multilib-minimal toolchain-funcs verify-sig - -DESCRIPTION="Multi-format archive and compression library" -HOMEPAGE=" - https://www.libarchive.org/ - https://github.com/libarchive/libarchive/ -" -SRC_URI=" - https://www.libarchive.de/downloads/${P}.tar.xz - verify-sig? ( https://www.libarchive.de/downloads/${P}.tar.xz.asc ) -" - -LICENSE="BSD BSD-2 BSD-4 public-domain" -SLOT="0/13" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE=" - acl blake2 +bzip2 +e2fsprogs expat +iconv lz4 +lzma lzo nettle - static-libs test xattr +zstd -" -RESTRICT="!test? ( test )" - -RDEPEND=" - sys-libs/zlib:=[${MULTILIB_USEDEP}] - acl? ( virtual/acl:=[${MULTILIB_USEDEP}] ) - blake2? ( app-crypt/libb2:=[${MULTILIB_USEDEP}] ) - bzip2? ( app-arch/bzip2:=[${MULTILIB_USEDEP}] ) - expat? ( dev-libs/expat:=[${MULTILIB_USEDEP}] ) - !expat? ( dev-libs/libxml2:=[${MULTILIB_USEDEP}] ) - iconv? ( virtual/libiconv:=[${MULTILIB_USEDEP}] ) - dev-libs/openssl:=[${MULTILIB_USEDEP}] - lz4? ( >=app-arch/lz4-0_p131:=[${MULTILIB_USEDEP}] ) - lzma? ( >=app-arch/xz-utils-5.2.5-r1:=[${MULTILIB_USEDEP}] ) - lzo? ( >=dev-libs/lzo-2:=[${MULTILIB_USEDEP}] ) - nettle? ( dev-libs/nettle:=[${MULTILIB_USEDEP}] ) - zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) -" -DEPEND="${RDEPEND} - kernel_linux? ( - virtual/os-headers - e2fsprogs? ( sys-fs/e2fsprogs[${MULTILIB_USEDEP}] ) - ) - test? ( - app-arch/lrzip - app-arch/lz4 - app-arch/lzip - app-arch/lzop - app-arch/xz-utils - app-arch/zstd - lzma? ( app-arch/xz-utils[extra-filters(+)] ) - ) -" -BDEPEND=" - verify-sig? ( >=sec-keys/openpgp-keys-libarchive-20221209 ) - elibc_musl? ( sys-libs/queue-standalone ) -" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libarchive.org.asc - -# false positives (checks for libc-defined hash functions) -QA_CONFIG_IMPL_DECL_SKIP=( - SHA256_Init SHA256_Update SHA256_Final - SHA384_Init SHA384_Update SHA384_Final - SHA512_Init SHA512_Update SHA512_Final -) - -PATCHES=( - # https://github.com/libarchive/libarchive/issues/2069 - # (we can simply update the command since we don't support old lrzip) - "${FILESDIR}/${PN}-3.7.2-lrzip.patch" - # https://github.com/libarchive/libarchive/pull/2330 - "${FILESDIR}/${P}-iso9660-times.patch" - # https://github.com/libarchive/libarchive/pull/2335 - "${FILESDIR}/${P}-attr-dep.patch" -) - -src_prepare() { - default - - # Needed for flags to be respected w/ LTO - elibtoolize -} - -multilib_src_configure() { - export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923 - - local myconf=( - $(use_enable acl) - $(use_enable static-libs static) - $(use_enable xattr) - $(use_with blake2 libb2) - $(use_with bzip2 bz2lib) - $(use_with expat) - $(use_with !expat xml2) - $(use_with iconv) - $(use_with lz4) - $(use_with lzma) - $(use_with lzo lzo2) - $(use_with nettle) - --with-zlib - $(use_with zstd) - - # Windows-specific - --without-cng - ) - if multilib_is_native_abi ; then - myconf+=( - --enable-bsdcat="$(tc-is-static-only && echo static || echo shared)" - --enable-bsdcpio="$(tc-is-static-only && echo static || echo shared)" - --enable-bsdtar="$(tc-is-static-only && echo static || echo shared)" - --enable-bsdunzip="$(tc-is-static-only && echo static || echo shared)" - ) - else - myconf+=( - --disable-bsdcat - --disable-bsdcpio - --disable-bsdtar - --disable-bsdunzip - ) - fi - - ECONF_SOURCE="${S}" econf "${myconf[@]}" -} - -multilib_src_compile() { - if multilib_is_native_abi ; then - emake - else - emake libarchive.la - fi -} - -src_test() { - mkdir -p "${T}"/bin || die - # tests fail when lbzip2[symlink] is used in place of ref bunzip2 - ln -s "${BROOT}/bin/bunzip2" "${T}"/bin || die - # workaround lrzip broken on 32-bit arches with >= 10 threads - # https://bugs.gentoo.org/927766 - cat > "${T}"/bin/lrzip <<-EOF || die - #!/bin/sh - exec "$(type -P lrzip)" -p1 "\${@}" - EOF - chmod +x "${T}/bin/lrzip" || die - local -x PATH=${T}/bin:${PATH} - multilib-minimal_src_test -} - -multilib_src_test() { - # sandbox is breaking long symlink behavior - local -x SANDBOX_ON=0 - local -x LD_PRELOAD= - # some locales trigger different output that breaks tests - local -x LC_ALL=C.UTF-8 - emake check -} - -multilib_src_install() { - if multilib_is_native_abi ; then - emake DESTDIR="${D}" install - else - local install_targets=( - install-includeHEADERS - install-libLTLIBRARIES - install-pkgconfigDATA - ) - emake DESTDIR="${D}" "${install_targets[@]}" - fi - - # Libs.private: should be used from libarchive.pc instead - find "${ED}" -type f -name "*.la" -delete || die - # https://github.com/libarchive/libarchive/issues/1766 - sed -e '/Requires\.private/s:iconv::' \ - -i "${ED}/usr/$(get_libdir)/pkgconfig/libarchive.pc" || die -} diff --git a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.7.6.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.7.6.ebuild index 8ba743b21dc..c132f0d94f8 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.7.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.7.6.ebuild @@ -16,7 +16,7 @@ SRC_URI=" LICENSE="BSD BSD-2 BSD-4 public-domain" SLOT="0/13" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE=" acl blake2 +bzip2 +e2fsprogs expat +iconv lz4 +lzma lzo nettle static-libs test xattr +zstd diff --git a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.7.7.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.7.7.ebuild index 1d2552f15f4..8ba743b21dc 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.7.7.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.7.7.ebuild @@ -16,7 +16,7 @@ SRC_URI=" LICENSE="BSD BSD-2 BSD-4 public-domain" SLOT="0/13" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE=" acl blake2 +bzip2 +e2fsprogs expat +iconv lz4 +lzma lzo nettle static-libs test xattr +zstd diff --git a/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.6.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.6.2-r1.ebuild index 0fd6e73bbdb..3f799e1eedb 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.6.2-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.6.2-r1.ebuild @@ -35,7 +35,7 @@ else " if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi S="${WORKDIR}/${MY_P}" diff --git a/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.10.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.10.0-r1.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.10.0.ebuild rename to sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.10.0-r1.ebuild 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-r1.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.11.0.ebuild rename to sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.11.0-r1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.12.2.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.12.2-r1.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.12.2.ebuild rename to sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.12.2-r1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.9.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.9.0-r1.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.9.0.ebuild rename to sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.9.0-r1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/Manifest index 9aa24df5537..a0750afba01 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/Manifest @@ -2,3 +2,4 @@ DIST containers-storage-1.51.0.tar.gz 4283732 BLAKE2B 108401d68e617e6237e68cf214 DIST containers-storage-1.53.0.tar.gz 4291738 BLAKE2B 939ecca8a948165c42453d5461429d46249d73582869793969f9d4ae52d0a9fec25e6c39cd13190dad0730d9a17de7af1f237b3cf5434fd30f442c78e57ee7b3 SHA512 ea4a1d1899208eb8861e36beba206724b1f55cfd6007bc5a90c3a6a5e02835b4a2985814dc9363c31dcdc81a3fb331b29f51f5523628edb8d9c64c465d6dcaa3 DIST containers-storage-1.54.0.tar.gz 4165066 BLAKE2B 30f3e4287e9db46fca81ae6c08d3016ec4be6f38a4981d310f06cbc72e4125b458446fe49675f53232efdf0bec58e9cd18aa90424677e1b726338f1fb62b7172 SHA512 e3535ab378bcb7b852d1ebf431e94696f53da469278f618c07dde2d3c8c6b5b3a4c71d65a9c14d1c1b4fa1e41a0550029468ef9ba1f24c1d3294a5aeec55b5fd DIST containers-storage-1.55.0.tar.gz 4197147 BLAKE2B 62bf192225383961d045f7128b4da32af2b1c9a5f9844e17b2264e81b8fa4494f6d2705ec6415245c0c5d889604e712d922d76c46e8ec6600dff5476b2a530ff SHA512 4c035385167c4c3f6048f8bc2bbbd3cfe9993390d580449e0e5b52576a27d286bd536799c96e46d946b9bfa61ff7263325145acddd7fabfbfbacb967d81843d3 +DIST containers-storage-1.55.1.tar.gz 4197824 BLAKE2B 5859e2267096541449aeff8576ad1dc00a72993d123ec5571e775f0081a6bc9cfc588bfd522bf7742bd417314e3a699d51e57127f66c152abb7cf805ffe61464 SHA512 3ba244d28e25c6a88f01a73ff26a4a0747c71124a6191d086d8521e1622f36740cfa0b1cbac56f7699a5af9a7001382e71c32fd0644960a53a97c00fd09a754e diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/containers-storage-1.55.1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/containers-storage-1.55.1.ebuild new file mode 100644 index 00000000000..be92b5c954c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/containers-storage/containers-storage-1.55.1.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Default config and docs related to Containers' storage" +HOMEPAGE="https://github.com/containers/storage" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/storage.git" +else + SRC_URI="https://github.com/containers/storage/archive/v${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${P#containers-}" + KEYWORDS="~amd64 ~arm64 ~loong ~riscv" +fi + +LICENSE="Apache-2.0" +SLOT="0" + +BDEPEND=">=dev-go/go-md2man-2.0.2" + +src_compile() { + emake -C docs GOMD2MAN=go-md2man containers-storage.conf.5 +} + +src_install() { + emake DESTDIR="${ED}" -C docs install + + insinto /etc/containers + doins storage.conf +} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/Manifest index 5eec6f16065..c3edd26ed5b 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/Manifest @@ -2,4 +2,5 @@ DIST docker-cli-26.1.0-man.tar.xz 79004 BLAKE2B 36dcf969c6567680990420d6d177101b DIST docker-cli-26.1.0.tar.gz 7213165 BLAKE2B 302236467f2b6f3f46b0f0c75e89c2cef0cd251d36e12f78a67c906cfb85b842b998fd3b07f4a2dfc0a04825a9b105d90f11d176055ded397f2d4e9145639d5d SHA512 1a1e9af1a836765ffa91f7f2e1b27911e2b6b373c308a7db332a7cd1825459ab1c04a93d03c9947b631bead0af21d9f03e06c3a60855cc56ca7039e50e38ba87 DIST docker-cli-27.2.0-man.tar.xz 79052 BLAKE2B 019299b8cd0adbb1a3749f9aa37b1e38bf212b2c13eee81ae49f843bcc56ff3f41413e1021bebf5c88b4406d7928c2c40de026df861195aa2df79d9c724f8b87 SHA512 d61d6f9f9139f2d22268932d795a50e7b9b1ff993699ba87ca9353cb9908ac18c103a34ee9a486f3537988d6ba7317b05588cd84ff8327b86826ab7ed5023947 DIST docker-cli-27.2.0.tar.gz 7236608 BLAKE2B 828f002d83de47efad370e28df2f5e50f75da7952bf4fcbe30d3d66c9bc281ee99fab820f7bca002c8eb13fa29b7518e951974b62008e213662c1d384a286c0d SHA512 5dce9e974a96b2518a73d50a9421d12feeb9cc792bb89000f26e04a91fdddade2648dea39aa721e48c9b07bfc18f7a6676fb7e286ae779556753886ec45e86c3 -DIST docker-cli-27.2.1.tar.gz 7235741 BLAKE2B 461d177ff05cf27cf271e355cb6ce65a908e6263e10042bb1ae3963e376461d18a93ed79119b3551350a513ce065af3dbbcc9c82d0c7a68b366b3f012a9563f8 SHA512 2e89062fc906eec6879787b21a76d291159fb5e22c6a30c78d915c7a1c76ae03fca0cb7e4fc7f78e1747120fb64b652dbc9ca925a77c41ec9df44136bb2a83fa +DIST docker-cli-27.3.1-man.tar.xz 75056 BLAKE2B 791cd4fab7c36417cdfd3078bbbaff6a7e87a61908bbfd38fdfdb7fff6dfc6bac80ee351a54d5673f5c5e25180d4e0429b4b6d0a220cbea3880d568faa64dc96 SHA512 24a1f6aa923d8aa878c2007d49597e1384494b05bb0886f64b15e575fecf96941235f1f89c8731074e85f49dda5efec087d6759cb7622cb834461e76ebfb3fcd +DIST docker-cli-27.3.1.tar.gz 7225408 BLAKE2B 1c3d428b3e7d653b0a246ee51f9bea47eba5f2b80bbfb1915f31f57e420750a28e2615482058f4051c55c8b723d4935d2711dd4a4c423ec3a17932fd9363d13e SHA512 6e80e94a0e9e16aaf2b19bc97c99ead39184745f601aea94e47c066a19b6436850d5269962e0802e9f7fa9f7dcb357ec0756c9466afa2c0a6ae239d61ef15961 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-27.2.1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-27.3.1.ebuild similarity index 87% rename from sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-27.2.1.ebuild rename to sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-27.3.1.ebuild index b70907a2809..166bc1757d9 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-27.2.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-27.3.1.ebuild @@ -3,7 +3,7 @@ EAPI=7 -GIT_COMMIT=9e34c9bb39efd8bf96d4ec044de454ef1f24c668 +GIT_COMMIT=ce1223035ac3ab8922717092e63a184cf67b493d EGO_PN="github.com/docker/cli" MY_PV=${PV/_/-} @@ -12,7 +12,7 @@ inherit bash-completion-r1 golang-vcs-snapshot DESCRIPTION="the command line binary for docker" HOMEPAGE="https://www.docker.com/" SRC_URI="https://github.com/docker/cli/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" -# SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-man.tar.xz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-man.tar.xz" LICENSE="Apache-2.0" SLOT="0" @@ -31,8 +31,7 @@ S="${WORKDIR}/${P}/src/${EGO_PN}" src_unpack() { golang-vcs-snapshot_src_unpack set -- ${A} - # Flatcar: skip unpacking temporarily - # unpack ${2} + unpack ${2} } src_prepare() { @@ -56,8 +55,7 @@ src_compile() { src_install() { dobin build/docker - # Flatcar: skip installing manpages temporarily - # doman "${WORKDIR}"/man/man?/* + doman "${WORKDIR}"/man/man?/* dobashcomp contrib/completion/bash/* bashcomp_alias docker dockerd insinto /usr/share/fish/vendor_completions.d/ diff --git a/sdk_container/src/third_party/portage-stable/app-containers/docker/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/docker/Manifest index 40aee69c3a6..d3a27b56d04 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/docker/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker/Manifest @@ -1,3 +1,3 @@ DIST docker-26.1.0.tar.gz 16390376 BLAKE2B 6703e9b153c430bc28aed2e7de7bada0203353d61f0a2ce3d49ddbd017eab196a685dd1ab1e719a6b287813eb5fa4f2c612e2cf1ab95789d6e79ebe5dac7ace3 SHA512 47b6b9af9947016884614b6bc25977e1db281da95c9b8b34c753c21c664a737a893f9fa65d92cbb897735aae3893567e106e6bababb5507e069b1e0981e48d50 DIST docker-27.2.0.tar.gz 16689537 BLAKE2B faf0bae9f7da127d5b65b9989acd82dc726bc3f09ace502df151b9f03a84b6f1ec2a946d905263aaa7d2e7d7a3cd4ad1a09291dcfc6691e73cc9a8738f150d55 SHA512 97abaf56d2249c1514beacf17fc9096848b960846e064f1a9bd800a59762a1f1888b32e83b3e8289e23656496ca0293fea65931210d68faaa8a713aab6e48b65 -DIST docker-27.2.1.tar.gz 16769375 BLAKE2B a2a33d76702f5a208b22cbb12202f4fd69dfce79a6a8ed3c3fe0df161696c922ab764a1796cd265a0cba0737894daf759baf21ecff364f3caea5fd440831dcb9 SHA512 2ca29e53074c1ff7b527f709ae542daa2754cfc35c70ae92bd71b4c7d5d54cd6d373ab078c811900dc694347cb149387681f6cf26634c81651a8e91e31790de7 +DIST docker-27.3.1.tar.gz 16790553 BLAKE2B 64670eec5a957cb1a088047836fe5e906435f85a062178f52276bafa3df750207bfd02ebb8783e642a6817b2bfa9fb439e441d412e448eba0f3cf15869067d72 SHA512 0fddcc8314eed2e7b131af78f1fa01292cfc4fcb7fd0af94b79d5435349ab54a21b0a78cffbf29dd4c58747d8bcd1f47473cc5f5ab2596e133828b2e6540d172 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-27.2.1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-27.3.1.ebuild similarity index 96% rename from sdk_container/src/third_party/portage-stable/app-containers/docker/docker-27.2.1.ebuild rename to sdk_container/src/third_party/portage-stable/app-containers/docker/docker-27.3.1.ebuild index 579cc705b7e..3fe81a9b43d 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-27.2.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/docker/docker-27.3.1.ebuild @@ -5,7 +5,7 @@ EAPI=7 EGO_PN=github.com/docker/docker MY_PV=${PV/_/-} inherit golang-vcs-snapshot linux-info optfeature systemd udev -GIT_COMMIT=8b539b8df24032dabeaaa099cf1d0535ef0286a3 +GIT_COMMIT=41ca978a0a5400cc24b274137efa9f25517fcc0b DESCRIPTION="The core functions you need to create Docker images and run Docker containers" HOMEPAGE="https://www.docker.com/" @@ -33,8 +33,8 @@ RDEPEND=" sys-process/procps >=dev-vcs/git-1.7 >=app-arch/xz-utils-4.9 - >=app-containers/containerd-1.7.21[apparmor?,btrfs?,seccomp?] - >=app-containers/runc-1.1.13[apparmor?,seccomp?] + >=app-containers/containerd-1.7.22[apparmor?,btrfs?,seccomp?] + >=app-containers/runc-1.1.14[apparmor?,seccomp?] !app-containers/docker-proxy container-init? ( >=sys-process/tini-0.19.0[static] ) selinux? ( sec-policy/selinux-docker ) @@ -52,10 +52,6 @@ RESTRICT="installsources strip test" S="${WORKDIR}/${P}/src/${EGO_PN}" # https://bugs.gentoo.org/748984 https://github.com/etcd-io/etcd/pull/12552 -PATCHES=( - "${FILESDIR}/0001-Openrc-Depend-on-containerd-init-script.patch" -) - pkg_setup() { # this is based on "contrib/check-config.sh" from upstream's sources # required features. diff --git a/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.10.2.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.10.2-r1.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.10.2.ebuild rename to sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.10.2-r1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.10.3.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.10.3-r1.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.10.3.ebuild rename to sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.10.3-r1.ebuild 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-r1.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.11.0.ebuild rename to sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.11.0-r1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.12.2.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.12.2-r1.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.12.2.ebuild rename to sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.12.2-r1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.9.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.9.0-r1.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.9.0.ebuild rename to sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.9.0-r1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/podman/Manifest index 78a06c00bbd..775c408b2ad 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/podman/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/podman/Manifest @@ -3,3 +3,4 @@ DIST podman-5.0.2.tar.gz 23811875 BLAKE2B e943eb36eb0b80332223afc5d971c0886f6eaf DIST podman-5.0.3.tar.gz 23814179 BLAKE2B 46385710e4d24f8eca3a7c98c18a97b96ecd4691b3c965c5a5e7bc690d40d892a6d5fb71c1dd8ec56cc907a2167ab5ee795b4d2c2279c58cef3a5a1cece8b678 SHA512 c605a52cc5aba43d485796c4986f2d1be704e5c931473bf5ba1cf77f703cdb3d16f41d33da0b25287e8d001077f77caf117d3ea5dbd7c56a744274025d9ab07d DIST podman-5.1.1.tar.gz 23794366 BLAKE2B 0612a148972c96f532e96a8eb1ab388d80b32fe2ca7c5626e615748ef269a853407aeb39f34686d9eb75de239882e524cf5ee7c97152caccf5f77eb6ecfd54d8 SHA512 e896ee97980da4a522eb865d2eacb6876dd8bc5be1488aed8bd81a81af95faa1383b176b5d236d4af0f76bc30ddad5230df3e11c59ffc6f86e5b4cf3876ff184 DIST podman-5.2.4.tar.gz 23833172 BLAKE2B b04f9b7009d42eb15396ed918889c43e3164e433ca9eb8485c9c642ba121a48cd9030b365a3853935f01e323576931b199b3ba0d2ec90bacf2400e3bdfd60483 SHA512 c6dc05cb377ba6ca3bf7a8d7875c97af9e82b972812702e011e41f7922a4546166061dd5fb809fbef9dd13ee233744de7b7fe16906d8d9631133fc4205a980c5 +DIST podman-5.2.5.tar.gz 23834863 BLAKE2B 2264c9b19e621a1269ae5baee6fee148e6f1b9cacbdd83fdbecf671f87855d0ae566e41e4e8cbffe57662b7e9a3d653d57a7d2acb8f30b869b8af1bd7473a617 SHA512 29f71c67a5700e8dffe45e6e91acab509d8c8924a5f3cf9b4eee95f665a9ed19333285df89da892699ee314cee27c0c8a4a62d29e4205198781f5d5f585135a9 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-4.9.4.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-4.9.4.ebuild index ea2bd34e250..f47814bad56 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-4.9.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-4.9.4.ebuild @@ -114,7 +114,7 @@ src_compile() { } src_install() { - emake DESTDIR="${D}" install install.completions $(usev wrapper install.docker-full) + emake DESTDIR="${D}" SELINUXOPT= install install.completions $(usev wrapper install.docker-full) insinto /etc/cni/net.d doins cni/87-podman-bridge.conflist diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.0.2.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.0.2.ebuild index 738613b007d..4ac692ff576 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.0.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.0.2.ebuild @@ -102,12 +102,12 @@ src_compile() { fi # BUILD_SECCOMP is used in the patch to toggle seccomp - emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" BUILD_SECCOMP="$(usex seccomp)" \ + emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" BUILD_SECCOMP="$(usex seccomp)" SELINUXOPT= \ all $(usev wrapper docker-docs) } src_install() { - emake DESTDIR="${D}" install install.completions $(usev wrapper install.docker-full) + emake DESTDIR="${D}" SELINUXOPT= install install.completions $(usev wrapper install.docker-full) if use !systemd; then newconfd "${FILESDIR}"/podman-5.0.0_rc4.confd podman diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.0.3.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.0.3.ebuild index 738613b007d..4ac692ff576 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.0.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.0.3.ebuild @@ -102,12 +102,12 @@ src_compile() { fi # BUILD_SECCOMP is used in the patch to toggle seccomp - emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" BUILD_SECCOMP="$(usex seccomp)" \ + emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" BUILD_SECCOMP="$(usex seccomp)" SELINUXOPT= \ all $(usev wrapper docker-docs) } src_install() { - emake DESTDIR="${D}" install install.completions $(usev wrapper install.docker-full) + emake DESTDIR="${D}" SELINUXOPT= install install.completions $(usev wrapper install.docker-full) if use !systemd; then newconfd "${FILESDIR}"/podman-5.0.0_rc4.confd podman 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 fd1d527b4b9..1deb45b1962 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 @@ -114,12 +114,12 @@ src_compile() { tc-export PKG_CONFIG fi - emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" EXTRA_BUILDTAGS="$(usev seccomp)" \ + emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" EXTRA_BUILDTAGS="$(usev seccomp)" SELINUXOPT= \ all $(usev wrapper docker-docs) } src_install() { - emake DESTDIR="${D}" install install.completions $(usev wrapper install.docker-full) + emake DESTDIR="${D}" SELINUXOPT= install install.completions $(usev wrapper install.docker-full) if use !systemd; then newconfd "${FILESDIR}"/podman-5.0.0_rc4.confd podman diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.2.4.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.2.4.ebuild index d467fd8b499..91caafc1959 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.2.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.2.4.ebuild @@ -114,12 +114,12 @@ src_compile() { tc-export PKG_CONFIG fi - emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" EXTRA_BUILDTAGS="$(usev seccomp)" \ + emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" EXTRA_BUILDTAGS="$(usev seccomp)" SELINUXOPT= \ all $(usev wrapper docker-docs) } src_install() { - emake DESTDIR="${D}" install install.completions $(usev wrapper install.docker-full) + emake DESTDIR="${D}" SELINUXOPT= install install.completions $(usev wrapper install.docker-full) if use !systemd; then newconfd "${FILESDIR}"/podman-5.0.0_rc4.confd podman diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.2.5.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.2.5.ebuild new file mode 100644 index 00000000000..1deb45b1962 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.2.5.ebuild @@ -0,0 +1,146 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..13} ) + +inherit go-module python-any-r1 tmpfiles toolchain-funcs linux-info + +DESCRIPTION="A tool for managing OCI containers and pods with Docker-compatible CLI" +HOMEPAGE="https://github.com/containers/podman/ https://podman.io/" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/podman.git" +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 ~loong ~riscv" +fi + +# main pkg +LICENSE="Apache-2.0" +# deps +LICENSE+=" BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" +SLOT="0" +IUSE="apparmor btrfs +seccomp selinux systemd wrapper" +RESTRICT="test" + +RDEPEND=" + app-containers/catatonit + >=app-containers/conmon-2.1.10 + >=app-containers/containers-common-0.58.0-r1 + app-crypt/gpgme:= + dev-libs/libassuan:= + dev-libs/libgpg-error:= + sys-apps/shadow:= + + apparmor? ( sys-libs/libapparmor ) + btrfs? ( sys-fs/btrfs-progs ) + wrapper? ( !app-containers/docker-cli ) + seccomp? ( sys-libs/libseccomp:= ) + selinux? ( sec-policy/selinux-podman sys-libs/libselinux:= ) + systemd? ( sys-apps/systemd:= ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + ${PYTHON_DEPS} + dev-go/go-md2man +" + +PATCHES=( + "${T}"/togglable-seccomp.patch +) + +CONFIG_CHECK=" + ~USER_NS +" + +pkg_setup() { + use btrfs && CONFIG_CHECK+=" ~BTRFS_FS" + linux-info_pkg_setup + python-any-r1_pkg_setup +} + +src_prepare() { + cat <<'EOF' > "${T}"/togglable-seccomp.patch || die +--- a/Makefile ++++ b/Makefile +@@ -56,7 +56,6 @@ BUILDTAGS ?= \ + $(shell hack/systemd_tag.sh) \ + $(shell hack/libsubid_tag.sh) \ + exclude_graphdriver_devicemapper \ +- seccomp + # allow downstreams to easily add build tags while keeping our defaults + BUILDTAGS += ${EXTRA_BUILDTAGS} + # N/B: This value is managed by Renovate, manual changes are +EOF + + default + + # assure necessary files are present + local file + for file in apparmor_tag btrfs_installed_tag btrfs_tag systemd_tag; do + [[ -f hack/"${file}".sh ]] || die + done + + local feature + for feature in apparmor systemd; do + cat <<-EOF > hack/"${feature}"_tag.sh || die + #!/usr/bin/env bash + $(usex ${feature} "echo ${feature}" echo) + EOF + done + + echo -e "#!/usr/bin/env bash\n echo" > hack/btrfs_installed_tag.sh || die + cat <<-EOF > hack/btrfs_tag.sh || die + #!/usr/bin/env bash + $(usex btrfs echo 'echo exclude_graphdriver_btrfs btrfs_noversion') + EOF +} + +src_compile() { + export PREFIX="${EPREFIX}/usr" + + # For non-live versions, prevent git operations which causes sandbox violations + # https://github.com/gentoo/gentoo/pull/33531#issuecomment-1786107493 + [[ ${PV} != 9999* ]] && export COMMIT_NO="" GIT_COMMIT="" EPOCH_TEST_COMMIT="" + + # Use proper pkg-config to get gpgme cflags and ldflags when + # cross-compiling, bug 930982. + if tc-is-cross-compiler; then + tc-export PKG_CONFIG + fi + + emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" EXTRA_BUILDTAGS="$(usev seccomp)" SELINUXOPT= \ + all $(usev wrapper docker-docs) +} + +src_install() { + emake DESTDIR="${D}" SELINUXOPT= install install.completions $(usev wrapper install.docker-full) + + if use !systemd; then + newconfd "${FILESDIR}"/podman-5.0.0_rc4.confd podman + newinitd "${FILESDIR}"/podman-5.0.0_rc4.initd podman + + newinitd "${FILESDIR}"/podman-restart-5.0.0_rc4.initd podman-restart + newconfd "${FILESDIR}"/podman-restart-5.0.0_rc4.confd podman-restart + + newinitd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.initd podman-clean-transient + newconfd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.confd podman-clean-transient + + exeinto /etc/cron.daily + newexe "${FILESDIR}"/podman-auto-update-5.0.0.cron podman-auto-update + + insinto /etc/logrotate.d + newins "${FILESDIR}/podman.logrotated" podman + fi + + keepdir /var/lib/containers +} + +pkg_postinst() { + tmpfiles_process podman.conf $(usev wrapper podman-docker.conf) +} 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 fd1d527b4b9..1deb45b1962 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 @@ -114,12 +114,12 @@ src_compile() { tc-export PKG_CONFIG fi - emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" EXTRA_BUILDTAGS="$(usev seccomp)" \ + emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" EXTRA_BUILDTAGS="$(usev seccomp)" SELINUXOPT= \ all $(usev wrapper docker-docs) } src_install() { - emake DESTDIR="${D}" install install.completions $(usev wrapper install.docker-full) + emake DESTDIR="${D}" SELINUXOPT= install install.completions $(usev wrapper install.docker-full) if use !systemd; then newconfd "${FILESDIR}"/podman-5.0.0_rc4.confd podman diff --git a/sdk_container/src/third_party/portage-stable/app-containers/runc/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/runc/Manifest index a5fb81afbe3..75124af4bb9 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/runc/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/runc/Manifest @@ -1,3 +1,4 @@ DIST runc-1.1.12.tar.gz 2522196 BLAKE2B 14fe8d5f82d5b4d7f6b4bb9111c5d258e74f6a44aeb51fc87c69104e95b9bf24a3d503f4cc5dedb40d542fbd4b6e27273f456bda4fcf3bc298eb93ae292d9663 SHA512 92e8ac54a77d7ebcc76b5a9cc08d9a064211f12e9d26f064070cc203a5afb11c3af28d8f556f297513f797a2933d50bf10a8f22e307724041d66aa8c5ca1d9d3 DIST runc-1.1.13.tar.gz 2532849 BLAKE2B f3d3171ffce2bb833bfb5cc21d0dc034fd7e38c47ee098cc1fc75c06fd4dfae21dfe25c2e69a1ca93b29d36e8799727ea41725eee8aca3a059c14dab6c8a435f SHA512 644bf9e6359bf49bbdec667c0f7c69ded78c7eacfc2d1b730d52fdcf7348571c6406b8e5790811fe3662a458c878e4225c3559885f0d95f8905273e7e40e55ad DIST runc-1.1.14.tar.gz 2543890 BLAKE2B 3eede8cd7d04d2a3826cfc7caae032744551799e8262d28e989d3d5c66ca3969ce8dede064ebd37361a00eb276fa7c9961180dd9fc9b0d53535421ecc99acb39 SHA512 bdefbf34cf57485c6b961babc8294d0e6b2e003eb836b8e99c49ef4d00acf11f30a46ad0bcd399ee9346610419591daf1eecb3b6b127962357d629bf5f252e22 +DIST runc-1.2.0.tar.gz 2776027 BLAKE2B 743ea8641c0fabda5e32c1d3e044627241337bcdfd92b740bf8ef406e2ad4f37f7069975d93639954a1b20b2627b6456a66847eabfb544ee0eef44e59b2a7453 SHA512 30194521e9ff8e5586309bedbb29812f057220f765b68145d88f2e0008f7f9b5a22fa185d448247d7c71aeade3f48f76b48d4289c94a6c02a1e3384ae5674617 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.2.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.2.0.ebuild new file mode 100644 index 00000000000..4ebe9d4e820 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.2.0.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module linux-info + +# update on bump, look for commit ID on release tag. +# https://github.com/opencontainers/runc +RUNC_COMMIT=0b9fa21be2bcba45f6d9d748b4bcf70cfbffbc19 + +CONFIG_CHECK="~USER_NS" + +DESCRIPTION="runc container cli tools" +HOMEPAGE="https://github.com/opencontainers/runc/" +MY_PV="${PV/_/-}" +SRC_URI="https://github.com/opencontainers/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-${MY_PV}" + +LICENSE="Apache-2.0 BSD-2 BSD MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +IUSE="apparmor hardened +kmem +seccomp selinux test" + +COMMON_DEPEND=" + apparmor? ( sys-libs/libapparmor ) + seccomp? ( sys-libs/libseccomp )" +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND} + !app-emulation/docker-runc + selinux? ( sec-policy/selinux-container )" +BDEPEND=" + dev-go/go-md2man + test? ( "${RDEPEND}" )" + +# tests need busybox binary, and portage namespace +# sandboxing disabled: mount-sandbox pid-sandbox ipc-sandbox +# majority of tests pass +RESTRICT+=" test" + +src_compile() { + # Taken from app-containers/docker-1.7.0-r1 + CGO_CFLAGS+=" -I${ESYSROOT}/usr/include" + CGO_LDFLAGS+=" $(usex hardened '-fno-PIC ' '') + -L${ESYSROOT}/usr/$(get_libdir)" + + # build up optional flags + local options=( + $(usev apparmor) + $(usev seccomp) + $(usex kmem '' 'nokmem') + ) + + myemakeargs=( + BUILDTAGS="${options[*]}" + COMMIT="${RUNC_COMMIT}" + ) + + emake "${myemakeargs[@]}" runc man +} + +src_install() { + myemakeargs+=( + PREFIX="${ED}/usr" + BINDIR="${ED}/usr/bin" + MANDIR="${ED}/usr/share/man" + ) + emake "${myemakeargs[@]}" install install-man install-bash + + local DOCS=( README.md PRINCIPLES.md docs/. ) + einstalldocs +} + +src_test() { + emake "${myemakeargs[@]}" localunittest +} diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/Manifest b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/Manifest index 8b4089714cd..93fb19144c5 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/Manifest @@ -2,7 +2,11 @@ DIST gnupg-2.2.42.tar.bz2 7434291 BLAKE2B 5f7f01f31949e5258d638fbff81fa641e5c167 DIST gnupg-2.2.42.tar.bz2.sig 238 BLAKE2B 251ad0a832042ceb93b0edfda8652104bfb463e291322f22f0ab0d9b35606c3589be7a6f3e9e2aac8f6ac368a7d11840ab83b29997587dc65685de9f2dec3fee SHA512 7073bfc920c571680a1de57b4e6cd83cde24ccb3b5f592602b0c32fd762eef497027b08745044c9f41130ca99bb7ec77222568c2d0a1099d3c1c15137e0221d7 DIST gnupg-2.2.43.tar.bz2 7435426 BLAKE2B ddf5c89d317e6ce8d1a5348f0ef81ffa1c61c995ddb312b28410f04502b01eae307cd943bee7182d28d4efccac394c91053f8e33756b00166bf66b2bf4a791a7 SHA512 0d2e733b6659c116c043db5252de4de33d6a70c16172d1fe9b779ba413ba9fcb64bbfdcc4686d0e87904561fc62d1aa765144e0586957a500287c175ee37bd49 DIST gnupg-2.2.43.tar.bz2.sig 119 BLAKE2B 38fd3790f5065d67d6b5323ef7abbb79facf00e5b9daba98e5078302fc3887423173ba434c7eff1e64faecef88d87aab9c057c570d6e96e8d0808f07f32d8fa1 SHA512 47c5354869b1825e56fa4276826fcde1ee41c70aab9b411686cf2733f4d1df9c006049e49e066b22e475bd37b337f9ffc97f8bbca0c62c0f32296909464a0643 +DIST gnupg-2.2.45.tar.bz2 7447141 BLAKE2B 8fe2036325e31332166c0477ce9514152c8417a9f61b3edc43487340d5b52e6a4d4c2b104ca9fe7ce6893e6d2977e2cd9c9ccfb52c0b1ea18dae3304ec6ec7f3 SHA512 086bb2a96ff4a681451b357495c8b435229e6526e1121d8faee3cb2ecc9c14965c92c9b1ccbbf3a03f6c59c215cca85a5c4f740f2df7c008a9fa672b370bf33c +DIST gnupg-2.2.45.tar.bz2.sig 119 BLAKE2B 6656747b2d640a95c4172a221952fa75f7d03c231b7c6d40ea57b43a5bcfbceb800023ca2f352ca09325aaf186a7bf31fcfe7104129c5d6628f0e1256994df76 SHA512 181195a76eede8113bd8f2a7f5bc20674226f6327cf8263389e3d178c205ed2d817b28f2d3b504dd9f852f22fc283d2c14e809ba1c05cfe88b66103845ff114c DIST gnupg-2.4.5.tar.bz2 7889060 BLAKE2B a8b80cd4dfbb377066efb5c9f1b6cdc6d0cd1b18358c962781b5c06de1545117b13038a4655ae627c36bfd2e5fee127692df8729d6b23e1b31051ab6d897b733 SHA512 4d54744f09399c5899144d0cb5fdc2756e45b058db41b9ea9df3be03e80b914509e16ef35aa0248e7561185b80f7a5f9fd6afcab8ccff75ff82ed555448a38ff DIST gnupg-2.4.5.tar.bz2.sig 238 BLAKE2B b236e7d62f49c8385f4fb81389bf10715d9c0a0cb5c0b4c20fb6ff1465d05a3c3657061284db23af988a1ca16c9fa393af3ce5cbd27934501eb41a4f448fff0a SHA512 5a06970e499d1eb5213b142a8a182e46f5f21b7cb32785a9e5069378797c124e151ce74727382003820042d60fd7a2f909143f44aa9ef282605875e1cab04aef +DIST gnupg-2.4.6.tar.bz2 8011304 BLAKE2B 3b0deb3da1ec404e8f0aa50c424c7072727f933228de732d661a17ca15785b7430700e7b88afba69538f9794863cb218c90ae3d43469541fb9152fbabd3bc909 SHA512 192ae6cb18547e9c5fc4263dc968b548c1ce563ceb8cc2e651b264d4e5afa1cd99a2c1cdd80906faf5e0b0ca99cef76e003b1f7e73238f311a74a1de6c35b5cb +DIST gnupg-2.4.6.tar.bz2.sig 119 BLAKE2B f22b9488a46e585eaa4ed6434c37603756de2a0136a6e8a44d974304d31299f64dee5065a0c1f8ed6aff24555e369ffa213558027698a7e7b2244cef7c9eff76 SHA512 699f99d5aedbb1adef0fc46fbfb4184996ebaeb08e3c5a4d64195cd14e628a17a234ff9d990ad63c32119cbab24bcba802590eaf69f030a0a0addf9928172221 DIST gnupg-2.5.1.tar.bz2 8126739 BLAKE2B 46955d2eebe14395adc0fdf81e89a32f3f9baaabfe1eee78f256a1fab25ce6fdb96b873678cfeb5e4abf4894c7ab4908359ed04cc6571ff442dcc5325b3ccd66 SHA512 733a11ff24145e23dd7d34d954a70c25bf70ecb1d517b8e15cc34bf690786c9f7007e4e99cde573500ac012852e91b29568fed00491f8c8254b3fb63ca5777cd DIST gnupg-2.5.1.tar.bz2.sig 238 BLAKE2B cd024a63ecb82a12e92444cbff8dbc9bef6a4e436d59957aae77927cce0baf9e282e63df7a5159a521c7c8694a0dbe96d6537ad3ec5f779c7c0dea8d02b5e70d SHA512 8ffd5cc72a2907972bf1854e804f6c215ff66ba2d6e91952700f49b2b5ba8bab035d0f42efdb0d3c3166301cda6e716394928bdd9c0d0d1e1789a02c7aa1a926 diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/files/gnupg-2.2.45-fix-status-output-LISTTRUSTED.patch b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/files/gnupg-2.2.45-fix-status-output-LISTTRUSTED.patch new file mode 100644 index 00000000000..f34810d2792 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/files/gnupg-2.2.45-fix-status-output-LISTTRUSTED.patch @@ -0,0 +1,30 @@ +https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commit;h=2ca38bee7a63c0f7185ca1dbf13da1cbc4933563 + +From 2ca38bee7a63c0f7185ca1dbf13da1cbc4933563 Mon Sep 17 00:00:00 2001 +From: NIIBE Yutaka +Date: Thu, 31 Oct 2024 11:47:55 +0900 +Subject: [PATCH] agent: Fix status output for LISTTRUSTED. + +* agent/trustlist.c (istrusted_internal): When LISTMODE is enabled, +TRUSTLISTFPR status output should be done. + +-- + +GnuPG-bug-id: 7363 +Fixes-commit: 4fa82eec43e8d205fa336113f6ea554923fd6986 +Signed-off-by: NIIBE Yutaka +--- a/agent/trustlist.c ++++ b/agent/trustlist.c +@@ -485,8 +485,8 @@ istrusted_internal (ctrl_t ctrl, const char *fpr, int listmode, int *r_disabled, + in a locked state. */ + if (already_locked) + ; +- else if (ti->flags.relax || ti->flags.cm || ti->flags.qual +- || ti->flags.de_vs) ++ else if (listmode || ti->flags.relax || ti->flags.cm ++ || ti->flags.qual || ti->flags.de_vs) + { + unlock_trusttable (); + locked = 0; +-- +2.30.2 diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/files/gnupg-2.4.6-c99.patch b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/files/gnupg-2.4.6-c99.patch new file mode 100644 index 00000000000..35c9b33edd9 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/files/gnupg-2.4.6-c99.patch @@ -0,0 +1,28 @@ +https://bugs.gentoo.org/942467 +https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commit;h=c0cb0175c9e6e8d6a3bdd2e40f85fa730fa325af + +From c0cb0175c9e6e8d6a3bdd2e40f85fa730fa325af Mon Sep 17 00:00:00 2001 +From: NIIBE Yutaka +Date: Tue, 9 Jul 2024 10:48:02 +0900 +Subject: [PATCH] scd: Add for read(2) / write(2) . + +* scd/app.c: Include . + +-- + +Reported-by: David Bohman +GnuPG-bug-id: 7193 +Signed-off-by: NIIBE Yutaka +(cherry picked from commit 1d5cfa9b7fd22e1c46eeed5fa9fed2af6f81d34f) +--- a/scd/app.c ++++ b/scd/app.c +@@ -22,6 +22,7 @@ + #include + #include + #include ++#include + #include + + #ifndef HAVE_W32_SYSTEM +-- +2.30.2 diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.2.45.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.2.45.ebuild new file mode 100644 index 00000000000..6ff933b6534 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.2.45.ebuild @@ -0,0 +1,182 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintainers should: +# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/ +# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159 +# (find the one for the current release then subscribe to it + +# any subsequent ones linked within so you're covered for a while.) + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc +# in-source builds are not supported: https://dev.gnupg.org/T6313#166339 +inherit flag-o-matic out-of-source multiprocessing systemd toolchain-funcs verify-sig + +MY_P="${P/_/-}" + +DESCRIPTION="The GNU Privacy Guard, a GPL OpenPGP implementation" +HOMEPAGE="https://gnupg.org/" +SRC_URI="mirror://gnupg/gnupg/${MY_P}.tar.bz2" +SRC_URI+=" verify-sig? ( mirror://gnupg/gnupg/${P}.tar.bz2.sig )" +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="bzip2 doc ldap nls readline selinux +smartcard ssl test tofu tools usb user-socket wks-server" +RESTRICT="!test? ( test )" + +# Existence of executables is checked during configuration. +# Note: On each bump, update dep bounds on each version from configure.ac! +DEPEND=" + >=dev-libs/libassuan-2.5.0:= + >=dev-libs/libgcrypt-1.8.0:= + >=dev-libs/libgpg-error-1.38 + >=dev-libs/libksba-1.4.0 + >=dev-libs/npth-1.2 + >=net-misc/curl-7.10 + sys-libs/zlib + bzip2? ( app-arch/bzip2 ) + ldap? ( net-nds/openldap:= ) + readline? ( sys-libs/readline:= ) + smartcard? ( usb? ( virtual/libusb:1 ) ) + ssl? ( >=net-libs/gnutls-3.0:= ) + tofu? ( >=dev-db/sqlite-3.7 ) +" +RDEPEND=" + ${DEPEND} + nls? ( virtual/libintl ) + selinux? ( sec-policy/selinux-gpg ) + wks-server? ( virtual/mta ) +" +PDEPEND=" + app-crypt/pinentry +" +BDEPEND=" + virtual/pkgconfig + doc? ( sys-apps/texinfo ) + nls? ( sys-devel/gettext ) + verify-sig? ( sec-keys/openpgp-keys-gnupg ) +" + +DOCS=( + ChangeLog NEWS README THANKS TODO VERSION + doc/FAQ doc/DETAILS doc/HACKING doc/TRANSLATE doc/OpenPGP doc/KEYSERVER +) + +PATCHES=( + "${FILESDIR}"/${PN}-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch + "${FILESDIR}"/${PN}-2.2.45-fix-status-output-LISTTRUSTED.patch +) + +src_prepare() { + default + + # Inject SSH_AUTH_SOCK into user's sessions after enabling gpg-agent-ssh.socket in systemctl --user mode, + # idea borrowed from libdbus, see + # https://gitlab.freedesktop.org/dbus/dbus/-/blob/master/bus/systemd-user/dbus.socket.in#L6 + # + # This cannot be upstreamed, as it requires determining the exact prefix of 'systemctl', + # which in turn requires discovery in Autoconf, something that upstream deeply resents. + sed -e "/DirectoryMode=/a ExecStartPost=-${EPREFIX}/bin/systemctl --user set-environment SSH_AUTH_SOCK=%t/gnupg/S.gpg-agent.ssh" \ + -i doc/examples/systemd-user/gpg-agent-ssh.socket || die +} + +my_src_configure() { + # Upstream don't support LTO, bug #854222. + filter-lto + + local myconf=( + $(use_enable bzip2) + $(use_enable nls) + $(use_enable smartcard scdaemon) + $(use_enable ssl gnutls) + $(use_enable test all-tests) + $(use_enable test tests) + $(use_enable tofu) + $(use smartcard && use_enable usb ccid-driver || echo '--disable-ccid-driver') + $(use_enable wks-server wks-tools) + $(use_with ldap) + $(use_with readline) + + # Hardcode mailprog to /usr/libexec/sendmail even if it does not exist. + # As of GnuPG 2.3, the mailprog substitution is used for the binary called + # by wks-client & wks-server; and if it's autodetected but not not exist at + # build time, then then 'gpg-wks-client --send' functionality will not + # work. This has an unwanted side-effect in stage3 builds: there was a + # [R]DEPEND on virtual/mta, which also brought in virtual/logger, bloating + # the build where the install guide previously make the user chose the + # logger & mta early in the install. + --with-mailprog=/usr/libexec/sendmail + + --disable-ntbtls + --enable-gpg + --enable-gpgsm + --enable-large-secmem + + CC_FOR_BUILD="$(tc-getBUILD_CC)" + GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config" + KSBA_CONFIG="${ESYSROOT}/usr/bin/ksba-config" + LIBASSUAN_CONFIG="${ESYSROOT}/usr/bin/libassuan-config" + LIBGCRYPT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-libgcrypt-config" + NPTH_CONFIG="${ESYSROOT}/usr/bin/npth-config" + + $("${S}/configure" --help | grep -o -- '--without-.*-prefix') + ) + + if use prefix && use usb; then + # bug #649598 + append-cppflags -I"${ESYSROOT}/usr/include/libusb-1.0" + fi + + # bug #663142 + if use user-socket; then + myconf+=( --enable-run-gnupg-user-socket ) + fi + + # glib fails and picks up clang's internal stdint.h causing weird errors + tc-is-clang && export gl_cv_absolute_stdint_h="${ESYSROOT}"/usr/include/stdint.h + + econf "${myconf[@]}" +} + +my_src_compile() { + default + + use doc && emake -C doc html +} + +my_src_test() { + export TESTFLAGS="--parallel=$(makeopts_jobs)" + + default +} + +my_src_install() { + emake DESTDIR="${D}" install + + use tools && dobin \ + tools/{gpg-zip,gpgconf,gpgsplit,gpg-check-pattern} \ + tools/make-dns-cert + + dosym gpg /usr/bin/gpg2 + dosym gpgv /usr/bin/gpgv2 + echo ".so man1/gpg.1" > "${ED}"/usr/share/man/man1/gpg2.1 || die + echo ".so man1/gpgv.1" > "${ED}"/usr/share/man/man1/gpgv2.1 || die + + dodir /etc/env.d + echo "CONFIG_PROTECT=/usr/share/gnupg/qualified.txt" >> "${ED}"/etc/env.d/30gnupg || die + + use doc && dodoc doc/gnupg.html/* +} + +my_src_install_all() { + einstalldocs + + use tools && dobin tools/{convert-from-106,mail-signed-keys,lspgpot} + + use doc && dodoc doc/*.png + + systemd_douserunit doc/examples/systemd-user/*.{service,socket} +} diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.5-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.5-r2.ebuild index 61bd5192802..b39c186864a 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.5-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.5-r2.ebuild @@ -23,7 +23,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="GPL-3+" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="bzip2 doc ldap nls readline selinux +smartcard ssl test +tofu tpm tools usb user-socket wks-server" RESTRICT="!test? ( test )" REQUIRED_USE="test? ( tofu )" diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.6-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.6-r1.ebuild new file mode 100644 index 00000000000..0b2fe344f8c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.6-r1.ebuild @@ -0,0 +1,199 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintainers should: +# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/ +# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159 +# (find the one for the current release then subscribe to it + +# any subsequent ones linked within so you're covered for a while.) + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc +# in-source builds are not supported: https://dev.gnupg.org/T6313#166339 +inherit flag-o-matic out-of-source multiprocessing systemd toolchain-funcs verify-sig + +MY_P="${P/_/-}" + +DESCRIPTION="The GNU Privacy Guard, a GPL OpenPGP implementation" +HOMEPAGE="https://gnupg.org/" +SRC_URI="mirror://gnupg/gnupg/${MY_P}.tar.bz2" +SRC_URI+=" verify-sig? ( mirror://gnupg/gnupg/${P}.tar.bz2.sig )" +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="bzip2 doc ldap nls readline selinux +smartcard ssl test +tofu tpm tools usb user-socket wks-server" +RESTRICT="!test? ( test )" +REQUIRED_USE="test? ( tofu )" + +# Existence of executables is checked during configuration. +# Note: On each bump, update dep bounds on each version from configure.ac! +DEPEND=" + >=dev-libs/libassuan-2.5.0:= + >=dev-libs/libgcrypt-1.9.1:= + >=dev-libs/libgpg-error-1.46 + >=dev-libs/libksba-1.6.3 + >=dev-libs/npth-1.2 + >=net-misc/curl-7.10 + sys-libs/zlib + bzip2? ( app-arch/bzip2 ) + ldap? ( net-nds/openldap:= ) + readline? ( sys-libs/readline:0= ) + smartcard? ( usb? ( virtual/libusb:1 ) ) + tofu? ( >=dev-db/sqlite-3.27 ) + tpm? ( >=app-crypt/tpm2-tss-2.4.0:= ) + ssl? ( >=net-libs/gnutls-3.2:0= ) +" +RDEPEND=" + ${DEPEND} + nls? ( virtual/libintl ) + selinux? ( sec-policy/selinux-gpg ) + wks-server? ( virtual/mta ) +" +PDEPEND=" + app-crypt/pinentry +" +BDEPEND=" + virtual/pkgconfig + doc? ( sys-apps/texinfo ) + nls? ( sys-devel/gettext ) + verify-sig? ( sec-keys/openpgp-keys-gnupg ) +" + +DOCS=( + ChangeLog NEWS README THANKS TODO VERSION + doc/FAQ doc/DETAILS doc/HACKING doc/TRANSLATE doc/OpenPGP doc/KEYSERVER +) + +PATCHES=( + "${FILESDIR}"/${PN}-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch + "${FILESDIR}"/${PN}-2.4.5-revert-rfc4880bis.patch # bug #926186 + "${FILESDIR}"/${PN}-2.4.6-c99.patch +) + +src_prepare() { + default + + GNUPG_SYSTEMD_UNITS=( + dirmngr.service + dirmngr.socket + gpg-agent-browser.socket + gpg-agent-extra.socket + gpg-agent.service + gpg-agent.socket + gpg-agent-ssh.socket + ) + + cp "${GNUPG_SYSTEMD_UNITS[@]/#/${FILESDIR}/}" "${T}" || die + + # Inject SSH_AUTH_SOCK into user's sessions after enabling gpg-agent-ssh.socket in systemctl --user mode, + # idea borrowed from libdbus, see + # https://gitlab.freedesktop.org/dbus/dbus/-/blob/master/bus/systemd-user/dbus.socket.in#L6 + # + # This cannot be upstreamed, as it requires determining the exact prefix of 'systemctl', + # which in turn requires discovery in Autoconf, something that upstream deeply resents. + sed -e "/DirectoryMode=/a ExecStartPost=-${EPREFIX}/bin/systemctl --user set-environment SSH_AUTH_SOCK=%t/gnupg/S.gpg-agent.ssh" \ + -i "${T}"/gpg-agent-ssh.socket || die +} + +my_src_configure() { + # Upstream don't support LTO, bug #854222. + filter-lto + + local myconf=( + $(use_enable bzip2) + $(use_enable nls) + $(use_enable smartcard scdaemon) + $(use_enable ssl gnutls) + $(use_enable test all-tests) + $(use_enable test tests) + $(use_enable tofu) + $(use_enable tofu keyboxd) + $(use_enable tofu sqlite) + $(usex tpm '--with-tss=intel' '--disable-tpm2d') + $(use smartcard && use_enable usb ccid-driver || echo '--disable-ccid-driver') + $(use_enable wks-server wks-tools) + $(use_with ldap) + $(use_with readline) + + # Hardcode mailprog to /usr/libexec/sendmail even if it does not exist. + # As of GnuPG 2.3, the mailprog substitution is used for the binary called + # by wks-client & wks-server; and if it's autodetected but not not exist at + # build time, then then 'gpg-wks-client --send' functionality will not + # work. This has an unwanted side-effect in stage3 builds: there was a + # [R]DEPEND on virtual/mta, which also brought in virtual/logger, bloating + # the build where the install guide previously make the user chose the + # logger & mta early in the install. + --with-mailprog=/usr/libexec/sendmail + + --disable-ntbtls + --enable-gpgsm + --enable-large-secmem + + CC_FOR_BUILD="$(tc-getBUILD_CC)" + GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config" + + $("${S}/configure" --help | grep -o -- '--without-.*-prefix') + ) + + if use prefix && use usb; then + # bug #649598 + append-cppflags -I"${ESYSROOT}/usr/include/libusb-1.0" + fi + + if [[ ${CHOST} == *-solaris* ]] ; then + # https://dev.gnupg.org/T7368 + append-cppflags -D_XOPEN_SOURCE=500 + fi + + # bug #663142 + if use user-socket; then + myconf+=( --enable-run-gnupg-user-socket ) + fi + + # glib fails and picks up clang's internal stdint.h causing weird errors + tc-is-clang && export gl_cv_absolute_stdint_h="${ESYSROOT}"/usr/include/stdint.h + + econf "${myconf[@]}" +} + +my_src_compile() { + default + + use doc && emake -C doc html +} + +my_src_test() { + export TESTFLAGS="--parallel=$(makeopts_jobs)" + + default +} + +my_src_install() { + emake DESTDIR="${D}" install + + use tools && dobin tools/{gpgconf,gpgsplit,gpg-check-pattern} tools/make-dns-cert + + dosym gpg /usr/bin/gpg2 + dosym gpgv /usr/bin/gpgv2 + echo ".so man1/gpg.1" > "${ED}"/usr/share/man/man1/gpg2.1 || die + echo ".so man1/gpgv.1" > "${ED}"/usr/share/man/man1/gpgv2.1 || die + + dodir /etc/env.d + echo "CONFIG_PROTECT=/usr/share/gnupg/qualified.txt" >> "${ED}"/etc/env.d/30gnupg || die + + use doc && dodoc doc/gnupg.html/* +} + +my_src_install_all() { + einstalldocs + + use tools && dobin tools/{convert-from-106,mail-signed-keys,lspgpot} + use doc && dodoc doc/*.png + + # Dropped upstream in https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commitdiff;h=eae28f1bd4a5632e8f8e85b7248d1c4d4a10a5ed. + dodoc "${FILESDIR}"/README-systemd + systemd_douserunit "${GNUPG_SYSTEMD_UNITS[@]/#/${T}/}" +} diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.5.1.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.5.1.ebuild index 382e366f6c0..af4b2cee9a1 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.5.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.5.1.ebuild @@ -95,10 +95,6 @@ src_prepare() { # which in turn requires discovery in Autoconf, something that upstream deeply resents. sed -e "/DirectoryMode=/a ExecStartPost=-${EPREFIX}/bin/systemctl --user set-environment SSH_AUTH_SOCK=%t/gnupg/S.gpg-agent.ssh" \ -i "${T}"/gpg-agent-ssh.socket || die - - # definition of getpeername etc uses different things like socket_fd_t - [[ ${CHOST} == *-solaris* ]] && - append-cflags $(test-flags-CC -Wno-incompatible-pointer-types) } my_src_configure() { @@ -146,6 +142,11 @@ my_src_configure() { append-cppflags -I"${ESYSROOT}/usr/include/libusb-1.0" fi + if [[ ${CHOST} == *-solaris* ]] ; then + # https://dev.gnupg.org/T7368 + export ac_cv_should_define__xopen_source=yes + fi + # bug #663142 if use user-socket; then myconf+=( --enable-run-gnupg-user-socket ) diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-1.23.2-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-1.23.2-r2.ebuild index 0d0f93f5d58..4f3058b0405 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-1.23.2-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-1.23.2-r2.ebuild @@ -34,7 +34,7 @@ LICENSE="GPL-2 LGPL-2.1" # Bump FUDGE if a release is made which breaks ABI without changing SONAME. # (Reset to 0 if FUDGE != 0 if libgpgme/libgpgmepp/libqpggme change.) SLOT="1/11.6.15.2" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="common-lisp static-libs +cxx python qt5 qt6 test" RESTRICT="!test? ( test )" REQUIRED_USE=" diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/Manifest b/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/Manifest index 48c3c169c49..766326e43ae 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/Manifest @@ -1,4 +1,2 @@ -DIST pinentry-1.3.0.tar.bz2 610363 BLAKE2B a55b80754ef37d18ebdf0bd50e134a7b1bf6362b859b7069a9e4ebd86cd7e733d51f3c21a16779a18aa0d0dfab1f7a3df070d4f7e39e0840339078c4e9cb58bc SHA512 1bbac81c6811cffc8969a46494e6daa6b8447802f47ff6fa3e4dc9ac244cf6e5f629834c9b6a60770d06bff6c9932ad4059f10d2fdf93fd9e26fd5d21c0e3732 -DIST pinentry-1.3.0.tar.bz2.sig 119 BLAKE2B 0f11126761b2a06f8b08cf971f5d610cacbde1a5ee419523a6e704ac21fef4cce26495a160a51bee5ed5f68eca7d6864dfa03efa48030ba2cf783e767b925e1c SHA512 77a61877adf241d67caeea3af4c12a2c7c13ddc423ac001fab79bcec463a5853d8806052d61504fae0c67e0a9d1edf6a12d24b560ff7b4083eea5e86f9b54a90 DIST pinentry-1.3.1.tar.bz2 611233 BLAKE2B 47a510b3746fc8cdd83b56302132f4f4d9c61324fc857ce0867387f70f79490dad375bca4dc72e5d1cdca707bf89a16e1c9a20bf1aa0e857d69e59dc59403afd SHA512 3b72034dc1792b1475acb6d605ff7c1bd7647a0f02d1b6bdcd475acdef24bc802f49e275055436c3271261c4b7a64168477a698aab812a145962146b2f67a0e2 DIST pinentry-1.3.1.tar.bz2.sig 119 BLAKE2B ca562d2903c88c4297e641ddc39f6cd99db3e3fd40cf5d69e7b4335f006c7717c874fa4b5e47920af3ec97385a96c0c96aafb849cf399d11a7f9f1a6b693f479 SHA512 22bd94f74486300eb84c1c9c371a43b05fb6179118518004fba0d42b6d3e6731f94d79b37c2a3a6b0c5886578c4575f75d2460accd36cd4874342e7239521be9 diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/files/pinentry-1.3.0-ifdef-qt.patch b/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/files/pinentry-1.3.0-ifdef-qt.patch deleted file mode 100644 index 4fc72428751..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/files/pinentry-1.3.0-ifdef-qt.patch +++ /dev/null @@ -1,125 +0,0 @@ -https://dev.gnupg.org/D596 - -From 762346c5d1877cde6b37b191cd3c2469e1c7ddbb Mon Sep 17 00:00:00 2001 -From: Heiko Becker -Date: Mon, 18 Mar 2024 20:38:09 +0100 -Subject: [PATCH] qt5: Add a '5' to adjust defines - -They were changed from PINENTRY_QT_FOO to PINENTRY_QT5_FOO in -1e79123c389584b8240387914b193be41b823e92. ---- a/qt5/capslock.cpp -+++ b/qt5/capslock.cpp -@@ -32,7 +32,7 @@ - CapsLockWatcher::Private::Private(CapsLockWatcher *q) - : q{q} - { --#ifdef PINENTRY_QT_WAYLAND -+#ifdef PINENTRY_QT5_WAYLAND - if (qApp->platformName() == QLatin1String("wayland")) { - watchWayland(); - } -@@ -44,7 +44,7 @@ CapsLockWatcher::CapsLockWatcher(QObject *parent) - , d{new Private{this}} - { - if (qApp->platformName() == QLatin1String("wayland")) { --#ifndef PINENTRY_QT_WAYLAND -+#ifndef PINENTRY_QT5_WAYLAND - qWarning() << "CapsLockWatcher was compiled without support for Wayland"; - #endif - } ---- a/qt5/capslock_p.h -+++ b/qt5/capslock_p.h -@@ -23,7 +23,7 @@ - - #include "capslock.h" - --#ifdef PINENTRY_QT_WAYLAND -+#ifdef PINENTRY_QT5_WAYLAND - namespace KWayland - { - namespace Client -@@ -38,12 +38,12 @@ class CapsLockWatcher::Private - { - public: - explicit Private(CapsLockWatcher *); --#ifdef PINENTRY_QT_WAYLAND -+#ifdef PINENTRY_QT5_WAYLAND - void watchWayland(); - #endif - - private: --#ifdef PINENTRY_QT_WAYLAND -+#ifdef PINENTRY_QT5_WAYLAND - void registry_seatAnnounced(quint32, quint32); - void seat_hasKeyboardChanged(bool); - void keyboard_modifiersChanged(quint32); -@@ -52,7 +52,7 @@ private: - private: - CapsLockWatcher *const q; - --#ifdef PINENTRY_QT_WAYLAND -+#ifdef PINENTRY_QT5_WAYLAND - KWayland::Client::Registry *registry = nullptr; - KWayland::Client::Seat *seat = nullptr; - #endif ---- a/qt5/capslock_unix.cpp -+++ b/qt5/capslock_unix.cpp -@@ -25,7 +25,7 @@ - #include "capslock.h" - #include "capslock_p.h" - --#ifdef PINENTRY_QT_WAYLAND -+#ifdef PINENTRY_QT5_WAYLAND - # include - # include - # include -@@ -34,7 +34,7 @@ - - #include - --#ifdef PINENTRY_QT_X11 -+#ifdef PINENTRY_QT5_X11 - # include - # include - # undef Status -@@ -42,25 +42,25 @@ - - #include - --#ifdef PINENTRY_QT_WAYLAND -+#ifdef PINENTRY_QT5_WAYLAND - using namespace KWayland::Client; - #endif - --#ifdef PINENTRY_QT_WAYLAND -+#ifdef PINENTRY_QT5_WAYLAND - static bool watchingWayland = false; - #endif - - LockState capsLockState() - { - static bool reportUnsupportedPlatform = true; --#ifdef PINENTRY_QT_X11 -+#ifdef PINENTRY_QT5_X11 - if (qApp->platformName() == QLatin1String("xcb")) { - unsigned int state; - XkbGetIndicatorState(QX11Info::display(), XkbUseCoreKbd, &state); - return (state & 0x01) == 1 ? LockState::On : LockState::Off; - } - #endif --#ifdef PINENTRY_QT_WAYLAND -+#ifdef PINENTRY_QT5_WAYLAND - if (qApp->platformName() == QLatin1String("wayland")) { - if (!watchingWayland && reportUnsupportedPlatform) { - qDebug() << "Use CapsLockWatcher for checking for Caps Lock on Wayland"; -@@ -74,7 +74,7 @@ LockState capsLockState() - return LockState::Unknown; - } - --#ifdef PINENTRY_QT_WAYLAND -+#ifdef PINENTRY_QT5_WAYLAND - void CapsLockWatcher::Private::watchWayland() - { - watchingWayland = true; --- -2.44.0 diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.0-r3.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.0-r3.ebuild deleted file mode 100644 index 7801015f9ed..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.0-r3.ebuild +++ /dev/null @@ -1,144 +0,0 @@ -# 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/gnupg.asc -inherit autotools qmake-utils verify-sig - -DESCRIPTION="Simple passphrase entry dialogs which utilize the Assuan protocol" -HOMEPAGE="https://gnupg.org/related_software/pinentry/" -SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2" -SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="caps efl emacs gtk keyring ncurses qt5 qt6 wayland X" - -DEPEND=" - >=dev-libs/libassuan-2.1:= - >=dev-libs/libgcrypt-1.6.3 - >=dev-libs/libgpg-error-1.17 - efl? ( dev-libs/efl[X] ) - keyring? ( app-crypt/libsecret ) - ncurses? ( sys-libs/ncurses:= ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtwidgets:5 - wayland? ( kde-plasma/kwayland:5 ) - X? ( - dev-qt/qtx11extras:5 - x11-libs/libX11 - ) - ) - qt6? ( - dev-qt/qtbase:6[gui,widgets] - wayland? ( - kde-frameworks/kguiaddons:6 - kde-frameworks/kwindowsystem:6 - ) - ) -" -RDEPEND=" - ${DEPEND} - gtk? ( app-crypt/gcr:4[gtk] ) -" -BDEPEND=" - sys-devel/gettext - virtual/pkgconfig - verify-sig? ( sec-keys/openpgp-keys-gnupg ) -" -PDEPEND="emacs? ( app-emacs/pinentry )" -IDEPEND=">=app-eselect/eselect-pinentry-0.7.4" - -DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO ) - -PATCHES=( - "${FILESDIR}/${PN}-1.0.0-AR.patch" - "${FILESDIR}/${PN}-1.3.0-automagic.patch" # bug #819939, bug #837719 - "${FILESDIR}/${PN}-1.3.0-ifdef-qt.patch" -) - -src_prepare() { - default - - eautoreconf -} - -src_configure() { - unset FLTK_CONFIG - - local myeconfargs=( - $(use_enable efl pinentry-efl) - $(use_enable emacs pinentry-emacs) - $(use_enable keyring libsecret) - $(use_enable gtk pinentry-gnome3) - $(use_enable ncurses fallback-curses) - $(use_enable ncurses pinentry-curses) - $(use_enable qt5 pinentry-qt5) - $(use_enable qt6 pinentry-qt) - # TODO: could split this up into qt5/qt6? - $(use_enable X qtx11extras) - $(use_with X x) - - --enable-pinentry-tty - --disable-pinentry-fltk - --disable-pinentry-gtk2 - - ac_cv_path_GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config" - - $("${S}/configure" --help | grep -- '--without-.*-prefix' | sed -e 's/^ *\([^ ]*\) .*/\1/g') - ) - - if use qt5 ; then - export PATH="$(qt5_get_bindir):${PATH}" - export QTLIB="$(qt5_get_libdir):${QTLIB}" - export MOC5="$(qt5_get_bindir)"/moc - - myeconfargs+=( - $(use_enable wayland kf5-wayland) - ) - else - myeconfargs+=( - --disable-kf5-wayland - ) - fi - - if use qt6 ; then - export PATH="$(qt6_get_bindir):${PATH}" - export QTLIB="$(qt6_get_libdir):${QTLIB}" - export MOC="$(qt6_get_libdir)/qt6/libexec/moc" - - myeconfargs+=( - $(use_enable wayland kf6-wayland) - ) - else - myeconfargs+=( - --disable-kf6-wayland - ) - fi - - econf "${myeconfargs[@]}" -} - -src_install() { - default - - rm "${ED}"/usr/bin/pinentry || die - - # The preferred Qt implementation upstream gets installed as just 'qt'. - # Make a symlink for eselect-pinentry and friends. - if use qt6 ; then - dosym pinentry-qt /usr/bin/pinentry-qt6 - fi -} - -pkg_postinst() { - eselect pinentry update ifunset -} - -pkg_postrm() { - eselect pinentry update ifunset -} diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.1.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.1.ebuild index 71ae740002b..058af5e6c99 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.1.ebuild @@ -13,7 +13,7 @@ SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="caps efl emacs gtk keyring ncurses qt5 qt6 wayland X" DEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/Manifest b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/Manifest index 3988a6956b7..40e56bf160d 100644 --- a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/Manifest @@ -1,5 +1,2 @@ -DIST eclass-manpages-20240512.tar.xz 452732 BLAKE2B e39fe919e90d24247ff1a5153359d4bc9dae8d4d8a47c0d2231a6364e64b046f813d507aa95cf5b7fca9de862678d7d584381fa94d6a4019cc07d5474d73f8e3 SHA512 a798cd71eb33a63bc8ceeaf1103f130425e4b82d379d413ce09605f4c9648447d01f97875cfe2efdd09a2dace7a73bf3a74f223168da8035ef13f1a52dd58677 -DIST eclass-manpages-20240614.tar.xz 450756 BLAKE2B 50435ab646a238f47cc96573af3d8ed53e14b700c9284253a2a9efbda40fc058f475a9900e56c3d6575ceafa4385eec89d9d1df87dd5ec94425c69daf258ab0e SHA512 80c0ba3eac7affc670f10d2eca58293bb79de94cc3b9d2349dd9b2227efd02b08d7e8a095161b484f87b3e23042afea73fadbd0cff867006bfbbb748a5051c55 -DIST eclass-manpages-20240811.tar.xz 455124 BLAKE2B dde9ffe7baa7fcb6904af47a5fb7bf05103c2646b682e27fd3454eaf2ee4708d059c666eddbd39571899d23bcc8ef411e75f16c905048a103f818f396e390794 SHA512 d62979614e1301bba51798280f21baa46a55c594f4345f07b1c21b772bb22cc0be2db55a2d3b190bf2a5921c727329266743a2f2b0ad0ef2a14f1a967c779e55 -DIST eclass-manpages-20240901.tar.xz 460224 BLAKE2B 96743842457d552079bed954839f05c71f36f9618d5fff5a20df2383e3615053ef93cb748756727e9131c1896106ccae4013dc9888cddbea60cc1d330b8f7cc3 SHA512 8b3128f5cc7626410e9988cf42a2448566f0859aa02388b1dd888d47714dafe7cac1c607d32e48331b4697f80bc9e4b806e9f21257e5ce3883216649e9fcafcd DIST eclass-manpages-20241015.tar.xz 455572 BLAKE2B a6d3a92bf1a24c36f44e80c00f4e7779b88f42c0a33583793a6e8f6c1427e8295967c0855c876a363fa219b10dbc8a1848a57f307de6deca8fd966640ee3121b SHA512 cabe349aadf8f5f00adf72a04cb10ce0f3ed12c49e5f4c151a5da31223941ee7c1e71b7c84fb8a6dfd6eb14f176792132feb6cd04a1123ed17300b429dcb9878 +DIST eclass-manpages-20241109.tar.xz 455884 BLAKE2B 73858e8605c3ab347e470dacb857fe96dda58cc31530759e65a59bcc7c94a1a55e90d3f7a8fec7916e2d9f23c649c235aa30391ca40f145dc0cf26758e54842f SHA512 44d8c324438948a4fa3e4c6f790bc3ab3c110af10ae7ef1226b3c57b965a1829df19b23fa5721fbb79373b03ae36a56a74f0a4cb957094380aca0bdfb302f222 diff --git a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20240614.ebuild b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20240614.ebuild deleted file mode 100644 index b33b7a6bb49..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20240614.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 - -# Instructions to make a dist tarball: -# git clone https://github.com/projg2/eclass-to-manpage.git -# cd eclass-to-manpage -# make dist ECLASSDIR=~/g/eclass/ - -DESCRIPTION="Collection of Gentoo eclass manpages" -HOMEPAGE="https://github.com/projg2/eclass-to-manpage" -SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -# Keep the keywords stable. No need to change to ~arch. -KEYWORDS="~alpha amd64 arm arm64 hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos" - -BDEPEND="sys-apps/gawk" - -src_install() { - emake install DESTDIR="${D}" PREFIX="${EPREFIX}/usr" -} diff --git a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20240811.ebuild b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20240811.ebuild deleted file mode 100644 index b33b7a6bb49..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20240811.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 - -# Instructions to make a dist tarball: -# git clone https://github.com/projg2/eclass-to-manpage.git -# cd eclass-to-manpage -# make dist ECLASSDIR=~/g/eclass/ - -DESCRIPTION="Collection of Gentoo eclass manpages" -HOMEPAGE="https://github.com/projg2/eclass-to-manpage" -SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -# Keep the keywords stable. No need to change to ~arch. -KEYWORDS="~alpha amd64 arm arm64 hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos" - -BDEPEND="sys-apps/gawk" - -src_install() { - emake install DESTDIR="${D}" PREFIX="${EPREFIX}/usr" -} diff --git a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20240901.ebuild b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20240901.ebuild deleted file mode 100644 index b33b7a6bb49..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20240901.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 - -# Instructions to make a dist tarball: -# git clone https://github.com/projg2/eclass-to-manpage.git -# cd eclass-to-manpage -# make dist ECLASSDIR=~/g/eclass/ - -DESCRIPTION="Collection of Gentoo eclass manpages" -HOMEPAGE="https://github.com/projg2/eclass-to-manpage" -SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -# Keep the keywords stable. No need to change to ~arch. -KEYWORDS="~alpha amd64 arm arm64 hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos" - -BDEPEND="sys-apps/gawk" - -src_install() { - emake install DESTDIR="${D}" PREFIX="${EPREFIX}/usr" -} diff --git a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20240512.ebuild b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20241109.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20240512.ebuild rename to sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20241109.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-editors/nano/Manifest b/sdk_container/src/third_party/portage-stable/app-editors/nano/Manifest index ce7979d738d..7189c918ce4 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/nano/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-editors/nano/Manifest @@ -1,4 +1,3 @@ -DIST nano-7.2.tar.xz 1608444 BLAKE2B c7e3b18383e9f2f9db1f6059c875ddd164d730ea0e5b363e66fb8e5f30e8598ba49a5afd8eea3a55e295f1e43fb136019f60cc9154ae276c5d589002c0e5298a SHA512 a6dfa70edab62e439a9a998ca214f2415d57dbdc01766ad2e4b14048836557a32755f8b09de13c6a89023f215b61d2854017b389eae8d097ca6f3ba73ce2f583 DIST nano-8.0.tar.xz 1666272 BLAKE2B ba36182da059a3ee4c1fc60a200dee26f47cc6b1441b7ff665b82871f2f8fcac054f6adf82966d353234141bf9c521518da8fa967aca28307bccf43e015ddaea SHA512 86c484428b8805768fd580d0f62aa32ce8f588f4beedcdd35a4014506b562928c7a2fa6487aa0d853b4c9c1639a4d186f46b4e96721568ff81191d5098403ca8 DIST nano-8.1.tar.xz 1667392 BLAKE2B e454f6e5ef86afbab3b2cf6707954d8821bf47ebc89bdad8cc6c70e2d4bb9fac27614069140f40140bca156b14605d286b0dca42469901c6559051089645cab8 SHA512 cb7d696bd18322ba1e713282e3156934e2c7f2a8abc17c99b2d5ae91fa40ea1478758853d4ad391f72039f01cfe0db79fd7302f3e67ed2afeff3a447b6f975ec DIST nano-8.2.tar.xz 1672076 BLAKE2B 08e078f8f5acc8d70ad50a0a402d06a12bcf836c8161f803e2b674375abaa16d663000f02cd1fa1e0b4aad2f127a85ee3b2f60d725a761ab375ae00c905408fd SHA512 07c69d6894f87cb386afa89e984ded7e11fe7575cf3af1c18237e3b2c00de371015c9ea126e505c7c0e7200f7359d5ae7c3779198e188fbbc617154d09c4ba14 diff --git a/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-7.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-7.2-r1.ebuild deleted file mode 100644 index fab9d524191..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-7.2-r1.ebuild +++ /dev/null @@ -1,111 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit flag-o-matic - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://git.savannah.gnu.org/git/nano.git" - inherit autotools git-r3 -else - MY_P="${PN}-${PV/_}" - SRC_URI="https://www.nano-editor.org/dist/v${PV:0:1}/${MY_P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -fi - -DESCRIPTION="GNU GPL'd Pico clone with more functionality" -HOMEPAGE="https://www.nano-editor.org/ https://wiki.gentoo.org/wiki/Nano/Guide" - -LICENSE="GPL-3+ LGPL-2.1+ || ( GPL-3+ FDL-1.2+ )" -SLOT="0" -IUSE="debug justify magic minimal ncurses nls +spell static unicode" - -LIB_DEPEND=" - >=sys-libs/ncurses-5.9-r1:=[unicode(+)?] - sys-libs/ncurses:=[static-libs(+)] - magic? ( sys-apps/file[static-libs(+)] ) - nls? ( virtual/libintl ) -" -RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )" -DEPEND=" - ${RDEPEND} - static? ( ${LIB_DEPEND} ) -" -BDEPEND=" - nls? ( sys-devel/gettext ) - virtual/pkgconfig -" - -REQUIRED_USE=" - magic? ( !minimal ) -" - -src_prepare() { - default - - if [[ ${PV} == 9999 ]] ; then - eautoreconf - fi -} - -src_configure() { - use static && append-ldflags -static - - local myconfargs=( - --bindir="${EPREFIX}"/bin - --htmldir=/trash - $(use_enable !minimal color) - $(use_enable !minimal multibuffer) - $(use_enable !minimal nanorc) - $(use_enable magic libmagic) - $(use_enable spell speller) - $(use_enable justify) - $(use_enable debug) - $(use_enable nls) - $(use_enable unicode utf8) - $(use_enable minimal tiny) - ) - - econf "${myconfargs[@]}" -} - -src_install() { - default - - # Don't use "${ED}" here or things break (#654534) - rm -r "${D}"/trash || die - - dodoc doc/sample.nanorc - docinto html - dodoc doc/faq.html - insinto /etc - newins doc/sample.nanorc nanorc - - if ! use minimal ; then - # Enable colorization by default. - sed -i \ - -e '/^# include /s:# *::' \ - "${ED}"/etc/nanorc || die - - # Since nano-5.0 these are no longer being "enabled" by default - # (bug #736848) - local rcdir="/usr/share/nano" - mv "${ED}"${rcdir}/extra/* "${ED}"/${rcdir}/ || die - rmdir "${ED}"${rcdir}/extra || die - - insinto "${rcdir}" - newins "${FILESDIR}/gentoo.nanorc-r1" gentoo.nanorc - fi -} - -pkg_postrm() { - [[ -n ${REPLACED_BY_VERSION} ]] && return - - local e - e=$(unset EDITOR; . "${EROOT}"/etc/profile &>/dev/null; echo "${EDITOR}") - if [[ ${e##*/} == nano ]]; then - ewarn "The EDITOR variable is still set to ${e}." - ewarn "You can update it with \"eselect editor\"." - fi -} diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/Manifest b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/Manifest index 9f7bf8f38f6..4a1a81357fb 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/Manifest @@ -21,3 +21,4 @@ DIST qemu-9.0.2.tar.xz 132387528 BLAKE2B 6b5301f985919ae53e056410be7486b8150a650 DIST qemu-9.0.3.tar.xz 132420136 BLAKE2B af44ee6d3e59c28bb84cbf78a4793fa120a7cb811ab0fb0aba7b61d0b2eeb0e47dd094a4a0af9570e26d584f7ae867d46b6f61903610e155deb6479d8ea60fa4 SHA512 fcd72896ae9f9f654628540e09472c8388d980f8081990ee541f3540f92c5fd0d9332fa343dc9eaa6d7fe3dc2a5668d7d5c3784ba9d49bd7df9d37a4f9df7572 DIST qemu-9.1.0-docs.tar.xz 2376072 BLAKE2B 31d13133b3a2e21a7d9b5af028407610ae8f2fa61dd296fc35e57fc12eb66cfd1a39ec5e3b5a3852095d10a388f424f8a38417b3ab58ca30d0817ece779328cf SHA512 5b705b577daad6aa010d5c713db9dc314114334b89901840ebcecc9032595a969f5ad9054e42b36b2be5ef9f5d6dc1159841ff46dbb08314b5c48491aa631040 DIST qemu-9.1.0.tar.xz 132478356 BLAKE2B 77bdaf00e6111e6ac94462a6023aac0d3df9d2829a961fd89a5bdafc4aee7f95c2695d9319715e630960e64512a41b3ff987c9096692ff304cfd49357b46ef62 SHA512 bf61d65e37945fa8ee8640712c719ace05164d86e6df700b98bdc5f79e0a8d5e8f85bd48e726edb62b2419db20673f63ec8b63a60393a914b09cb365621b35e2 +DIST qemu-9.1.1.tar.xz 132584840 BLAKE2B 140e8b334fa83ddae397a519ec352108d942d3581baf591780b58ace2e21a74a9f31e97cbaa5c60e8ab45fd8147852a7de539e83c072777b4c71c5ba630f636c SHA512 cbf2e43d54eafe776dd8245a91ff3c28bbe6206b62205addb25b49ffaac79cefc49c9df082c28aedc17ffc4a67db6352fc7a97895887ccbbb1ce198981e242b4 diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.1.1.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.1.1.ebuild new file mode 100644 index 00000000000..61886a5726e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.1.1.ebuild @@ -0,0 +1,1005 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs +# Set to 1 if prebuilt, 0 if not +# (the construct below is to allow overriding from env for script) +QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1} +QEMU_DOCS_PREBUILT_DEV=sam +QEMU_DOCS_VERSION=$(ver_cut 1-2).0 +# Default to generating docs (inc. man pages) if no prebuilt; overridden later +# bug #830088 +QEMU_DOC_USEFLAG="+doc" + +PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_REQ_USE="ensurepip(-),ncurses,readline" + +FIRMWARE_ABI_VERSION="7.2.0" + +inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \ + pax-utils xdg-utils + +if [[ ${PV} == *9999* ]]; then + QEMU_DOCS_PREBUILT=0 + + EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/" + EGIT_SUBMODULES=() + inherit git-r3 + SRC_URI="" + declare -A SUBPROJECTS=( + [keycodemapdb]="f5772a62ec52591ff6870b7e8ef32482371f22c6" + [berkeley-softfloat-3]="b64af41c3276f97f0e181920400ee056b9c88037" + [berkeley-testfloat-3]="e7af9751d9f9fd3b47911f51a5cfd08af256a9ab" + ) + + for proj in "${!SUBPROJECTS[@]}"; do + c=${SUBPROJECTS[${proj}]} + SRC_URI+=" https://gitlab.com/qemu-project/${proj}/-/archive/${c}/${proj}-${c}.tar.bz2" + done +else + MY_P="${PN}-${PV/_rc/-rc}" + SRC_URI="https://download.qemu.org/${MY_P}.tar.xz" + + if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then + SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )" + fi + + S="${WORKDIR}/${MY_P}" + [[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" +HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org" + +LICENSE="GPL-2 LGPL-2 BSD-2" +SLOT="0" + +[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc" + +IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG} + +fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring + jack jemalloc +jpeg keyutils + lzo multipath + ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs pipewire + plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux + +slirp + smartcard snappy spice ssh static-user systemtap test udev usb + usbredir vde +vhost-net virgl virtfs +vnc vte xattr xdp xen + zstd" + +COMMON_TARGETS=" + aarch64 + alpha + arm + cris + hppa + i386 + loongarch64 + m68k + microblaze + microblazeel + mips + mips64 + mips64el + mipsel + or1k + ppc + ppc64 + riscv32 + riscv64 + s390x + sh4 + sh4eb + sparc + sparc64 + x86_64 + xtensa + xtensaeb +" +IUSE_SOFTMMU_TARGETS=" + ${COMMON_TARGETS} + avr + rx + tricore +" +IUSE_USER_TARGETS=" + ${COMMON_TARGETS} + aarch64_be + armeb + hexagon + mipsn32 + mipsn32el + ppc64le + sparc32plus +" + +use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) +use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) +IUSE+=" ${use_softmmu_targets} ${use_user_targets}" + +RESTRICT="!test? ( test )" + +# Allow no targets to be built so that people can get a tools-only build. +# Block USE flag configurations known to not work. +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + qemu_softmmu_targets_arm? ( fdt ) + qemu_softmmu_targets_microblaze? ( fdt ) + qemu_softmmu_targets_mips64el? ( fdt ) + qemu_softmmu_targets_ppc64? ( fdt ) + qemu_softmmu_targets_ppc? ( fdt ) + qemu_softmmu_targets_riscv32? ( fdt ) + qemu_softmmu_targets_riscv64? ( fdt ) + qemu_softmmu_targets_x86_64? ( fdt ) + sdl-image? ( sdl ) + static-user? ( !plugins ) + virgl? ( opengl ) + virtfs? ( xattr ) + vnc? ( gnutls ) + vte? ( gtk ) + multipath? ( udev ) + plugins? ( !static-user ) + xdp? ( bpf ) +" +for smname in ${IUSE_SOFTMMU_TARGETS} ; do + REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( kernel_linux? ( seccomp ) )" +done + +# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) +# and user/softmmu targets (qemu-*, qemu-system-*). +# +# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. +# +# The attr lib isn't always linked in (although the USE flag is always +# respected). This is because qemu supports using the C library's API +# when available rather than always using the external library. +ALL_DEPEND=" + dev-libs/glib:2[static-libs(+)] + sys-libs/zlib[static-libs(+)] + python? ( ${PYTHON_DEPS} ) + systemtap? ( dev-debug/systemtap ) + xattr? ( sys-apps/attr[static-libs(+)] ) +" + +# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) +# softmmu targets (qemu-system-*). +SOFTMMU_TOOLS_DEPEND=" + >=x11-libs/pixman-0.28.0[static-libs(+)] + accessibility? ( + app-accessibility/brltty[api] + app-accessibility/brltty[static-libs(+)] + ) + aio? ( dev-libs/libaio[static-libs(+)] ) + alsa? ( >=media-libs/alsa-lib-1.0.13 ) + bpf? ( dev-libs/libbpf:= ) + bzip2? ( app-arch/bzip2[static-libs(+)] ) + capstone? ( dev-libs/capstone:=[static-libs(+)] ) + curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) + fdt? ( >=sys-apps/dtc-1.5.1[static-libs(+)] ) + fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] ) + glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) + gnutls? ( + >=net-libs/gnutls-3.0:=[static-libs(+)] + dev-libs/nettle:=[static-libs(+)] + ) + gtk? ( + x11-libs/gtk+:3 + vte? ( x11-libs/vte:2.91 ) + ) + infiniband? ( sys-cluster/rdma-core[static-libs(+)] ) + iscsi? ( net-libs/libiscsi ) + io-uring? ( sys-libs/liburing:=[static-libs(+)] ) + jack? ( virtual/jack ) + jemalloc? ( dev-libs/jemalloc ) + jpeg? ( media-libs/libjpeg-turbo:=[static-libs(+)] ) + kernel_linux? ( sys-libs/libcap-ng[static-libs(+)] ) + keyutils? ( sys-apps/keyutils[static-libs(+)] ) + lzo? ( dev-libs/lzo:2[static-libs(+)] ) + multipath? ( sys-fs/multipath-tools ) + ncurses? ( + sys-libs/ncurses:=[unicode(+)] + sys-libs/ncurses:=[static-libs(+)] + ) + nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) + numa? ( sys-process/numactl[static-libs(+)] ) + opengl? ( + virtual/opengl + media-libs/libepoxy[static-libs(+)] + media-libs/mesa[static-libs(+)] + media-libs/mesa[egl(+),gbm(+)] + ) + pam? ( sys-libs/pam ) + pipewire? ( >=media-video/pipewire-0.3.60 ) + png? ( >=media-libs/libpng-1.6.34:=[static-libs(+)] ) + pulseaudio? ( media-libs/libpulse ) + rbd? ( sys-cluster/ceph ) + sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) + sdl? ( + media-libs/libsdl2[video] + media-libs/libsdl2[static-libs(+)] + ) + sdl-image? ( media-libs/sdl2-image[static-libs(+)] ) + seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) + slirp? ( net-libs/libslirp[static-libs(+)] ) + smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) + snappy? ( app-arch/snappy:= ) + spice? ( + >=app-emulation/spice-protocol-0.14.0 + >=app-emulation/spice-0.14.0[static-libs(+)] + ) + ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) + udev? ( virtual/libudev:= ) + usb? ( >=virtual/libusb-1-r2:1[static-libs(+)] ) + usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) + vde? ( net-misc/vde[static-libs(+)] ) + virgl? ( media-libs/virglrenderer[static-libs(+)] ) + virtfs? ( sys-libs/libcap ) + xdp? ( net-libs/xdp-tools ) + xen? ( app-emulation/xen-tools:= ) + zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] ) +" + +EDK2_OVMF_VERSION="202202" +SEABIOS_VERSION="1.16.3" + +X86_FIRMWARE_DEPEND=" + pin-upstream-blobs? ( + ~sys-firmware/edk2-bin-${EDK2_OVMF_VERSION} + ~sys-firmware/ipxe-1.21.1[binary,qemu] + ~sys-firmware/seabios-bin-${SEABIOS_VERSION} + ~sys-firmware/sgabios-0.1_pre10[binary] + ) + !pin-upstream-blobs? ( + || ( + >=sys-firmware/edk2-${EDK2_OVMF_VERSION} + >=sys-firmware/edk2-bin-${EDK2_OVMF_VERSION} + ) + sys-firmware/ipxe[qemu] + || ( + >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] + >=sys-firmware/seabios-bin-${SEABIOS_VERSION} + ) + sys-firmware/sgabios + ) +" +PPC_FIRMWARE_DEPEND=" + pin-upstream-blobs? ( + ~sys-firmware/seabios-bin-${SEABIOS_VERSION} + ) + !pin-upstream-blobs? ( + || ( + >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] + >=sys-firmware/seabios-bin-${SEABIOS_VERSION} + ) + ) +" + +# See bug #913084 for pip dep +BDEPEND=" + $(python_gen_impl_dep) + dev-lang/perl + >=dev-build/meson-0.63.0 + app-alternatives/ninja + virtual/pkgconfig + doc? ( + >=dev-python/sphinx-1.6.0[${PYTHON_USEDEP}] + dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}] + ) + gtk? ( nls? ( sys-devel/gettext ) ) + test? ( + dev-libs/glib[utils] + app-alternatives/bc + ) +" +CDEPEND=" + ${ALL_DEPEND//\[static-libs(+)]} + ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} + qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) + qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) + qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} ) + qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} ) +" +DEPEND=" + ${CDEPEND} + kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) + static-user? ( ${ALL_DEPEND} ) +" +RDEPEND=" + ${CDEPEND} + acct-group/kvm + selinux? ( + sec-policy/selinux-qemu + sys-libs/libselinux + ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-9.0.0-disable-keymap.patch + "${FILESDIR}"/${PN}-9.1.0-capstone-include-path.patch + "${FILESDIR}"/${PN}-9.0.0-also-build-virtfs-proxy-helper.patch + "${FILESDIR}"/${PN}-8.1.0-skip-tests.patch + "${FILESDIR}"/${PN}-8.1.0-find-sphinx.patch + +) + +QA_PREBUILT=" + usr/share/qemu/hppa-firmware.img + usr/share/qemu/hppa-firmware64.img + usr/share/qemu/openbios-ppc + usr/share/qemu/openbios-sparc64 + usr/share/qemu/openbios-sparc32 + usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf + usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf + usr/share/qemu/palcode-clipper + usr/share/qemu/s390-ccw.img + usr/share/qemu/s390-netboot.img + usr/share/qemu/u-boot.e500 +" + +QA_WX_LOAD=" + usr/bin/qemu-i386 + usr/bin/qemu-x86_64 + usr/bin/qemu-alpha + usr/bin/qemu-arm + usr/bin/qemu-cris + usr/bin/qemu-m68k + usr/bin/qemu-microblaze + usr/bin/qemu-microblazeel + usr/bin/qemu-mips + usr/bin/qemu-mipsel + usr/bin/qemu-or1k + usr/bin/qemu-ppc + usr/bin/qemu-ppc64 + usr/bin/qemu-sh4 + usr/bin/qemu-sh4eb + usr/bin/qemu-sparc + usr/bin/qemu-sparc64 + usr/bin/qemu-armeb + usr/bin/qemu-sparc32plus + usr/bin/qemu-s390x + usr/bin/qemu-unicore32 +" + +DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the +kernel module loaded before running kvm. The easiest way to ensure that the +kernel module is loaded is to load it on boot. + For AMD CPUs the module is called 'kvm-amd'. + For Intel CPUs the module is called 'kvm-intel'. +Please review /etc/conf.d/modules for how to load these. + +Make sure your user is in the 'kvm' group. Just run + $ gpasswd -a kvm +then have re-login. + +For brand new installs, the default permissions on /dev/kvm might not let +you access it. You can tell udev to reset ownership/perms: + $ udevadm trigger -c add /dev/kvm + +If you want to register binfmt handlers for qemu user targets: +For openrc: + # rc-update add qemu-binfmt +For systemd: + # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" + +pkg_pretend() { + if use kernel_linux && kernel_is lt 2 6 25; then + eerror "This version of KVM requires a host kernel of 2.6.25 or higher." + elif use kernel_linux; then + if ! linux_config_exists; then + eerror "Unable to check your kernel for KVM support" + else + CONFIG_CHECK="~KVM ~TUN ~BRIDGE" + ERROR_KVM="You must enable KVM in your kernel to continue" + ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" + ERROR_KVM_AMD+=" your kernel configuration." + ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" + ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." + ERROR_TUN="You will need the Universal TUN/TAP driver compiled" + ERROR_TUN+=" into your kernel or loaded as a module to use the" + ERROR_TUN+=" virtual network device if using -net tap." + ERROR_BRIDGE="You will also need support for 802.1d" + ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." + use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" + ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" + ERROR_VHOST_NET+=" support" + use test && CONFIG_CHECK+=" IP_MULTICAST" + ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST" + + if use amd64 || use x86 || use amd64-linux || use x86-linux; then + if grep -q AuthenticAMD /proc/cpuinfo; then + CONFIG_CHECK+=" ~KVM_AMD" + elif grep -q GenuineIntel /proc/cpuinfo; then + CONFIG_CHECK+=" ~KVM_INTEL" + fi + fi + + use python && CONFIG_CHECK+=" ~DEBUG_FS" + ERROR_DEBUG_FS="debugFS support required for kvm_stat" + + # Now do the actual checks setup above + check_extra_config + fi + fi + + if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then + eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" + eerror "instances are still pointing to it. Please update your" + eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" + eerror "and the right system binary (e.g. qemu-system-x86_64)." + die "update your virt configs to not use qemu-kvm" + fi +} + +# Sanity check to make sure target lists are kept up-to-date. +check_targets() { + local var=$1 mak=$2 + local detected sorted + + pushd "${S}"/configs/targets/ >/dev/null || die + + # Force C locale until glibc is updated. #564936 + detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) + sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u)) + if [[ ${sorted} != "${detected}" ]] ; then + eerror "The ebuild needs to be kept in sync." + eerror "${var}: ${sorted}" + eerror "$(printf '%-*s' ${#var} configure): ${detected}" + die "sync ${var} to the list of targets" + fi + + popd >/dev/null +} + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + for file in ${A}; do + unpack "${file}" + done + cd "${WORKDIR}" || die + for proj in "${!SUBPROJECTS[@]}"; do + mv "${proj}-${SUBPROJECTS[${proj}]}" "${S}/subprojects/${proj}" || die + done + cd "${S}" || die + meson subprojects packagefiles --apply || die + else + default + fi +} + +src_prepare() { + check_targets IUSE_SOFTMMU_TARGETS softmmu + check_targets IUSE_USER_TARGETS linux-user + + default + + # Use correct toolchain to fix cross-compiling + tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS + export WINDRES=${CHOST}-windres + + # Workaround for bug #938302 + if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then + cat >> "${S}"/configs/meson/linux.txt <<-EOF || die + [binaries] + dtrace='stap-dtrace' + EOF + fi + + # Verbose builds + MAKEOPTS+=" V=1" + + # Remove bundled modules + rm -r roms/*/ || die +} + +## +# configures qemu based on the build directory and the build type +# we are using. +# +qemu_src_configure() { + debug-print-function ${FUNCNAME} "$@" + + local buildtype=$1 + local builddir="${S}/${buildtype}-build" + + mkdir "${builddir}" || die + + local conf_opts=( + --prefix=/usr + --sysconfdir=/etc + --bindir=/usr/bin + --libdir=/usr/$(get_libdir) + --datadir=/usr/share + --docdir=/usr/share/doc/${PF}/html + --mandir=/usr/share/man + --localstatedir=/var + --disable-bsd-user + --disable-containers # bug #732972 + --disable-guest-agent + --disable-strip + --disable-download + + # bug #746752: TCG interpreter has a few limitations: + # - it does not support FPU + # - it's generally slower on non-self-modifying code + # It's advantage is support for host architectures + # where native codegeneration is not implemented. + # Gentoo has qemu keyworded only on targets with + # native code generation available. Avoid the interpreter. + --disable-tcg-interpreter + + --disable-werror + # We support gnutls/nettle for crypto operations. It is possible + # to use gcrypt when gnutls/nettle are disabled (but not when they + # are enabled), but it's not really worth the hassle. Disable it + # all the time to avoid automatically detecting it. #568856 + --disable-gcrypt + --cc="$(tc-getCC)" + --cxx="$(tc-getCXX)" + --objcc="$(tc-getCC)" + --host-cc="$(tc-getBUILD_CC)" + + $(use_enable alsa) + $(use_enable debug debug-info) + $(use_enable debug debug-tcg) + $(use_enable jack) + $(use_enable nls gettext) + $(use_enable oss) + $(use_enable pipewire) + $(use_enable plugins) + $(use_enable pulseaudio pa) + $(use_enable selinux) + $(use_enable xattr attr) + ) + + # Disable options not used by user targets. This simplifies building + # static user targets (USE=static-user) considerably. + conf_notuser() { + if [[ ${buildtype} == "user" ]] ; then + echo "--disable-${2:-$1}" + else + use_enable "$@" + fi + } + # Enable option only for softmmu build, but not 'user' or 'tools' + conf_softmmu() { + if [[ ${buildtype} == "softmmu" ]] ; then + use_enable "$@" + else + echo "--disable-${2:-$1}" + fi + } + # Enable option only for tools build, but not 'user' or 'softmmu' + conf_tools() { + if [[ ${buildtype} == "tools" ]] ; then + use_enable "$@" + else + echo "--disable-${2:-$1}" + fi + } + # Special case for the malloc flag, because the --disable flag does + # not exist and trying like above will break configuring. + conf_malloc() { + if [[ ! ${buildtype} == "user" ]] ; then + usex "${1}" "--enable-malloc=${1}" "" + fi + } + conf_opts+=( + $(conf_notuser accessibility brlapi) + $(conf_notuser aio linux-aio) + $(conf_softmmu bpf) + $(conf_notuser bzip2) + $(conf_notuser capstone) + $(conf_notuser curl) + $(conf_tools doc docs) + $(conf_notuser fdt) + $(conf_notuser fuse) + $(conf_notuser glusterfs) + $(conf_notuser gnutls) + $(conf_notuser gnutls nettle) + $(conf_notuser gtk) + $(conf_notuser infiniband rdma) + $(conf_notuser iscsi libiscsi) + $(conf_notuser io-uring linux-io-uring) + $(conf_malloc jemalloc) + $(conf_notuser jpeg vnc-jpeg) + $(conf_notuser kernel_linux kvm) + $(conf_notuser keyutils libkeyutils) + $(conf_notuser lzo) + $(conf_notuser multipath mpath) + $(conf_notuser ncurses curses) + $(conf_notuser nfs libnfs) + $(conf_notuser numa) + $(conf_notuser opengl) + $(conf_notuser pam auth-pam) + $(conf_notuser png) + $(conf_notuser rbd) + $(conf_notuser sasl vnc-sasl) + $(conf_notuser sdl) + $(conf_softmmu sdl-image) + $(conf_notuser seccomp) + $(conf_notuser slirp) + $(conf_notuser smartcard) + $(conf_notuser snappy) + $(conf_notuser spice) + $(conf_notuser ssh libssh) + $(conf_notuser udev libudev) + $(conf_notuser usb libusb) + $(conf_notuser usbredir usb-redir) + $(conf_notuser vde) + $(conf_notuser vhost-net) + $(conf_notuser virgl virglrenderer) + $(conf_softmmu virtfs) + $(conf_notuser vnc) + $(conf_notuser vte) + $(conf_softmmu xdp af-xdp) + $(conf_notuser xen) + $(conf_notuser xen xen-pci-passthrough) + # use prebuilt keymaps, bug #759604 + --disable-xkbcommon + $(conf_notuser zstd) + ) + + if [[ ! ${buildtype} == "user" ]] ; then + # audio options + local audio_opts=( + # Note: backend order matters here: #716202 + # We iterate from higher-level to lower level. + $(usex pulseaudio pa "") + $(usev pipewire) + $(usev jack) + $(usev sdl) + $(usev alsa) + $(usev oss) + ) + conf_opts+=( + --audio-drv-list=$(IFS=,; echo "${audio_opts[*]}") + ) + fi + + case ${buildtype} in + user) + conf_opts+=( + --enable-linux-user + --disable-system + --disable-tools + --disable-cap-ng + --disable-seccomp + ) + local static_flag="static-user" + ;; + softmmu) + conf_opts+=( + --disable-linux-user + --enable-system + --disable-tools + --enable-cap-ng + --enable-seccomp + ) + local static_flag="none" + ;; + tools) + conf_opts+=( + --disable-linux-user + --disable-system + --enable-tools + --enable-cap-ng + ) + local static_flag="none" + ;; + esac + + local targets="${buildtype}_targets" + [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) + + # Add support for SystemTap + use systemtap && conf_opts+=( --enable-trace-backends="dtrace" ) + + # We always want to attempt to build with PIE support as it results + # in a more secure binary. But it doesn't work with static or if + # the current GCC doesn't have PIE support. + if [[ ${static_flag} != "none" ]] && use ${static_flag}; then + conf_opts+=( --static --disable-pie ) + else + tc-enables-pie && conf_opts+=( --enable-pie ) + fi + + # Meson will not use a cross-file unless cross_prefix is set. + tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" ) + + # Plumb through equivalent of EXTRA_ECONF to allow experiments + # like bug #747928. + conf_opts+=( ${EXTRA_CONF_QEMU} ) + + echo "../configure ${conf_opts[*]}" + cd "${builddir}" + ../configure "${conf_opts[@]}" || die "configure failed" +} + +src_configure() { + local target + + python_setup + + softmmu_targets= softmmu_bins=() + user_targets= user_bins=() + + for target in ${IUSE_SOFTMMU_TARGETS} ; do + if use "qemu_softmmu_targets_${target}"; then + softmmu_targets+=",${target}-softmmu" + softmmu_bins+=( "qemu-system-${target}" ) + fi + done + + for target in ${IUSE_USER_TARGETS} ; do + if use "qemu_user_targets_${target}"; then + user_targets+=",${target}-linux-user" + user_bins+=( "qemu-${target}" ) + fi + done + + softmmu_targets=${softmmu_targets#,} + user_targets=${user_targets#,} + + [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu" + [[ -n ${user_targets} ]] && qemu_src_configure "user" + qemu_src_configure "tools" +} + +src_compile() { + if [[ -n ${user_targets} ]]; then + cd "${S}/user-build" || die + default + fi + + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" || die + default + fi + + cd "${S}/tools-build" || die + default +} + +src_test() { + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" || die + pax-mark m */qemu-system-* #515550 + emake check + fi +} + +qemu_python_install() { + python_domodule "${S}/python/qemu" + + python_doscript "${S}/scripts/kvm/vmxcap" + python_doscript "${S}/scripts/qmp/qmp-shell" + python_doscript "${S}/scripts/qmp/qemu-ga-client" +} + +# Generate binfmt support files. +# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) +# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) +generate_initd() { + local out="${T}/qemu-binfmt" + local out_systemd="${T}/qemu.conf" + local d="${T}/binfmt.d" + + einfo "Generating qemu binfmt scripts and configuration files" + + # Generate the debian fragments first. + mkdir -p "${d}" + "${S}"/scripts/qemu-binfmt-conf.sh \ + --debian \ + --exportdir "${d}" \ + --qemu-path "${EPREFIX}/usr/bin" \ + || die + # Then turn the fragments into a shell script we can source. + sed -E -i \ + -e 's:^([^ ]+) (.*)$:\1="\2":' \ + "${d}"/* || die + + # Generate the init.d script by assembling the fragments from above. + local f qcpu package interpreter magic mask + cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die + for f in "${d}"/qemu-* ; do + source "${f}" + + # Normalize the cpu logic like we do in the init.d for the native cpu. + qcpu=${package#qemu-} + case ${qcpu} in + arm*) qcpu="arm";; + mips*) qcpu="mips";; + ppc*) qcpu="ppc";; + s390*) qcpu="s390";; + sh*) qcpu="sh";; + sparc*) qcpu="sparc";; + esac + + # we use 'printf' here to be portable across 'sh' + # implementations: #679168 + cat <>"${out}" + if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then + printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register + fi +EOF + + echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" + + done + cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die +} + +src_install() { + if [[ -n ${user_targets} ]]; then + cd "${S}/user-build" + emake DESTDIR="${ED}" install + + # Install binfmt handler init script for user targets. + generate_initd + doinitd "${T}/qemu-binfmt" + + # Install binfmt/qemu.conf. + insinto "/usr/share/qemu/binfmt.d" + doins "${T}/qemu.conf" + fi + + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + emake DESTDIR="${ED}" install + + # This might not exist if the test failed. #512010 + [[ -e check-report.html ]] && dodoc check-report.html + + if use kernel_linux; then + udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules + fi + + if use python; then + python_foreach_impl qemu_python_install + fi + fi + + cd "${S}/tools-build" || die + emake DESTDIR="${ED}" install + + # If USE=doc, there'll be newly generated docs which we install instead. + if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then + doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8] + fi + + # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 + pushd "${ED}"/usr/bin >/dev/null || die + pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 + popd >/dev/null || die + + # Install config file example for qemu-bridge-helper + insinto "/etc/qemu" + doins "${FILESDIR}/bridge.conf" + + cd "${S}" || die + dodoc MAINTAINERS + newdoc pc-bios/README README.pc-bios + + # Disallow stripping of prebuilt firmware files. + dostrip -x ${QA_PREBUILT} + + if [[ -n ${softmmu_targets} ]]; then + # Remove SeaBIOS since we're using the SeaBIOS packaged one + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin + fi + + # Remove vgabios since we're using the seavgabios packaged one + rm "${ED}/usr/share/qemu/vgabios.bin" + rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" + rm "${ED}/usr/share/qemu/vgabios-qxl.bin" + rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" + rm "${ED}/usr/share/qemu/vgabios-virtio.bin" + rm "${ED}/usr/share/qemu/vgabios-vmware.bin" + + # PPC/PPC64 loads vgabios-stdvga + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then + dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin + dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin + dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin + dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin + dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin + dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin + fi + + # Remove sgabios since we're using the sgabios packaged one + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin + fi + + # Remove iPXE since we're using the iPXE packaged one + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom + dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom + dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom + dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom + dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom + dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom + fi + fi + + DISABLE_AUTOFORMATTING=true + readme.gentoo_create_doc +} + +firmware_abi_change() { + local pv + for pv in ${REPLACING_VERSIONS}; do + if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then + return 0 + fi + done + return 1 +} + +pkg_postinst() { + if [[ -n ${softmmu_targets} ]] && use kernel_linux; then + udev_reload + fi + + xdg_icon_cache_update + + [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ + fcaps cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper + + DISABLE_AUTOFORMATTING=true + readme.gentoo_print_elog + + if use pin-upstream-blobs && firmware_abi_change; then + ewarn "This version of qemu pins new versions of firmware blobs:" + + if has_version 'sys-firmware/edk2-bin'; then + ewarn " $(best_version sys-firmware/edk2-bin)" + else + ewarn " $(best_version sys-firmware/edk2)" + fi + + if has_version 'sys-firmware/seabios-bin'; then + ewarn " $(best_version sys-firmware/seabios-bin)" + else + ewarn " $(best_version sys-firmware/seabios)" + fi + + ewarn " $(best_version sys-firmware/ipxe)" + ewarn " $(best_version sys-firmware/sgabios)" + ewarn "This might break resume of hibernated guests (started with a different" + ewarn "firmware version) and live migration to/from qemu versions with different" + ewarn "firmware. Please (cold) restart all running guests. For functional" + ewarn "guest migration ensure that all" + ewarn "hosts run at least" + ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." + fi +} + +pkg_info() { + echo "Using:" + echo " $(best_version app-emulation/spice-protocol)" + + if has_version 'sys-firmware/edk2-bin'; then + echo " $(best_version sys-firmware/edk2-bin)" + else + echo " $(best_version sys-firmware/edk2)" + fi + + if has_version 'sys-firmware/seabios-bin'; then + echo " $(best_version sys-firmware/seabios-bin)" + else + echo " $(best_version sys-firmware/seabios)" + fi + + echo " $(best_version sys-firmware/ipxe)" + echo " $(best_version sys-firmware/sgabios)" +} + +pkg_postrm() { + xdg_icon_cache_update + udev_reload +} diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9999.ebuild index 41f8903faa1..3de17faf48a 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9999.ebuild @@ -73,7 +73,6 @@ COMMON_TARGETS=" aarch64 alpha arm - cris hppa i386 loongarch64 @@ -91,7 +90,6 @@ COMMON_TARGETS=" riscv64 s390x sh4 - sh4eb sparc sparc64 x86_64 @@ -112,6 +110,7 @@ IUSE_USER_TARGETS=" mipsn32 mipsn32el ppc64le + sh4eb sparc32plus " @@ -318,7 +317,6 @@ RDEPEND=" PATCHES=( "${FILESDIR}"/${PN}-9.0.0-disable-keymap.patch "${FILESDIR}"/${PN}-9.1.0-capstone-include-path.patch - "${FILESDIR}"/${PN}-9.0.0-also-build-virtfs-proxy-helper.patch "${FILESDIR}"/${PN}-8.1.0-skip-tests.patch "${FILESDIR}"/${PN}-8.1.0-find-sphinx.patch diff --git a/sdk_container/src/third_party/portage-stable/app-eselect/eselect-rust/eselect-rust-20210703.ebuild b/sdk_container/src/third_party/portage-stable/app-eselect/eselect-rust/eselect-rust-20210703.ebuild index efe37338033..13b59bb6c64 100644 --- a/sdk_container/src/third_party/portage-stable/app-eselect/eselect-rust/eselect-rust-20210703.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-eselect/eselect-rust/eselect-rust-20210703.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="7" +EAPI=8 inherit autotools if [[ ${PV} == "99999999" ]] ; then @@ -17,7 +17,6 @@ HOMEPAGE="https://gitweb.gentoo.org/proj/eselect-rust.git" LICENSE="GPL-2" SLOT="0" -IUSE="" RDEPEND=">=app-admin/eselect-1.2.3" diff --git a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/Manifest b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/Manifest index 30f127a1258..a78f5acf6a3 100644 --- a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/Manifest @@ -1,5 +1 @@ -DIST gentoolkit-0.6.3.tar.bz2 3186163 BLAKE2B 0f9befac53faa2b578b461a55c7113934a60478fc5d8d5ab0e06cb836ff5a2de75bb290ed797a2b085ec9f33c8494e3c3d5d0d6b643c525fff4dd0a82657118f SHA512 cf51480213fd4bac45d44f5eb5e4be4cb5c5b97ad63ecd832eb54fc7043ab8e974491005431f0897d6c41d251ae0f9fc95cfdfc4d613fc56340630a094bfc61d -DIST gentoolkit-0.6.5.tar.bz2 3186457 BLAKE2B 7f873385b183e51b03e1c4be0edbabc89556e1b3a1dce2be71584c9ea927dd09185ba1022e570de0ed2a46cbb764c67f6eaccf97dc5892f4f355244bac7c0545 SHA512 cff9e7b1b8122941b03f7e156f25b5b416c5e4bbf1b759ecf006c271758f2548323bf59ba94a14f3268eea43081ccbba3ab63e118123af870c0257aaecbb9554 -DIST gentoolkit-0.6.6.tar.bz2 3187351 BLAKE2B f8add246e9d968c57a8d0e5c842a40a7646e92cc165ca611df35988ba55bd0221a26eefb351680f53e81adcf608a20eab604d0a9b9e52f936ebc7c20575c597c SHA512 73fc4b8d98dc118d3c505c49d94dd248c92d2bde883c130c65dcf814d200a165084e9c94713e93341e7c54b59b59db83279538440e0822902de688c135b8949d -DIST gentoolkit-0.6.7.tar.bz2 3187598 BLAKE2B 54c576fa7ded310fae24100171e069bfc79c0f908199384d33cac34d49f62e5cac4bda3e7f93db1866f8d4cf75afb465d82038eebb4df27070e14e73fba65feb SHA512 a5fb73c9b43e74541ccbb0537f860b6623284b84feb8922c95b5b5dd1dbd3db5117cbc3f899483c1a99086fcd8ddf49f71b81475e29af9e8bcdd1255553501fe DIST gentoolkit-0.6.8.tar.bz2 3190065 BLAKE2B 2f792d174a25c03e0f1b895fe06282412d383561e5456d5b4d2d918f7648790846fa9390b3bb9c862618ffefe749d9ccc236682be9fecde12ef8fda17c79359d SHA512 91ba97d8000d90350ea63c4d3be69dda919795b62ae84fe264ae8fee24ce6f6250599e03b086a334344df402781372ba9ced4cedb1c2fc66e2a4f6115ee57fc5 diff --git a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.3-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.3-r1.ebuild deleted file mode 100644 index 03ce063bdaa..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.3-r1.ebuild +++ /dev/null @@ -1,120 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} pypy3 ) -PYTHON_REQ_USE="xml(+),threads(+)" - -inherit meson python-r1 tmpfiles - -if [[ ${PV} = 9999* ]]; then - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/gentoolkit.git" - inherit git-r3 -else - SRC_URI="https://gitweb.gentoo.org/proj/gentoolkit.git/snapshot/${P}.tar.bz2" - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -fi - -DESCRIPTION="Collection of administration scripts for Gentoo" -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage-Tools" - -LICENSE="GPL-2" -SLOT="0" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -# Need newer Portage for eclean-pkg API, bug #900224 -DEPEND=" - >=sys-apps/portage-3.0.53[${PYTHON_USEDEP}] -" -RDEPEND=" - ${DEPEND} - ${PYTHON_DEPS} - app-alternatives/awk - sys-apps/gentoo-functions -" - -# setuptools is still needed as a workaround for Python 3.12+ for now. -# https://github.com/mesonbuild/meson/issues/7702 -# -# >=meson-1.2.1-r1 for bug #912051 -BDEPEND=" - ${PYTHON_DEPS} - >=dev-build/meson-1.2.1-r1 - $(python_gen_cond_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ' python3_12) -" - -src_prepare() { - default - if use prefix-guest ; then - # use correct repo name, bug #632223 - sed -i \ - -e "/load_profile_data/s/repo='gentoo'/repo='gentoo_prefix'/" \ - pym/gentoolkit/profile.py || die - fi -} - -src_configure() { - local code_only=false - python_foreach_impl my_src_configure -} - -my_src_configure() { - local emesonargs=( - -Dcode-only=${code_only} - -Deprefix="${EPREFIX}" - -Ddocdir="${EPREFIX}/usr/share/doc/${PF}" - ) - - meson_src_configure - code_only=true -} - -src_compile() { - python_foreach_impl meson_src_compile -} - -src_test() { - python_foreach_impl meson_src_test --no-rebuild --verbose -} - -src_install() { - python_foreach_impl my_src_install - dotmpfiles data/tmpfiles.d/revdep-rebuild.conf - - local scripts - mapfile -t scripts < <(awk '/^#!.*python/ {print FILENAME} {nextfile}' "${ED}"/usr/bin/* || die) - python_replicate_script "${scripts[@]}" -} - -my_src_install() { - local pydirs=( - "${D}$(python_get_sitedir)" - ) - - meson_src_install - python_optimize "${pydirs[@]}" -} - -pkg_postinst() { - tmpfiles_process revdep-rebuild.conf - - # Only show the elog information on a new install - if [[ ! ${REPLACING_VERSIONS} ]]; then - elog - elog "For further information on gentoolkit, please read the gentoolkit" - elog "guide: https://wiki.gentoo.org/wiki/Gentoolkit" - elog - elog "Another alternative to equery is app-portage/portage-utils" - elog - elog "Additional tools that may be of interest:" - elog - elog " app-admin/eclean-kernel" - elog " app-portage/diffmask" - elog " app-portage/flaggie" - elog " app-portage/portpeek" - elog " app-portage/smart-live-rebuild" - fi -} diff --git a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.5.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.5.ebuild deleted file mode 100644 index a056616d342..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.5.ebuild +++ /dev/null @@ -1,120 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} pypy3 ) -PYTHON_REQ_USE="xml(+),threads(+)" - -inherit meson python-r1 tmpfiles - -if [[ ${PV} = 9999* ]]; then - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/gentoolkit.git" - inherit git-r3 -else - SRC_URI="https://gitweb.gentoo.org/proj/gentoolkit.git/snapshot/${P}.tar.bz2" - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -fi - -DESCRIPTION="Collection of administration scripts for Gentoo" -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage-Tools" - -LICENSE="GPL-2" -SLOT="0" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -# Need newer Portage for eclean-pkg API, bug #900224 -DEPEND=" - >=sys-apps/portage-3.0.57[${PYTHON_USEDEP}] -" -RDEPEND=" - ${DEPEND} - ${PYTHON_DEPS} - app-alternatives/awk - sys-apps/gentoo-functions -" - -# setuptools is still needed as a workaround for Python 3.12+ for now. -# https://github.com/mesonbuild/meson/issues/7702 -# -# >=meson-1.2.1-r1 for bug #912051 -BDEPEND=" - ${PYTHON_DEPS} - >=dev-build/meson-1.2.1-r1 - $(python_gen_cond_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ' python3_12) -" - -src_prepare() { - default - if use prefix-guest ; then - # use correct repo name, bug #632223 - sed -i \ - -e "/load_profile_data/s/repo='gentoo'/repo='gentoo_prefix'/" \ - pym/gentoolkit/profile.py || die - fi -} - -src_configure() { - local code_only=false - python_foreach_impl my_src_configure -} - -my_src_configure() { - local emesonargs=( - -Dcode-only=${code_only} - -Deprefix="${EPREFIX}" - -Ddocdir="${EPREFIX}/usr/share/doc/${PF}" - ) - - meson_src_configure - code_only=true -} - -src_compile() { - python_foreach_impl meson_src_compile -} - -src_test() { - python_foreach_impl meson_src_test --no-rebuild --verbose -} - -src_install() { - python_foreach_impl my_src_install - dotmpfiles data/tmpfiles.d/revdep-rebuild.conf - - local scripts - mapfile -t scripts < <(awk '/^#!.*python/ {print FILENAME} {nextfile}' "${ED}"/usr/bin/* || die) - python_replicate_script "${scripts[@]}" -} - -my_src_install() { - local pydirs=( - "${D}$(python_get_sitedir)" - ) - - meson_src_install - python_optimize "${pydirs[@]}" -} - -pkg_postinst() { - tmpfiles_process revdep-rebuild.conf - - # Only show the elog information on a new install - if [[ ! ${REPLACING_VERSIONS} ]]; then - elog - elog "For further information on gentoolkit, please read the gentoolkit" - elog "guide: https://wiki.gentoo.org/wiki/Gentoolkit" - elog - elog "Another alternative to equery is app-portage/portage-utils" - elog - elog "Additional tools that may be of interest:" - elog - elog " app-admin/eclean-kernel" - elog " app-portage/diffmask" - elog " app-portage/flaggie" - elog " app-portage/portpeek" - elog " app-portage/smart-live-rebuild" - fi -} diff --git a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.6.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.6.ebuild deleted file mode 100644 index 36960e19cd9..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.6.ebuild +++ /dev/null @@ -1,126 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} pypy3 ) -PYTHON_REQ_USE="xml(+),threads(+)" - -inherit meson python-r1 tmpfiles - -if [[ ${PV} = 9999* ]]; then - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/gentoolkit.git" - inherit git-r3 -else - SRC_URI="https://gitweb.gentoo.org/proj/gentoolkit.git/snapshot/${P}.tar.bz2" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -fi - -DESCRIPTION="Collection of administration scripts for Gentoo" -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage-Tools" - -LICENSE="GPL-2" -SLOT="0" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -IUSE="test" -RESTRICT="!test? ( test )" - -# Need newer Portage for eclean-pkg API, bug #900224 -DEPEND=" - >=sys-apps/portage-3.0.57[${PYTHON_USEDEP}] -" -RDEPEND=" - ${DEPEND} - ${PYTHON_DEPS} - app-alternatives/awk - sys-apps/gentoo-functions -" - -# setuptools is still needed as a workaround for Python 3.12+ for now. -# https://github.com/mesonbuild/meson/issues/7702 -# -# >=meson-1.2.1-r1 for bug #912051 -BDEPEND=" - ${PYTHON_DEPS} - >=dev-build/meson-1.2.1-r1 - $(python_gen_cond_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ' python3_12) - test? ( - dev-python/pytest[${PYTHON_USEDEP}] - ) -" - -src_prepare() { - default - if use prefix-guest ; then - # use correct repo name, bug #632223 - sed -i \ - -e "/load_profile_data/s/repo='gentoo'/repo='gentoo_prefix'/" \ - pym/gentoolkit/profile.py || die - fi -} - -src_configure() { - local code_only=false - python_foreach_impl my_src_configure -} - -my_src_configure() { - local emesonargs=( - -Dcode-only=${code_only} - $(meson_use test tests) - -Deprefix="${EPREFIX}" - -Ddocdir="${EPREFIX}/usr/share/doc/${PF}" - ) - - meson_src_configure - code_only=true -} - -src_compile() { - python_foreach_impl meson_src_compile -} - -src_test() { - python_foreach_impl meson_src_test --no-rebuild --verbose -} - -src_install() { - python_foreach_impl my_src_install - dotmpfiles data/tmpfiles.d/revdep-rebuild.conf - - local scripts - mapfile -t scripts < <(awk '/^#!.*python/ {print FILENAME} {nextfile}' "${ED}"/usr/bin/* || die) - python_replicate_script "${scripts[@]}" -} - -my_src_install() { - local pydirs=( - "${D}$(python_get_sitedir)" - ) - - meson_src_install - python_optimize "${pydirs[@]}" -} - -pkg_postinst() { - tmpfiles_process revdep-rebuild.conf - - # Only show the elog information on a new install - if [[ ! ${REPLACING_VERSIONS} ]]; then - elog - elog "For further information on gentoolkit, please read the gentoolkit" - elog "guide: https://wiki.gentoo.org/wiki/Gentoolkit" - elog - elog "Another alternative to equery is app-portage/portage-utils" - elog - elog "Additional tools that may be of interest:" - elog - elog " app-admin/eclean-kernel" - elog " app-portage/diffmask" - elog " app-portage/flaggie" - elog " app-portage/portpeek" - elog " app-portage/smart-live-rebuild" - fi -} diff --git a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.7.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.7.ebuild deleted file mode 100644 index b534884eeb7..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.7.ebuild +++ /dev/null @@ -1,127 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..13} pypy3 ) -PYTHON_REQ_USE="xml(+),threads(+)" - -inherit meson python-r1 tmpfiles - -if [[ ${PV} = 9999* ]]; then - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/gentoolkit.git" - inherit git-r3 -else - SRC_URI="https://gitweb.gentoo.org/proj/gentoolkit.git/snapshot/${P}.tar.bz2" - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -fi - -DESCRIPTION="Collection of administration scripts for Gentoo" -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage-Tools" - -LICENSE="GPL-2" -SLOT="0" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -IUSE="test" -RESTRICT="!test? ( test )" - -# Need newer Portage for eclean-pkg API, bug #900224 -DEPEND=" - >=sys-apps/portage-3.0.57[${PYTHON_USEDEP}] -" -RDEPEND=" - ${DEPEND} - ${PYTHON_DEPS} - app-alternatives/awk - sys-apps/gentoo-functions -" - -# setuptools is still needed as a workaround for Python 3.12+ for now. -# https://github.com/mesonbuild/meson/issues/7702 -# -# >=meson-1.2.1-r1 for bug #912051 -BDEPEND=" - ${PYTHON_DEPS} - >=dev-build/meson-1.2.1-r1 - $(python_gen_cond_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ' python3_12) - test? ( - dev-python/pytest[${PYTHON_USEDEP}] - ) -" - -src_prepare() { - default - if use prefix-guest ; then - # use correct repo name, bug #632223 - sed -i \ - -e "/load_profile_data/s/repo='gentoo'/repo='gentoo_prefix'/" \ - pym/gentoolkit/profile.py || die - fi -} - -src_configure() { - local code_only=false - python_foreach_impl my_src_configure -} - -my_src_configure() { - local emesonargs=( - -Dcode-only=${code_only} - $(meson_use test tests) - -Deprefix="${EPREFIX}" - -Ddocdir="${EPREFIX}/usr/share/doc/${PF}" - ) - - meson_src_configure - code_only=true -} - -src_compile() { - python_foreach_impl meson_src_compile -} - -src_test() { - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - python_foreach_impl epytest -} - -src_install() { - python_foreach_impl my_src_install - dotmpfiles data/tmpfiles.d/revdep-rebuild.conf - - local scripts - mapfile -t scripts < <(awk '/^#!.*python/ {print FILENAME} {nextfile}' "${ED}"/usr/bin/* || die) - python_replicate_script "${scripts[@]}" -} - -my_src_install() { - local pydirs=( - "${D}$(python_get_sitedir)" - ) - - meson_src_install - python_optimize "${pydirs[@]}" -} - -pkg_postinst() { - tmpfiles_process revdep-rebuild.conf - - # Only show the elog information on a new install - if [[ ! ${REPLACING_VERSIONS} ]]; then - elog - elog "For further information on gentoolkit, please read the gentoolkit" - elog "guide: https://wiki.gentoo.org/wiki/Gentoolkit" - elog - elog "Another alternative to equery is app-portage/portage-utils" - elog - elog "Additional tools that may be of interest:" - elog - elog " app-admin/eclean-kernel" - elog " app-portage/diffmask" - elog " app-portage/flaggie" - elog " app-portage/portpeek" - elog " app-portage/smart-live-rebuild" - fi -} diff --git a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.8.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.8.ebuild index 30de23241a7..b534884eeb7 100644 --- a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.8.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.8.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} = 9999* ]]; then inherit git-r3 else SRC_URI="https://gitweb.gentoo.org/proj/gentoolkit.git/snapshot/${P}.tar.bz2" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="Collection of administration scripts for Gentoo" diff --git a/sdk_container/src/third_party/portage-stable/app-portage/getuto/Manifest b/sdk_container/src/third_party/portage-stable/app-portage/getuto/Manifest index 54f0ab4fe6d..c4e5918dff2 100644 --- a/sdk_container/src/third_party/portage-stable/app-portage/getuto/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-portage/getuto/Manifest @@ -1,2 +1,3 @@ DIST getuto-1.13.tar.gz 10758 BLAKE2B cf7412e6253f883c29a3d89048073d14f982e4bc708ebe11541e4273c69cdc3f1131b6b62484b3b4f1131a11dc541776368f4bfe4500f0ec01e24de9e925a69d SHA512 111c60595dce79b3286afaa8d8485cb852d4d8a4ea5f0659ccde538a9ee8ccdb4d7d7251cce713b30e4f8a769891539bf6fdb52978b5f25df6536afb16dc8f2a +DIST getuto-23.0-libc-1-r1-1.gpkg.tar 20480 BLAKE2B a6f9284131690c39ff63a6046b19478a9f460d4115b1bd306d2996b631026fe9c4c4b2e3be23f30d2668794302d2a1686680738dd052a53e2d4c3ecb2a513070 SHA512 a692817ea63fb69c7cbb5e32fcba21e78bd87dd4e670d4c1ac9105e390ef63ea0f3660464e573adb28320b0a9cb0a78c52fe895ecdfd62a24986b1d79d2c692e DIST libc-1-r1-1.gpkg.tar 20480 BLAKE2B b2c184e20c1a29ff66240e992f9f81219285f525eb63cea081372685cf03a2e231a2edb528259617e74c655fbe61b6e0d8fc0bbdbd8452b6098de58432f019d7 SHA512 ce52f398ea8979ec16161381803740d49a4294c77303880f54090c379ba5eb8e545a3d3550f229cacc18c7763dc3adf7936561ba1c64b43c87692ec66084e4e6 diff --git a/sdk_container/src/third_party/portage-stable/app-portage/getuto/getuto-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/getuto/getuto-9999.ebuild index 1bb91c1211a..288ed5ed1b9 100644 --- a/sdk_container/src/third_party/portage-stable/app-portage/getuto/getuto-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-portage/getuto/getuto-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 @@ -18,7 +18,7 @@ else KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" fi -SRC_URI+=" test? ( https://mirror.bytemark.co.uk/gentoo/releases/amd64/binpackages/17.1/x86-64/virtual/libc/libc-1-r1-1.gpkg.tar )" +SRC_URI+=" test? ( https://mirror.bytemark.co.uk/gentoo/releases/amd64/binpackages/23.0/x86-64/virtual/libc/libc-1-r1-1.gpkg.tar -> ${PN}-23.0-libc-1-r1-1.gpkg.tar )" LICENSE="GPL-2" SLOT="0" @@ -41,7 +41,7 @@ src_unpack() { fi if use test ; then - cp "${DISTDIR}"/libc-1-r1-1.gpkg.tar "${S}" || die + cp "${DISTDIR}"/${PN}-23.0-libc-1-r1-1.gpkg.tar "${S}/libc-1-r1-1.gpkg.tar" || die fi } 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 6f4bcd039f1..6f8a731d587 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,13 @@ DIST bash-5.3-alpha.tar.gz 11195025 BLAKE2B b3325f6927d7dde86aae165891317b972f0b DIST bash-5.3-alpha.tar.gz.sig 95 BLAKE2B 69c8b33fe2a40498662ef084967701cff1926086785a41d6f49a3c2e2b9908499226d3d970bdb6397a74d3ccc22acb3651261ad2a421799eb135c64a78af8589 SHA512 c9587da66457e2010b0852c6dbf5949821a543b7f1b616a4d016df3477913e2a655c57289e83adeeb31b8b8afca22313e3af76cf727b93932d33a889c1263c20 DIST bash-5.3_alpha_p20241015-3ed028ccec871bc8d3b198c1681374b1e37df7cd.tar.gz 15914321 BLAKE2B 7ded011dbba5d9a017a03a7d8dca9bad3baaece4407c69f89f4aeb117bdac25e916e189bff38496ae127964ce5779a2dcf1de3d62b59d54f16a5c2811bfa09e3 SHA512 128d8f4bed5c69e6af8784607f4ef995d45a58a11ab9c47112d95459ef881e06f165406a337fd4ef12ab637883fd83a4c60b0a8a2a265ecd4ffead0786247fc4 DIST bash-5.3_alpha_p20241018-261c6e8cc6c59b63be3a1597aadec72e9cf5ae72.tar.gz 15933785 BLAKE2B 95a5fd2e16e4d7e4b7c0d503887a99c2ba8570d9218d64b66397b063620732d504ce75491e98f9f363144d6ca88c35988c6a724e2253d3b2bac49fb75f6076c2 SHA512 ecd51f3b347377de5007dd3cfc68e37990125ab5a89691a4fbb08461e57066565f31137d3c5876a78300af0cd4cb487b263319c921676e985357cf37439a3b9b +DIST bash-5.3_alpha_p20241022-474743f2da5bc5eb7da4ac9de23f3d52d1bf071e.tar.gz 15937834 BLAKE2B f14dad4008192018d35543959ae8eb70836a6907d2860e2ad9344a8954923cf41058f3dc7209ad89233cc2d9e6e73dfe4c3f1eb84132d7c3cd22658a49f18fd4 SHA512 c21dedbb0c7115185b0c64e52b82d82bc3a605d69dbe3acef0a5bf40e88cfd773a5010780aca430f193385670af81ed41d5288a631eff49dc5a4cfebfaae0a8d +DIST bash-5.3_alpha_p20241026-ee3b91dfd9aaaa2acd60ece9302e7ce6f09e3e73.tar.gz 15942643 BLAKE2B d8af52e9618c9b34eac7e63b38e37cf876a6e3858397ef7c91d1d5959e579f7ab1a7db2b1bf7e8e3c3594fbba3bb80a8b33596b151e5617fc63d714c6b5e61c8 SHA512 13372ceb1b0aeabae0f892bfed9e893ca437b274802d189aa7b388c688620740cfde0dd0320c5ac347e4dd3a6375615f1df878f6200672b97ed3d27027a13b51 +DIST bash-5.3_alpha_p20241028-4917f2859c8624e834f589bbd526a7b707072ce3.tar.gz 15938746 BLAKE2B 120d8ca4b393e1e5775a03e0f09a4d60da44cbd3ad4fcadc89c2469754601bfb7503ec97cfc493be012e3a700d7755fcde46dad7819be5924c4c1a79dc91a70b SHA512 52d64f2e39697659863eb0cdfe2b9b509e85ab1d35accb456246bf34a94a6377db378cebd72440fcbc863ccd7c032daef9b5395780add203ff75d1298c961193 +DIST bash-5.3_alpha_p20241101-fffa5d0e7c05d04731fcb113db46d7f85ac39085.tar.gz 15938486 BLAKE2B cc1db98359f0a7d2fe1598cfda1d67db354696fc2a7a088bf8e231c43107979653f2968826021593d15f13ee1e5144aa49670cb182152c845eee37340fa20be7 SHA512 36a61ac433cd6ce29fe7895837d1f83bb298b4a3ac6d916711c8820ec85219f7fa280cec35b7d845eeacdc6b6ee1bea9a859f61a0c1f1f7363edeed089ebc626 +DIST bash-5.3_alpha_p20241102-bf093e31aec6963c44309274e8ec5b8eca05af95.tar.gz 15717780 BLAKE2B 6898a1a4cc9184f64bcbccc1c5621900c2d196db91be51c7ae462e461e43a288f9a0cf986ffde76390e5c1a9bddf69a5581f91f272f328703fbd18ef90b9a151 SHA512 13b989c01c5abfdfa4456210926911bad2e0fd10a0cd3b73372f4671bcfc51e3f3b0bf39a864bfdd3dce162840dbb1cc33b7f18fb92e47f893a58b234b532f7a +DIST bash-5.3_alpha_p20241104-0075715b29c9c1d984ec243cf3018775ed5612de.tar.gz 15719398 BLAKE2B 23e05c0bc505237e662c7294655c1aac3034856f85ae306e460ce2b8c09e9ab5b7ec8fd7ee68aadd896587273a1d3b8a218f546d1ecde2b787ede2d45f2cce6f SHA512 3b15722cc136bc55f5223c94be630f837d2336dde7bc15fad0b32e53e2b314af6d7ccbd0d5bbad7d13bd289823419f2e452d7e9aead403dd318af919dc2ab7e9 +DIST bash-5.3_alpha_p20241108-b116cfe57df2c061cd953b77a0fc1b738dd5fe94.tar.gz 14937995 BLAKE2B d8a9282ea50a6c02bbe844b4f6c16148d2c63aad6ca54984389465dd91a7bd8d393d9fb18ca97478bec82fe4aa01108226f023e528f1c754bb10c755be206583 SHA512 50a54a6da25bed3fd21fd4976f6378796a39a6a9f6e310f3fdc86b0cbb402f1c990b55ae07d62b96b81c83fd1a66e1fc6efbd87ce66018f48c609da196dd1d17 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_p20241022.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241022.ebuild new file mode 100644 index 00000000000..d20127554ef --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241022.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="474743f2da5bc5eb7da4ac9de23f3d52d1bf071e" + SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.gz -> ${P}-${BASH_COMMIT}.tar.gz" + 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 ~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_p20241026.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241026.ebuild new file mode 100644 index 00000000000..d16b7e25a4c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241026.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="ee3b91dfd9aaaa2acd60ece9302e7ce6f09e3e73" + SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.gz -> ${P}-${BASH_COMMIT}.tar.gz" + 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 ~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_p20241028.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241028.ebuild new file mode 100644 index 00000000000..839b3c1fc0e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241028.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="4917f2859c8624e834f589bbd526a7b707072ce3" + SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.gz -> ${P}-${BASH_COMMIT}.tar.gz" + 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 ~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_p20241101.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241101.ebuild new file mode 100644 index 00000000000..663518a91fb --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241101.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="fffa5d0e7c05d04731fcb113db46d7f85ac39085" + SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.gz -> ${P}-${BASH_COMMIT}.tar.gz" + 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 ~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_p20241102.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241102.ebuild new file mode 100644 index 00000000000..ed400962cd3 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241102.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="bf093e31aec6963c44309274e8ec5b8eca05af95" + SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.gz -> ${P}-${BASH_COMMIT}.tar.gz" + 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 ~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_p20241104.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241104.ebuild new file mode 100644 index 00000000000..7bdfbbe020a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241104.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="0075715b29c9c1d984ec243cf3018775ed5612de" + SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.gz -> ${P}-${BASH_COMMIT}.tar.gz" + 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 ~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_p20241108.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241108.ebuild new file mode 100644 index 00000000000..aa808e0803a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20241108.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="b116cfe57df2c061cd953b77a0fc1b738dd5fe94" + SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.gz -> ${P}-${BASH_COMMIT}.tar.gz" + 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 ~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/dev-build/autoconf/autoconf-2.72-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.72-r1.ebuild index 2ee45bd6b68..768fab2c95f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.72-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.72-r1.ebuild @@ -29,7 +29,7 @@ else S="${WORKDIR}"/${MY_P} if [[ ${PV} != *_beta* ]] && ! [[ $(ver_cut 3) =~ [a-z] ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi BDEPEND="verify-sig? ( sec-keys/openpgp-keys-zackweinberg )" diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/Manifest b/sdk_container/src/third_party/portage-stable/dev-build/cmake/Manifest index 6b52fbff61e..65aa19b92cd 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/cmake/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-build/cmake/Manifest @@ -9,12 +9,10 @@ DIST cmake-3.30.0-docs.tar.xz 572276 BLAKE2B 0c258f8dd0a518bb7bf97d35a778d8e406c DIST cmake-3.30.2-SHA-256.txt 1646 BLAKE2B b36e1e099261d80bde7c57564d3030bc99b12ed3f6a70f69de16d81f6e6da567e3cfa792d010921017a02eaf238b056e7eb2cf330e6c6711aa3a4bd835732b57 SHA512 7991c834ed2e384d863793725fbe0b6195824f4e14a665ddd71348ecfa8bd03dddb46d0e9f26cc75b7d9e0a2eb90bdec01b7e79f32ff1a9cc9a8fcdd1d060de3 DIST cmake-3.30.2-SHA-256.txt.asc 833 BLAKE2B cf99bfec2bd4cc8c828162353ceac9ebae2d7ad02c5df77873a751df7314eb56266525c755ba2f9015e043c9bb6c8218251b47744741c02fb81a80f93809ab32 SHA512 d7f07fcdd02b1846bafff4a3e08e38a2cce38131358a783097555d7934dddc82a67c3a6b84cbd8731171d82e293ff18f7e5e66d0d3bbb7d200da3904089e923d DIST cmake-3.30.2.tar.gz 11500719 BLAKE2B 85873311000831d2a8acb2c9d7f107e7fcef9dcd56f47307bd384a26c1b63d8f15b41989944e41969d6637139d916101fe236d3fe448a76f5b18b7809570ad5d SHA512 2b4c4ebb2213e19a08b9bf5a3cf0427dd2bfc44c7d86734abf5524c311bbce7e79f76d08e4df87a1e4508fe9fa05a28333068dc3bab308ef9724a9beeb39daab -DIST cmake-3.30.3-SHA-256.txt 1646 BLAKE2B 9470d83b929f26d2ac8c1366209d78763963c981490b0ff2c959da85e3b58b72dfff3fe42c98b918089ac4ae05f302d5ec3d7254e9c061c610636d2089cf2b33 SHA512 629375ae3cdbd7b9248c92b7dc3149e109a0c93522a0d35fe458be69f70c5951781781404096f38dde09961a8d4f785866a909a2e282812be275871434f8243a -DIST cmake-3.30.3-SHA-256.txt.asc 833 BLAKE2B 15a9cde54b0dac1006cd676c404d5a9756f005bfde9abf5ea89dcaf4ab578f474f653dce95998ba8cb247875d6d58e4b298c540f993997c3cd3326e748a5b8f3 SHA512 4c2090ecb52c74806caf720cbdc6e89a7e60b7a3daaeefb56d54c4ce77d4d1d04d7cd5e72f7c8782fb82ec55374b28d64238b7e5759c675f075eb270087790b7 -DIST cmake-3.30.3.tar.gz 11501292 BLAKE2B 8b6d989b90568b6fe42ada549f5cd766d8f919f8f5ca3cdea15b5a7b7946d3a82642c178967edc1a9d90d398a7447e25647957489436758381f91b64fa401029 SHA512 1cc0381077819f7210e3fad5fe8194ddc65210f6591044b3982ca0c600e8e978330f1a5602515780bd691264678c7c35a8d9c28d34c14ffa22ef96c7544a20d4 -DIST cmake-3.30.4-SHA-256.txt 1646 BLAKE2B 0092ca4577ad6433b4560c66a9cdaf7c4ee3bc87473533a91841d5d3759ca7bcf0dce40af1e7b122fc6cb47f98b7d61724f6c00ca5e0d5c927dcc5ff488b4345 SHA512 ef732c6ce8ecd5288d9ec6485abef7a381faa0545848337e1d31a1c7ed3191ed9f7c5edf49ce0e194ad254640b27843ae2cd668c78ccf2835730b2936c19d09d -DIST cmake-3.30.4-SHA-256.txt.asc 833 BLAKE2B 4cd2d11bcaa1379e99d231716118034ca2bb39f27c48f590f00f8f57c6f37a874c2d4dbea816e1d3c62972b13dce5d723d837a77c56054834afdecf7d786491d SHA512 3e9c0e17f46d5e85c438d92248ab642be19a0b46b01c057ad253c1bce68cdf867296946b0709021f6bc75d555b0814b0fb1e36de0bacb650c81b59800144c1e6 -DIST cmake-3.30.4.tar.gz 11502808 BLAKE2B 591b4df9442e77116864f44eba568341ac30be6705061f33603cac56f47fb34730132537d1863ad70d890661eefb4741c0c40cf7a1a85a905300deafc22ba8de SHA512 d444fb94a56aebcda8344f48b5555d330c8d0602d5e68771800934a7df8667c97971ac44c8f0e71f7c1c0276b687fbca6fc5ac3102d5b755591dda7eddf49d0d DIST cmake-3.30.5-SHA-256.txt 1646 BLAKE2B a91c0663dd11a6f854a4acdc5902b67811a311fd5161dc86140f1a39fb1f3aadce0df348e27569936c6e51def096ab6572635e00ce3d2b7554fadea4a3d4287f SHA512 a5a2285049fae435f53d0dfdfaea9a740d2f6e08dd1b149ab1f0d5e3ddc8afb2c3fac4a8018a7eb24ec90155535362160abe5ca2681808a96d19d191a3aa3713 DIST cmake-3.30.5-SHA-256.txt.asc 833 BLAKE2B cb7db2d0263d77cbc6798aa916a4584ccc7e7e9724c362c1471cda4b87c53ed1d1cbacf84573768844d16c3356ad32dae4500a6704fc22b8b1e824e2be6a0435 SHA512 fdd31e5b872c3dba1c66dd2ae077721f7054f6df9f261548fce86f9d4d4d403130511c4ce7ce57bcb3501abd87ab506177b513d160592db6e09d70d34e4a24e5 DIST cmake-3.30.5.tar.gz 11502354 BLAKE2B 47eb5abcd9d634b10053b2052dae11fc85e74f78ca2489d72088eba8ca84ecaf22a248b27a92bf50666b76e8cba40ba9b952d3d76d8e57112d136e26087f5696 SHA512 968ad4769e869378049b1d82ace98db25a6cb234b6362a51737f0d2978b8914ad42967ba112741850b23631e73b8a8876cd4f99dd0285b9da1c2bb5ea4c4ee4e +DIST cmake-3.31.0-SHA-256.txt 1646 BLAKE2B 3f82f31d598cf395574d858f219e50d9b611b83a2c08ec2f441f59466bd56190659391718184e2f68dd9fdbb33845814e65423fb75386f8648ba9f62c6dc1d73 SHA512 e9e71a48d58bf50febcb19432bee658f5b12594fe926c9bc732e7d408bb8258504734244a91f052e43948fa082cc065ca9d6e1c39c79d6f9b264498f17383de9 +DIST cmake-3.31.0-SHA-256.txt.asc 833 BLAKE2B 31bd06104df08c5117626c59c1acaca46b36af96e27491ec742cdc5cd3f34e29dea31bca43ff8156f1eca155ffe353c538eb081886cf12966083f6fb41187005 SHA512 c935472c4b5f99aa0a60bea9b0d691ae29a5d1ea5a9770cedd9c809fa463d2887984aa2e3fcfe46a953fd9258d20a1bb482aeb992c248183baebfeaacdb99b7a +DIST cmake-3.31.0-docs.tar.xz 562756 BLAKE2B ef1d145658fd197ea515f05fbbad54b213bf458f3068829634242bc43bdb4f97bd45fcc45c9958919d2a78276ffc1d14d507822831f44fe9be5080ecc62e75fe SHA512 b4025633a0f42003005dfacdaea55c67e08d8f9082c8c6c564540b4d536246acedece41adb76cb00042d2f25f85b3817d23f70e393eb22a0857693d51ca60748 +DIST cmake-3.31.0.tar.gz 11699894 BLAKE2B 9f9b5b15e5c9b19865cd00e3034fadf3a8ce4c21985cd5c9ab89d2920815948471885831bc29141f3179f401ba100f0d3ca95f8b72e1b8c84d80504f28957fb4 SHA512 feea7e7e86cfbc228d83c96b84502146516d003a753a2daeeaabb4d2dedefae881c44de7e1e9b424680b0047568c12632472a0030c5ce8413033f94f9b361700 diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.30.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.30.4.ebuild deleted file mode 100644 index e9982cd799b..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.30.4.ebuild +++ /dev/null @@ -1,293 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-cmake-docs -# Set to 1 if prebuilt, 0 if not -# (the construct below is to allow overriding from env for script) -: ${CMAKE_DOCS_PREBUILT:=1} - -CMAKE_DOCS_PREBUILT_DEV=sam -CMAKE_DOCS_VERSION=$(ver_cut 1-2).0 -# Default to generating docs (inc. man pages) if no prebuilt; overridden later -# See bug #784815 -CMAKE_DOCS_USEFLAG="+doc" - -# TODO RunCMake.LinkWhatYouUse fails consistently w/ ninja -# ... but seems fine as of 3.22.3? -# TODO ... but bootstrap sometimes(?) fails with ninja now. bug #834759. -CMAKE_MAKEFILE_GENERATOR="emake" -CMAKE_REMOVE_MODULES_LIST=( none ) -inherit bash-completion-r1 cmake flag-o-matic multiprocessing \ - toolchain-funcs xdg-utils - -MY_P="${P/_/-}" - -DESCRIPTION="Cross platform Make" -HOMEPAGE="https://cmake.org/" -if [[ ${PV} == 9999 ]] ; then - CMAKE_DOCS_PREBUILT=0 - - EGIT_REPO_URI="https://gitlab.kitware.com/cmake/cmake.git" - inherit git-r3 -else - SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz" - - if [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then - SRC_URI+=" !doc? ( https://dev.gentoo.org/~${CMAKE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${CMAKE_DOCS_VERSION}-docs.tar.xz )" - fi - - if [[ ${PV} != *_rc* ]] ; then - VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bradking.asc - inherit verify-sig - - SRC_URI+=" verify-sig? ( - https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt - https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt.asc - )" - - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" - - BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20230817 )" - fi -fi - -[[ ${CMAKE_DOCS_PREBUILT} == 1 ]] && CMAKE_DOCS_USEFLAG="doc" - -S="${WORKDIR}/${MY_P}" - -LICENSE="BSD" -SLOT="0" -IUSE="${CMAKE_DOCS_USEFLAG} dap gui ncurses qt6 test" -RESTRICT="!test? ( test )" - -RDEPEND=" - >=app-arch/libarchive-3.3.3:= - app-crypt/rhash:0= - >=dev-libs/expat-2.0.1 - >=dev-libs/jsoncpp-1.9.2-r2:0= - >=dev-libs/libuv-1.10.0:= - >=net-misc/curl-7.21.5[ssl] - sys-libs/zlib - virtual/pkgconfig - dap? ( dev-cpp/cppdap ) - gui? ( - !qt6? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtwidgets:5 - ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) - ) - ncurses? ( sys-libs/ncurses:= ) -" -DEPEND="${RDEPEND}" -BDEPEND+=" - doc? ( - dev-python/requests - dev-python/sphinx - ) - test? ( app-arch/libarchive[zstd] ) -" - -SITEFILE="50${PN}-gentoo.el" - -PATCHES=( - # Prefix - "${FILESDIR}"/${PN}-3.27.0_rc1-0001-Don-t-use-.so-for-modules-on-darwin-macos.-Use-.bund.patch - "${FILESDIR}"/${PN}-3.27.0_rc1-0002-Set-some-proper-paths-to-make-cmake-find-our-tools.patch - # Misc - "${FILESDIR}"/${PN}-3.27.0_rc1-0003-Prefer-pkgconfig-in-FindBLAS.patch - "${FILESDIR}"/${PN}-3.27.0_rc1-0004-Ensure-that-the-correct-version-of-Qt-is-always-used.patch - "${FILESDIR}"/${PN}-3.27.0_rc1-0005-Respect-Gentoo-s-Python-eclasses.patch - # Cuda - "${FILESDIR}/${PN}-3.30.3-cudahostld.patch" - - # Upstream fixes (can usually be removed with a version bump) -) - -cmake_src_bootstrap() { - # disable running of cmake in bootstrap command - sed -i \ - -e '/"${cmake_bootstrap_dir}\/cmake"/s/^/#DONOTRUN /' \ - bootstrap || die "sed failed" - - # execinfo.h on Solaris isn't quite what it is on Darwin - if [[ ${CHOST} == *-solaris* ]] ; then - sed -i -e 's/execinfo\.h/blablabla.h/' \ - Source/kwsys/CMakeLists.txt || die - fi - - # bootstrap script isn't exactly /bin/sh compatible - tc-env_build ${CONFIG_SHELL:-sh} ./bootstrap \ - --prefix="${T}/cmakestrap/" \ - --parallel=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") \ - || die "Bootstrap failed" -} - -src_unpack() { - if [[ ${PV} == 9999 ]] ; then - git-r3_src_unpack - elif [[ ${PV} == *_rc* ]] || ! use verify-sig ; then - default - else - cd "${DISTDIR}" || die - - # See https://mgorny.pl/articles/verify-sig-by-example.html#verifying-using-a-checksum-file-with-a-detached-signature - verify-sig_verify_detached ${MY_P}-SHA-256.txt{,.asc} - verify-sig_verify_unsigned_checksums ${MY_P}-SHA-256.txt sha256 ${MY_P}.tar.gz - - cd "${WORKDIR}" || die - - default - fi -} - -src_prepare() { - cmake_src_prepare - - if [[ ${CHOST} == *-darwin* ]] ; then - # Disable Xcode hooks, bug #652134 - sed -i -e 's/cm\(\|Global\|Local\)XCode[^.]\+\.\(cxx\|h\)//' \ - Source/CMakeLists.txt || die - sed -i -e '/define CMAKE_USE_XCODE/s/XCODE/NO_XCODE/' \ - -e '/cmGlobalXCodeGenerator.h/d' \ - Source/cmake.cxx || die - # Disable system integration, bug #933744 - sed -i -e 's/__APPLE__/__DISABLED__/' \ - Source/cmFindProgramCommand.cxx \ - Source/CPack/cmCPackGeneratorFactory.cxx || die - sed -i -e 's/__MAC_OS_X_VERSION_MIN_REQUIRED/__DISABLED__/' \ - Source/cmMachO.cxx || die - sed -i -e 's:CPack/cmCPack\(Bundle\|DragNDrop\|PKG\|ProductBuild\)Generator.cxx::' \ - Source/CMakeLists.txt || die - - # Disable isysroot usage with GCC, we've properly instructed - # where things are via GCC configuration and ldwrapper - sed -i -e '/cmake_gnu_set_sysroot_flag/d' \ - Modules/Platform/Apple-GNU-*.cmake || die - # Disable isysroot usage with clang as well - sed -i -e '/_SYSROOT_FLAG/d' \ - Modules/Platform/Apple-Clang.cmake || die - # Don't set a POSIX standard, system headers don't like that, #757426 - sed -i -e 's/^#if !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \ - Source/cmLoadCommandCommand.cxx \ - Source/cmStandardLexer.h \ - Source/cmSystemTools.cxx \ - Source/cmTimestamp.cxx - sed -i -e 's/^#if !defined(_POSIX_C_SOURCE) && !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \ - Source/cmStandardLexer.h - fi - - # Add gcc libs to the default link paths - sed -i \ - -e "s|@GENTOO_PORTAGE_GCCLIBDIR@|${EPREFIX}/usr/${CHOST}/lib/|g" \ - -e "$(usex prefix-guest "s|@GENTOO_HOST@||" "/@GENTOO_HOST@/d")" \ - -e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \ - Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed" - - ## in theory we could handle these flags in src_configure, as we do in many other packages. But we *must* - ## handle them as part of bootstrapping, sadly. - - # Fix linking on Solaris - [[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl - - # ODR warnings, bug #858335 - # https://gitlab.kitware.com/cmake/cmake/-/issues/20740 - filter-lto - - if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then - CMAKE_BINARY="${S}/Bootstrap.cmk/cmake" - cmake_src_bootstrap - fi -} - -src_configure() { - local mycmakeargs=( - -DCMAKE_USE_SYSTEM_LIBRARIES=ON - -DCMake_ENABLE_DEBUGGER=$(usex dap) - -DCMAKE_DOC_DIR=/share/doc/${PF} - -DCMAKE_MAN_DIR=/share/man - -DCMAKE_DATA_DIR=/share/${PN} - -DSPHINX_MAN=$(usex doc) - -DSPHINX_HTML=$(usex doc) - -DBUILD_CursesDialog="$(usex ncurses)" - -DBUILD_TESTING=$(usex test) - -DBUILD_QtDialog=$(usex gui) - ) - - use gui && mycmakeargs+=( -DCMake_QT_MAJOR_VERSION=$(usex qt6 6 5) ) - - cmake_src_configure -} - -src_test() { - # Fix OutDir and SelectLibraryConfigurations tests - # these are altered thanks to our eclass - sed -i -e 's:^#_cmake_modify_IGNORE ::g' \ - "${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \ - || die - - unset CLICOLOR CLICOLOR_FORCE CMAKE_COMPILER_COLOR_DIAGNOSTICS CMAKE_COLOR_DIAGNOSTICS - - pushd "${BUILD_DIR}" > /dev/null || die - - # Excluded tests: - # BootstrapTest: we actualy bootstrap it every time so why test it. - # BundleUtilities: bundle creation broken - # CMakeOnly.AllFindModules: pthread issues - # CTest.updatecvs: which fails to commit as root - # Fortran: requires fortran - # RunCMake.CompilerLauncher: also requires fortran - # RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because - # debugedit binary is not in the expected location - # RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because - # it can't find a deb package that owns libc - # TestUpload, which requires network access - # RunCMake.CMP0125, known failure reported upstream (bug #829414) - local myctestargs=( - --output-on-failure - -E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload|RunCMake.CMP0125)" \ - ) - - local -x QT_QPA_PLATFORM=offscreen - - cmake_src_test -} - -src_install() { - cmake_src_install - - # If USE=doc, there'll be newly generated docs which we install instead. - if ! use doc && [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then - doman "${WORKDIR}"/${PN}-${CMAKE_DOCS_VERSION}-docs/man*/*.[0-8] - fi - - insinto /usr/share/vim/vimfiles/syntax - doins Auxiliary/vim/syntax/cmake.vim - - insinto /usr/share/vim/vimfiles/indent - doins Auxiliary/vim/indent/cmake.vim - - insinto /usr/share/vim/vimfiles/ftdetect - doins "${FILESDIR}/${PN}.vim" - - dobashcomp Auxiliary/bash-completion/{${PN},ctest,cpack} -} - -pkg_postinst() { - if use gui; then - xdg_icon_cache_update - xdg_desktop_database_update - xdg_mimeinfo_database_update - fi -} - -pkg_postrm() { - if use gui; then - xdg_icon_cache_update - xdg_desktop_database_update - xdg_mimeinfo_database_update - fi -} diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.30.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.30.5.ebuild index e9982cd799b..e89cc2cf8e8 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.30.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.30.5.ebuild @@ -47,7 +47,7 @@ else https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt.asc )" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20230817 )" fi diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.30.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.31.0.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.30.3.ebuild rename to sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.31.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-build/make/make-4.4.1-r100.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/make/make-4.4.1-r100.ebuild index c711910ab5e..6448da8acac 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/make/make-4.4.1-r100.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/make/make-4.4.1-r100.ebuild @@ -18,7 +18,7 @@ elif [[ $(ver_cut 3) -ge 90 || $(ver_cut 4) -ge 90 ]] ; then else SRC_URI="mirror://gnu/make/${P}.tar.lz" SRC_URI+=" verify-sig? ( mirror://gnu/make/${P}.tar.lz.sig )" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-3+" diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.5.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.5.2.ebuild index 3e8898339e0..88ff2ab0850 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.5.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.5.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 ~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 ~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-20240722.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/abseil-cpp-20240722.0.ebuild index d9479e2682e..52d1e50a243 100644 --- a/sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/abseil-cpp-20240722.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/abseil-cpp-20240722.0.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:2:4}.$(ver_cut 2).0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips 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-db/sqlite/Manifest b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/Manifest index e31dc342de5..5d66a13b30d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/Manifest @@ -1,6 +1,8 @@ DIST sqlite-doc-3450300.zip 10759906 BLAKE2B 3ad2307d4c5de10f20d0cb58bb673b291a63bf0328c3f1e40e37a4823fadda82e0f1fbfe7c9c76925ab1d1448e76cc4cbce4d4ad15c732f134f1b4b4caee9543 SHA512 8f865302137684c31c4f54d6cbe4ee82126394887930ec50501fb811023bc612878d2dc1c2317e960fe818a277b008a9835475e7a47822fc5ece5fe37aa61e31 DIST sqlite-doc-3460000.zip 10842823 BLAKE2B 4b4b36d78ba540abaa39bb510465e23e39cabcce97d19e4cb1374d941183ea05e1150356d15c99dbdf5513adebe2e9b06cbc59bd268fe6ce17905523488ec682 SHA512 22748bf113ff96320c90227ba104ff081bf1761550944afbc78b6768d6677b13982d7e759c5f67eb7ba7ed0dcbffee500bc39fc9929d28f86b2a269145fefebd DIST sqlite-doc-3460100.zip 10851427 BLAKE2B 7462e83ca84e3e9aac7236f575fd2bdddac7744ae700a63fe8fdc9d2df3157c59fd374d99a0526bd4d9f742005ee7a90f3d78057861d3c3fcba9f897630e48db SHA512 1ad7dfc938d182f69ea9367b4f5ead1d48b991626521249e8b58c9fb4c2553e348ce402de9cc81b0ad699d4c45c467de56a98ee39f9c3555c6fafff15fba41ce +DIST sqlite-doc-3470000.zip 10937359 BLAKE2B 3fc349e4b2b0cd3fc59147519062133261463e09933419f330cd18e6b120d3498c10a1864c85c2de144430f1dbf7f9a867aba47ab77dbe2aa0b5128e0742dddf SHA512 20c126551a95905e63e99930e3f7964b6e3fc8b72fbbedf5484f669817af2a8384f05fce89d6117a5e232ba71f5469894d4bb22ba7abd796b24fd624372c7c17 DIST sqlite-src-3450300.zip 14160555 BLAKE2B 1c16a9b26587ed6b50dcd8373d4328266da0a47da7ffff15d505eddc8df74850a5bca3330bd9ee2b52036ccff9fb8aeebea02ef5713cc933753b4d8a4c15b2e8 SHA512 8f44ffdefd2cf09e7edb7cd78d5416fe7b42e01fe4b4e4803ce9d34c7b1b2971ec170a908a94b4bb11737dd3888675c8ff101ff2b41c53b8db05b5954e947cc9 DIST sqlite-src-3460000.zip 14275927 BLAKE2B 8f8c7da56226cfbc669bc5cce7c897849dd0c6088189be2fc972fdc58bbc2933df979f040066a1cb9aea942117867eb31c9c97e7074e17215bfe747f9024a6c2 SHA512 441c51943e77655652409965b831df5af8662b4c585134be7fcd9bb5755a495170f37bd6510a80c18c42de72dda23536b583e84e58f042d342dd9e4139ae3327 DIST sqlite-src-3460100.zip 14276926 BLAKE2B df16ea944e317df8ed64fdfab289e3699ec71725ce55e2b30450adaeb41c061b4fba1eb8c41ba638b0edcd12b23264a1f9e413b69fd593c2b65fb1037d3fc8b2 SHA512 6d32a0db9f95d3cec34f02f3fd45b453bf7c422d4d4d9570790f641e7d190b8b31be8e8715afacc1b6e4417f15a4d15a0b28e608ae0b4b5f3054b075783b916e +DIST sqlite-src-3470000.zip 14408459 BLAKE2B c8e883410fdf9f020bc55ef01d7c2c5b7f1744d3475e7755f2395b24b2d5397302aac2eb7912161cbc2a705a1d7a94b1fa5e8f4e5dbf374c31de56228cbc9e5d SHA512 294d718fb1ebb23e2a4d6e8b7f498d7a7d922e6af5e36452fae075c0d48f4d4f64b5f235ab561b1e47fb7722efc647dfe541164cc385ddc0e2ec0dbce1f40b01 diff --git a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/files/sqlite-3.47.0-allocator-mismatch.patch b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/files/sqlite-3.47.0-allocator-mismatch.patch new file mode 100644 index 00000000000..35ea63a28e6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/files/sqlite-3.47.0-allocator-mismatch.patch @@ -0,0 +1,37 @@ +https://github.com/sqlite/sqlite/commit/76b77c63f730aa163d82d082c0e1bf648cc4c567 + +From 76b77c63f730aa163d82d082c0e1bf648cc4c567 Mon Sep 17 00:00:00 2001 +From: stephan +Date: Mon, 4 Nov 2024 13:59:58 +0000 +Subject: [PATCH] Fix two mismatched uses of malloc() and sqlite3_free() in + sqlite3_stdio.c, as reported in [forum:7dd7c70038 | forum post 7dd7c70038]. + +FossilOrigin-Name: 5238959d05bbf3c12f488a55e52f3e9733138993d0365255184dffeb2bf36c03 +--- + ext/misc/sqlite3_stdio.c | 4 ++-- + manifest | 13 +++++++------ + manifest.uuid | 2 +- + 3 files changed, 10 insertions(+), 9 deletions(-) + +diff --git a/ext/misc/sqlite3_stdio.c b/ext/misc/sqlite3_stdio.c +index 5bb26084c2..ba37e4be30 100644 +--- a/ext/misc/sqlite3_stdio.c ++++ b/ext/misc/sqlite3_stdio.c +@@ -146,7 +146,7 @@ char *sqlite3_fgets(char *buf, int sz, FILE *in){ + ** that into UTF-8. Otherwise, non-ASCII characters all get translated + ** into '?'. + */ +- wchar_t *b1 = malloc( sz*sizeof(wchar_t) ); ++ wchar_t *b1 = sqlite3_malloc( sz*sizeof(wchar_t) ); + if( b1==0 ) return 0; + _setmode(_fileno(in), IsConsole(in) ? _O_WTEXT : _O_U8TEXT); + if( fgetws(b1, sz/4, in)==0 ){ +@@ -212,7 +212,7 @@ int sqlite3_fputs(const char *z, FILE *out){ + ** use O_U8TEXT for everything in text mode. + */ + int sz = (int)strlen(z); +- wchar_t *b1 = malloc( (sz+1)*sizeof(wchar_t) ); ++ wchar_t *b1 = sqlite3_malloc( (sz+1)*sizeof(wchar_t) ); + if( b1==0 ) return 0; + sz = MultiByteToWideChar(CP_UTF8, 0, z, sz, b1, sz); + b1[sz] = 0; diff --git a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/files/sqlite-3.47.0-nonbash.patch b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/files/sqlite-3.47.0-nonbash.patch new file mode 100644 index 00000000000..3eece5ed5b2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/files/sqlite-3.47.0-nonbash.patch @@ -0,0 +1,53 @@ +https://sqlite.org/forum/info/14274389fb2 +https://bugs.gentoo.org/942917 +https://bugs.gentoo.org/942918 +https://github.com/sqlite/sqlite/commit/a40e6e927313ed97a895ff7c022eff705e50b1e6 + +From a40e6e927313ed97a895ff7c022eff705e50b1e6 Mon Sep 17 00:00:00 2001 +From: stephan +Date: Wed, 30 Oct 2024 00:35:08 +0000 +Subject: [PATCH] Replace 3 instances of the == 'test' shell command operator + with =, as == is apparently not as portable across shells. Problem reported + in [forum:14274389fb2|forum post 14274389fb2]. + +FossilOrigin-Name: 68199c40fedeb07a3f9c5024fac6376a0579a13b0e5690aef6238e3e22b9c1b7 +--- a/configure ++++ b/configure +@@ -10334,7 +10334,7 @@ else + fi + + original_use_tcl=${use_tcl} +-if test x"${with_tclsh}" == x -a x"${with_tcl}" == x; then ++if test x"${with_tclsh}" = x -a x"${with_tcl}" = x; then + for ac_prog in tclsh9.0 tclsh8.6 tclsh + do + # Extract the first word of "$ac_prog", so it can be a program name with args. +@@ -10453,7 +10453,7 @@ $as_echo "unable to run tests because no tclConfig.sh file could be located" >&6 + HAVE_TCL=0 + fi + +-if test x"$TCLSH_CMD" == x; then ++if test x"$TCLSH_CMD" = x; then + TCLSH_CMD=${TCL_EXEC_PREFIX}/bin/tclsh${TCL_VERSION} + if test ! -x ${TCLSH_CMD}; then + TCLSH_CMD_2=${TCL_EXEC_PREFIX}/bin/tclsh +--- a/configure.ac ++++ b/configure.ac +@@ -124,7 +124,7 @@ AC_ARG_WITH(tcl, AS_HELP_STRING([--with-tcl=DIR],[directory containing (tclConfi + AC_ARG_ENABLE(tcl, AS_HELP_STRING([--disable-tcl],[omit building accessory programs that require TCL-dev]), + [use_tcl=$enableval],[use_tcl=yes]) + original_use_tcl=${use_tcl} +-if test x"${with_tclsh}" == x -a x"${with_tcl}" == x; then ++if test x"${with_tclsh}" = x -a x"${with_tcl}" = x; then + AC_CHECK_PROGS(TCLSH_CMD, [tclsh9.0 tclsh8.6 tclsh],none) + with_tclsh=${TCLSH_CMD} + fi +@@ -195,7 +195,7 @@ else + HAVE_TCL=0 + fi + AC_SUBST(HAVE_TCL) +-if test x"$TCLSH_CMD" == x; then ++if test x"$TCLSH_CMD" = x; then + TCLSH_CMD=${TCL_EXEC_PREFIX}/bin/tclsh${TCL_VERSION} + if test ! -x ${TCLSH_CMD}; then + TCLSH_CMD_2=${TCL_EXEC_PREFIX}/bin/tclsh diff --git a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.46.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.46.1.ebuild index 8777c7d3967..4b7f5f5373a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.46.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.46.1.ebuild @@ -24,7 +24,7 @@ else " S="${WORKDIR}/${PN}-src-${SRC_PV}" - KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi LICENSE="public-domain" diff --git a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.47.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.47.0-r1.ebuild new file mode 100644 index 00000000000..c7033bdf266 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.47.0-r1.ebuild @@ -0,0 +1,428 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic multilib-minimal toolchain-funcs + +DESCRIPTION="SQL database engine" +HOMEPAGE="https://sqlite.org/" + +# On version updates, make sure to read the forum (https://sqlite.org/forum/forum) +# for hints regarding test failures, backports, etc. +if [[ ${PV} == 9999 ]]; then + S="${WORKDIR}"/${PN} + PROPERTIES="live" +else + printf -v SRC_PV "%u%02u%02u%02u" $(ver_rs 1- " ") + DOC_PV="${SRC_PV}" + #printf -v DOC_PV "%u%02u%02u00" $(ver_rs 1-3 " ") + + SRC_URI=" + https://sqlite.org/2024/${PN}-src-${SRC_PV}.zip + doc? ( https://sqlite.org/2024/${PN}-doc-${DOC_PV}.zip ) + " + S="${WORKDIR}/${PN}-src-${SRC_PV}" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +fi + +LICENSE="public-domain" +SLOT="3" +IUSE="debug doc icu +readline secure-delete static-libs tcl test tools" +RESTRICT="!test? ( test )" + +RDEPEND=" + sys-libs/zlib:=[${MULTILIB_USEDEP}] + icu? ( dev-libs/icu:=[${MULTILIB_USEDEP}] ) + readline? ( sys-libs/readline:=[${MULTILIB_USEDEP}] ) + tcl? ( dev-lang/tcl:=[${MULTILIB_USEDEP}] ) + tools? ( dev-lang/tcl:= ) +" +DEPEND=" + ${RDEPEND} + test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] ) +" +BDEPEND=">=dev-lang/tcl-8.6:0" +if [[ ${PV} == 9999 ]]; then + BDEPEND+=" dev-vcs/fossil" +else + BDEPEND+=" app-arch/unzip" +fi + +PATCHES=( + "${FILESDIR}"/${PN}-3.45.1-ppc64-ptr.patch + "${FILESDIR}"/${PN}-3.47.0-nonbash.patch + "${FILESDIR}"/${PN}-3.47.0-allocator-mismatch.patch +) + +_fossil_fetch() { + local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}" + local repo_id="${1}" + local repo_uri="${2}" + + local -x FOSSIL_HOME="${HOME}" + + mkdir -p "${T}/fossil/${repo_id}" || die + pushd "${T}/fossil/${repo_id}" > /dev/null || die + + if [[ -n "${EVCS_OFFLINE}" ]]; then + if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then + die "Network activity disabled using EVCS_OFFLINE and clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\"" + fi + else + if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then + einfo fossil clone --verbose "${repo_uri}" "${repo_id}.fossil" + fossil clone --verbose "${repo_uri}" "${repo_id}.fossil" || die + echo + else + cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" . || die + einfo fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}" + fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}" || die + echo + fi + + ( + addwrite "${distdir}" + mkdir -p "${distdir}/fossil-src/${repo_id}" || die + cp -p "${repo_id}.fossil" "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" || die + ) + fi + + popd > /dev/null || die +} + +_fossil_checkout() { + local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}" + local repo_id="${1}" + local branch_or_commit="${2}" + local target_directory="${3}" + + local -x FOSSIL_HOME="${HOME}" + + if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then + die "Clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\"" + fi + + if [[ ! -f "${T}/fossil/${repo_id}/${repo_id}.fossil" ]]; then + mkdir -p "${T}/fossil/${repo_id}" || die + cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" "${T}/fossil/${repo_id}" || die + fi + + mkdir "${target_directory}" || die + pushd "${target_directory}" > /dev/null || die + + einfo fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}" + fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}" || die + echo + + popd > /dev/null || die +} + +fossil_fetch() { + local repo_id="${1}" + local repo_uri="${2}" + local target_directory="${3}" + + local branch_or_commit="${EFOSSIL_COMMIT:-${EFOSSIL_BRANCH:-trunk}}" + + _fossil_fetch "${repo_id}" "${repo_uri}" + _fossil_checkout "${repo_id}" "${branch_or_commit}" "${target_directory}" +} + +src_unpack() { + if [[ ${PV} == 9999 ]]; then + fossil_fetch sqlite https://sqlite.org/src "${WORKDIR}/${PN}" + if use doc; then + fossil_fetch sqlite-doc https://sqlite.org/docsrc "${WORKDIR}/${PN}-doc" + fi + else + default + fi +} + +src_prepare() { + default + + eautoreconf + multilib_copy_sources +} + +multilib_src_configure() { + local -x CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}" + local options=() + + options+=( + --enable-load-extension + --enable-threadsafe + ) + + # Support detection of misuse of SQLite API. + # https://sqlite.org/compile.html#enable_api_armor + append-cppflags -DSQLITE_ENABLE_API_ARMOR + + # Support bytecode and tables_used virtual tables. + # https://sqlite.org/compile.html#enable_bytecode_vtab + # https://sqlite.org/bytecodevtab.html + append-cppflags -DSQLITE_ENABLE_BYTECODE_VTAB + + # Support column metadata functions. + # https://sqlite.org/compile.html#enable_column_metadata + # https://sqlite.org/c3ref/column_database_name.html + append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA + + # Support sqlite_dbpage virtual table. + # https://sqlite.org/compile.html#enable_dbpage_vtab + # https://sqlite.org/dbpage.html + append-cppflags -DSQLITE_ENABLE_DBPAGE_VTAB + + # Support dbstat virtual table. + # https://sqlite.org/compile.html#enable_dbstat_vtab + # https://sqlite.org/dbstat.html + append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB + + # Support sqlite3_serialize() and sqlite3_deserialize() functions. + # https://sqlite.org/compile.html#enable_deserialize + # https://sqlite.org/c3ref/serialize.html + # https://sqlite.org/c3ref/deserialize.html + append-cppflags -DSQLITE_ENABLE_DESERIALIZE + + # Support comments in output of EXPLAIN. + # https://sqlite.org/compile.html#enable_explain_comments + append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS + + # Support Full-Text Search versions 3, 4 and 5. + # https://sqlite.org/compile.html#enable_fts3 + # https://sqlite.org/compile.html#enable_fts3_parenthesis + # https://sqlite.org/compile.html#enable_fts4 + # https://sqlite.org/compile.html#enable_fts5 + # https://sqlite.org/fts3.html + # https://sqlite.org/fts5.html + append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 + options+=( --enable-fts5 ) + + # Support hidden columns. + append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS + + # Support memsys5 memory allocator. + # https://sqlite.org/compile.html#enable_memsys5 + # https://sqlite.org/malloc.html#memsys5 + append-cppflags -DSQLITE_ENABLE_MEMSYS5 + + # Support sqlite3_normalized_sql() function. + # https://sqlite.org/c3ref/expanded_sql.html + append-cppflags -DSQLITE_ENABLE_NORMALIZE + + # Support sqlite_offset() function. + # https://sqlite.org/compile.html#enable_offset_sql_func + # https://sqlite.org/lang_corefunc.html#sqlite_offset + append-cppflags -DSQLITE_ENABLE_OFFSET_SQL_FUNC + + # Support pre-update hook functions. + # https://sqlite.org/compile.html#enable_preupdate_hook + # https://sqlite.org/c3ref/preupdate_count.html + append-cppflags -DSQLITE_ENABLE_PREUPDATE_HOOK + + # Support Resumable Bulk Update extension. + # https://sqlite.org/compile.html#enable_rbu + # https://sqlite.org/rbu.html + append-cppflags -DSQLITE_ENABLE_RBU + + # Support R*Trees. + # https://sqlite.org/compile.html#enable_rtree + # https://sqlite.org/compile.html#enable_geopoly + # https://sqlite.org/rtree.html + # https://sqlite.org/geopoly.html + append-cppflags -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY + + # Support Session extension. + # https://sqlite.org/compile.html#enable_session + # https://sqlite.org/sessionintro.html + append-cppflags -DSQLITE_ENABLE_SESSION + + # Support scan status functions. + # https://sqlite.org/compile.html#enable_stmt_scanstatus + # https://sqlite.org/c3ref/stmt_scanstatus.html + # https://sqlite.org/c3ref/stmt_scanstatus_reset.html + append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS + + # Support sqlite_stmt virtual table. + # https://sqlite.org/compile.html#enable_stmtvtab + # https://sqlite.org/stmt.html + append-cppflags -DSQLITE_ENABLE_STMTVTAB + + # Support unknown() function. + # https://sqlite.org/compile.html#enable_unknown_sql_function + append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION + + # Support unlock notification. + # https://sqlite.org/compile.html#enable_unlock_notify + # https://sqlite.org/c3ref/unlock_notify.html + # https://sqlite.org/unlock_notify.html + append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY + + # Support LIMIT and ORDER BY clauses on DELETE and UPDATE statements. + # https://sqlite.org/compile.html#enable_update_delete_limit + # https://sqlite.org/lang_delete.html#optional_limit_and_order_by_clauses + # https://sqlite.org/lang_update.html#optional_limit_and_order_by_clauses + append-cppflags -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT + + # Support soundex() function. + # https://sqlite.org/compile.html#soundex + # https://sqlite.org/lang_corefunc.html#soundex + append-cppflags -DSQLITE_SOUNDEX + + # Support URI filenames. + # https://sqlite.org/compile.html#use_uri + # https://sqlite.org/uri.html + append-cppflags -DSQLITE_USE_URI + + options+=( $(use_enable debug) ) + + if use icu; then + # Support ICU extension. + # https://sqlite.org/compile.html#enable_icu + append-cppflags -DSQLITE_ENABLE_ICU + sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed" + fi + + options+=( + --disable-editline + $(use_enable readline) + ) + + if use readline; then + options+=( --with-readline-inc="-I${ESYSROOT}/usr/include/readline" ) + fi + + if use secure-delete; then + # Enable secure_delete pragma by default. + # https://sqlite.org/compile.html#secure_delete + # https://sqlite.org/pragma.html#pragma_secure_delete + append-cppflags -DSQLITE_SECURE_DELETE + fi + + options+=( $(use_enable static-libs static) ) + + # tcl, test, tools USE flags. + if use tcl || use test || { use tools && multilib_is_native_abi; }; then + options+=( + --enable-tcl + --with-tcl="${ESYSROOT}/usr/$(get_libdir)" + ) + else + options+=( --disable-tcl ) + fi + + if [[ "${ABI}" == "x86" ]]; then + if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -q "^#define __SSE__ 1$"; then + append-cflags -mfpmath=sse + else + append-cflags -ffloat-store + fi + fi + + econf "${options[@]}" +} + +multilib_src_compile() { + emake HAVE_TCL="$(usev tcl 1)" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" + + if use tools && multilib_is_native_abi; then + emake changeset dbdump dbhash dbtotxt index_usage rbu scrub showdb showjournal showshm showstat4 showwal sqldiff sqlite3_analyzer sqlite3_checker sqlite3_expert sqltclsh + fi + + if [[ ${PV} == 9999 ]] && use doc && multilib_is_native_abi; then + emake tclsqlite3.c + + local build_directory="$(pwd)" + build_directory="${build_directory##*/}" + + mkdir "${WORKDIR}/${PN}-doc-build" || die + pushd "${WORKDIR}/${PN}-doc-build" > /dev/null || die + + emake -f "../${PN}-doc/Makefile" -j1 SRC="../${PN}" BLD="../${build_directory}" DOC="../${PN}-doc" CC="$(tc-getBUILD_CC)" TCLINC="" TCLFLAGS="$($(tc-getBUILD_PKG_CONFIG) --libs tcl) -ldl -lm" base doc + rmdir doc/matrix{/*,} || die + + popd > /dev/null || die + fi +} + +multilib_src_test() { + if [[ "${EUID}" -eq 0 ]]; then + ewarn "Skipping tests due to root permissions" + return + fi + + local -x SQLITE_HISTORY="${T}/sqlite_history_${ABI}" + + # e_uri.test tries to open files in /. + # bug #839798 + local SANDBOX_PREDICT=${SANDBOX_PREDICT} + addpredict "/test.db" + addpredict "/ÿ.db" + + emake -Onone $(usex debug 'fulltest' 'test') +} + +multilib_src_install() { + emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install + + if use tools && multilib_is_native_abi; then + install_tool() { + if [[ -f ".libs/${1}" ]]; then + newbin ".libs/${1}" "${2}" + else + newbin "${1}" "${2}" + fi + } + + install_tool changeset sqlite3-changeset + install_tool dbdump sqlite3-db-dump + install_tool dbhash sqlite3-db-hash + install_tool dbtotxt sqlite3-db-to-txt + install_tool index_usage sqlite3-index-usage + install_tool rbu sqlite3-rbu + install_tool scrub sqlite3-scrub + install_tool showdb sqlite3-show-db + install_tool showjournal sqlite3-show-journal + install_tool showshm sqlite3-show-shm + install_tool showstat4 sqlite3-show-stat4 + install_tool showwal sqlite3-show-wal + install_tool sqldiff sqlite3-diff + install_tool sqlite3_analyzer sqlite3-analyzer + install_tool sqlite3_checker sqlite3-checker + install_tool sqlite3_expert sqlite3-expert + install_tool sqltclsh sqlite3-tclsh + + unset -f install_tool + fi +} + +multilib_src_install_all() { + find "${ED}" -name "*.la" -delete || die + + doman sqlite3.1 + + if use doc; then + if [[ ${PV} == 9999 ]]; then + pushd "${WORKDIR}/${PN}-doc-build/doc" > /dev/null || die + else + pushd "${WORKDIR}/${PN}-doc-${DOC_PV}" > /dev/null || die + fi + + find "(" -name "*.db" -o -name "*.txt" ")" -delete || die + if [[ ${PV} != 9999 ]]; then + rm search search.d/admin || die + rmdir search.d || die + find -name "*~" -delete || die + fi + + ( + docinto html + dodoc -r * + ) + + popd > /dev/null || die + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.47.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.47.0.ebuild new file mode 100644 index 00000000000..f2269f2a942 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.47.0.ebuild @@ -0,0 +1,427 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic multilib-minimal toolchain-funcs + +DESCRIPTION="SQL database engine" +HOMEPAGE="https://sqlite.org/" + +# On version updates, make sure to read the forum (https://sqlite.org/forum/forum) +# for hints regarding test failures, backports, etc. +if [[ ${PV} == 9999 ]]; then + S="${WORKDIR}"/${PN} + PROPERTIES="live" +else + printf -v SRC_PV "%u%02u%02u%02u" $(ver_rs 1- " ") + DOC_PV="${SRC_PV}" + #printf -v DOC_PV "%u%02u%02u00" $(ver_rs 1-3 " ") + + SRC_URI=" + https://sqlite.org/2024/${PN}-src-${SRC_PV}.zip + doc? ( https://sqlite.org/2024/${PN}-doc-${DOC_PV}.zip ) + " + S="${WORKDIR}/${PN}-src-${SRC_PV}" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +fi + +LICENSE="public-domain" +SLOT="3" +IUSE="debug doc icu +readline secure-delete static-libs tcl test tools" +RESTRICT="!test? ( test )" + +RDEPEND=" + sys-libs/zlib:=[${MULTILIB_USEDEP}] + icu? ( dev-libs/icu:=[${MULTILIB_USEDEP}] ) + readline? ( sys-libs/readline:=[${MULTILIB_USEDEP}] ) + tcl? ( dev-lang/tcl:=[${MULTILIB_USEDEP}] ) + tools? ( dev-lang/tcl:= ) +" +DEPEND=" + ${RDEPEND} + test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] ) +" +BDEPEND=">=dev-lang/tcl-8.6:0" +if [[ ${PV} == 9999 ]]; then + BDEPEND+=" dev-vcs/fossil" +else + BDEPEND+=" app-arch/unzip" +fi + +PATCHES=( + "${FILESDIR}"/${PN}-3.45.1-ppc64-ptr.patch + "${FILESDIR}"/${PN}-3.47.0-nonbash.patch +) + +_fossil_fetch() { + local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}" + local repo_id="${1}" + local repo_uri="${2}" + + local -x FOSSIL_HOME="${HOME}" + + mkdir -p "${T}/fossil/${repo_id}" || die + pushd "${T}/fossil/${repo_id}" > /dev/null || die + + if [[ -n "${EVCS_OFFLINE}" ]]; then + if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then + die "Network activity disabled using EVCS_OFFLINE and clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\"" + fi + else + if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then + einfo fossil clone --verbose "${repo_uri}" "${repo_id}.fossil" + fossil clone --verbose "${repo_uri}" "${repo_id}.fossil" || die + echo + else + cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" . || die + einfo fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}" + fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}" || die + echo + fi + + ( + addwrite "${distdir}" + mkdir -p "${distdir}/fossil-src/${repo_id}" || die + cp -p "${repo_id}.fossil" "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" || die + ) + fi + + popd > /dev/null || die +} + +_fossil_checkout() { + local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}" + local repo_id="${1}" + local branch_or_commit="${2}" + local target_directory="${3}" + + local -x FOSSIL_HOME="${HOME}" + + if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then + die "Clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\"" + fi + + if [[ ! -f "${T}/fossil/${repo_id}/${repo_id}.fossil" ]]; then + mkdir -p "${T}/fossil/${repo_id}" || die + cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" "${T}/fossil/${repo_id}" || die + fi + + mkdir "${target_directory}" || die + pushd "${target_directory}" > /dev/null || die + + einfo fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}" + fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}" || die + echo + + popd > /dev/null || die +} + +fossil_fetch() { + local repo_id="${1}" + local repo_uri="${2}" + local target_directory="${3}" + + local branch_or_commit="${EFOSSIL_COMMIT:-${EFOSSIL_BRANCH:-trunk}}" + + _fossil_fetch "${repo_id}" "${repo_uri}" + _fossil_checkout "${repo_id}" "${branch_or_commit}" "${target_directory}" +} + +src_unpack() { + if [[ ${PV} == 9999 ]]; then + fossil_fetch sqlite https://sqlite.org/src "${WORKDIR}/${PN}" + if use doc; then + fossil_fetch sqlite-doc https://sqlite.org/docsrc "${WORKDIR}/${PN}-doc" + fi + else + default + fi +} + +src_prepare() { + default + + eautoreconf + multilib_copy_sources +} + +multilib_src_configure() { + local -x CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}" + local options=() + + options+=( + --enable-load-extension + --enable-threadsafe + ) + + # Support detection of misuse of SQLite API. + # https://sqlite.org/compile.html#enable_api_armor + append-cppflags -DSQLITE_ENABLE_API_ARMOR + + # Support bytecode and tables_used virtual tables. + # https://sqlite.org/compile.html#enable_bytecode_vtab + # https://sqlite.org/bytecodevtab.html + append-cppflags -DSQLITE_ENABLE_BYTECODE_VTAB + + # Support column metadata functions. + # https://sqlite.org/compile.html#enable_column_metadata + # https://sqlite.org/c3ref/column_database_name.html + append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA + + # Support sqlite_dbpage virtual table. + # https://sqlite.org/compile.html#enable_dbpage_vtab + # https://sqlite.org/dbpage.html + append-cppflags -DSQLITE_ENABLE_DBPAGE_VTAB + + # Support dbstat virtual table. + # https://sqlite.org/compile.html#enable_dbstat_vtab + # https://sqlite.org/dbstat.html + append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB + + # Support sqlite3_serialize() and sqlite3_deserialize() functions. + # https://sqlite.org/compile.html#enable_deserialize + # https://sqlite.org/c3ref/serialize.html + # https://sqlite.org/c3ref/deserialize.html + append-cppflags -DSQLITE_ENABLE_DESERIALIZE + + # Support comments in output of EXPLAIN. + # https://sqlite.org/compile.html#enable_explain_comments + append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS + + # Support Full-Text Search versions 3, 4 and 5. + # https://sqlite.org/compile.html#enable_fts3 + # https://sqlite.org/compile.html#enable_fts3_parenthesis + # https://sqlite.org/compile.html#enable_fts4 + # https://sqlite.org/compile.html#enable_fts5 + # https://sqlite.org/fts3.html + # https://sqlite.org/fts5.html + append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 + options+=( --enable-fts5 ) + + # Support hidden columns. + append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS + + # Support memsys5 memory allocator. + # https://sqlite.org/compile.html#enable_memsys5 + # https://sqlite.org/malloc.html#memsys5 + append-cppflags -DSQLITE_ENABLE_MEMSYS5 + + # Support sqlite3_normalized_sql() function. + # https://sqlite.org/c3ref/expanded_sql.html + append-cppflags -DSQLITE_ENABLE_NORMALIZE + + # Support sqlite_offset() function. + # https://sqlite.org/compile.html#enable_offset_sql_func + # https://sqlite.org/lang_corefunc.html#sqlite_offset + append-cppflags -DSQLITE_ENABLE_OFFSET_SQL_FUNC + + # Support pre-update hook functions. + # https://sqlite.org/compile.html#enable_preupdate_hook + # https://sqlite.org/c3ref/preupdate_count.html + append-cppflags -DSQLITE_ENABLE_PREUPDATE_HOOK + + # Support Resumable Bulk Update extension. + # https://sqlite.org/compile.html#enable_rbu + # https://sqlite.org/rbu.html + append-cppflags -DSQLITE_ENABLE_RBU + + # Support R*Trees. + # https://sqlite.org/compile.html#enable_rtree + # https://sqlite.org/compile.html#enable_geopoly + # https://sqlite.org/rtree.html + # https://sqlite.org/geopoly.html + append-cppflags -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY + + # Support Session extension. + # https://sqlite.org/compile.html#enable_session + # https://sqlite.org/sessionintro.html + append-cppflags -DSQLITE_ENABLE_SESSION + + # Support scan status functions. + # https://sqlite.org/compile.html#enable_stmt_scanstatus + # https://sqlite.org/c3ref/stmt_scanstatus.html + # https://sqlite.org/c3ref/stmt_scanstatus_reset.html + append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS + + # Support sqlite_stmt virtual table. + # https://sqlite.org/compile.html#enable_stmtvtab + # https://sqlite.org/stmt.html + append-cppflags -DSQLITE_ENABLE_STMTVTAB + + # Support unknown() function. + # https://sqlite.org/compile.html#enable_unknown_sql_function + append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION + + # Support unlock notification. + # https://sqlite.org/compile.html#enable_unlock_notify + # https://sqlite.org/c3ref/unlock_notify.html + # https://sqlite.org/unlock_notify.html + append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY + + # Support LIMIT and ORDER BY clauses on DELETE and UPDATE statements. + # https://sqlite.org/compile.html#enable_update_delete_limit + # https://sqlite.org/lang_delete.html#optional_limit_and_order_by_clauses + # https://sqlite.org/lang_update.html#optional_limit_and_order_by_clauses + append-cppflags -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT + + # Support soundex() function. + # https://sqlite.org/compile.html#soundex + # https://sqlite.org/lang_corefunc.html#soundex + append-cppflags -DSQLITE_SOUNDEX + + # Support URI filenames. + # https://sqlite.org/compile.html#use_uri + # https://sqlite.org/uri.html + append-cppflags -DSQLITE_USE_URI + + options+=( $(use_enable debug) ) + + if use icu; then + # Support ICU extension. + # https://sqlite.org/compile.html#enable_icu + append-cppflags -DSQLITE_ENABLE_ICU + sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed" + fi + + options+=( + --disable-editline + $(use_enable readline) + ) + + if use readline; then + options+=( --with-readline-inc="-I${ESYSROOT}/usr/include/readline" ) + fi + + if use secure-delete; then + # Enable secure_delete pragma by default. + # https://sqlite.org/compile.html#secure_delete + # https://sqlite.org/pragma.html#pragma_secure_delete + append-cppflags -DSQLITE_SECURE_DELETE + fi + + options+=( $(use_enable static-libs static) ) + + # tcl, test, tools USE flags. + if use tcl || use test || { use tools && multilib_is_native_abi; }; then + options+=( + --enable-tcl + --with-tcl="${ESYSROOT}/usr/$(get_libdir)" + ) + else + options+=( --disable-tcl ) + fi + + if [[ "${ABI}" == "x86" ]]; then + if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -q "^#define __SSE__ 1$"; then + append-cflags -mfpmath=sse + else + append-cflags -ffloat-store + fi + fi + + econf "${options[@]}" +} + +multilib_src_compile() { + emake HAVE_TCL="$(usev tcl 1)" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" + + if use tools && multilib_is_native_abi; then + emake changeset dbdump dbhash dbtotxt index_usage rbu scrub showdb showjournal showshm showstat4 showwal sqldiff sqlite3_analyzer sqlite3_checker sqlite3_expert sqltclsh + fi + + if [[ ${PV} == 9999 ]] && use doc && multilib_is_native_abi; then + emake tclsqlite3.c + + local build_directory="$(pwd)" + build_directory="${build_directory##*/}" + + mkdir "${WORKDIR}/${PN}-doc-build" || die + pushd "${WORKDIR}/${PN}-doc-build" > /dev/null || die + + emake -f "../${PN}-doc/Makefile" -j1 SRC="../${PN}" BLD="../${build_directory}" DOC="../${PN}-doc" CC="$(tc-getBUILD_CC)" TCLINC="" TCLFLAGS="$($(tc-getBUILD_PKG_CONFIG) --libs tcl) -ldl -lm" base doc + rmdir doc/matrix{/*,} || die + + popd > /dev/null || die + fi +} + +multilib_src_test() { + if [[ "${EUID}" -eq 0 ]]; then + ewarn "Skipping tests due to root permissions" + return + fi + + local -x SQLITE_HISTORY="${T}/sqlite_history_${ABI}" + + # e_uri.test tries to open files in /. + # bug #839798 + local SANDBOX_PREDICT=${SANDBOX_PREDICT} + addpredict "/test.db" + addpredict "/ÿ.db" + + emake -Onone $(usex debug 'fulltest' 'test') +} + +multilib_src_install() { + emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install + + if use tools && multilib_is_native_abi; then + install_tool() { + if [[ -f ".libs/${1}" ]]; then + newbin ".libs/${1}" "${2}" + else + newbin "${1}" "${2}" + fi + } + + install_tool changeset sqlite3-changeset + install_tool dbdump sqlite3-db-dump + install_tool dbhash sqlite3-db-hash + install_tool dbtotxt sqlite3-db-to-txt + install_tool index_usage sqlite3-index-usage + install_tool rbu sqlite3-rbu + install_tool scrub sqlite3-scrub + install_tool showdb sqlite3-show-db + install_tool showjournal sqlite3-show-journal + install_tool showshm sqlite3-show-shm + install_tool showstat4 sqlite3-show-stat4 + install_tool showwal sqlite3-show-wal + install_tool sqldiff sqlite3-diff + install_tool sqlite3_analyzer sqlite3-analyzer + install_tool sqlite3_checker sqlite3-checker + install_tool sqlite3_expert sqlite3-expert + install_tool sqltclsh sqlite3-tclsh + + unset -f install_tool + fi +} + +multilib_src_install_all() { + find "${ED}" -name "*.la" -delete || die + + doman sqlite3.1 + + if use doc; then + if [[ ${PV} == 9999 ]]; then + pushd "${WORKDIR}/${PN}-doc-build/doc" > /dev/null || die + else + pushd "${WORKDIR}/${PN}-doc-${DOC_PV}" > /dev/null || die + fi + + find "(" -name "*.db" -o -name "*.txt" ")" -delete || die + if [[ ${PV} != 9999 ]]; then + rm search search.d/admin || die + rmdir search.d || die + find -name "*~" -delete || die + fi + + ( + docinto html + dodoc -r * + ) + + popd > /dev/null || die + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-14.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-14.2.ebuild deleted file mode 100644 index 96f633de8d7..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-14.2.ebuild +++ /dev/null @@ -1,322 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# See https://sourceware.org/gdb/wiki/DistroAdvice for general packaging -# tips & notes. - -PYTHON_COMPAT=( python3_{10..12} ) -inherit flag-o-matic python-single-r1 strip-linguas toolchain-funcs - -export CTARGET=${CTARGET:-${CHOST}} - -if [[ ${CTARGET} == ${CHOST} ]] ; then - if [[ ${CATEGORY} == cross-* ]] ; then - export CTARGET=${CATEGORY#cross-} - fi -fi - -is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } - -case ${PV} in - 9999*) - # live git tree - EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git" - inherit git-r3 - SRC_URI="" - ;; - *.*.50_p2???????|*.*.90_p2???????) - # Weekly snapshots - MY_PV="${PV/_p/.}" - SRC_URI=" - https://sourceware.org/pub/gdb/snapshots/branch/gdb-weekly-${MY_PV}.tar.xz - https://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${MY_PV}.tar.xz - https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/gdb-weekly-${MY_PV}.tar.xz - " - S="${WORKDIR}/${PN}-${MY_PV}" - - # e.g. 13.1.90_p20230325 is a snapshot on the stable branch, so it's fine - if [[ ${PV} == *.[123456789].9?_p2??????? ]] ; then - REGULAR_RELEASE=1 - fi - ;; - *.*.9?) - # Prereleases - MY_PV="${PV/_p/.}" - SRC_URI=" - https://sourceware.org/pub/gdb/snapshots/branch/gdb-${MY_PV}.tar.xz - https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/gdb-${MY_PV}.tar.xz - " - S="${WORKDIR}/${PN}-${MY_PV}" - ;; - *) - # Normal upstream release - SRC_URI=" - mirror://gnu/gdb/${P}.tar.xz - https://sourceware.org/pub/gdb/releases/${P}.tar.xz - " - - REGULAR_RELEASE=1 -esac - -PATCH_DEV="" -PATCH_VER="" -DESCRIPTION="GNU debugger" -HOMEPAGE="https://sourceware.org/gdb/" -SRC_URI=" - ${SRC_URI} - ${PATCH_DEV:+https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${CATEGORY}/${PN}/${P}-patches-${PATCH_VER}.tar.xz} - ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz} -" - -LICENSE="GPL-3+ LGPL-2.1+" -SLOT="0" -IUSE="cet debuginfod guile lzma multitarget nls +python +server sim source-highlight test vanilla xml xxhash zstd" -if [[ -n ${REGULAR_RELEASE} ]] ; then - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" -fi -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" -RESTRICT="!test? ( test )" - -RDEPEND=" - dev-libs/mpfr:= - dev-libs/gmp:= - >=sys-libs/ncurses-5.2-r2:= - >=sys-libs/readline-7:= - sys-libs/zlib - elibc_glibc? ( net-libs/libnsl:= ) - debuginfod? ( - dev-libs/elfutils[debuginfod(-)] - ) - lzma? ( app-arch/xz-utils ) - python? ( ${PYTHON_DEPS} ) - guile? ( >=dev-scheme/guile-2.0 ) - xml? ( dev-libs/expat ) - source-highlight? ( - dev-util/source-highlight - ) - xxhash? ( - dev-libs/xxhash - ) - zstd? ( app-arch/zstd:= ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - app-arch/xz-utils - sys-apps/texinfo - app-alternatives/yacc - nls? ( sys-devel/gettext ) - source-highlight? ( virtual/pkgconfig ) - test? ( dev-util/dejagnu ) -" - -QA_CONFIG_IMPL_DECL_SKIP=( - MIN # gnulib FP (bug #898688) -) - -PATCHES=( - "${FILESDIR}"/${PN}-8.3.1-verbose-build.patch -) - -pkg_setup() { - use python && python-single-r1_pkg_setup -} - -src_prepare() { - default - - strip-linguas -u bfd/po opcodes/po - - # Avoid using ancient termcap from host on Prefix systems - sed -i -e 's/termcap tinfow/tinfow/g' \ - gdb/configure{.ac,} || die - if [[ ${CHOST} == *-solaris* ]] ; then - # code relies on C++11, so make sure we get that selected - # due to Python 3.11 pymacro.h doing stuff to work around - # versioning mess based on the C version, while we're compiling - # C++ here, so we need to make it clear we're doing C++11/C11 - # because Solaris system headers act on these - sed -i -e 's/-x c++/-std=c++11/' gdb/Makefile.in || die - fi -} - -gdb_branding() { - printf "Gentoo ${PV} " - - if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then - printf "p${PATCH_VER}" - else - printf "vanilla" - fi - - [[ -n ${EGIT_COMMIT} ]] && printf " ${EGIT_COMMIT}" -} - -src_configure() { - strip-unsupported-flags - - # 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}" - - 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 gdb's configure. - --disable-dependency-tracking - --disable-silent-rules - - --with-pkgversion="$(gdb_branding)" - --with-bugurl='https://bugs.gentoo.org/' - --disable-werror - # Disable modules that are in a combined binutils/gdb tree. bug #490566 - --disable-{binutils,etc,gas,gold,gprof,gprofng,ld} - - $(use_with debuginfod) - - $(use_enable test unit-tests) - - # 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) - - # Helps when cross-compiling. Not to be confused with --with-sysroot. - --with-build-sysroot="${ESYSROOT}" - ) - - is_cross && myconf+=( - --with-sysroot="\${prefix}/${CTARGET}" - --includedir="\${prefix}/include/${CTARGET}" - --with-gdb-datadir="\${datadir}/gdb/${CTARGET}" - ) - - # gdbserver only works for native targets (CHOST==CTARGET). - # it also doesn't support all targets, so rather than duplicate - # the target list (which changes between versions), use the - # "auto" value when things are turned on, which is triggered - # whenever no --enable or --disable is given - if is_cross || use !server ; then - myconf+=( --disable-gdbserver ) - fi - - myconf+=( - --enable-64-bit-bfd - --disable-install-libbfd - --disable-install-libiberty - --enable-obsolete - # This only disables building in the readline subdir. - # For gdb itself, it'll use the system version. - --disable-readline - --with-system-readline - # This only disables building in the zlib subdir. - # For gdb itself, it'll use the system version. - --without-zlib - --with-system-zlib - --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug - $(use_with xml expat) - $(use_with lzma) - $(use_enable nls) - $(use_enable sim) - $(use_enable source-highlight) - $(use multitarget && echo --enable-targets=all) - $(use_with python python "${EPYTHON}") - $(use_with xxhash) - $(use_with guile) - $(use_with zstd) - - # Find libraries using the toolchain sysroot rather than the configured - # prefix. Needed when cross-compiling. - # - # Check which libraries to apply this to with: - # "${S}"/gdb/configure --help | grep without-lib | sort - --without-lib{babeltrace,expat,gmp,iconv,ipt,lzma,mpfr,xxhash}-prefix - ) - - # source-highlight is detected with pkg-config: bug #716558 - export ac_cv_path_pkg_config_prog_path="$(tc-getPKG_CONFIG)" - - export CC_FOR_BUILD="$(tc-getBUILD_CC)" - - # ensure proper compiler is detected for Clang builds: bug #831202 - export GCC_FOR_TARGET="${CC_FOR_TARGET:-$(tc-getCC)}" - - econf "${myconf[@]}" -} - -src_test() { - # Run the unittests (nabbed invocation from Fedora's spec file) at least - emake -k -C gdb run GDBFLAGS='-batch -ex "maintenance selftest"' - - # Too many failures - # In fact, gdb's test suite needs some work to get passing. - # See e.g. https://sourceware.org/gdb/wiki/TestingGDB. - # As of 11.2, on amd64: "# of unexpected failures 8600" - # Also, ia64 kernel crashes when gdb testsuite is running. - #emake -k check -} - -src_install() { - emake DESTDIR="${D}" install - - find "${ED}"/usr -name libiberty.a -delete || die - - # Delete translations that conflict with binutils-libs. bug #528088 - # Note: Should figure out how to store these in an internal gdb dir. - if use nls ; then - find "${ED}" \ - -regextype posix-extended -regex '.*/(bfd|opcodes)[.]g?mo$' \ - -delete || die - fi - - # Don't install docs when building a cross-gdb - if [[ ${CTARGET} != ${CHOST} ]] ; then - rm -rf "${ED}"/usr/share/{doc,info,locale} || die - local f - for f in "${ED}"/usr/share/man/*/* ; do - if [[ ${f##*/} != ${CTARGET}-* ]] ; then - mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die - fi - done - return 0 - fi - - # Install it by hand for now: - # https://sourceware.org/ml/gdb-patches/2011-12/msg00915.html - # Only install if it exists due to the twisted behavior (see - # notes in src_configure above). - [[ -e gdbserver/gdbreplay ]] && dobin gdbserver/gdbreplay - - docinto gdb - dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \ - gdb/NEWS gdb/PROBLEMS - docinto sim - dodoc sim/{MAINTAINERS,README-HACKING} - - if use server ; then - docinto gdbserver - dodoc gdbserver/README - fi - - # Remove shared info pages - rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,ctf-spec,standards}.info* - - if use python ; then - python_optimize "${ED}"/usr/share/gdb/python/gdb - fi -} - -pkg_postinst() { - # Portage doesn't unmerge files in /etc - rm -vf "${EROOT}"/etc/skel/.gdbinit - - if use prefix && [[ ${CHOST} == *-darwin* ]] ; then - ewarn "gdb is unable to get a mach task port when installed by Prefix" - ewarn "Portage, unprivileged. To make gdb fully functional you'll" - ewarn "have to perform the following steps:" - ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb" - ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb" - fi -} diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.2-r100.ebuild b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.2-r100.ebuild index 7cb1e790e32..8f0efb92394 100644 --- a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.2-r100.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.2-r100.ebuild @@ -75,7 +75,7 @@ LICENSE="GPL-3+ LGPL-2.1+" SLOT="0" IUSE="cet debuginfod guile lzma multitarget nls +python +server sim source-highlight test vanilla xml xxhash zstd" if [[ -n ${REGULAR_RELEASE} ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" fi REQUIRED_USE=" guile? ( ${GUILE_REQUIRED_USE} ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/Manifest index 3c759667d31..0f491497c9c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/Manifest @@ -1,3 +1 @@ -DIST nasm-2.16.01.tar.xz 1017732 BLAKE2B 0f7e96648e3db6fa4a8e10a89885f61cab7d79af25adbcc9d4706b3af61206c3cae024b7f873d636f5c1b2cb34ce5e7fbecc16af9b59086e9a1f49fb37c59670 SHA512 51fccb5639ce019d9c423c0f279750ffbd74c64cd41dd3b185d1aa1a1aaed79c5d3cd8d4bebbc13ee249a375ed27457ea2abde1a4dbb24d354598fffd1254833 -DIST nasm-2.16.02.tar.xz 1044824 BLAKE2B daa3585e9aef3c388e3b577a52453b31aaa7f13942e621c21bbe6ec744ff30bf2692e853dda193b30006989cb10e40dcc1cf0107176e31fd5ee096baad28c7a1 SHA512 9ccafb4cd9064fb21f6551309d35ba7461de8da138b1239d76c2ea0c070a1a767f1019d5d705088375d625cfb73eebbfd9dfa3588107793b95354d89dcfd22c3 DIST nasm-2.16.03.tar.xz 1032388 BLAKE2B 742cbf330341fde9f778d8ca13e8c06199f48796d47028ac973d39e3d9e434450cdfebe89f6ab248d372bdaeb0c88a25eb7153a39b66fc05e770523d4c9e11e9 SHA512 0c706e41a9c33e1ac3bad5056e8bf8cbcd51785b551a6e34ce7d0d723df8eaab8603a033e89b3dcda1004b558f9e9ef3196691500f10d8201bf47a323a516f84 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/files/nasm-2.16-autoconf-macro-fixes.patch b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/files/nasm-2.16-autoconf-macro-fixes.patch deleted file mode 100644 index c2efc5b2e2f..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/files/nasm-2.16-autoconf-macro-fixes.patch +++ /dev/null @@ -1,241 +0,0 @@ -From 5a2d629501d57301fe1d85fe6b2576e318f523d1 Mon Sep 17 00:00:00 2001 -From: "H. Peter Anvin" -Date: Sun, 19 Feb 2023 21:26:15 -0800 -Subject: [PATCH] autoconf: a much of macro fixes... not sure how this ever - worked? - -Exposed a bunch of problems with the autoconf m4 macro -library. Hopefulyy fix it, and tidy it up in the process. - -Signed-off-by: H. Peter Anvin ---- /dev/null -+++ b/autoconf/m4/pa_add_cppflags.m4 -@@ -0,0 +1,9 @@ -+dnl -------------------------------------------------------------------------- -+dnl PA_ADD_CPPFLAGS(variable, flag [,actual_flag [,success [,failure]]]]) -+dnl -+dnl Attempt to add the given option to xFLAGS, if it doesn't break -+dnl compilation. If the option to be tested is different than the -+dnl option that should actually be added, add the option to be -+dnl actually added as a second argument. -+dnl -------------------------------------------------------------------------- -+AC_DEFUN([PA_ADD_CPPFLAGS], [PA_ADD_FLAGS(CPPFLAGS, [$1], [$2], [$3], [$4])]) ---- a/autoconf/m4/pa_add_flags.m4 -+++ b/autoconf/m4/pa_add_flags.m4 -@@ -1,23 +1,39 @@ - dnl -------------------------------------------------------------------------- --dnl PA_ADD_FLAGS(variable, flag [,actual_flag [,success [,failure]]]) -+dnl PA_ADD_FLAGS(flagvar, flags) - dnl --dnl Attempt to add the given option to CPPFLAGS, if it doesn't break --dnl compilation. If the option to be tested is different than the --dnl option that should actually be added, add the option to be --dnl actually added as a second argument. -+dnl Add [flags] to the variable [flagvar] if and only if it is accepted -+dnl by all languages affected by [flagvar], if those languages have -+dnl been previously seen in the script. - dnl -------------------------------------------------------------------------- - AC_DEFUN([PA_ADD_FLAGS], --[AC_MSG_CHECKING([if $CC accepts $2]) -- pa_add_flags__old_flags="$$1" -- $1="$$1 $2" -- AC_LINK_IFELSE( -- [AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT], -- [printf("Hello, World!\n");])], -- [AC_MSG_RESULT([yes]) -- $1="$pa_add_flags__old_flags ifelse([$3],[],[$2],[$3])" -- AC_DEFINE(PA_SYM([$1_],[$2]), 1, -- [Define to 1 if compiled with the `$2' compiler flag]) -+[ -+ AS_VAR_PUSHDEF([old], [_$0_$1_orig]) -+ AS_VAR_PUSHDEF([ok], [_$0_$1_ok]) -+ AS_VAR_PUSHDEF([flags], [$1]) -+ -+ AS_VAR_COPY([old], [flags]) -+ AS_VAR_SET([flags], ["$flags $2"]) -+ AS_VAR_SET([ok], [yes]) -+ -+ PA_LANG_FOREACH(PA_FLAGS_LANGLIST($1), -+ [AS_VAR_IF([ok], [yes], -+ [AC_MSG_CHECKING([if $]_AC_CC[ accepts $2]) -+ PA_BUILD_IFELSE([], -+ [AC_MSG_RESULT([yes])], -+ [AC_MSG_RESULT([no]) -+ AS_VAR_SET([ok], [no])])]) -+ ]) -+ -+ AS_VAR_IF([ok], [yes], -+ [m4_ifnblank([$3],[AS_VAR_SET([flags], ["$old $3"])]) -+ m4_foreach_w([_pa_add_flags_flag], [m4_ifblank([$3],[$2],[$3])], -+ [AC_DEFINE(PA_SYM([$1_]_pa_add_flags_flag), 1, -+ [Define to 1 if compiled with the ]_pa_add_flags_flag[ compiler flag])]) - $4], -- [AC_MSG_RESULT([no]) -- $1="$pa_add_flags__old_flags" -- $5])]) -+ [AS_VAR_SET([flags], ["$old"]) -+ $5]) -+ -+ AS_VAR_POPDEF([flags]) -+ AS_VAR_POPDEF([ok]) -+ AS_VAR_POPDEF([old]) -+]) ---- /dev/null -+++ b/autoconf/m4/pa_build_ifelse.m4 -@@ -0,0 +1,16 @@ -+dnl -------------------------------------------------------------------------- -+dnl PA_BUILD_IFELSE(input [,success [,failure]]) -+dnl -+dnl Same as AC_LINK_IFELSE for languages where linking is applicable, -+dnl otherwise AC_COMPILE_IFELSE. -+dnl -+dnl If the first argument is empty, use _AC_LANG_IO_PROGRAM. -+dnl -------------------------------------------------------------------------- -+m4_defun([_PA_BUILD_IFELSE], -+[m4_case(_AC_LANG, -+ [Erlang], [AC_COMPILE_IFELSE($@)], -+ [AC_LINK_IFELSE($@)])]) -+ -+AC_DEFUN([PA_BUILD_IFELSE], -+[_PA_BUILD_IFELSE([m4_ifblank([$1],[AC_LANG_SOURCE(_AC_LANG_IO_PROGRAM)], -+ [$1])],[$2],[$3])]) ---- /dev/null -+++ b/autoconf/m4/pa_flags_langlist.m4 -@@ -0,0 +1,19 @@ -+dnl -------------------------------------------------------------------------- -+dnl PA_FLAGS_LANGLIST(flagvar) -+dnl -+dnl Return a list of languages affected by the variable flagvar. -+dnl If flagvar is unknown, assume it affects the current language. -+dnl -------------------------------------------------------------------------- -+AC_DEFUN([PA_FLAGS_LANGLIST], -+[m4_dquote(m4_case([$1], -+ [CPPFLAGS], [[C],[C++],[Objective C],[Objective C++]], -+ [CFLAGS], [[C]], -+ [CXXFLAGS], [[C++]], -+ [FFLAGS], [[Fortran 77]], -+ [FCFLAGS], [[Fortran]], -+ [ERLCFLAGS], [[Erlang]], -+ [OBJCFLAGS], [[Objective C]], -+ [OBJCXXFLAGS], [[Objective C++]], -+ [GOFLAGS], [[Go]], -+ [LDFLAGS], [[C],[C++],[Fortran 77],[Fortran],[Objective C],[Objective C++],[Go]], -+ m4_dquote(_AC_LANG)))]) ---- /dev/null -+++ b/autoconf/m4/pa_lang_foreach.m4 -@@ -0,0 +1,15 @@ -+dnl -------------------------------------------------------------------------- -+dnl PA_LANG_FOREACH(subset, body) -+dnl -+dnl Expand [body] for each language encountered in the configure script also -+dnl present in [subset], or all if [subset] is empty -+dnl -------------------------------------------------------------------------- -+AC_DEFUN([_PA_LANG_DO],dnl -+[AC_LANG([$2])dnl -+$1]) -+ -+AC_DEFUN([PA_LANG_FOREACH],dnl -+[m4_pushdef([_pa_lang_foreach_current],[_AC_LANG])dnl -+m4_map_args([m4_curry([_PA_LANG_DO],[$2])],m4_unquote(PA_LANG_SEEN_LIST($1)))dnl -+AC_LANG(_pa_lang_foreach_current)dnl -+m4_popdef([_pa_lang_foreach_current])]) ---- /dev/null -+++ b/autoconf/m4/pa_lang_seen_list.m4 -@@ -0,0 +1,20 @@ -+dnl -------------------------------------------------------------------------- -+dnl PA_LANG_SEEN_LIST(subset) -+dnl -+dnl List of the language lang has been used in the configuration -+dnl script so far, possibly subset by [subset]. -+dnl -+dnl This relies on overriding _AC_LANG_SET(from, to), -+dnl the internal implementation of _AC_LANG. -+dnl -------------------------------------------------------------------------- -+m4_ifndef([_PA_LANG_SET], -+[m4_rename([_AC_LANG_SET], [_PA_LANG_SET])dnl -+m4_defun([_AC_LANG_SET], [m4_set_add([_PA_LANG_SEEN_SET],[$2])dnl -+_PA_LANG_SET($@)])]) -+ -+AC_DEFUN([PA_LANG_SEEN_LIST], -+[m4_set_delete([_pa_lang_seen_subset])dnl -+m4_pushdef([_pa_lang_seen_subset_list],m4_ifnblank([$1],[$1],m4_dquote(m4_set_list([_PA_LANG_SEEN_SET]))))dnl -+m4_set_add_all([_pa_lang_seen_subset],_pa_lang_seen_subset_list)dnl -+m4_cdr(m4_set_intersection([_pa_lang_seen_subset],[_PA_LANG_SEEN_SET]))dnl -+m4_popdef([_pa_lang_seen_subset_list])]) ---- a/configure.ac -+++ b/configure.ac -@@ -12,9 +12,6 @@ dnl start; this is used to generate config/unconfig.h. - AH_BOTTOM([ - /* Begin unconfig.h */]) - --dnl Save initial CFLAGS, to see if -g -O2 came from configure or not --pa_init_cflags="$CFLAGS" -- - dnl This prevents us from running Wine and thinking we are not - dnl cross-compiling when in fact we are; running Wine here is at - dnl the best very slow and doesn't buy us a single thing at all. -@@ -27,35 +24,29 @@ AC_CANONICAL_HOST - dnl Enable any available C extensions - AC_PROG_CC - AC_USE_SYSTEM_EXTENSIONS --AC_SYS_LARGEFILE --PA_ADD_CFLAGS([-std=c17], [], [], --[PA_ADD_CFLAGS([-std=c11], [], [], -- [PA_ADD_CFLAGS([-std=c99])])]) -- --dnl If the user did not specify a CFLAGS default, change default --dnl to -O0 for debugging --PA_ARG_DISABLED([optimization], -- [compile without optimization (-O0) to help debugging], -- [pa_no_optimize=true]) -+PA_ADD_CPPFLAGS([-std=c17], [], [], -+[PA_ADD_CPPFLAGS([-std=c11], [], [], -+ [PA_ADD_CPPFLAGS([-std=c99])])]) - --dnl Other programs --pa_no_optimize=false -- --dnl Compile and link with dwarf debug -+dnl Compile and link with gdb debug extensions - PA_ARG_ENABLED([gdb], -- [disable optimization and compile with extra debug information for GDB debugger], -- [PA_ADD_CFLAGS([-ggdb3]) -- pa_no_optimize=true]) -+ [compile with extra debug information for GDB debugger], -+ [PA_ADD_CFLAGS([-ggdb3])]) - --AS_IF([$pa_no_optimize], -- [PA_ADD_CFLAGS([-O0]) -- PA_ADD_CFLAGS([-fno-omit-frame-pointer])]) -+dnl Disable optimization -+PA_ARG_DISABLED([optimization], -+ [compile without optimization (-O0) to help debugging], -+ [PA_ADD_CFLAGS([-O0]) -+ PA_ADD_CFLAGS([-fno-omit-frame-pointer])]) - - dnl Profiling - PA_ARG_ENABLED([profiling], - [compile with profiling (-pg option)], - [PA_ADD_CFLAGS([-pg])]) - -+dnl Large files -+AC_SYS_LARGEFILE -+ - dnl Abort on panic - PA_ARG_ENABLED([panic-abort], - [call abort() on panic to trap in the debugger], -@@ -104,10 +95,10 @@ AC_PROG_MAKE_SET - AC_PROG_INSTALL - AC_PROG_MKDIR_P - --AC_CHECK_PROGS(NROFF, nroff, false) --AC_CHECK_PROGS(ASCIIDOC, asciidoc, false) --AC_CHECK_PROGS(XMLTO, xmlto, false) --AC_CHECK_PROGS(XZ, xz, false) -+AC_CHECK_PROGS([NROFF], nroff, false) -+AC_CHECK_PROGS([ASCIIDOC], asciidoc, false) -+AC_CHECK_PROGS([XMLTO], xmlto, false) -+AC_CHECK_PROGS([XZ], xz, false) - - dnl Check for progs needed for manpage generation - MANPAGES=manpages diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/files/nasm-2.16.02-unconfig.patch b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/files/nasm-2.16.02-unconfig.patch deleted file mode 100644 index 77478b7e68c..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/files/nasm-2.16.02-unconfig.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/Makefile.in 2024-04-05 07:51:48.394437050 -0000 -+++ b/Makefile.in 2024-04-05 07:52:38.731388961 -0000 -@@ -214,7 +214,7 @@ - INSDEP = x86/insns.dat x86/insns.pl x86/insns-iflags.ph x86/iflags.ph - - config/unconfig.h: config/config.h.in -- $(RUNPERL) $(tools)/unconfig.pl \ -+ $(RUNPERL) $(top_srcdir)/autoconf/unconfig.pl \ - '$(srcdir)' config/config.h.in config/unconfig.h - - x86/iflag.c: $(INSDEP) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-2.16.01-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-2.16.01-r1.ebuild deleted file mode 100644 index aaa1921d750..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-2.16.01-r1.ebuild +++ /dev/null @@ -1,72 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools - -DESCRIPTION="groovy little assembler" -HOMEPAGE="https://www.nasm.us/" -SRC_URI="https://www.nasm.us/pub/nasm/releasebuilds/${PV/_}/${P/_}.tar.xz" -S="${WORKDIR}"/${P/_} - -LICENSE="BSD-2" -SLOT="0" -KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv x86 ~amd64-linux ~x86-linux" -IUSE="doc" - -QA_CONFIG_IMPL_DECL_SKIP=( - _BitScanReverse - _BitScanReverse64 - __cpu_to_le16 - __cpu_to_le32 - __cpu_to_le64 - _byteswap_uint64 - _byteswap_ulong - _byteswap_ushort - cpu_to_le16 - cpu_to_le32 - cpu_to_le64 -) - -# [fonts note] doc/psfonts.ph defines ordered list of font preference. -# Currently 'media-fonts/source-pro' is most preferred and is able to -# satisfy all 6 font flavours: tilt, chapter, head, etc. -BDEPEND=" - dev-lang/perl - doc? ( - app-text/ghostscript-gpl - dev-perl/Font-TTF - dev-perl/Sort-Versions - media-fonts/source-code-pro - media-fonts/source-sans:3 - virtual/perl-File-Spec - ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-2.15-bsd-cp-doc.patch - "${FILESDIR}"/${PN}-2.16-autoconf-macro-fixes.patch -) - -src_prepare() { - default - - # https://bugs.gentoo.org/870214 - # During the split of media-fonts/source-pro, the source-sans files - # were renamed. Currently depend on media-fonts/source-sans:3 which works - # with this sed. - sed -i 's/SourceSansPro/SourceSans3/g' doc/psfonts.ph || die - - AT_M4DIR="${S}/autoconf/m4" eautoreconf -} - -src_compile() { - default - use doc && emake doc -} - -src_install() { - default - emake DESTDIR="${D}" install $(usex doc install_doc '') -} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-2.16.02.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-2.16.02.ebuild deleted file mode 100644 index 784a7a38383..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-2.16.02.ebuild +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools - -DESCRIPTION="groovy little assembler" -HOMEPAGE="https://www.nasm.us/" -SRC_URI="https://www.nasm.us/pub/nasm/releasebuilds/${PV/_}/${P/_}.tar.xz" -S="${WORKDIR}"/${P/_} - -LICENSE="BSD-2" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" -IUSE="doc" - -QA_CONFIG_IMPL_DECL_SKIP=( - # Windows. - _BitScanReverse - _BitScanReverse64 - - # Linux headers that are not included. - __cpu_to_le16 - __cpu_to_le32 - __cpu_to_le64 - _byteswap_uint64 - _byteswap_ulong - _byteswap_ushort - cpu_to_le16 - cpu_to_le32 - cpu_to_le64 - - # __typeof as gnu extensions are not enabled - typeof - - # musl doesn't define __bswap_N in endian.h (it's named _bswapN - # instead). could be fixed to call this instead, or to include - # musl's byteswap.h instead, but it is much easier to fall back on - # __builtin_bswapN. Bug #928848 - __bswap_16 - __bswap_32 - __bswap_64 -) - -# [fonts note] doc/psfonts.ph defines ordered list of font preference. -# Currently 'media-fonts/source-pro' is most preferred and is able to -# satisfy all 6 font flavours: tilt, chapter, head, etc. -BDEPEND=" - dev-lang/perl - doc? ( - app-text/ghostscript-gpl - dev-perl/Font-TTF - dev-perl/Sort-Versions - media-fonts/source-code-pro - media-fonts/source-sans:3 - virtual/perl-File-Spec - ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-2.15-bsd-cp-doc.patch - "${FILESDIR}"/${PN}-2.16.02-unconfig.patch -) - -src_prepare() { - default - - # https://bugs.gentoo.org/870214 - # During the split of media-fonts/source-pro, the source-sans files - # were renamed. Currently depend on media-fonts/source-sans:3 which works - # with this sed. - sed -i 's/SourceSansPro/SourceSans3/g' doc/psfonts.ph || die - - AT_M4DIR="${S}/autoconf/m4" eautoreconf -} - -src_compile() { - default - use doc && emake doc -} - -src_install() { - default - emake DESTDIR="${D}" install $(usex doc install_doc '') -} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python-exec/python-exec-2.4.10.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python-exec/python-exec-2.4.10.ebuild index 92a6fc3d8f6..b6be8d00291 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python-exec/python-exec-2.4.10.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python-exec/python-exec-2.4.10.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..12} pypy3 ) +PYTHON_COMPAT=( python3_{10..13} pypy3 ) inherit python-any-r1 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.15_p1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.15_p1.ebuild index e585b9e454a..c1e3463af7a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.15_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.15_p1.ebuild @@ -276,6 +276,7 @@ src_configure() { # bug 788022 -x test_multiprocessing_fork -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn -x test_ctypes -x test_descr diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.10_p1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.10_p1.ebuild index 3fc2272abc6..01efe0b7c60 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.10_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.10_p1.ebuild @@ -255,6 +255,7 @@ src_configure() { powerpc64-*) # big endian COMMON_TEST_SKIPS+=( -x test_descr + -x test_gdb ) ;; riscv*) @@ -267,9 +268,11 @@ src_configure() { # bug 788022 -x test_multiprocessing_fork -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn -x test_ctypes -x test_descr + -x test_gdb # bug 931908 -x test_exceptions ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.6_p2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.6_p2.ebuild index b348f707d26..2785f6584a3 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.6_p2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.6_p2.ebuild @@ -270,6 +270,7 @@ src_configure() { # bug 788022 -x test_multiprocessing_fork -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn -x test_ctypes -x test_descr diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.6_p4.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.6_p4.ebuild index c5bac1b9c37..60ec13d3da2 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.6_p4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.6_p4.ebuild @@ -270,6 +270,7 @@ src_configure() { # bug 788022 -x test_multiprocessing_fork -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn -x test_ctypes -x test_descr diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.7_p1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.7_p1.ebuild index 9c7d3c48d9a..2cddd912764 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.7_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.7_p1.ebuild @@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~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 @@ -257,7 +257,7 @@ src_configure() { ;; powerpc64-*) # big endian COMMON_TEST_SKIPS+=( - -x test_descr + -x test_gdb ) ;; riscv*) @@ -270,9 +270,10 @@ src_configure() { # bug 788022 -x test_multiprocessing_fork -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn -x test_ctypes - -x test_descr + -x test_gdb # bug 931908 -x test_exceptions ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0-r100.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0-r100.ebuild index 7c26e550c71..5b4fc2bc5e2 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0-r100.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0-r100.ebuild @@ -260,6 +260,8 @@ src_configure() { COMMON_TEST_SKIPS=( # this is actually test_gdb.test_pretty_print -x test_pretty_print + # https://bugs.gentoo.org/933840 + -x test_perf_profiler ) # Arch-specific skips. See #931888 for a collection of these. @@ -290,7 +292,7 @@ src_configure() { ;; powerpc64-*) # big endian COMMON_TEST_SKIPS+=( - -x test_descr + -x test_gdb ) ;; riscv*) @@ -303,9 +305,10 @@ src_configure() { # bug 788022 -x test_multiprocessing_fork -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn -x test_ctypes - -x test_descr + -x test_gdb # bug 931908 -x test_exceptions ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0.ebuild index 6dcbf03f071..69f4b29a594 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0.ebuild @@ -32,7 +32,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" IUSE=" bluetooth build debug +ensurepip examples gdbm jit libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind @@ -262,6 +262,8 @@ src_configure() { COMMON_TEST_SKIPS=( # this is actually test_gdb.test_pretty_print -x test_pretty_print + # https://bugs.gentoo.org/933840 + -x test_perf_profiler ) # Arch-specific skips. See #931888 for a collection of these. @@ -292,7 +294,7 @@ src_configure() { ;; powerpc64-*) # big endian COMMON_TEST_SKIPS+=( - -x test_descr + -x test_gdb ) ;; riscv*) @@ -305,9 +307,10 @@ src_configure() { # bug 788022 -x test_multiprocessing_fork -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn -x test_ctypes - -x test_descr + -x test_gdb # bug 931908 -x test_exceptions ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_alpha1-r100.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_alpha1-r100.ebuild index d5b9029b2f0..25a61ad66e6 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_alpha1-r100.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_alpha1-r100.ebuild @@ -261,6 +261,8 @@ src_configure() { COMMON_TEST_SKIPS=( # this is actually test_gdb.test_pretty_print -x test_pretty_print + # https://bugs.gentoo.org/933840 + -x test_perf_profiler ) # Arch-specific skips. See #931888 for a collection of these. @@ -291,7 +293,7 @@ src_configure() { ;; powerpc64-*) # big endian COMMON_TEST_SKIPS+=( - -x test_descr + -x test_gdb ) ;; riscv*) @@ -304,9 +306,10 @@ src_configure() { # bug 788022 -x test_multiprocessing_fork -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn -x test_ctypes - -x test_descr + -x test_gdb # bug 931908 -x test_exceptions ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_alpha1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_alpha1.ebuild index 54515a4293a..e246301ecf7 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_alpha1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_alpha1.ebuild @@ -263,6 +263,8 @@ src_configure() { COMMON_TEST_SKIPS=( # this is actually test_gdb.test_pretty_print -x test_pretty_print + # https://bugs.gentoo.org/933840 + -x test_perf_profiler ) # Arch-specific skips. See #931888 for a collection of these. @@ -293,7 +295,7 @@ src_configure() { ;; powerpc64-*) # big endian COMMON_TEST_SKIPS+=( - -x test_descr + -x test_gdb ) ;; riscv*) @@ -306,9 +308,10 @@ src_configure() { # bug 788022 -x test_multiprocessing_fork -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn -x test_ctypes - -x test_descr + -x test_gdb # bug 931908 -x test_exceptions ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.20_p2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.20_p2.ebuild index 7510f63d792..6cf801146df 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.20_p2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.20_p2.ebuild @@ -196,6 +196,7 @@ src_configure() { # bug 788022 -x test_multiprocessing_fork -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn -x test_ctypes -x test_descr diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.20_p1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.20_p1.ebuild index 3113665f544..b224ecf70da 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.20_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.20_p1.ebuild @@ -205,6 +205,7 @@ src_configure() { # bug 788022 -x test_multiprocessing_fork -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn -x test_ctypes -x test_descr diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/Manifest new file mode 100644 index 00000000000..88ff26dbed3 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/Manifest @@ -0,0 +1,4 @@ +DIST rustc-1.81.0-src.tar.xz 216743872 BLAKE2B d9f52da9092d0723c862ebbb2dc351cad0670be6872f691b4c9f36faf06803f072720ebd04f06745c355d807991b38312cc830b12d6d3f50b0574bb7325340b7 SHA512 b8a837ced521d2ca2c7f228a0640da591384519e4dbc1ae768524d50616da6abbd2f7bdae3777caebc0447dac91bf76481282ce5a2264d7f30e173caa6321a51 +DIST rustc-1.81.0-src.tar.xz.asc 801 BLAKE2B 01cd9f386d3fd73f4eb43b14d7d479ebababb8640abbff170e697817b94b8a18edd801c6047ecf3c084a0a51764c5e4f3f4bd6b00e8ae000ef0b850e9506572a SHA512 19c0da9d67f2bd9fd79a2078f0f486ee7fad5646a09a609b7e30d9531851955ae8df0ec69f9ddc09e2fd6e74d529648335b0fda833839c88c54c84494ec1988e +DIST rustc-1.82.0-src.tar.xz 219769328 BLAKE2B 611f33e134c2d459c9af1695c0a4d033df93afc986e91a17fceb0dd293fb4ffbd5f7475ef571d36cecf49da6c3fdb3801c98d7f72f9dd1c39e42502f649b192f SHA512 d158c7c71c1814bde2a3ec3cbeabe34949bd3201b730c0d7ec6baad4158bb28dd13696c430a6b99dc38b9d23ad7ddf8dde7d2487cbfbbbe9c3473016994210f0 +DIST rustc-1.82.0-src.tar.xz.asc 801 BLAKE2B 8138fb15b8d7ec15be45378fe663207a8e87e3c527348ab079995b1840a771ed6e9d5464eb8855ac9e006c0cfcf54b1a4fea489d31e6c9899cb03e6f4c737b67 SHA512 3cd6b27e72041baf9996efa10f25aca2e04f3e3727b60ecfd90c1bef9c52d216d2dc130802f935b110e35766645a27637a01661aa8d5acf02bf64b02a107c93c diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/metadata.xml new file mode 100644 index 00000000000..b5c189c5f9b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/metadata.xml @@ -0,0 +1,11 @@ + + + + + rust@gentoo.org + Rust Project + + + rust-lang/rust + + diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.81.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.81.0.ebuild new file mode 100644 index 00000000000..83fbbf485e6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.81.0.ebuild @@ -0,0 +1,58 @@ +# 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/rust.asc +inherit bash-completion-r1 verify-sig + +DESCRIPTION="Common files shared between multiple slots of Rust" +HOMEPAGE="https://www.rust-lang.org/" + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + ABI_VER="$(ver_cut 1-2)" + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" +fi + +SRC_URI=" + https://static.rust-lang.org/dist/${SRC} + verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) +" +S="${WORKDIR}/${MY_P}-src" + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="0" +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86" + +# Legacy non-slotted versions bash completions will collide. +RDEPEND=" + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" +BDEPEND="verify-sig? ( sec-keys/openpgp-keys-rust )" + +src_unpack() { + if use verify-sig ; then + verify-sig_verify_detached "${DISTDIR}"/${SRC} "${DISTDIR}"/${SRC}.asc + fi + + # Avoid unpacking the whole tarball which would need check-reqs + tar -xf "${DISTDIR}"/${SRC} ${SRC%%.tar.xz}/src/tools/cargo/src/etc/cargo.bashcomp.sh || die +} + +src_configure() { + : +} + +src_compile() { + : +} + +src_install() { + newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.82.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.82.0.ebuild new file mode 100644 index 00000000000..285a9a5b8e5 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.82.0.ebuild @@ -0,0 +1,58 @@ +# 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/rust.asc +inherit bash-completion-r1 verify-sig + +DESCRIPTION="Common files shared between multiple slots of Rust" +HOMEPAGE="https://www.rust-lang.org/" + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + ABI_VER="$(ver_cut 1-2)" + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" +fi + +SRC_URI=" + https://static.rust-lang.org/dist/${SRC} + verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) +" +S="${WORKDIR}/${MY_P}-src" + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + +# Legacy non-slotted versions bash completions will collide. +RDEPEND=" + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" +BDEPEND="verify-sig? ( sec-keys/openpgp-keys-rust )" + +src_unpack() { + if use verify-sig ; then + verify-sig_verify_detached "${DISTDIR}"/${SRC} "${DISTDIR}"/${SRC}.asc + fi + + # Avoid unpacking the whole tarball which would need check-reqs + tar -xf "${DISTDIR}"/${SRC} ${SRC%%.tar.xz}/src/tools/cargo/src/etc/cargo.bashcomp.sh || die +} + +src_configure() { + : +} + +src_compile() { + : +} + +src_install() { + newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/files/1.82.0-i586-baseline.patch b/sdk_container/src/third_party/portage-stable/dev-lang/rust/files/1.82.0-i586-baseline.patch new file mode 100644 index 00000000000..25c4a1a1dd5 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/files/1.82.0-i586-baseline.patch @@ -0,0 +1,44 @@ +Bug: https://bugs.gentoo.org/741708 +From: Ian Jordan +Date: Thu, 01 Nov 204 15:28:39 +0100 +Subject: Change Pentium4 baseline to i586 + +Based on the Debian patch at https://sources.debian.org/patches/rustc/1.80.1%2Bdfsg1-1/behaviour/d-rustc-i686-baseline.patch/ +This lowers baseline from Pentium4 to i586. + +Thanks-to: Debian Rust Maintainers + +--- a/compiler/rustc_target/src/spec/targets/i686_unknown_linux_gnu.rs ++++ b/compiler/rustc_target/src/spec/targets/i686_unknown_linux_gnu.rs +@@ -2,7 +2,7 @@ use crate::spec::{base, Cc, LinkerFlavor, Lld, SanitizerSet, StackProbeType, Tar + + pub fn target() -> Target { + let mut base = base::linux_gnu::opts(); +- base.cpu = "pentium4".into(); ++ base.cpu = "pentiumpro".into(); + base.max_atomic_width = Some(64); + base.supported_sanitizers = SanitizerSet::ADDRESS; + base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m32"]); +--- a/tests/ui/abi/homogenous-floats-target-feature-mixup.rs ++++ b/tests/ui/abi/homogenous-floats-target-feature-mixup.rs +@@ -24,7 +24,8 @@ fn main() { + match std::env::var("TARGET") { + Ok(s) => { + // Skip this tests on i586-unknown-linux-gnu where sse2 is disabled +- if s.contains("i586") { ++ // Debian: our i686 doesn't have SSE 2.. ++ if s.contains("i586") || s.contains("i686") { + return + } + } +--- a/tests/ui/sse2.rs ++++ b/tests/ui/sse2.rs +@@ -16,7 +16,7 @@ fn main() { + } + Err(_) => return, + } +- if cfg!(any(target_arch = "x86", target_arch = "x86_64")) { ++ if cfg!(any(target_arch = "x86_64")) { + assert!(cfg!(target_feature = "sse2"), + "SSE2 was not detected as available on an x86 platform"); + } diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.71.1-r100.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.71.1-r100.ebuild new file mode 100644 index 00000000000..d6cb947db40 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.71.1-r100.ebuild @@ -0,0 +1,728 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 16 ) +PYTHON_COMPAT=( python3_{10..12} ) + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing \ + multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86" +fi + +S="${WORKDIR}/${MY_P}-src" + +RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" + +DESCRIPTION="Language empowering everyone to build reliable and efficient software" +HOMEPAGE="https://www.rust-lang.org/" + +SRC_URI=" + https://static.rust-lang.org/dist/${SRC} + verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) + !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) +" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai LoongArch Mips MSP430 + NVPTX PowerPC RISCV Sparc SystemZ VE WebAssembly X86 XCore ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 UoI-NCSA" +SLOT="${PV}" + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind +lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "sys-devel/llvm:\${LLVM_SLOT}[${_x}]") )" ) +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'sys-devel/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'sys-devel/llvm:${LLVM_SLOT}')" ) + +# to bootstrap we need at least exactly previous version, or same. +# most of the time previous versions fail to bootstrap with newer +# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, +# but it fails to bootstrap with 1.48.x +# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.json +RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" +RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" +BOOTSTRAP_DEPEND="|| + ( + =dev-lang/rust-"${RUST_DEP_PREV}" + =dev-lang/rust-bin-"${RUST_DEP_PREV}" + =dev-lang/rust-"${RUST_DEP_CURR}" + =dev-lang/rust-bin-"${RUST_DEP_CURR}" + ) +" + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7 + >=sys-devel/clang-3.5 + ) + system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) + !system-llvm? ( + >=dev-build/cmake-3.13.4 + app-alternatives/ninja + ) + test? ( dev-debug/gdb ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +DEPEND=" + >=app-arch/xz-utils-5.2 + net-misc/curl:=[http2,ssl] + sys-libs/zlib:= + dev-libs/openssl:0= + system-llvm? ( + ${LLVM_DEPEND[*]} + llvm-libunwind? ( sys-libs/llvm-libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" + +REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) + miri? ( nightly ) + parallel-compiler? ( nightly ) + rust-analyzer? ( rust-src ) + test? ( ${ALL_LLVM_TARGETS[*]} ) + wasm? ( llvm_targets_WebAssembly ) + x86? ( cpu_flags_x86_sse2 ) +" + +# we don't use cmake.eclass, but can get a warning +CMAKE_WARN_UNUSED_CLI=no + +QA_FLAGS_IGNORED=" + usr/lib/${PN}/${PV}/bin/.* + usr/lib/${PN}/${PV}/libexec/.* + usr/lib/${PN}/${PV}/lib/lib.*.so + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_SONAME=" + usr/lib/${PN}/${PV}/lib/lib.*.so.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_PRESTRIPPED=" + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/rust-llvm-dwp + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/self-contained/crtn.o +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +# causes double bootstrap +RESTRICT="test" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc + +PATCHES=( + "${FILESDIR}"/1.71.1-fix-bootstrap-version-comparison.patch + "${FILESDIR}"/1.70.0-ignore-broken-and-non-applicable-tests.patch + "${FILESDIR}"/1.62.1-musl-dynamic-linking.patch + "${FILESDIR}"/1.67.0-doc-wasm.patch +) + +toml_usex() { + usex "${1}" true false +} + +bootstrap_rust_version_check() { + # never call from pkg_pretend. eselect-rust may be not installed yet. + [[ ${MERGE_TYPE} == binary ]] && return + local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" + local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" + local rustc_version=( $(eselect --brief rust show 2>/dev/null) ) + rustc_version=${rustc_version[0]#rust-bin-} + rustc_version=${rustc_version#rust-} + + [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" + + if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then + eerror "Rust >=${rustc_wanted} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too old" + elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then + eerror "Rust <${rustc_toonew} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too new" + else + einfo "Using rust ${rustc_version} to build" + fi +} + +pre_build_checks() { + local M=8192 + # multiply requirements by 1.3 if we are doing x86-multilib + if use amd64; then + M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) + fi + M=$(( $(usex clippy 128 0) + ${M} )) + M=$(( $(usex miri 128 0) + ${M} )) + M=$(( $(usex rustfmt 256 0) + ${M} )) + # add 2G if we compile llvm and 256M per llvm_target + if ! use system-llvm; then + M=$(( 2048 + ${M} )) + local ltarget + for ltarget in ${ALL_LLVM_TARGETS[@]}; do + M=$(( $(usex ${ltarget} 256 0) + ${M} )) + done + fi + M=$(( $(usex wasm 256 0) + ${M} )) + M=$(( $(usex debug 2 1) * ${M} )) + eshopts_push -s extglob + if is-flagq '-g?(gdb)?([1-9])'; then + M=$(( 15 * ${M} / 10 )) + fi + eshopts_pop + M=$(( $(usex system-bootstrap 0 1024) + ${M} )) + M=$(( $(usex doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include +#if defined(_LIBCPP_VERSION) + HAVE_LIBCXX +#endif +' + local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 + [[ ${out} == *HAVE_LIBCXX* ]] +} + +pkg_pretend() { + pre_build_checks +} + +pkg_setup() { + pre_build_checks + python-any-r1_pkg_setup + + export LIBGIT2_NO_PKG_CONFIG=1 #749381 + + use system-bootstrap && bootstrap_rust_version_check + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix)/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +esetup_unwind_hack() { + # https://bugs.gentoo.org/870280 + # this is a hack needed to bootstrap with libgcc_s linked tarball on llvm-libunwind system. + # it should trigger for internal bootstrap or system-bootstrap with rust-bin. + # the whole idea is for stage0 to bootstrap with fake libgcc_s. + # final stage will receive -L${T}/lib but not -lgcc_s args, producing clean compiler. + local fakelib="${T}/fakelib" + mkdir -p "${fakelib}" || die + # we need both symlinks, one for cargo runtime, other for linker. + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so.1" || die + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so" || die + export LD_LIBRARY_PATH="${fakelib}" + export RUSTFLAGS+=" -L${fakelib}" + # this is a literally magic variable that gets through cargo cache, without it some + # crates ignore RUSTFLAGS. + # this variable can not contain leading space. + export MAGIC_EXTRA_RUSTFLAGS+="${MAGIC_EXTRA_RUSTFLAGS:+ }-L${fakelib}" +} + +src_prepare() { + if ! use system-bootstrap; then + has_version sys-devel/gcc || esetup_unwind_hack + local rust_stage0_root="${WORKDIR}"/rust-stage0 + local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)" + + "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ + --without=rust-docs-json-preview,rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die + fi + + default +} + +src_configure() { + filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 + + local rust_target="" rust_targets="" arch_cflags + + # Collect rust target names to compile standard libs for all ABIs. + for v in $(multilib_get_enabled_abi_pairs); do + rust_targets+=",\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" + done + if use wasm; then + rust_targets+=",\"wasm32-unknown-unknown\"" + if use system-llvm; then + # un-hardcode rust-lld linker for this target + # https://bugs.gentoo.org/715348 + sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/wasm_base.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + # cargo and rustdoc are mandatory and should always be included + local tools='"cargo","rustdoc", "rust-demangler"' + use clippy && tools+=',"clippy"' + use miri && tools+=',"miri"' + use rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer"' + use rust-src && tools+=',"src"' + + local rust_stage0_root + if use system-bootstrap; then + local printsysroot + printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" + rust_stage0_root="${printsysroot}" + else + rust_stage0_root="${WORKDIR}"/rust-stage0 + fi + # in case of prefix it will be already prefixed, as --print sysroot returns full path + [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" + + rust_target="$(rust_abi)" + + local cm_btype="$(usex debug DEBUG RELEASE)" + cat <<- _EOF_ > "${S}"/config.toml + changelog-seen = 2 + [llvm] + download-ci-llvm = false + optimize = $(toml_usex !debug) + release-debuginfo = $(toml_usex debug) + assertions = $(toml_usex debug) + ninja = true + targets = "${LLVM_TARGETS// /;}" + experimental-targets = "" + link-shared = $(toml_usex system-llvm) + $(if is_libcxx_linked; then + # https://bugs.gentoo.org/732632 + echo "use-libcxx = true" + echo "static-libstdcpp = false" + fi) + $(case "${rust_target}" in + i586-*-linux-*) + # https://github.com/rust-lang/rust/issues/93059 + echo 'cflags = "-fcf-protection=none"' + echo 'cxxflags = "-fcf-protection=none"' + echo 'ldflags = "-fcf-protection=none"' + ;; + *) + ;; + esac) + enable-warnings = false + [llvm.build-config] + CMAKE_VERBOSE_MAKEFILE = "ON" + CMAKE_C_FLAGS_${cm_btype} = "${CFLAGS}" + CMAKE_CXX_FLAGS_${cm_btype} = "${CXXFLAGS}" + CMAKE_EXE_LINKER_FLAGS_${cm_btype} = "${LDFLAGS}" + CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = "${LDFLAGS}" + CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = "${LDFLAGS}" + CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = "${ARFLAGS}" + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_target}" + host = ["${rust_target}"] + target = [${rust_targets}] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + docs = $(toml_usex doc) + compiler-docs = false + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = true + tools = [${tools}] + verbose = 2 + sanitizers = false + profiler = true + cargo-native-static = false + [install] + prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" + sysconfdir = "etc" + docdir = "share/doc/rust" + bindir = "bin" + libdir = "lib" + mandir = "share/man" + [rust] + # https://github.com/rust-lang/rust/issues/54872 + codegen-units-std = 1 + optimize = true + debug = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + debug-assertions-std = $(toml_usex debug) + debuginfo-level = $(usex debug 2 0) + debuginfo-level-rustc = $(usex debug 2 0) + debuginfo-level-std = $(usex debug 2 0) + debuginfo-level-tools = $(usex debug 2 0) + debuginfo-level-tests = 0 + backtrace = true + incremental = false + default-linker = "$(tc-getCC)" + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + description = "gentoo" + rpath = false + verbose-tests = true + optimize-tests = $(toml_usex !debug) + codegen-tests = true + dist-src = false + remap-debuginfo = true + lld = $(usex system-llvm false $(toml_usex wasm)) + # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it + # https://github.com/rust-lang/rust/issues/74976 + # https://github.com/rust-lang/rust/issues/76526 + deny-warnings = $(usex wasm $(usex doc false true) true) + backtrace-on-ice = true + jemalloc = false + lto = "$(usex lto fat off)" + [dist] + src-tarball = false + compression-formats = ["xz"] + compression-profile = "balanced" + _EOF_ + + for v in $(multilib_get_enabled_abi_pairs); do + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + arch_cflags="$(get_abi_CFLAGS ${v##*.})" + + export CFLAGS_${rust_target//-/_}="${arch_cflags}" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${rust_target}] + ar = "$(tc-getAR)" + cc = "$(tc-getCC)" + cxx = "$(tc-getCXX)" + linker = "$(tc-getCC)" + ranlib = "$(tc-getRANLIB)" + llvm-libunwind = "$(usex llvm-libunwind $(usex system-llvm system in-tree) no)" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + # by default librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; + # but we patch it and set to false here as well + if use elibc_musl; then + cat <<- _EOF_ >> "${S}"/config.toml + crt-static = false + _EOF_ + fi + done + if use wasm; then + cat <<- _EOF_ >> "${S}"/config.toml + [target.wasm32-unknown-unknown] + linker = "$(usex system-llvm lld rust-lld)" + # wasm target does not have profiler_builtins https://bugs.gentoo.org/848483 + profiler = false + _EOF_ + fi + + if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below + # experimental cross support + # discussion: https://bugs.gentoo.org/679878 + # TODO: c*flags, clang, system-llvm, cargo.eclass target support + # it would be much better if we could split out stdlib + # complilation to separate ebuild and abuse CATEGORY to + # just install to /usr/lib/rustlib/ + + # extra targets defined as a bash array + # spec format: :: + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form :: + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, : + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + ar = "${cross_toolchain}-ar" + cc = "${cross_toolchain}-gcc" + cxx = "${cross_toolchain}-g++" + linker = "${cross_toolchain}-gcc" + ranlib = "${cross_toolchain}-ranlib" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + if [[ "${cross_toolchain}" == *-musl* ]]; then + cat <<- _EOF_ >> "${S}"/config.toml + musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" + _EOF_ + fi + + # append cross target to "normal" target list + # example 'target = ["powerpc64le-unknown-linux-gnu"]' + # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' + + rust_targets="${rust_targets},\"${cross_rust_target}\"" + sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die + + ewarn + ewarn "Enabled ${cross_rust_target} rust target" + ewarn "Using ${cross_toolchain} cross toolchain" + ewarn + if ! has_version -b 'sys-devel/binutils[multitarget]' ; then + ewarn "'sys-devel/binutils[multitarget]' is not installed" + ewarn "'strip' will be unable to strip cross libraries" + ewarn "cross targets will be installed with full debug information" + ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" + ewarn + ewarn "Alternatively llvm-strip can be used, it supports stripping any target" + ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" + ewarn + fi + done + fi # I_KNOW_WHAT_I_AM_DOING_CROSS + + einfo "Rust configured with the following flags:" + echo + echo RUSTFLAGS="\"${RUSTFLAGS}\"" + echo RUSTFLAGS_BOOTSTRAP="\"${RUSTFLAGS_BOOTSTRAP}\"" + echo RUSTFLAGS_NOT_BOOTSTRAP="\"${RUSTFLAGS_NOT_BOOTSTRAP}\"" + echo MAGIC_EXTRA_RUSTFLAGS="\"${MAGIC_EXTRA_RUSTFLAGS}\"" + env | grep "CARGO_TARGET_.*_RUSTFLAGS=" + env | grep "CFLAGS_.*" + echo + einfo "config.toml contents:" + cat "${S}"/config.toml || die + echo +} + +src_compile() { + RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vvv --config="${S}"/config.toml -j$(makeopts_jobs) || die +} + +src_test() { + # https://rustc-dev-guide.rust-lang.org/tests/intro.html + + # those are basic and codegen tests. + local tests=( + codegen + codegen-units + compile-fail + incremental + mir-opt + pretty + run-make + ) + + # fails if llvm is not built with ALL targets. + # and known to fail with system llvm sometimes. + use system-llvm || tests+=( assembly ) + + # fragile/expensive/less important tests + # or tests that require extra builds + # TODO: instead of skipping, just make some nonfatal. + if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then + tests+=( + rustdoc + rustdoc-js + rustdoc-js-std + rustdoc-ui + run-make-fulldeps + ui + ui-fulldeps + ) + fi + + local i failed=() + einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}" + for i in "${tests[@]}"; do + local t="src/test/${i}" + einfo "rust_src_test: running ${t}" + if ! RUST_BACKTRACE=1 "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \ + -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}" + then + failed+=( "${t}" ) + eerror "rust_src_test: ${t} failed" + fi + done + + if [[ ${#failed[@]} -ne 0 ]]; then + eerror "rust_src_test: failure summary: ${failed[@]}" + die "aborting due to test failures" + fi +} + +src_install() { + DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + + # bug #689562, #689160 + rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die + rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + rust-demangler + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use miri && symlinks+=( miri cargo-miri ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /usr/lib/rust//bin/rustc- + # need to fix eselect-rust to remove this hack. + local ver_i="${i}-${PV}" + if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then + einfo "Installing ${i} symlink" + ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die + else + ewarn "${i} symlink requested, but source file not found" + ewarn "please report this" + fi + dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" + dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" + dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" + dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" + dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" + + newenvd - "50${P}" <<-_EOF_ + LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}" + MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-demangler + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/libexec + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + + if use dist; then + insinto "/usr/lib/${PN}/${PV}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_postinst() { + eselect rust update + + if has_version dev-debug/gdb || has_version dev-debug/lldb; then + elog "Rust installs a helper script for calling GDB and LLDB," + elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.74.1-r100.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.74.1-r100.ebuild new file mode 100644 index 00000000000..bd474794968 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.74.1-r100.ebuild @@ -0,0 +1,764 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 17 ) +PYTHON_COMPAT=( python3_{10..12} ) + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing \ + multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86" +fi + +RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" + +DESCRIPTION="Language empowering everyone to build reliable and efficient software" +HOMEPAGE="https://www.rust-lang.org/" + +SRC_URI=" + https://static.rust-lang.org/dist/${SRC} + verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) + !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) +" + +S="${WORKDIR}/${MY_P}-src" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind +lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "sys-devel/llvm:\${LLVM_SLOT}[${_x}]") )" ) +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'sys-devel/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'sys-devel/llvm:${LLVM_SLOT}')" ) + +# to bootstrap we need at least exactly previous version, or same. +# most of the time previous versions fail to bootstrap with newer +# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, +# but it fails to bootstrap with 1.48.x +# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.json +RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" +RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" +BOOTSTRAP_DEPEND="|| + ( + =dev-lang/rust-"${RUST_DEP_PREV}" + =dev-lang/rust-bin-"${RUST_DEP_PREV}" + =dev-lang/rust-"${RUST_DEP_CURR}" + =dev-lang/rust-bin-"${RUST_DEP_CURR}" + ) +" + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7 + >=sys-devel/clang-3.5 + ) + system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) + !system-llvm? ( + >=dev-build/cmake-3.13.4 + app-alternatives/ninja + ) + test? ( dev-debug/gdb ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +DEPEND=" + >=app-arch/xz-utils-5.2 + net-misc/curl:=[http2,ssl] + sys-libs/zlib:= + dev-libs/openssl:0= + system-llvm? ( + ${LLVM_DEPEND[*]} + llvm-libunwind? ( sys-libs/llvm-libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" + +REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) + miri? ( nightly ) + parallel-compiler? ( nightly ) + rust-analyzer? ( rust-src ) + test? ( ${ALL_LLVM_TARGETS[*]} ) + wasm? ( llvm_targets_WebAssembly ) + x86? ( cpu_flags_x86_sse2 ) +" + +# we don't use cmake.eclass, but can get a warning +CMAKE_WARN_UNUSED_CLI=no + +QA_FLAGS_IGNORED=" + usr/lib/${PN}/${PV}/bin/.* + usr/lib/${PN}/${PV}/libexec/.* + usr/lib/${PN}/${PV}/lib/lib.*.so + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_SONAME=" + usr/lib/${PN}/${PV}/lib/lib.*.so.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_PRESTRIPPED=" + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/rust-llvm-dwp + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/self-contained/crtn.o +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +# causes double bootstrap +RESTRICT="test" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc + +PATCHES=( + "${FILESDIR}"/1.74.1-cross-compile-libz.patch + #"${FILESDIR}"/1.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh + "${FILESDIR}"/1.70.0-ignore-broken-and-non-applicable-tests.patch + "${FILESDIR}"/1.62.1-musl-dynamic-linking.patch + "${FILESDIR}"/1.67.0-doc-wasm.patch +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +bootstrap_rust_version_check() { + # never call from pkg_pretend. eselect-rust may be not installed yet. + [[ ${MERGE_TYPE} == binary ]] && return + local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" + local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" + local rustc_version=( $(eselect --brief --root="${BROOT}" rust show 2>/dev/null) ) + rustc_version=${rustc_version[0]#rust-bin-} + rustc_version=${rustc_version#rust-} + + [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" + + if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then + eerror "Rust >=${rustc_wanted} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too old" + elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then + eerror "Rust <${rustc_toonew} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too new" + else + einfo "Using rust ${rustc_version} to build" + fi +} + +pre_build_checks() { + local M=8192 + # multiply requirements by 1.3 if we are doing x86-multilib + if use amd64; then + M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) + fi + M=$(( $(usex clippy 128 0) + ${M} )) + M=$(( $(usex miri 128 0) + ${M} )) + M=$(( $(usex rustfmt 256 0) + ${M} )) + # add 2G if we compile llvm and 256M per llvm_target + if ! use system-llvm; then + M=$(( 2048 + ${M} )) + local ltarget + for ltarget in ${ALL_LLVM_TARGETS[@]}; do + M=$(( $(usex ${ltarget} 256 0) + ${M} )) + done + fi + M=$(( $(usex wasm 256 0) + ${M} )) + M=$(( $(usex debug 2 1) * ${M} )) + eshopts_push -s extglob + if is-flagq '-g?(gdb)?([1-9])'; then + M=$(( 15 * ${M} / 10 )) + fi + eshopts_pop + M=$(( $(usex system-bootstrap 0 1024) + ${M} )) + M=$(( $(usex doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include +#if defined(_LIBCPP_VERSION) + HAVE_LIBCXX +#endif +' + local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 + [[ ${out} == *HAVE_LIBCXX* ]] +} + +pkg_pretend() { + pre_build_checks +} + +pkg_setup() { + pre_build_checks + python-any-r1_pkg_setup + + export LIBGIT2_NO_PKG_CONFIG=1 #749381 + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ROOT}/usr/include" + export OPENSSL_LIB_DIR="${ROOT}/usr/$(get_libdir)" + + use system-bootstrap || die "USE=system-bootstrap is required when cross-compiling" + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + use system-bootstrap && bootstrap_rust_version_check + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix)/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +esetup_unwind_hack() { + # https://bugs.gentoo.org/870280 + # this is a hack needed to bootstrap with libgcc_s linked tarball on llvm-libunwind system. + # it should trigger for internal bootstrap or system-bootstrap with rust-bin. + # the whole idea is for stage0 to bootstrap with fake libgcc_s. + # final stage will receive -L${T}/lib but not -lgcc_s args, producing clean compiler. + local fakelib="${T}/fakelib" + mkdir -p "${fakelib}" || die + # we need both symlinks, one for cargo runtime, other for linker. + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so.1" || die + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so" || die + export LD_LIBRARY_PATH="${fakelib}" + export RUSTFLAGS+=" -L${fakelib}" + # this is a literally magic variable that gets through cargo cache, without it some + # crates ignore RUSTFLAGS. + # this variable can not contain leading space. + export MAGIC_EXTRA_RUSTFLAGS+="${MAGIC_EXTRA_RUSTFLAGS:+ }-L${fakelib}" +} + +src_prepare() { + # Clear vendor checksums for crates that we patched to bump libc. + # NOTE: refresh this on each bump. + #for i in addr2line-0.20.0 bstr cranelift-jit crossbeam-channel elasticlunr-rs handlebars icu_locid libffi \ + # terminal_size tracing-tree; do + # clear_vendor_checksums "${i}" + #done + + if ! use system-bootstrap; then + has_version sys-devel/gcc || esetup_unwind_hack + local rust_stage0_root="${WORKDIR}"/rust-stage0 + local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi "${CBUILD}")" + + "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ + --without=rust-docs-json-preview,rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die + fi + + default +} + +src_configure() { + filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 + + local rust_target="" rust_targets="" arch_cflags + + # Collect rust target names to compile standard libs for all ABIs. + for v in $(multilib_get_enabled_abi_pairs); do + rust_targets+=",\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" + done + if use wasm; then + rust_targets+=",\"wasm32-unknown-unknown\"" + if use system-llvm; then + # un-hardcode rust-lld linker for this target + # https://bugs.gentoo.org/715348 + sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/wasm_base.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + # cargo and rustdoc are mandatory and should always be included + local tools='"cargo","rustdoc", "rust-demangler"' + use clippy && tools+=',"clippy"' + use miri && tools+=',"miri"' + use rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer"' + use rust-src && tools+=',"src"' + + local rust_stage0_root + if use system-bootstrap; then + local printsysroot + printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" + rust_stage0_root="${printsysroot}" + else + rust_stage0_root="${WORKDIR}"/rust-stage0 + fi + # in case of prefix it will be already prefixed, as --print sysroot returns full path + [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" + + rust_target="$(rust_abi)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + local cm_btype="$(usex debug DEBUG RELEASE)" + cat <<- _EOF_ > "${S}"/config.toml + changelog-seen = 2 + [llvm] + download-ci-llvm = false + optimize = $(toml_usex !debug) + release-debuginfo = $(toml_usex debug) + assertions = $(toml_usex debug) + ninja = true + targets = "${LLVM_TARGETS// /;}" + experimental-targets = "" + link-shared = $(toml_usex system-llvm) + $(if is_libcxx_linked; then + # https://bugs.gentoo.org/732632 + echo "use-libcxx = true" + echo "static-libstdcpp = false" + fi) + $(case "${rust_target}" in + i586-*-linux-*) + # https://github.com/rust-lang/rust/issues/93059 + echo 'cflags = "-fcf-protection=none"' + echo 'cxxflags = "-fcf-protection=none"' + echo 'ldflags = "-fcf-protection=none"' + ;; + *) + ;; + esac) + enable-warnings = false + [llvm.build-config] + CMAKE_VERBOSE_MAKEFILE = "ON" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + target = [${rust_targets}] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + docs = $(toml_usex doc) + compiler-docs = false + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = true + tools = [${tools}] + verbose = 2 + sanitizers = false + profiler = true + cargo-native-static = false + [install] + prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" + sysconfdir = "etc" + docdir = "share/doc/rust" + bindir = "bin" + libdir = "lib" + mandir = "share/man" + [rust] + # https://github.com/rust-lang/rust/issues/54872 + codegen-units-std = 1 + optimize = true + debug = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + debug-assertions-std = $(toml_usex debug) + debuginfo-level = $(usex debug 2 0) + debuginfo-level-rustc = $(usex debug 2 0) + debuginfo-level-std = $(usex debug 2 0) + debuginfo-level-tools = $(usex debug 2 0) + debuginfo-level-tests = 0 + backtrace = true + incremental = false + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + description = "gentoo" + rpath = false + verbose-tests = true + optimize-tests = $(toml_usex !debug) + codegen-tests = true + dist-src = false + remap-debuginfo = true + lld = $(usex system-llvm false $(toml_usex wasm)) + # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it + # https://github.com/rust-lang/rust/issues/74976 + # https://github.com/rust-lang/rust/issues/76526 + deny-warnings = $(usex wasm $(usex doc false true) true) + backtrace-on-ice = true + jemalloc = false + lto = "$(usex lto fat off)" + [dist] + src-tarball = false + compression-formats = ["xz"] + compression-profile = "balanced" + _EOF_ + + for v in $(multilib_get_enabled_abi_pairs); do + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + arch_cflags="$(get_abi_CFLAGS ${v##*.})" + + export CFLAGS_${rust_target//-/_}="${arch_cflags}" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${rust_target}] + ar = "$(tc-getAR)" + cc = "$(tc-getCC)" + cxx = "$(tc-getCXX)" + linker = "$(tc-getCC)" + ranlib = "$(tc-getRANLIB)" + llvm-libunwind = "$(usex llvm-libunwind $(usex system-llvm system in-tree) no)" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + # by default librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; + # but we patch it and set to false here as well + if use elibc_musl; then + cat <<- _EOF_ >> "${S}"/config.toml + crt-static = false + _EOF_ + fi + done + if use wasm; then + cat <<- _EOF_ >> "${S}"/config.toml + [target.wasm32-unknown-unknown] + linker = "$(usex system-llvm lld rust-lld)" + # wasm target does not have profiler_builtins https://bugs.gentoo.org/848483 + profiler = false + _EOF_ + fi + + if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below + # experimental cross support + # discussion: https://bugs.gentoo.org/679878 + # TODO: c*flags, clang, system-llvm, cargo.eclass target support + # it would be much better if we could split out stdlib + # complilation to separate ebuild and abuse CATEGORY to + # just install to /usr/lib/rustlib/ + + # extra targets defined as a bash array + # spec format: :: + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form :: + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, : + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + ar = "${cross_toolchain}-ar" + cc = "${cross_toolchain}-gcc" + cxx = "${cross_toolchain}-g++" + linker = "${cross_toolchain}-gcc" + ranlib = "${cross_toolchain}-ranlib" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + if [[ "${cross_toolchain}" == *-musl* ]]; then + cat <<- _EOF_ >> "${S}"/config.toml + musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" + _EOF_ + fi + + # append cross target to "normal" target list + # example 'target = ["powerpc64le-unknown-linux-gnu"]' + # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' + + rust_targets="${rust_targets},\"${cross_rust_target}\"" + sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die + + ewarn + ewarn "Enabled ${cross_rust_target} rust target" + ewarn "Using ${cross_toolchain} cross toolchain" + ewarn + if ! has_version -b 'sys-devel/binutils[multitarget]' ; then + ewarn "'sys-devel/binutils[multitarget]' is not installed" + ewarn "'strip' will be unable to strip cross libraries" + ewarn "cross targets will be installed with full debug information" + ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" + ewarn + ewarn "Alternatively llvm-strip can be used, it supports stripping any target" + ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" + ewarn + fi + done + fi # I_KNOW_WHAT_I_AM_DOING_CROSS + + einfo "Rust configured with the following flags:" + echo + echo RUSTFLAGS="\"${RUSTFLAGS}\"" + echo RUSTFLAGS_BOOTSTRAP="\"${RUSTFLAGS_BOOTSTRAP}\"" + echo RUSTFLAGS_NOT_BOOTSTRAP="\"${RUSTFLAGS_NOT_BOOTSTRAP}\"" + echo MAGIC_EXTRA_RUSTFLAGS="\"${MAGIC_EXTRA_RUSTFLAGS}\"" + env | grep "CARGO_TARGET_.*_RUSTFLAGS=" + env | grep "CFLAGS_.*" + echo + einfo "config.toml contents:" + cat "${S}"/config.toml || die + echo +} + +src_compile() { + RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vvv --config="${S}"/config.toml -j$(makeopts_jobs) || die +} + +src_test() { + # https://rustc-dev-guide.rust-lang.org/tests/intro.html + + # those are basic and codegen tests. + local tests=( + codegen + codegen-units + compile-fail + incremental + mir-opt + pretty + run-make + ) + + # fails if llvm is not built with ALL targets. + # and known to fail with system llvm sometimes. + use system-llvm || tests+=( assembly ) + + # fragile/expensive/less important tests + # or tests that require extra builds + # TODO: instead of skipping, just make some nonfatal. + if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then + tests+=( + rustdoc + rustdoc-js + rustdoc-js-std + rustdoc-ui + run-make-fulldeps + ui + ui-fulldeps + ) + fi + + local i failed=() + einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}" + for i in "${tests[@]}"; do + local t="src/test/${i}" + einfo "rust_src_test: running ${t}" + if ! RUST_BACKTRACE=1 "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \ + -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}" + then + failed+=( "${t}" ) + eerror "rust_src_test: ${t} failed" + fi + done + + if [[ ${#failed[@]} -ne 0 ]]; then + eerror "rust_src_test: failure summary: ${failed[@]}" + die "aborting due to test failures" + fi +} + +src_install() { + DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + + # bug #689562, #689160 + rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die + rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + rust-demangler + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use miri && symlinks+=( miri cargo-miri ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /usr/lib/rust//bin/rustc- + # need to fix eselect-rust to remove this hack. + local ver_i="${i}-${PV}" + if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then + einfo "Installing ${i} symlink" + ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die + else + ewarn "${i} symlink requested, but source file not found" + ewarn "please report this" + fi + dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" + dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" + dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" + dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" + dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" + + newenvd - "50${P}" <<-_EOF_ + LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}" + MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-demangler + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/libexec + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + + if use dist; then + insinto "/usr/lib/${PN}/${PV}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_postinst() { + eselect rust update + + if has_version dev-debug/gdb || has_version dev-debug/lldb; then + elog "Rust installs a helper script for calling GDB and LLDB," + elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.75.0-r100.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.75.0-r100.ebuild new file mode 100644 index 00000000000..0517e38b84f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.75.0-r100.ebuild @@ -0,0 +1,767 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 17 ) +PYTHON_COMPAT=( python3_{10..12} ) + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing \ + multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86" +fi + +S="${WORKDIR}/${MY_P}-src" + +RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" + +DESCRIPTION="Language empowering everyone to build reliable and efficient software" +HOMEPAGE="https://www.rust-lang.org/" + +SRC_URI=" + https://static.rust-lang.org/dist/${SRC} + verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) + !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) +" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind +lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "sys-devel/llvm:\${LLVM_SLOT}[${_x}]") )" ) +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'sys-devel/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'sys-devel/llvm:${LLVM_SLOT}')" ) + +# to bootstrap we need at least exactly previous version, or same. +# most of the time previous versions fail to bootstrap with newer +# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, +# but it fails to bootstrap with 1.48.x +# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.json +RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" +RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" +BOOTSTRAP_DEPEND="|| + ( + =dev-lang/rust-"${RUST_DEP_PREV}" + =dev-lang/rust-bin-"${RUST_DEP_PREV}" + =dev-lang/rust-"${RUST_DEP_CURR}" + =dev-lang/rust-bin-"${RUST_DEP_CURR}" + ) +" + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7 + >=sys-devel/clang-3.5 + ) + system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) + !system-llvm? ( + >=dev-build/cmake-3.13.4 + app-alternatives/ninja + ) + test? ( dev-debug/gdb ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +DEPEND=" + >=app-arch/xz-utils-5.2 + net-misc/curl:=[http2,ssl] + sys-libs/zlib:= + dev-libs/openssl:0= + system-llvm? ( + ${LLVM_DEPEND[*]} + llvm-libunwind? ( sys-libs/llvm-libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" + +REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) + miri? ( nightly ) + parallel-compiler? ( nightly ) + rust-analyzer? ( rust-src ) + test? ( ${ALL_LLVM_TARGETS[*]} ) + wasm? ( llvm_targets_WebAssembly ) + x86? ( cpu_flags_x86_sse2 ) +" + +# we don't use cmake.eclass, but can get a warning +CMAKE_WARN_UNUSED_CLI=no + +QA_FLAGS_IGNORED=" + usr/lib/${PN}/${PV}/bin/.* + usr/lib/${PN}/${PV}/libexec/.* + usr/lib/${PN}/${PV}/lib/lib.*.so + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_SONAME=" + usr/lib/${PN}/${PV}/lib/lib.*.so.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_PRESTRIPPED=" + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/rust-llvm-dwp + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/self-contained/crtn.o +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +# causes double bootstrap +RESTRICT="test" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc + +PATCHES=( + "${FILESDIR}"/1.75.0-musl-dynamic-linking.patch + "${FILESDIR}"/1.74.1-cross-compile-libz.patch + #"${FILESDIR}"/1.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh + "${FILESDIR}"/1.70.0-ignore-broken-and-non-applicable-tests.patch + "${FILESDIR}"/1.67.0-doc-wasm.patch + # This patch shouldn't be necessary for later versions of Rust because its + # code was backported from master. + "${FILESDIR}"/1.75.0-handle-vendored-sources.patch +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +bootstrap_rust_version_check() { + # never call from pkg_pretend. eselect-rust may be not installed yet. + [[ ${MERGE_TYPE} == binary ]] && return + local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" + local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" + local rustc_version=( $(eselect --brief --root="${BROOT}" rust show 2>/dev/null) ) + rustc_version=${rustc_version[0]#rust-bin-} + rustc_version=${rustc_version#rust-} + + [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" + + if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then + eerror "Rust >=${rustc_wanted} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too old" + elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then + eerror "Rust <${rustc_toonew} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too new" + else + einfo "Using rust ${rustc_version} to build" + fi +} + +pre_build_checks() { + local M=8192 + # multiply requirements by 1.3 if we are doing x86-multilib + if use amd64; then + M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) + fi + M=$(( $(usex clippy 128 0) + ${M} )) + M=$(( $(usex miri 128 0) + ${M} )) + M=$(( $(usex rustfmt 256 0) + ${M} )) + # add 2G if we compile llvm and 256M per llvm_target + if ! use system-llvm; then + M=$(( 2048 + ${M} )) + local ltarget + for ltarget in ${ALL_LLVM_TARGETS[@]}; do + M=$(( $(usex ${ltarget} 256 0) + ${M} )) + done + fi + M=$(( $(usex wasm 256 0) + ${M} )) + M=$(( $(usex debug 2 1) * ${M} )) + eshopts_push -s extglob + if is-flagq '-g?(gdb)?([1-9])'; then + M=$(( 15 * ${M} / 10 )) + fi + eshopts_pop + M=$(( $(usex system-bootstrap 0 1024) + ${M} )) + M=$(( $(usex doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include +#if defined(_LIBCPP_VERSION) + HAVE_LIBCXX +#endif +' + local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 + [[ ${out} == *HAVE_LIBCXX* ]] +} + +pkg_pretend() { + pre_build_checks +} + +pkg_setup() { + pre_build_checks + python-any-r1_pkg_setup + + export LIBGIT2_NO_PKG_CONFIG=1 #749381 + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ROOT}/usr/include" + export OPENSSL_LIB_DIR="${ROOT}/usr/$(get_libdir)" + + use system-bootstrap || die "USE=system-bootstrap is required when cross-compiling" + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + use system-bootstrap && bootstrap_rust_version_check + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix)/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +esetup_unwind_hack() { + # https://bugs.gentoo.org/870280 + # this is a hack needed to bootstrap with libgcc_s linked tarball on llvm-libunwind system. + # it should trigger for internal bootstrap or system-bootstrap with rust-bin. + # the whole idea is for stage0 to bootstrap with fake libgcc_s. + # final stage will receive -L${T}/lib but not -lgcc_s args, producing clean compiler. + local fakelib="${T}/fakelib" + mkdir -p "${fakelib}" || die + # we need both symlinks, one for cargo runtime, other for linker. + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so.1" || die + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so" || die + export LD_LIBRARY_PATH="${fakelib}" + export RUSTFLAGS+=" -L${fakelib}" + # this is a literally magic variable that gets through cargo cache, without it some + # crates ignore RUSTFLAGS. + # this variable can not contain leading space. + export MAGIC_EXTRA_RUSTFLAGS+="${MAGIC_EXTRA_RUSTFLAGS:+ }-L${fakelib}" +} + +src_prepare() { + # Clear vendor checksums for crates that we patched to bump libc. + # NOTE: refresh this on each bump. + #for i in addr2line-0.20.0 bstr cranelift-jit crossbeam-channel elasticlunr-rs handlebars icu_locid libffi \ + # terminal_size tracing-tree; do + # clear_vendor_checksums "${i}" + #done + + if ! use system-bootstrap; then + has_version sys-devel/gcc || esetup_unwind_hack + local rust_stage0_root="${WORKDIR}"/rust-stage0 + local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi "${CBUILD}")" + + "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ + --without=rust-docs-json-preview,rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die + fi + + default +} + +src_configure() { + filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 + + local rust_target="" rust_targets="" arch_cflags + + # Collect rust target names to compile standard libs for all ABIs. + for v in $(multilib_get_enabled_abi_pairs); do + rust_targets+=",\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" + done + if use wasm; then + rust_targets+=",\"wasm32-unknown-unknown\"" + if use system-llvm; then + # un-hardcode rust-lld linker for this target + # https://bugs.gentoo.org/715348 + sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/base/wasm.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + # cargo and rustdoc are mandatory and should always be included + local tools='"cargo","rustdoc", "rust-demangler"' + use clippy && tools+=',"clippy"' + use miri && tools+=',"miri"' + use rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer"' + use rust-src && tools+=',"src"' + + local rust_stage0_root + if use system-bootstrap; then + local printsysroot + printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" + rust_stage0_root="${printsysroot}" + else + rust_stage0_root="${WORKDIR}"/rust-stage0 + fi + # in case of prefix it will be already prefixed, as --print sysroot returns full path + [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" + + rust_target="$(rust_abi)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + local cm_btype="$(usex debug DEBUG RELEASE)" + cat <<- _EOF_ > "${S}"/config.toml + changelog-seen = 2 + [llvm] + download-ci-llvm = false + optimize = $(toml_usex !debug) + release-debuginfo = $(toml_usex debug) + assertions = $(toml_usex debug) + ninja = true + targets = "${LLVM_TARGETS// /;}" + experimental-targets = "" + link-shared = $(toml_usex system-llvm) + $(if is_libcxx_linked; then + # https://bugs.gentoo.org/732632 + echo "use-libcxx = true" + echo "static-libstdcpp = false" + fi) + $(case "${rust_target}" in + i586-*-linux-*) + # https://github.com/rust-lang/rust/issues/93059 + echo 'cflags = "-fcf-protection=none"' + echo 'cxxflags = "-fcf-protection=none"' + echo 'ldflags = "-fcf-protection=none"' + ;; + *) + ;; + esac) + enable-warnings = false + [llvm.build-config] + CMAKE_VERBOSE_MAKEFILE = "ON" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + target = [${rust_targets}] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + docs = $(toml_usex doc) + compiler-docs = false + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = true + tools = [${tools}] + verbose = 2 + sanitizers = false + profiler = true + cargo-native-static = false + [install] + prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" + sysconfdir = "etc" + docdir = "share/doc/rust" + bindir = "bin" + libdir = "lib" + mandir = "share/man" + [rust] + # https://github.com/rust-lang/rust/issues/54872 + codegen-units-std = 1 + optimize = true + debug = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + debug-assertions-std = $(toml_usex debug) + debuginfo-level = $(usex debug 2 0) + debuginfo-level-rustc = $(usex debug 2 0) + debuginfo-level-std = $(usex debug 2 0) + debuginfo-level-tools = $(usex debug 2 0) + debuginfo-level-tests = 0 + backtrace = true + incremental = false + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + description = "gentoo" + rpath = false + verbose-tests = true + optimize-tests = $(toml_usex !debug) + codegen-tests = true + dist-src = false + remap-debuginfo = true + lld = $(usex system-llvm false $(toml_usex wasm)) + # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it + # https://github.com/rust-lang/rust/issues/74976 + # https://github.com/rust-lang/rust/issues/76526 + deny-warnings = $(usex wasm $(usex doc false true) true) + backtrace-on-ice = true + jemalloc = false + lto = "$(usex lto fat off)" + [dist] + src-tarball = false + compression-formats = ["xz"] + compression-profile = "balanced" + _EOF_ + + for v in $(multilib_get_enabled_abi_pairs); do + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + arch_cflags="$(get_abi_CFLAGS ${v##*.})" + + export CFLAGS_${rust_target//-/_}="${arch_cflags}" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${rust_target}] + ar = "$(tc-getAR)" + cc = "$(tc-getCC)" + cxx = "$(tc-getCXX)" + linker = "$(tc-getCC)" + ranlib = "$(tc-getRANLIB)" + llvm-libunwind = "$(usex llvm-libunwind $(usex system-llvm system in-tree) no)" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + # by default librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; + # but we patch it and set to false here as well + if use elibc_musl; then + cat <<- _EOF_ >> "${S}"/config.toml + crt-static = false + _EOF_ + fi + done + if use wasm; then + cat <<- _EOF_ >> "${S}"/config.toml + [target.wasm32-unknown-unknown] + linker = "$(usex system-llvm lld rust-lld)" + # wasm target does not have profiler_builtins https://bugs.gentoo.org/848483 + profiler = false + _EOF_ + fi + + if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below + # experimental cross support + # discussion: https://bugs.gentoo.org/679878 + # TODO: c*flags, clang, system-llvm, cargo.eclass target support + # it would be much better if we could split out stdlib + # complilation to separate ebuild and abuse CATEGORY to + # just install to /usr/lib/rustlib/ + + # extra targets defined as a bash array + # spec format: :: + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form :: + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, : + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + ar = "${cross_toolchain}-ar" + cc = "${cross_toolchain}-gcc" + cxx = "${cross_toolchain}-g++" + linker = "${cross_toolchain}-gcc" + ranlib = "${cross_toolchain}-ranlib" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + if [[ "${cross_toolchain}" == *-musl* ]]; then + cat <<- _EOF_ >> "${S}"/config.toml + musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" + _EOF_ + fi + + # append cross target to "normal" target list + # example 'target = ["powerpc64le-unknown-linux-gnu"]' + # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' + + rust_targets="${rust_targets},\"${cross_rust_target}\"" + sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die + + ewarn + ewarn "Enabled ${cross_rust_target} rust target" + ewarn "Using ${cross_toolchain} cross toolchain" + ewarn + if ! has_version -b 'sys-devel/binutils[multitarget]' ; then + ewarn "'sys-devel/binutils[multitarget]' is not installed" + ewarn "'strip' will be unable to strip cross libraries" + ewarn "cross targets will be installed with full debug information" + ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" + ewarn + ewarn "Alternatively llvm-strip can be used, it supports stripping any target" + ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" + ewarn + fi + done + fi # I_KNOW_WHAT_I_AM_DOING_CROSS + + einfo "Rust configured with the following flags:" + echo + echo RUSTFLAGS="\"${RUSTFLAGS}\"" + echo RUSTFLAGS_BOOTSTRAP="\"${RUSTFLAGS_BOOTSTRAP}\"" + echo RUSTFLAGS_NOT_BOOTSTRAP="\"${RUSTFLAGS_NOT_BOOTSTRAP}\"" + echo MAGIC_EXTRA_RUSTFLAGS="\"${MAGIC_EXTRA_RUSTFLAGS}\"" + env | grep "CARGO_TARGET_.*_RUSTFLAGS=" + env | grep "CFLAGS_.*" + echo + einfo "config.toml contents:" + cat "${S}"/config.toml || die + echo +} + +src_compile() { + RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vvv --config="${S}"/config.toml -j$(makeopts_jobs) || die +} + +src_test() { + # https://rustc-dev-guide.rust-lang.org/tests/intro.html + + # those are basic and codegen tests. + local tests=( + codegen + codegen-units + compile-fail + incremental + mir-opt + pretty + run-make + ) + + # fails if llvm is not built with ALL targets. + # and known to fail with system llvm sometimes. + use system-llvm || tests+=( assembly ) + + # fragile/expensive/less important tests + # or tests that require extra builds + # TODO: instead of skipping, just make some nonfatal. + if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then + tests+=( + rustdoc + rustdoc-js + rustdoc-js-std + rustdoc-ui + run-make-fulldeps + ui + ui-fulldeps + ) + fi + + local i failed=() + einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}" + for i in "${tests[@]}"; do + local t="src/test/${i}" + einfo "rust_src_test: running ${t}" + if ! RUST_BACKTRACE=1 "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \ + -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}" + then + failed+=( "${t}" ) + eerror "rust_src_test: ${t} failed" + fi + done + + if [[ ${#failed[@]} -ne 0 ]]; then + eerror "rust_src_test: failure summary: ${failed[@]}" + die "aborting due to test failures" + fi +} + +src_install() { + DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + + # bug #689562, #689160 + rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die + rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + rust-demangler + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use miri && symlinks+=( miri cargo-miri ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /usr/lib/rust//bin/rustc- + # need to fix eselect-rust to remove this hack. + local ver_i="${i}-${PV}" + if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then + einfo "Installing ${i} symlink" + ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die + else + ewarn "${i} symlink requested, but source file not found" + ewarn "please report this" + fi + dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" + dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" + dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" + dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" + dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" + + newenvd - "50${P}" <<-_EOF_ + LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}" + MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-demangler + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/libexec + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + + if use dist; then + insinto "/usr/lib/${PN}/${PV}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_postinst() { + eselect rust update + + if has_version dev-debug/gdb || has_version dev-debug/lldb; then + elog "Rust installs a helper script for calling GDB and LLDB," + elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.77.1-r100.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.77.1-r100.ebuild new file mode 100644 index 00000000000..a6e6f0023b7 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.77.1-r100.ebuild @@ -0,0 +1,765 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 17 ) +PYTHON_COMPAT=( python3_{10..12} ) + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing \ + multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86" +fi +S="${WORKDIR}/${MY_P}-src" + +RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +SRC_URI=" + https://static.rust-lang.org/dist/${SRC} + verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) + !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) +" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "sys-devel/llvm:\${LLVM_SLOT}[${_x}]") )" ) +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'sys-devel/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'sys-devel/llvm:${LLVM_SLOT}')" ) + +# to bootstrap we need at least exactly previous version, or same. +# most of the time previous versions fail to bootstrap with newer +# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, +# but it fails to bootstrap with 1.48.x +# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.json +RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" +RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" +BOOTSTRAP_DEPEND="|| + ( + =dev-lang/rust-"${RUST_DEP_PREV}" + =dev-lang/rust-bin-"${RUST_DEP_PREV}" + =dev-lang/rust-"${RUST_DEP_CURR}" + =dev-lang/rust-bin-"${RUST_DEP_CURR}" + ) +" + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7 + >=sys-devel/clang-3.5 + ) + system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) + !system-llvm? ( + >=dev-build/cmake-3.13.4 + app-alternatives/ninja + ) + test? ( dev-debug/gdb ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +DEPEND=" + >=app-arch/xz-utils-5.2 + net-misc/curl:=[http2,ssl] + sys-libs/zlib:= + dev-libs/openssl:0= + system-llvm? ( + ${LLVM_DEPEND[*]} + llvm-libunwind? ( sys-libs/llvm-libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" + +REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) + miri? ( nightly ) + parallel-compiler? ( nightly ) + rust-analyzer? ( rust-src ) + test? ( ${ALL_LLVM_TARGETS[*]} ) + wasm? ( llvm_targets_WebAssembly ) + x86? ( cpu_flags_x86_sse2 ) +" + +# we don't use cmake.eclass, but can get a warning +CMAKE_WARN_UNUSED_CLI=no + +QA_FLAGS_IGNORED=" + usr/lib/${PN}/${PV}/bin/.* + usr/lib/${PN}/${PV}/libexec/.* + usr/lib/${PN}/${PV}/lib/lib.*.so + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_SONAME=" + usr/lib/${PN}/${PV}/lib/lib.*.so.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_PRESTRIPPED=" + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/rust-llvm-dwp + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/self-contained/crtn.o +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +# causes double bootstrap +RESTRICT="test" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc + +PATCHES=( + "${FILESDIR}"/1.75.0-musl-dynamic-linking.patch + "${FILESDIR}"/1.74.1-cross-compile-libz.patch + #"${FILESDIR}"/1.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh + "${FILESDIR}"/1.70.0-ignore-broken-and-non-applicable-tests.patch + "${FILESDIR}"/1.67.0-doc-wasm.patch + "${FILESDIR}"/1.76.0-loong-code-model.patch # remove for >=1.78.0 +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +bootstrap_rust_version_check() { + # never call from pkg_pretend. eselect-rust may be not installed yet. + [[ ${MERGE_TYPE} == binary ]] && return + local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" + local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" + local rustc_version=( $(eselect --brief --root="${BROOT}" rust show 2>/dev/null) ) + rustc_version=${rustc_version[0]#rust-bin-} + rustc_version=${rustc_version#rust-} + + [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" + + if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then + eerror "Rust >=${rustc_wanted} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too old" + elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then + eerror "Rust <${rustc_toonew} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too new" + else + einfo "Using rust ${rustc_version} to build" + fi +} + +pre_build_checks() { + local M=8192 + # multiply requirements by 1.3 if we are doing x86-multilib + if use amd64; then + M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) + fi + M=$(( $(usex clippy 128 0) + ${M} )) + M=$(( $(usex miri 128 0) + ${M} )) + M=$(( $(usex rustfmt 256 0) + ${M} )) + # add 2G if we compile llvm and 256M per llvm_target + if ! use system-llvm; then + M=$(( 2048 + ${M} )) + local ltarget + for ltarget in ${ALL_LLVM_TARGETS[@]}; do + M=$(( $(usex ${ltarget} 256 0) + ${M} )) + done + fi + M=$(( $(usex wasm 256 0) + ${M} )) + M=$(( $(usex debug 2 1) * ${M} )) + eshopts_push -s extglob + if is-flagq '-g?(gdb)?([1-9])'; then + M=$(( 15 * ${M} / 10 )) + fi + eshopts_pop + M=$(( $(usex system-bootstrap 0 1024) + ${M} )) + M=$(( $(usex doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include +#if defined(_LIBCPP_VERSION) + HAVE_LIBCXX +#endif +' + local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 + [[ ${out} == *HAVE_LIBCXX* ]] +} + +pkg_pretend() { + pre_build_checks +} + +pkg_setup() { + pre_build_checks + python-any-r1_pkg_setup + + export LIBGIT2_NO_PKG_CONFIG=1 #749381 + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ROOT}/usr/include" + export OPENSSL_LIB_DIR="${ROOT}/usr/$(get_libdir)" + + use system-bootstrap || die "USE=system-bootstrap is required when cross-compiling" + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + use system-bootstrap && bootstrap_rust_version_check + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix)/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +esetup_unwind_hack() { + # https://bugs.gentoo.org/870280 + # this is a hack needed to bootstrap with libgcc_s linked tarball on llvm-libunwind system. + # it should trigger for internal bootstrap or system-bootstrap with rust-bin. + # the whole idea is for stage0 to bootstrap with fake libgcc_s. + # final stage will receive -L${T}/lib but not -lgcc_s args, producing clean compiler. + local fakelib="${T}/fakelib" + mkdir -p "${fakelib}" || die + # we need both symlinks, one for cargo runtime, other for linker. + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so.1" || die + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so" || die + export LD_LIBRARY_PATH="${fakelib}" + export RUSTFLAGS+=" -L${fakelib}" + # this is a literally magic variable that gets through cargo cache, without it some + # crates ignore RUSTFLAGS. + # this variable can not contain leading space. + export MAGIC_EXTRA_RUSTFLAGS+="${MAGIC_EXTRA_RUSTFLAGS:+ }-L${fakelib}" +} + +src_prepare() { + # Clear vendor checksums for crates that we patched to bump libc. + # NOTE: refresh this on each bump. + #for i in addr2line-0.20.0 bstr cranelift-jit crossbeam-channel elasticlunr-rs handlebars icu_locid libffi \ + # terminal_size tracing-tree; do + # clear_vendor_checksums "${i}" + #done + + if ! use system-bootstrap; then + has_version sys-devel/gcc || esetup_unwind_hack + local rust_stage0_root="${WORKDIR}"/rust-stage0 + local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi "${CBUILD}")" + + "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ + --without=rust-docs-json-preview,rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die + fi + + default +} + +src_configure() { + filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 + + local rust_target="" rust_targets="" arch_cflags + + # Collect rust target names to compile standard libs for all ABIs. + for v in $(multilib_get_enabled_abi_pairs); do + rust_targets+=",\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" + done + if use wasm; then + rust_targets+=",\"wasm32-unknown-unknown\"" + if use system-llvm; then + # un-hardcode rust-lld linker for this target + # https://bugs.gentoo.org/715348 + sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/base/wasm.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + # cargo and rustdoc are mandatory and should always be included + local tools='"cargo","rustdoc", "rust-demangler"' + use clippy && tools+=',"clippy"' + use miri && tools+=',"miri"' + use rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' + use rust-src && tools+=',"src"' + + local rust_stage0_root + if use system-bootstrap; then + local printsysroot + printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" + rust_stage0_root="${printsysroot}" + else + rust_stage0_root="${WORKDIR}"/rust-stage0 + fi + # in case of prefix it will be already prefixed, as --print sysroot returns full path + [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" + + rust_target="$(rust_abi)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + local cm_btype="$(usex debug DEBUG RELEASE)" + cat <<- _EOF_ > "${S}"/config.toml + changelog-seen = 2 + [llvm] + download-ci-llvm = false + optimize = $(toml_usex !debug) + release-debuginfo = $(toml_usex debug) + assertions = $(toml_usex debug) + ninja = true + targets = "${LLVM_TARGETS// /;}" + experimental-targets = "" + link-shared = $(toml_usex system-llvm) + $(if is_libcxx_linked; then + # https://bugs.gentoo.org/732632 + echo "use-libcxx = true" + echo "static-libstdcpp = false" + fi) + $(case "${rust_target}" in + i586-*-linux-*) + # https://github.com/rust-lang/rust/issues/93059 + echo 'cflags = "-fcf-protection=none"' + echo 'cxxflags = "-fcf-protection=none"' + echo 'ldflags = "-fcf-protection=none"' + ;; + *) + ;; + esac) + enable-warnings = false + [llvm.build-config] + CMAKE_VERBOSE_MAKEFILE = "ON" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + target = [${rust_targets}] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + docs = $(toml_usex doc) + compiler-docs = false + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = true + tools = [${tools}] + verbose = 2 + sanitizers = false + profiler = true + cargo-native-static = false + [install] + prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" + sysconfdir = "etc" + docdir = "share/doc/rust" + bindir = "bin" + libdir = "lib" + mandir = "share/man" + [rust] + # https://github.com/rust-lang/rust/issues/54872 + codegen-units-std = 1 + optimize = true + debug = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + debug-assertions-std = $(toml_usex debug) + debuginfo-level = $(usex debug 2 0) + debuginfo-level-rustc = $(usex debug 2 0) + debuginfo-level-std = $(usex debug 2 0) + debuginfo-level-tools = $(usex debug 2 0) + debuginfo-level-tests = 0 + backtrace = true + incremental = false + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + description = "gentoo" + rpath = false + verbose-tests = true + optimize-tests = $(toml_usex !debug) + codegen-tests = true + dist-src = false + remap-debuginfo = true + lld = $(usex system-llvm false $(toml_usex wasm)) + # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it + # https://github.com/rust-lang/rust/issues/74976 + # https://github.com/rust-lang/rust/issues/76526 + deny-warnings = $(usex wasm $(usex doc false true) true) + backtrace-on-ice = true + jemalloc = false + # See https://github.com/rust-lang/rust/issues/121124 + lto = "$(usex lto thin off)" + [dist] + src-tarball = false + compression-formats = ["xz"] + compression-profile = "balanced" + _EOF_ + + for v in $(multilib_get_enabled_abi_pairs); do + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + arch_cflags="$(get_abi_CFLAGS ${v##*.})" + + export CFLAGS_${rust_target//-/_}="${arch_cflags}" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${rust_target}] + ar = "$(tc-getAR)" + cc = "$(tc-getCC)" + cxx = "$(tc-getCXX)" + linker = "$(tc-getCC)" + ranlib = "$(tc-getRANLIB)" + llvm-libunwind = "$(usex llvm-libunwind $(usex system-llvm system in-tree) no)" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + # by default librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; + # but we patch it and set to false here as well + if use elibc_musl; then + cat <<- _EOF_ >> "${S}"/config.toml + crt-static = false + _EOF_ + fi + done + if use wasm; then + cat <<- _EOF_ >> "${S}"/config.toml + [target.wasm32-unknown-unknown] + linker = "$(usex system-llvm lld rust-lld)" + # wasm target does not have profiler_builtins https://bugs.gentoo.org/848483 + profiler = false + _EOF_ + fi + + if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below + # experimental cross support + # discussion: https://bugs.gentoo.org/679878 + # TODO: c*flags, clang, system-llvm, cargo.eclass target support + # it would be much better if we could split out stdlib + # complilation to separate ebuild and abuse CATEGORY to + # just install to /usr/lib/rustlib/ + + # extra targets defined as a bash array + # spec format: :: + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form :: + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, : + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + ar = "${cross_toolchain}-ar" + cc = "${cross_toolchain}-gcc" + cxx = "${cross_toolchain}-g++" + linker = "${cross_toolchain}-gcc" + ranlib = "${cross_toolchain}-ranlib" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + if [[ "${cross_toolchain}" == *-musl* ]]; then + cat <<- _EOF_ >> "${S}"/config.toml + musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" + _EOF_ + fi + + # append cross target to "normal" target list + # example 'target = ["powerpc64le-unknown-linux-gnu"]' + # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' + + rust_targets="${rust_targets},\"${cross_rust_target}\"" + sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die + + ewarn + ewarn "Enabled ${cross_rust_target} rust target" + ewarn "Using ${cross_toolchain} cross toolchain" + ewarn + if ! has_version -b 'sys-devel/binutils[multitarget]' ; then + ewarn "'sys-devel/binutils[multitarget]' is not installed" + ewarn "'strip' will be unable to strip cross libraries" + ewarn "cross targets will be installed with full debug information" + ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" + ewarn + ewarn "Alternatively llvm-strip can be used, it supports stripping any target" + ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" + ewarn + fi + done + fi # I_KNOW_WHAT_I_AM_DOING_CROSS + + einfo "Rust configured with the following flags:" + echo + echo RUSTFLAGS="\"${RUSTFLAGS}\"" + echo RUSTFLAGS_BOOTSTRAP="\"${RUSTFLAGS_BOOTSTRAP}\"" + echo RUSTFLAGS_NOT_BOOTSTRAP="\"${RUSTFLAGS_NOT_BOOTSTRAP}\"" + echo MAGIC_EXTRA_RUSTFLAGS="\"${MAGIC_EXTRA_RUSTFLAGS}\"" + env | grep "CARGO_TARGET_.*_RUSTFLAGS=" + env | grep "CFLAGS_.*" + echo + einfo "config.toml contents:" + cat "${S}"/config.toml || die + echo +} + +src_compile() { + RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vvv --config="${S}"/config.toml -j$(makeopts_jobs) || die +} + +src_test() { + # https://rustc-dev-guide.rust-lang.org/tests/intro.html + + # those are basic and codegen tests. + local tests=( + codegen + codegen-units + compile-fail + incremental + mir-opt + pretty + run-make + ) + + # fails if llvm is not built with ALL targets. + # and known to fail with system llvm sometimes. + use system-llvm || tests+=( assembly ) + + # fragile/expensive/less important tests + # or tests that require extra builds + # TODO: instead of skipping, just make some nonfatal. + if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then + tests+=( + rustdoc + rustdoc-js + rustdoc-js-std + rustdoc-ui + run-make-fulldeps + ui + ui-fulldeps + ) + fi + + local i failed=() + einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}" + for i in "${tests[@]}"; do + local t="src/test/${i}" + einfo "rust_src_test: running ${t}" + if ! RUST_BACKTRACE=1 "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \ + -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}" + then + failed+=( "${t}" ) + eerror "rust_src_test: ${t} failed" + fi + done + + if [[ ${#failed[@]} -ne 0 ]]; then + eerror "rust_src_test: failure summary: ${failed[@]}" + die "aborting due to test failures" + fi +} + +src_install() { + DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + + # bug #689562, #689160 + rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die + rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + rust-demangler + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use miri && symlinks+=( miri cargo-miri ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /usr/lib/rust//bin/rustc- + # need to fix eselect-rust to remove this hack. + local ver_i="${i}-${PV}" + if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then + einfo "Installing ${i} symlink" + ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die + else + ewarn "${i} symlink requested, but source file not found" + ewarn "please report this" + fi + dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" + dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" + dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" + dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" + dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" + + newenvd - "50${P}" <<-_EOF_ + LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}" + MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-demangler + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/libexec + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + + if use dist; then + insinto "/usr/lib/${PN}/${PV}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_postinst() { + eselect rust update + + if has_version dev-debug/gdb || has_version dev-debug/lldb; then + elog "Rust installs a helper script for calling GDB and LLDB," + elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.79.0-r100.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.79.0-r100.ebuild new file mode 100644 index 00000000000..bf13cf11984 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.79.0-r100.ebuild @@ -0,0 +1,768 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 18 ) +PYTHON_COMPAT=( python3_{10..13} ) + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing \ + multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86" +fi + +RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +SRC_URI=" + https://static.rust-lang.org/dist/${SRC} + verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) + !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) +" +S="${WORKDIR}/${MY_P}-src" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "sys-devel/llvm:\${LLVM_SLOT}[${_x}]") )" ) +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'sys-devel/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'sys-devel/llvm:${LLVM_SLOT}')" ) + +# to bootstrap we need at least exactly previous version, or same. +# most of the time previous versions fail to bootstrap with newer +# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, +# but it fails to bootstrap with 1.48.x +# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.json +RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" +RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" +BOOTSTRAP_DEPEND="|| + ( + =dev-lang/rust-"${RUST_DEP_PREV}" + =dev-lang/rust-bin-"${RUST_DEP_PREV}" + =dev-lang/rust-"${RUST_DEP_CURR}" + =dev-lang/rust-bin-"${RUST_DEP_CURR}" + ) +" + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7 + >=sys-devel/clang-3.5 + ) + system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) + !system-llvm? ( + >=dev-build/cmake-3.13.4 + app-alternatives/ninja + ) + test? ( dev-debug/gdb ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +DEPEND=" + >=app-arch/xz-utils-5.2 + net-misc/curl:=[http2,ssl] + sys-libs/zlib:= + dev-libs/openssl:0= + system-llvm? ( + ${LLVM_DEPEND[*]} + llvm-libunwind? ( sys-libs/llvm-libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" + +REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) + miri? ( nightly ) + parallel-compiler? ( nightly ) + rust-analyzer? ( rust-src ) + test? ( ${ALL_LLVM_TARGETS[*]} ) + wasm? ( llvm_targets_WebAssembly ) + x86? ( cpu_flags_x86_sse2 ) +" + +# we don't use cmake.eclass, but can get a warning +CMAKE_WARN_UNUSED_CLI=no + +QA_FLAGS_IGNORED=" + usr/lib/${PN}/${PV}/bin/.* + usr/lib/${PN}/${PV}/libexec/.* + usr/lib/${PN}/${PV}/lib/lib.*.so + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_SONAME=" + usr/lib/${PN}/${PV}/lib/lib.*.so.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_PRESTRIPPED=" + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/rust-llvm-dwp + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/self-contained/crtn.o +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +# causes double bootstrap +RESTRICT="test" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc + +PATCHES=( + "${FILESDIR}"/1.78.0-musl-dynamic-linking.patch + "${FILESDIR}"/1.74.1-cross-compile-libz.patch + #"${FILESDIR}"/1.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh + "${FILESDIR}"/1.78.0-ignore-broken-and-non-applicable-tests.patch + "${FILESDIR}"/1.67.0-doc-wasm.patch + "${FILESDIR}"/1.79.0-revert-8c40426.patch +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +bootstrap_rust_version_check() { + # never call from pkg_pretend. eselect-rust may be not installed yet. + [[ ${MERGE_TYPE} == binary ]] && return + local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" + local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" + local rustc_version=( $(eselect --brief --root="${BROOT}" rust show 2>/dev/null) ) + rustc_version=${rustc_version[0]#rust-bin-} + rustc_version=${rustc_version#rust-} + + [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" + + if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then + eerror "Rust >=${rustc_wanted} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too old" + elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then + eerror "Rust <${rustc_toonew} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too new" + else + einfo "Using rust ${rustc_version} to build" + fi +} + +pre_build_checks() { + local M=8192 + # multiply requirements by 1.3 if we are doing x86-multilib + if use amd64; then + M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) + fi + M=$(( $(usex clippy 128 0) + ${M} )) + M=$(( $(usex miri 128 0) + ${M} )) + M=$(( $(usex rustfmt 256 0) + ${M} )) + # add 2G if we compile llvm and 256M per llvm_target + if ! use system-llvm; then + M=$(( 2048 + ${M} )) + local ltarget + for ltarget in ${ALL_LLVM_TARGETS[@]}; do + M=$(( $(usex ${ltarget} 256 0) + ${M} )) + done + fi + M=$(( $(usex wasm 256 0) + ${M} )) + M=$(( $(usex debug 2 1) * ${M} )) + eshopts_push -s extglob + if is-flagq '-g?(gdb)?([1-9])'; then + M=$(( 15 * ${M} / 10 )) + fi + eshopts_pop + M=$(( $(usex system-bootstrap 0 1024) + ${M} )) + M=$(( $(usex doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include +#if defined(_LIBCPP_VERSION) + HAVE_LIBCXX +#endif +' + local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 + [[ ${out} == *HAVE_LIBCXX* ]] +} + +pkg_pretend() { + pre_build_checks +} + +pkg_setup() { + pre_build_checks + python-any-r1_pkg_setup + + export LIBGIT2_NO_PKG_CONFIG=1 #749381 + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ROOT}/usr/include" + export OPENSSL_LIB_DIR="${ROOT}/usr/$(get_libdir)" + + use system-bootstrap || die "USE=system-bootstrap is required when cross-compiling" + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + use system-bootstrap && bootstrap_rust_version_check + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix)/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +esetup_unwind_hack() { + # https://bugs.gentoo.org/870280 + # this is a hack needed to bootstrap with libgcc_s linked tarball on llvm-libunwind system. + # it should trigger for internal bootstrap or system-bootstrap with rust-bin. + # the whole idea is for stage0 to bootstrap with fake libgcc_s. + # final stage will receive -L${T}/lib but not -lgcc_s args, producing clean compiler. + local fakelib="${T}/fakelib" + mkdir -p "${fakelib}" || die + # we need both symlinks, one for cargo runtime, other for linker. + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so.1" || die + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so" || die + export LD_LIBRARY_PATH="${fakelib}" + export RUSTFLAGS+=" -L${fakelib}" + # this is a literally magic variable that gets through cargo cache, without it some + # crates ignore RUSTFLAGS. + # this variable can not contain leading space. + export MAGIC_EXTRA_RUSTFLAGS+="${MAGIC_EXTRA_RUSTFLAGS:+ }-L${fakelib}" +} + +src_prepare() { + # Clear vendor checksums for crates that we patched to bump libc. + # NOTE: refresh this on each bump. + #for i in addr2line-0.20.0 bstr cranelift-jit crossbeam-channel elasticlunr-rs handlebars icu_locid libffi \ + # terminal_size tracing-tree; do + # clear_vendor_checksums "${i}" + #done + + if ! use system-bootstrap; then + has_version sys-devel/gcc || esetup_unwind_hack + local rust_stage0_root="${WORKDIR}"/rust-stage0 + local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi "${CBUILD}")" + + "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ + --without=rust-docs-json-preview,rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die + fi + + default +} + +src_configure() { + filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 + + local rust_target="" rust_targets="" arch_cflags + + # Collect rust target names to compile standard libs for all ABIs. + for v in $(multilib_get_enabled_abi_pairs); do + rust_targets+=",\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" + done + if use wasm; then + rust_targets+=",\"wasm32-unknown-unknown\"" + if use system-llvm; then + # un-hardcode rust-lld linker for this target + # https://bugs.gentoo.org/715348 + sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/base/wasm.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + # cargo and rustdoc are mandatory and should always be included + local tools='"cargo","rustdoc", "rust-demangler"' + use clippy && tools+=',"clippy"' + use miri && tools+=',"miri"' + use rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' + use rust-src && tools+=',"src"' + + local rust_stage0_root + if use system-bootstrap; then + local printsysroot + printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" + rust_stage0_root="${printsysroot}" + else + rust_stage0_root="${WORKDIR}"/rust-stage0 + fi + # in case of prefix it will be already prefixed, as --print sysroot returns full path + [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" + + rust_target="$(rust_abi)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + local cm_btype="$(usex debug DEBUG RELEASE)" + cat <<- _EOF_ > "${S}"/config.toml + [llvm] + download-ci-llvm = false + optimize = $(toml_usex !debug) + release-debuginfo = $(toml_usex debug) + assertions = $(toml_usex debug) + ninja = true + targets = "${LLVM_TARGETS// /;}" + experimental-targets = "" + link-shared = $(toml_usex system-llvm) + $(if is_libcxx_linked; then + # https://bugs.gentoo.org/732632 + echo "use-libcxx = true" + echo "static-libstdcpp = false" + fi) + $(case "${rust_target}" in + i586-*-linux-*) + # https://github.com/rust-lang/rust/issues/93059 + echo 'cflags = "-fcf-protection=none"' + echo 'cxxflags = "-fcf-protection=none"' + echo 'ldflags = "-fcf-protection=none"' + ;; + *) + ;; + esac) + enable-warnings = false + [llvm.build-config] + CMAKE_VERBOSE_MAKEFILE = "ON" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + target = [${rust_targets}] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + docs = $(toml_usex doc) + compiler-docs = false + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = true + tools = [${tools}] + verbose = 2 + sanitizers = false + profiler = true + cargo-native-static = false + [install] + prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" + sysconfdir = "etc" + docdir = "share/doc/rust" + bindir = "bin" + libdir = "lib" + mandir = "share/man" + [rust] + # https://github.com/rust-lang/rust/issues/54872 + codegen-units-std = 1 + optimize = true + debug = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + debug-assertions-std = $(toml_usex debug) + debuginfo-level = $(usex debug 2 0) + debuginfo-level-rustc = $(usex debug 2 0) + debuginfo-level-std = $(usex debug 2 0) + debuginfo-level-tools = $(usex debug 2 0) + debuginfo-level-tests = 0 + backtrace = true + incremental = false + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + description = "gentoo" + rpath = false + verbose-tests = true + optimize-tests = $(toml_usex !debug) + codegen-tests = true + dist-src = false + remap-debuginfo = true + lld = $(usex system-llvm false $(toml_usex wasm)) + # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it + # https://github.com/rust-lang/rust/issues/74976 + # https://github.com/rust-lang/rust/issues/76526 + deny-warnings = $(usex wasm $(usex doc false true) true) + backtrace-on-ice = true + jemalloc = false + # See https://github.com/rust-lang/rust/issues/121124 + lto = "$(usex lto thin off)" + [dist] + src-tarball = false + compression-formats = ["xz"] + compression-profile = "balanced" + _EOF_ + + for v in $(multilib_get_enabled_abi_pairs); do + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + arch_cflags="$(get_abi_CFLAGS ${v##*.})" + + export CFLAGS_${rust_target//-/_}="${arch_cflags}" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${rust_target}] + ar = "$(tc-getAR)" + cc = "$(tc-getCC)" + cxx = "$(tc-getCXX)" + linker = "$(tc-getCC)" + ranlib = "$(tc-getRANLIB)" + llvm-libunwind = "$(usex llvm-libunwind $(usex system-llvm system in-tree) no)" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + # by default librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; + # but we patch it and set to false here as well + if use elibc_musl; then + cat <<- _EOF_ >> "${S}"/config.toml + crt-static = false + musl-root = "$($(tc-getCC) -print-sysroot)/usr" + _EOF_ + fi + done + if use wasm; then + wasm_target="wasm32-unknown-unknown" + export CFLAGS_${wasm_target//-/_}="$(filter-flags '-mcpu*' '-march*' '-mtune*'; echo "$CFLAGS")" + cat <<- _EOF_ >> "${S}"/config.toml + [target.wasm32-unknown-unknown] + linker = "$(usex system-llvm lld rust-lld)" + # wasm target does not have profiler_builtins https://bugs.gentoo.org/848483 + profiler = false + _EOF_ + fi + + if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below + # experimental cross support + # discussion: https://bugs.gentoo.org/679878 + # TODO: c*flags, clang, system-llvm, cargo.eclass target support + # it would be much better if we could split out stdlib + # complilation to separate ebuild and abuse CATEGORY to + # just install to /usr/lib/rustlib/ + + # extra targets defined as a bash array + # spec format: :: + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form :: + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, : + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + ar = "${cross_toolchain}-ar" + cc = "${cross_toolchain}-gcc" + cxx = "${cross_toolchain}-g++" + linker = "${cross_toolchain}-gcc" + ranlib = "${cross_toolchain}-ranlib" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + if [[ "${cross_toolchain}" == *-musl* ]]; then + cat <<- _EOF_ >> "${S}"/config.toml + musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" + _EOF_ + fi + + # append cross target to "normal" target list + # example 'target = ["powerpc64le-unknown-linux-gnu"]' + # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' + + rust_targets="${rust_targets},\"${cross_rust_target}\"" + sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die + + ewarn + ewarn "Enabled ${cross_rust_target} rust target" + ewarn "Using ${cross_toolchain} cross toolchain" + ewarn + if ! has_version -b 'sys-devel/binutils[multitarget]' ; then + ewarn "'sys-devel/binutils[multitarget]' is not installed" + ewarn "'strip' will be unable to strip cross libraries" + ewarn "cross targets will be installed with full debug information" + ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" + ewarn + ewarn "Alternatively llvm-strip can be used, it supports stripping any target" + ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" + ewarn + fi + done + fi # I_KNOW_WHAT_I_AM_DOING_CROSS + + einfo "Rust configured with the following flags:" + echo + echo RUSTFLAGS="\"${RUSTFLAGS}\"" + echo RUSTFLAGS_BOOTSTRAP="\"${RUSTFLAGS_BOOTSTRAP}\"" + echo RUSTFLAGS_NOT_BOOTSTRAP="\"${RUSTFLAGS_NOT_BOOTSTRAP}\"" + echo MAGIC_EXTRA_RUSTFLAGS="\"${MAGIC_EXTRA_RUSTFLAGS}\"" + env | grep "CARGO_TARGET_.*_RUSTFLAGS=" + env | grep "CFLAGS_.*" + echo + einfo "config.toml contents:" + cat "${S}"/config.toml || die + echo +} + +src_compile() { + RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vvv --config="${S}"/config.toml -j$(makeopts_jobs) || die +} + +src_test() { + # https://rustc-dev-guide.rust-lang.org/tests/intro.html + + # those are basic and codegen tests. + local tests=( + codegen + codegen-units + compile-fail + incremental + mir-opt + pretty + run-make + ) + + # fails if llvm is not built with ALL targets. + # and known to fail with system llvm sometimes. + use system-llvm || tests+=( assembly ) + + # fragile/expensive/less important tests + # or tests that require extra builds + # TODO: instead of skipping, just make some nonfatal. + if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then + tests+=( + rustdoc + rustdoc-js + rustdoc-js-std + rustdoc-ui + run-make-fulldeps + ui + ui-fulldeps + ) + fi + + local i failed=() + einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}" + for i in "${tests[@]}"; do + local t="src/test/${i}" + einfo "rust_src_test: running ${t}" + if ! RUST_BACKTRACE=1 "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \ + -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}" + then + failed+=( "${t}" ) + eerror "rust_src_test: ${t} failed" + fi + done + + if [[ ${#failed[@]} -ne 0 ]]; then + eerror "rust_src_test: failure summary: ${failed[@]}" + die "aborting due to test failures" + fi +} + +src_install() { + DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + + # bug #689562, #689160 + rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die + rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + rust-demangler + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use miri && symlinks+=( miri cargo-miri ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /usr/lib/rust//bin/rustc- + # need to fix eselect-rust to remove this hack. + local ver_i="${i}-${PV}" + if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then + einfo "Installing ${i} symlink" + ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die + else + ewarn "${i} symlink requested, but source file not found" + ewarn "please report this" + fi + dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" + dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" + dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" + dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" + dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" + + newenvd - "50${P}" <<-_EOF_ + LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}" + MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-demangler + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/libexec + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + + if use dist; then + "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + insinto "/usr/lib/${PN}/${PV}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_postinst() { + eselect rust update + + if has_version dev-debug/gdb || has_version dev-debug/lldb; then + elog "Rust installs a helper script for calling GDB and LLDB," + elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.80.1-r100.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.80.1-r100.ebuild new file mode 100644 index 00000000000..782d0f8d92f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.80.1-r100.ebuild @@ -0,0 +1,767 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 18 ) +PYTHON_COMPAT=( python3_{10..13} ) + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing \ + multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86" +fi + +RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +SRC_URI=" + https://static.rust-lang.org/dist/${SRC} + verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) + !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) +" +S="${WORKDIR}/${MY_P}-src" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "sys-devel/llvm:\${LLVM_SLOT}[${_x}]") )" ) +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'sys-devel/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'sys-devel/llvm:${LLVM_SLOT}')" ) + +# to bootstrap we need at least exactly previous version, or same. +# most of the time previous versions fail to bootstrap with newer +# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, +# but it fails to bootstrap with 1.48.x +# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.json +RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" +RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" +BOOTSTRAP_DEPEND="|| + ( + =dev-lang/rust-"${RUST_DEP_PREV}" + =dev-lang/rust-bin-"${RUST_DEP_PREV}" + =dev-lang/rust-"${RUST_DEP_CURR}" + =dev-lang/rust-bin-"${RUST_DEP_CURR}" + ) +" + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7 + >=sys-devel/clang-3.5 + ) + system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) + !system-llvm? ( + >=dev-build/cmake-3.13.4 + app-alternatives/ninja + ) + test? ( dev-debug/gdb ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +DEPEND=" + >=app-arch/xz-utils-5.2 + net-misc/curl:=[http2,ssl] + sys-libs/zlib:= + dev-libs/openssl:0= + system-llvm? ( + ${LLVM_DEPEND[*]} + llvm-libunwind? ( sys-libs/llvm-libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" + +REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) + miri? ( nightly ) + parallel-compiler? ( nightly ) + rust-analyzer? ( rust-src ) + test? ( ${ALL_LLVM_TARGETS[*]} ) + wasm? ( llvm_targets_WebAssembly ) + x86? ( cpu_flags_x86_sse2 ) +" + +# we don't use cmake.eclass, but can get a warning +CMAKE_WARN_UNUSED_CLI=no + +QA_FLAGS_IGNORED=" + usr/lib/${PN}/${PV}/bin/.* + usr/lib/${PN}/${PV}/libexec/.* + usr/lib/${PN}/${PV}/lib/lib.*.so + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_SONAME=" + usr/lib/${PN}/${PV}/lib/lib.*.so.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_PRESTRIPPED=" + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/rust-llvm-dwp + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/self-contained/crtn.o +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +# causes double bootstrap +RESTRICT="test" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc + +PATCHES=( + "${FILESDIR}"/1.78.0-musl-dynamic-linking.patch + "${FILESDIR}"/1.74.1-cross-compile-libz.patch + #"${FILESDIR}"/1.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh + "${FILESDIR}"/1.67.0-doc-wasm.patch + "${FILESDIR}"/1.79.0-revert-8c40426.patch +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +bootstrap_rust_version_check() { + # never call from pkg_pretend. eselect-rust may be not installed yet. + [[ ${MERGE_TYPE} == binary ]] && return + local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" + local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" + local rustc_version=( $(eselect --brief --root="${BROOT}" rust show 2>/dev/null) ) + rustc_version=${rustc_version[0]#rust-bin-} + rustc_version=${rustc_version#rust-} + + [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" + + if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then + eerror "Rust >=${rustc_wanted} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too old" + elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then + eerror "Rust <${rustc_toonew} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too new" + else + einfo "Using rust ${rustc_version} to build" + fi +} + +pre_build_checks() { + local M=8192 + # multiply requirements by 1.3 if we are doing x86-multilib + if use amd64; then + M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) + fi + M=$(( $(usex clippy 128 0) + ${M} )) + M=$(( $(usex miri 128 0) + ${M} )) + M=$(( $(usex rustfmt 256 0) + ${M} )) + # add 2G if we compile llvm and 256M per llvm_target + if ! use system-llvm; then + M=$(( 2048 + ${M} )) + local ltarget + for ltarget in ${ALL_LLVM_TARGETS[@]}; do + M=$(( $(usex ${ltarget} 256 0) + ${M} )) + done + fi + M=$(( $(usex wasm 256 0) + ${M} )) + M=$(( $(usex debug 2 1) * ${M} )) + eshopts_push -s extglob + if is-flagq '-g?(gdb)?([1-9])'; then + M=$(( 15 * ${M} / 10 )) + fi + eshopts_pop + M=$(( $(usex system-bootstrap 0 1024) + ${M} )) + M=$(( $(usex doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include +#if defined(_LIBCPP_VERSION) + HAVE_LIBCXX +#endif +' + local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 + [[ ${out} == *HAVE_LIBCXX* ]] +} + +pkg_pretend() { + pre_build_checks +} + +pkg_setup() { + pre_build_checks + python-any-r1_pkg_setup + + export LIBGIT2_NO_PKG_CONFIG=1 #749381 + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ROOT}/usr/include" + export OPENSSL_LIB_DIR="${ROOT}/usr/$(get_libdir)" + + use system-bootstrap || die "USE=system-bootstrap is required when cross-compiling" + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + use system-bootstrap && bootstrap_rust_version_check + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix)/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +esetup_unwind_hack() { + # https://bugs.gentoo.org/870280 + # this is a hack needed to bootstrap with libgcc_s linked tarball on llvm-libunwind system. + # it should trigger for internal bootstrap or system-bootstrap with rust-bin. + # the whole idea is for stage0 to bootstrap with fake libgcc_s. + # final stage will receive -L${T}/lib but not -lgcc_s args, producing clean compiler. + local fakelib="${T}/fakelib" + mkdir -p "${fakelib}" || die + # we need both symlinks, one for cargo runtime, other for linker. + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so.1" || die + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so" || die + export LD_LIBRARY_PATH="${fakelib}" + export RUSTFLAGS+=" -L${fakelib}" + # this is a literally magic variable that gets through cargo cache, without it some + # crates ignore RUSTFLAGS. + # this variable can not contain leading space. + export MAGIC_EXTRA_RUSTFLAGS+="${MAGIC_EXTRA_RUSTFLAGS:+ }-L${fakelib}" +} + +src_prepare() { + # Clear vendor checksums for crates that we patched to bump libc. + # NOTE: refresh this on each bump. + #for i in addr2line-0.20.0 bstr cranelift-jit crossbeam-channel elasticlunr-rs handlebars icu_locid libffi \ + # terminal_size tracing-tree; do + # clear_vendor_checksums "${i}" + #done + + if ! use system-bootstrap; then + has_version sys-devel/gcc || esetup_unwind_hack + local rust_stage0_root="${WORKDIR}"/rust-stage0 + local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi "${CBUILD}")" + + "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ + --without=rust-docs-json-preview,rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die + fi + + default +} + +src_configure() { + filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 + + local rust_target="" rust_targets="" arch_cflags + + # Collect rust target names to compile standard libs for all ABIs. + for v in $(multilib_get_enabled_abi_pairs); do + rust_targets+=",\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" + done + if use wasm; then + rust_targets+=",\"wasm32-unknown-unknown\"" + if use system-llvm; then + # un-hardcode rust-lld linker for this target + # https://bugs.gentoo.org/715348 + sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/base/wasm.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + # cargo and rustdoc are mandatory and should always be included + local tools='"cargo","rustdoc"' + use clippy && tools+=',"clippy"' + use miri && tools+=',"miri"' + use rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' + use rust-src && tools+=',"src"' + + local rust_stage0_root + if use system-bootstrap; then + local printsysroot + printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" + rust_stage0_root="${printsysroot}" + else + rust_stage0_root="${WORKDIR}"/rust-stage0 + fi + # in case of prefix it will be already prefixed, as --print sysroot returns full path + [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" + + rust_target="$(rust_abi)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + local cm_btype="$(usex debug DEBUG RELEASE)" + cat <<- _EOF_ > "${S}"/config.toml + [llvm] + download-ci-llvm = false + optimize = $(toml_usex !debug) + release-debuginfo = $(toml_usex debug) + assertions = $(toml_usex debug) + ninja = true + targets = "${LLVM_TARGETS// /;}" + experimental-targets = "" + link-shared = $(toml_usex system-llvm) + $(if is_libcxx_linked; then + # https://bugs.gentoo.org/732632 + echo "use-libcxx = true" + echo "static-libstdcpp = false" + fi) + $(case "${rust_target}" in + i586-*-linux-*) + # https://github.com/rust-lang/rust/issues/93059 + echo 'cflags = "-fcf-protection=none"' + echo 'cxxflags = "-fcf-protection=none"' + echo 'ldflags = "-fcf-protection=none"' + ;; + *) + ;; + esac) + enable-warnings = false + [llvm.build-config] + CMAKE_VERBOSE_MAKEFILE = "ON" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + target = [${rust_targets}] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + docs = $(toml_usex doc) + compiler-docs = false + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = true + tools = [${tools}] + verbose = 2 + sanitizers = false + profiler = true + cargo-native-static = false + [install] + prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" + sysconfdir = "etc" + docdir = "share/doc/rust" + bindir = "bin" + libdir = "lib" + mandir = "share/man" + [rust] + # https://github.com/rust-lang/rust/issues/54872 + codegen-units-std = 1 + optimize = true + debug = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + debug-assertions-std = $(toml_usex debug) + debuginfo-level = $(usex debug 2 0) + debuginfo-level-rustc = $(usex debug 2 0) + debuginfo-level-std = $(usex debug 2 0) + debuginfo-level-tools = $(usex debug 2 0) + debuginfo-level-tests = 0 + backtrace = true + incremental = false + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + description = "gentoo" + rpath = false + verbose-tests = true + optimize-tests = $(toml_usex !debug) + codegen-tests = true + dist-src = false + remap-debuginfo = true + lld = $(usex system-llvm false $(toml_usex wasm)) + # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it + # https://github.com/rust-lang/rust/issues/74976 + # https://github.com/rust-lang/rust/issues/76526 + deny-warnings = $(usex wasm $(usex doc false true) true) + backtrace-on-ice = true + jemalloc = false + # See https://github.com/rust-lang/rust/issues/121124 + lto = "$(usex lto thin off)" + [dist] + src-tarball = false + compression-formats = ["xz"] + compression-profile = "balanced" + _EOF_ + + for v in $(multilib_get_enabled_abi_pairs); do + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + arch_cflags="$(get_abi_CFLAGS ${v##*.})" + + export CFLAGS_${rust_target//-/_}="${arch_cflags}" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${rust_target}] + ar = "$(tc-getAR)" + cc = "$(tc-getCC)" + cxx = "$(tc-getCXX)" + linker = "$(tc-getCC)" + ranlib = "$(tc-getRANLIB)" + llvm-libunwind = "$(usex llvm-libunwind $(usex system-llvm system in-tree) no)" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + # by default librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; + # but we patch it and set to false here as well + if use elibc_musl; then + cat <<- _EOF_ >> "${S}"/config.toml + crt-static = false + musl-root = "$($(tc-getCC) -print-sysroot)/usr" + _EOF_ + fi + done + if use wasm; then + wasm_target="wasm32-unknown-unknown" + export CFLAGS_${wasm_target//-/_}="$(filter-flags '-mcpu*' '-march*' '-mtune*'; echo "$CFLAGS")" + cat <<- _EOF_ >> "${S}"/config.toml + [target.wasm32-unknown-unknown] + linker = "$(usex system-llvm lld rust-lld)" + # wasm target does not have profiler_builtins https://bugs.gentoo.org/848483 + profiler = false + _EOF_ + fi + + if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below + # experimental cross support + # discussion: https://bugs.gentoo.org/679878 + # TODO: c*flags, clang, system-llvm, cargo.eclass target support + # it would be much better if we could split out stdlib + # complilation to separate ebuild and abuse CATEGORY to + # just install to /usr/lib/rustlib/ + + # extra targets defined as a bash array + # spec format: :: + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form :: + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, : + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + ar = "${cross_toolchain}-ar" + cc = "${cross_toolchain}-gcc" + cxx = "${cross_toolchain}-g++" + linker = "${cross_toolchain}-gcc" + ranlib = "${cross_toolchain}-ranlib" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + if [[ "${cross_toolchain}" == *-musl* ]]; then + cat <<- _EOF_ >> "${S}"/config.toml + musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" + _EOF_ + fi + + # append cross target to "normal" target list + # example 'target = ["powerpc64le-unknown-linux-gnu"]' + # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' + + rust_targets="${rust_targets},\"${cross_rust_target}\"" + sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die + + ewarn + ewarn "Enabled ${cross_rust_target} rust target" + ewarn "Using ${cross_toolchain} cross toolchain" + ewarn + if ! has_version -b 'sys-devel/binutils[multitarget]' ; then + ewarn "'sys-devel/binutils[multitarget]' is not installed" + ewarn "'strip' will be unable to strip cross libraries" + ewarn "cross targets will be installed with full debug information" + ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" + ewarn + ewarn "Alternatively llvm-strip can be used, it supports stripping any target" + ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" + ewarn + fi + done + fi # I_KNOW_WHAT_I_AM_DOING_CROSS + + einfo "Rust configured with the following flags:" + echo + echo RUSTFLAGS="\"${RUSTFLAGS}\"" + echo RUSTFLAGS_BOOTSTRAP="\"${RUSTFLAGS_BOOTSTRAP}\"" + echo RUSTFLAGS_NOT_BOOTSTRAP="\"${RUSTFLAGS_NOT_BOOTSTRAP}\"" + echo MAGIC_EXTRA_RUSTFLAGS="\"${MAGIC_EXTRA_RUSTFLAGS}\"" + env | grep "CARGO_TARGET_.*_RUSTFLAGS=" + env | grep "CFLAGS_.*" + echo + einfo "config.toml contents:" + cat "${S}"/config.toml || die + echo +} + +src_compile() { + RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vvv --config="${S}"/config.toml -j$(makeopts_jobs) || die +} + +src_test() { + # https://rustc-dev-guide.rust-lang.org/tests/intro.html + + # those are basic and codegen tests. + local tests=( + codegen + codegen-units + compile-fail + incremental + mir-opt + pretty + run-make + ) + + # fails if llvm is not built with ALL targets. + # and known to fail with system llvm sometimes. + use system-llvm || tests+=( assembly ) + + # fragile/expensive/less important tests + # or tests that require extra builds + # TODO: instead of skipping, just make some nonfatal. + if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then + tests+=( + rustdoc + rustdoc-js + rustdoc-js-std + rustdoc-ui + run-make-fulldeps + ui + ui-fulldeps + ) + fi + + local i failed=() + einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}" + for i in "${tests[@]}"; do + local t="src/test/${i}" + einfo "rust_src_test: running ${t}" + if ! RUST_BACKTRACE=1 "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \ + -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}" + then + failed+=( "${t}" ) + eerror "rust_src_test: ${t} failed" + fi + done + + if [[ ${#failed[@]} -ne 0 ]]; then + eerror "rust_src_test: failure summary: ${failed[@]}" + die "aborting due to test failures" + fi +} + +src_install() { + DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + + # bug #689562, #689160 + rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die + rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + rust-demangler + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use miri && symlinks+=( miri cargo-miri ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /usr/lib/rust//bin/rustc- + # need to fix eselect-rust to remove this hack. + local ver_i="${i}-${PV}" + if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then + einfo "Installing ${i} symlink" + ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die + else + ewarn "${i} symlink requested, but source file not found" + ewarn "please report this" + fi + dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" + dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" + dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" + dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" + dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" + + newenvd - "50${P}" <<-_EOF_ + LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}" + MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-demangler + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/libexec + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + + if use dist; then + "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + insinto "/usr/lib/${PN}/${PV}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_postinst() { + eselect rust update + + if has_version dev-debug/gdb || has_version dev-debug/lldb; then + elog "Rust installs a helper script for calling GDB and LLDB," + elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.81.0-r100.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.81.0-r100.ebuild new file mode 100644 index 00000000000..a6316b4e46f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.81.0-r100.ebuild @@ -0,0 +1,768 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 18 ) +PYTHON_COMPAT=( python3_{10..13} ) + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \ + multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86" +fi + +RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).1" + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +SRC_URI=" + https://static.rust-lang.org/dist/${SRC} + verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) + !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) +" +S="${WORKDIR}/${MY_P}-src" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "sys-devel/llvm:\${LLVM_SLOT}[${_x}]") )" ) +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'sys-devel/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'sys-devel/llvm:${LLVM_SLOT}')" ) + +# to bootstrap we need at least exactly previous version, or same. +# most of the time previous versions fail to bootstrap with newer +# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, +# but it fails to bootstrap with 1.48.x +# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.json +RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" +RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" +BOOTSTRAP_DEPEND="|| + ( + =dev-lang/rust-"${RUST_DEP_PREV}" + =dev-lang/rust-bin-"${RUST_DEP_PREV}" + =dev-lang/rust-"${RUST_DEP_CURR}" + =dev-lang/rust-bin-"${RUST_DEP_CURR}" + ) +" + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7 + >=sys-devel/clang-3.5 + ) + system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) + !system-llvm? ( + >=dev-build/cmake-3.13.4 + app-alternatives/ninja + ) + test? ( dev-debug/gdb ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +DEPEND=" + >=app-arch/xz-utils-5.2 + net-misc/curl:=[http2,ssl] + sys-libs/zlib:= + dev-libs/openssl:0= + system-llvm? ( + ${LLVM_DEPEND[*]} + llvm-libunwind? ( sys-libs/llvm-libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" + +REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) + miri? ( nightly ) + parallel-compiler? ( nightly ) + rust-analyzer? ( rust-src ) + test? ( ${ALL_LLVM_TARGETS[*]} ) + wasm? ( llvm_targets_WebAssembly ) + x86? ( cpu_flags_x86_sse2 ) +" + +# we don't use cmake.eclass, but can get a warning +CMAKE_WARN_UNUSED_CLI=no + +QA_FLAGS_IGNORED=" + usr/lib/${PN}/${PV}/bin/.* + usr/lib/${PN}/${PV}/libexec/.* + usr/lib/${PN}/${PV}/lib/lib.*.so + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_SONAME=" + usr/lib/${PN}/${PV}/lib/lib.*.so.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_PRESTRIPPED=" + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/rust-llvm-dwp + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/self-contained/crtn.o +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +# causes double bootstrap +RESTRICT="test" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc + +PATCHES=( + "${FILESDIR}"/1.78.0-musl-dynamic-linking.patch + "${FILESDIR}"/1.74.1-cross-compile-libz.patch + #"${FILESDIR}"/1.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh + "${FILESDIR}"/1.67.0-doc-wasm.patch + "${FILESDIR}"/1.79.0-revert-8c40426.patch + "${FILESDIR}/1.81.0-backport-bug937164.patch" + "${FILESDIR}/1.81.0-backport-llvm-pr101761.patch" + "${FILESDIR}/1.81.0-backport-llvm-pr101766.patch" +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +bootstrap_rust_version_check() { + # never call from pkg_pretend. eselect-rust may be not installed yet. + [[ ${MERGE_TYPE} == binary ]] && return + local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" + local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" + local rustc_version=( $(eselect --brief --root="${BROOT}" rust show 2>/dev/null) ) + rustc_version=${rustc_version[0]#rust-bin-} + rustc_version=${rustc_version#rust-} + + [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" + + if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then + eerror "Rust >=${rustc_wanted} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too old" + elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then + eerror "Rust <${rustc_toonew} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too new" + else + einfo "Using rust ${rustc_version} to build" + fi +} + +pre_build_checks() { + local M=8192 + # multiply requirements by 1.3 if we are doing x86-multilib + if use amd64; then + M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) + fi + M=$(( $(usex clippy 128 0) + ${M} )) + M=$(( $(usex miri 128 0) + ${M} )) + M=$(( $(usex rustfmt 256 0) + ${M} )) + # add 2G if we compile llvm and 256M per llvm_target + if ! use system-llvm; then + M=$(( 2048 + ${M} )) + local ltarget + for ltarget in ${ALL_LLVM_TARGETS[@]}; do + M=$(( $(usex ${ltarget} 256 0) + ${M} )) + done + fi + M=$(( $(usex wasm 256 0) + ${M} )) + M=$(( $(usex debug 2 1) * ${M} )) + eshopts_push -s extglob + if is-flagq '-g?(gdb)?([1-9])'; then + M=$(( 15 * ${M} / 10 )) + fi + eshopts_pop + M=$(( $(usex system-bootstrap 0 1024) + ${M} )) + M=$(( $(usex doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include +#if defined(_LIBCPP_VERSION) + HAVE_LIBCXX +#endif +' + local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 + [[ ${out} == *HAVE_LIBCXX* ]] +} + +pkg_pretend() { + pre_build_checks +} + +pkg_setup() { + pre_build_checks + python-any-r1_pkg_setup + + export LIBGIT2_NO_PKG_CONFIG=1 #749381 + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ROOT}/usr/include" + export OPENSSL_LIB_DIR="${ROOT}/usr/$(get_libdir)" + + use system-bootstrap || die "USE=system-bootstrap is required when cross-compiling" + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + use system-bootstrap && bootstrap_rust_version_check + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix)/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +esetup_unwind_hack() { + # https://bugs.gentoo.org/870280 + # this is a hack needed to bootstrap with libgcc_s linked tarball on llvm-libunwind system. + # it should trigger for internal bootstrap or system-bootstrap with rust-bin. + # the whole idea is for stage0 to bootstrap with fake libgcc_s. + # final stage will receive -L${T}/lib but not -lgcc_s args, producing clean compiler. + local fakelib="${T}/fakelib" + mkdir -p "${fakelib}" || die + # we need both symlinks, one for cargo runtime, other for linker. + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so.1" || die + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so" || die + export LD_LIBRARY_PATH="${fakelib}" + export RUSTFLAGS+=" -L${fakelib}" + # this is a literally magic variable that gets through cargo cache, without it some + # crates ignore RUSTFLAGS. + # this variable can not contain leading space. + export MAGIC_EXTRA_RUSTFLAGS+="${MAGIC_EXTRA_RUSTFLAGS:+ }-L${fakelib}" +} + +src_prepare() { + # Clear vendor checksums for crates that we patched to bump libc. + # NOTE: refresh this on each bump. + #for i in addr2line-0.20.0 bstr cranelift-jit crossbeam-channel elasticlunr-rs handlebars icu_locid libffi \ + # terminal_size tracing-tree; do + # clear_vendor_checksums "${i}" + #done + + if ! use system-bootstrap; then + has_version sys-devel/gcc || esetup_unwind_hack + local rust_stage0_root="${WORKDIR}"/rust-stage0 + local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi "${CBUILD}")" + + "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ + --without=rust-docs-json-preview,rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die + fi + + default +} + +src_configure() { + filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 + + local rust_target="" rust_targets="" arch_cflags + + # Collect rust target names to compile standard libs for all ABIs. + for v in $(multilib_get_enabled_abi_pairs); do + rust_targets+=",\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" + done + if use wasm; then + rust_targets+=",\"wasm32-unknown-unknown\"" + if use system-llvm; then + # un-hardcode rust-lld linker for this target + # https://bugs.gentoo.org/715348 + sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/base/wasm.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + # cargo and rustdoc are mandatory and should always be included + local tools='"cargo","rustdoc"' + use clippy && tools+=',"clippy"' + use miri && tools+=',"miri"' + use rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' + use rust-src && tools+=',"src"' + + local rust_stage0_root + if use system-bootstrap; then + local printsysroot + printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" + rust_stage0_root="${printsysroot}" + else + rust_stage0_root="${WORKDIR}"/rust-stage0 + fi + # in case of prefix it will be already prefixed, as --print sysroot returns full path + [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" + + rust_target="$(rust_abi)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + local cm_btype="$(usex debug DEBUG RELEASE)" + cat <<- _EOF_ > "${S}"/config.toml + [llvm] + download-ci-llvm = false + optimize = $(toml_usex !debug) + release-debuginfo = $(toml_usex debug) + assertions = $(toml_usex debug) + ninja = true + targets = "${LLVM_TARGETS// /;}" + experimental-targets = "" + link-shared = $(toml_usex system-llvm) + $(if is_libcxx_linked; then + # https://bugs.gentoo.org/732632 + echo "use-libcxx = true" + echo "static-libstdcpp = false" + fi) + $(case "${rust_target}" in + i586-*-linux-*) + # https://github.com/rust-lang/rust/issues/93059 + echo 'cflags = "-fcf-protection=none"' + echo 'cxxflags = "-fcf-protection=none"' + echo 'ldflags = "-fcf-protection=none"' + ;; + *) + ;; + esac) + enable-warnings = false + [llvm.build-config] + CMAKE_VERBOSE_MAKEFILE = "ON" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + target = [${rust_targets}] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + docs = $(toml_usex doc) + compiler-docs = false + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = true + tools = [${tools}] + verbose = 2 + sanitizers = false + profiler = true + cargo-native-static = false + [install] + prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" + sysconfdir = "etc" + docdir = "share/doc/rust" + bindir = "bin" + libdir = "lib" + mandir = "share/man" + [rust] + # https://github.com/rust-lang/rust/issues/54872 + codegen-units-std = 1 + optimize = true + debug = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + debug-assertions-std = $(toml_usex debug) + debuginfo-level = $(usex debug 2 0) + debuginfo-level-rustc = $(usex debug 2 0) + debuginfo-level-std = $(usex debug 2 0) + debuginfo-level-tools = $(usex debug 2 0) + debuginfo-level-tests = 0 + backtrace = true + incremental = false + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + description = "gentoo" + rpath = false + verbose-tests = true + optimize-tests = $(toml_usex !debug) + codegen-tests = true + dist-src = false + remap-debuginfo = true + lld = $(usex system-llvm false $(toml_usex wasm)) + # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it + # https://github.com/rust-lang/rust/issues/74976 + # https://github.com/rust-lang/rust/issues/76526 + deny-warnings = $(usex wasm $(usex doc false true) true) + backtrace-on-ice = true + jemalloc = false + # See https://github.com/rust-lang/rust/issues/121124 + lto = "$(usex lto thin off)" + [dist] + src-tarball = false + compression-formats = ["xz"] + compression-profile = "balanced" + _EOF_ + + for v in $(multilib_get_enabled_abi_pairs); do + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + arch_cflags="$(get_abi_CFLAGS ${v##*.})" + + export CFLAGS_${rust_target//-/_}="${arch_cflags}" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${rust_target}] + ar = "$(tc-getAR)" + cc = "$(tc-getCC)" + cxx = "$(tc-getCXX)" + linker = "$(tc-getCC)" + ranlib = "$(tc-getRANLIB)" + llvm-libunwind = "$(usex llvm-libunwind $(usex system-llvm system in-tree) no)" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + # by default librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; + # but we patch it and set to false here as well + if use elibc_musl; then + cat <<- _EOF_ >> "${S}"/config.toml + crt-static = false + musl-root = "$($(tc-getCC) -print-sysroot)/usr" + _EOF_ + fi + done + if use wasm; then + wasm_target="wasm32-unknown-unknown" + export CFLAGS_${wasm_target//-/_}="$(filter-flags '-mcpu*' '-march*' '-mtune*'; echo "$CFLAGS")" + cat <<- _EOF_ >> "${S}"/config.toml + [target.wasm32-unknown-unknown] + linker = "$(usex system-llvm lld rust-lld)" + # wasm target does not have profiler_builtins https://bugs.gentoo.org/848483 + profiler = false + _EOF_ + fi + + if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below + # experimental cross support + # discussion: https://bugs.gentoo.org/679878 + # TODO: c*flags, clang, system-llvm, cargo.eclass target support + # it would be much better if we could split out stdlib + # complilation to separate ebuild and abuse CATEGORY to + # just install to /usr/lib/rustlib/ + + # extra targets defined as a bash array + # spec format: :: + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form :: + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, : + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + ar = "${cross_toolchain}-ar" + cc = "${cross_toolchain}-gcc" + cxx = "${cross_toolchain}-g++" + linker = "${cross_toolchain}-gcc" + ranlib = "${cross_toolchain}-ranlib" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + if [[ "${cross_toolchain}" == *-musl* ]]; then + cat <<- _EOF_ >> "${S}"/config.toml + musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" + _EOF_ + fi + + # append cross target to "normal" target list + # example 'target = ["powerpc64le-unknown-linux-gnu"]' + # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' + + rust_targets="${rust_targets},\"${cross_rust_target}\"" + sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die + + ewarn + ewarn "Enabled ${cross_rust_target} rust target" + ewarn "Using ${cross_toolchain} cross toolchain" + ewarn + if ! has_version -b 'sys-devel/binutils[multitarget]' ; then + ewarn "'sys-devel/binutils[multitarget]' is not installed" + ewarn "'strip' will be unable to strip cross libraries" + ewarn "cross targets will be installed with full debug information" + ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" + ewarn + ewarn "Alternatively llvm-strip can be used, it supports stripping any target" + ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" + ewarn + fi + done + fi # I_KNOW_WHAT_I_AM_DOING_CROSS + + einfo "Rust configured with the following flags:" + echo + echo RUSTFLAGS="\"${RUSTFLAGS}\"" + echo RUSTFLAGS_BOOTSTRAP="\"${RUSTFLAGS_BOOTSTRAP}\"" + echo RUSTFLAGS_NOT_BOOTSTRAP="\"${RUSTFLAGS_NOT_BOOTSTRAP}\"" + echo MAGIC_EXTRA_RUSTFLAGS="\"${MAGIC_EXTRA_RUSTFLAGS}\"" + env | grep "CARGO_TARGET_.*_RUSTFLAGS=" + env | grep "CFLAGS_.*" + echo + einfo "config.toml contents:" + cat "${S}"/config.toml || die + echo +} + +src_compile() { + RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vvv --config="${S}"/config.toml -j$(makeopts_jobs) || die +} + +src_test() { + # https://rustc-dev-guide.rust-lang.org/tests/intro.html + + # those are basic and codegen tests. + local tests=( + codegen + codegen-units + compile-fail + incremental + mir-opt + pretty + run-make + ) + + # fails if llvm is not built with ALL targets. + # and known to fail with system llvm sometimes. + use system-llvm || tests+=( assembly ) + + # fragile/expensive/less important tests + # or tests that require extra builds + # TODO: instead of skipping, just make some nonfatal. + if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then + tests+=( + rustdoc + rustdoc-js + rustdoc-js-std + rustdoc-ui + run-make-fulldeps + ui + ui-fulldeps + ) + fi + + local i failed=() + einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}" + for i in "${tests[@]}"; do + local t="src/test/${i}" + einfo "rust_src_test: running ${t}" + if ! RUST_BACKTRACE=1 "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \ + -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}" + then + failed+=( "${t}" ) + eerror "rust_src_test: ${t} failed" + fi + done + + if [[ ${#failed[@]} -ne 0 ]]; then + eerror "rust_src_test: failure summary: ${failed[@]}" + die "aborting due to test failures" + fi +} + +src_install() { + DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + + # bug #689562, #689160 + rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die + rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use miri && symlinks+=( miri cargo-miri ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /usr/lib/rust//bin/rustc- + # need to fix eselect-rust to remove this hack. + local ver_i="${i}-${PV}" + if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then + einfo "Installing ${i} symlink" + ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die + else + ewarn "${i} symlink requested, but source file not found" + ewarn "please report this" + fi + dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" + dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" + dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" + dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" + dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" + + newenvd - "50${P}" <<-_EOF_ + LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}" + MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/libexec + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + + if use dist; then + "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + insinto "/usr/lib/${PN}/${PV}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_postinst() { + eselect rust update + + if has_version dev-debug/gdb || has_version dev-debug/lldb; then + elog "Rust installs a helper script for calling GDB and LLDB," + elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + optfeature "emacs support for rust" app-emacs/rust-mode + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + optfeature "vim support for rust" app-vim/rust-vim + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.81.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.81.0.ebuild index ac68dcd023c..afae19143e3 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.81.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.81.0.ebuild @@ -19,7 +19,7 @@ else SLOT="stable/${ABI_VER}" MY_P="rustc-${PV}" SRC="${MY_P}-src.tar.xz" - KEYWORDS="amd64 arm arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc x86" + KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86" fi RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).1" diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.82.0-r100.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.82.0-r100.ebuild new file mode 100644 index 00000000000..6cba749daef --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.82.0-r100.ebuild @@ -0,0 +1,775 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 19 ) +PYTHON_COMPAT=( python3_{10..13} ) + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \ + multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +SRC_URI=" + https://static.rust-lang.org/dist/${SRC} + verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) + !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) +" +S="${WORKDIR}/${MY_P}-src" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV}" + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "sys-devel/llvm:\${LLVM_SLOT}[${_x}]") )" ) +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'sys-devel/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'sys-devel/llvm:${LLVM_SLOT}')" ) + +# to bootstrap we need at least exactly previous version, or same. +# most of the time previous versions fail to bootstrap with newer +# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, +# but it fails to bootstrap with 1.48.x +# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.json +RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" +RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" +BOOTSTRAP_DEPEND="|| + ( + =dev-lang/rust-"${RUST_DEP_PREV}" + =dev-lang/rust-bin-"${RUST_DEP_PREV}" + =dev-lang/rust-"${RUST_DEP_CURR}" + =dev-lang/rust-bin-"${RUST_DEP_CURR}" + ) +" + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7 + >=sys-devel/clang-3.5 + ) + system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) + !system-llvm? ( + >=dev-build/cmake-3.13.4 + app-alternatives/ninja + ) + test? ( dev-debug/gdb ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +DEPEND=" + >=app-arch/xz-utils-5.2 + net-misc/curl:=[http2,ssl] + sys-libs/zlib:= + dev-libs/openssl:0= + system-llvm? ( + ${LLVM_DEPEND[*]} + llvm-libunwind? ( sys-libs/llvm-libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" + +REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) + miri? ( nightly ) + parallel-compiler? ( nightly ) + rust-analyzer? ( rust-src ) + test? ( ${ALL_LLVM_TARGETS[*]} ) + wasm? ( llvm_targets_WebAssembly ) + x86? ( cpu_flags_x86_sse2 ) +" + +# we don't use cmake.eclass, but can get a warning +CMAKE_WARN_UNUSED_CLI=no + +QA_FLAGS_IGNORED=" + usr/lib/${PN}/${PV}/bin/.* + usr/lib/${PN}/${PV}/libexec/.* + usr/lib/${PN}/${PV}/lib/lib.*.so + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_SONAME=" + usr/lib/${PN}/${PV}/lib/lib.*.so.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_PRESTRIPPED=" + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/rust-llvm-dwp + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/self-contained/crtn.o +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +# causes double bootstrap +RESTRICT="test" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc + +PATCHES=( + "${FILESDIR}"/1.78.0-musl-dynamic-linking.patch + "${FILESDIR}"/1.74.1-cross-compile-libz.patch + #"${FILESDIR}"/1.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh + "${FILESDIR}"/1.67.0-doc-wasm.patch + "${FILESDIR}"/1.79.0-revert-8c40426.patch +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +bootstrap_rust_version_check() { + # never call from pkg_pretend. eselect-rust may be not installed yet. + [[ ${MERGE_TYPE} == binary ]] && return + local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" + local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" + local rustc_version=( $(eselect --brief --root="${BROOT}" rust show 2>/dev/null) ) + rustc_version=${rustc_version[0]#rust-bin-} + rustc_version=${rustc_version#rust-} + + [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" + + if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then + eerror "Rust >=${rustc_wanted} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too old" + elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then + eerror "Rust <${rustc_toonew} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too new" + else + einfo "Using rust ${rustc_version} to build" + fi +} + +pre_build_checks() { + local M=8192 + # multiply requirements by 1.3 if we are doing x86-multilib + if use amd64; then + M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) + fi + M=$(( $(usex clippy 128 0) + ${M} )) + M=$(( $(usex miri 128 0) + ${M} )) + M=$(( $(usex rustfmt 256 0) + ${M} )) + # add 2G if we compile llvm and 256M per llvm_target + if ! use system-llvm; then + M=$(( 2048 + ${M} )) + local ltarget + for ltarget in ${ALL_LLVM_TARGETS[@]}; do + M=$(( $(usex ${ltarget} 256 0) + ${M} )) + done + fi + M=$(( $(usex wasm 256 0) + ${M} )) + M=$(( $(usex debug 2 1) * ${M} )) + eshopts_push -s extglob + if is-flagq '-g?(gdb)?([1-9])'; then + M=$(( 15 * ${M} / 10 )) + fi + eshopts_pop + M=$(( $(usex system-bootstrap 0 1024) + ${M} )) + M=$(( $(usex doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include +#if defined(_LIBCPP_VERSION) + HAVE_LIBCXX +#endif +' + local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 + [[ ${out} == *HAVE_LIBCXX* ]] +} + +pkg_pretend() { + pre_build_checks +} + +pkg_setup() { + pre_build_checks + python-any-r1_pkg_setup + + export LIBGIT2_NO_PKG_CONFIG=1 #749381 + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ROOT}/usr/include" + export OPENSSL_LIB_DIR="${ROOT}/usr/$(get_libdir)" + + use system-bootstrap || die "USE=system-bootstrap is required when cross-compiling" + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + use system-bootstrap && bootstrap_rust_version_check + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix)/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +esetup_unwind_hack() { + # https://bugs.gentoo.org/870280 + # this is a hack needed to bootstrap with libgcc_s linked tarball on llvm-libunwind system. + # it should trigger for internal bootstrap or system-bootstrap with rust-bin. + # the whole idea is for stage0 to bootstrap with fake libgcc_s. + # final stage will receive -L${T}/lib but not -lgcc_s args, producing clean compiler. + local fakelib="${T}/fakelib" + mkdir -p "${fakelib}" || die + # we need both symlinks, one for cargo runtime, other for linker. + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so.1" || die + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so" || die + export LD_LIBRARY_PATH="${fakelib}" + export RUSTFLAGS+=" -L${fakelib}" + # this is a literally magic variable that gets through cargo cache, without it some + # crates ignore RUSTFLAGS. + # this variable can not contain leading space. + export MAGIC_EXTRA_RUSTFLAGS+="${MAGIC_EXTRA_RUSTFLAGS:+ }-L${fakelib}" +} + +src_prepare() { + # Clear vendor checksums for crates that we patched to bump libc. + # NOTE: refresh this on each bump. + #for i in addr2line-0.20.0 bstr cranelift-jit crossbeam-channel elasticlunr-rs handlebars icu_locid libffi \ + # terminal_size tracing-tree; do + # clear_vendor_checksums "${i}" + #done + + # Rust baselines to Pentium4 on x86, this patch lowers the baseline to i586 when sse2 is not set. + if use x86; then + if ! use cpu_flags_x86_sse2; then + eapply "${FILESDIR}/1.82.0-i586-baseline.patch" + grep -rl cmd.args.push\(\"-march=i686\" . | xargs sed -i 's/march=i686/-march=i586/g' || die + fi + fi + + if ! use system-bootstrap; then + has_version sys-devel/gcc || esetup_unwind_hack + local rust_stage0_root="${WORKDIR}"/rust-stage0 + local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi "${CBUILD}")" + + "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ + --without=rust-docs-json-preview,rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die + fi + + default +} + +src_configure() { + filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 + + local rust_target="" rust_targets="" arch_cflags + + # Collect rust target names to compile standard libs for all ABIs. + for v in $(multilib_get_enabled_abi_pairs); do + rust_targets+=",\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" + done + if use wasm; then + rust_targets+=",\"wasm32-unknown-unknown\"" + if use system-llvm; then + # un-hardcode rust-lld linker for this target + # https://bugs.gentoo.org/715348 + sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/base/wasm.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + # cargo and rustdoc are mandatory and should always be included + local tools='"cargo","rustdoc"' + use clippy && tools+=',"clippy"' + use miri && tools+=',"miri"' + use rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' + use rust-src && tools+=',"src"' + + local rust_stage0_root + if use system-bootstrap; then + local printsysroot + printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" + rust_stage0_root="${printsysroot}" + else + rust_stage0_root="${WORKDIR}"/rust-stage0 + fi + # in case of prefix it will be already prefixed, as --print sysroot returns full path + [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" + + rust_target="$(rust_abi)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + local cm_btype="$(usex debug DEBUG RELEASE)" + cat <<- _EOF_ > "${S}"/config.toml + [llvm] + download-ci-llvm = false + optimize = $(toml_usex !debug) + release-debuginfo = $(toml_usex debug) + assertions = $(toml_usex debug) + ninja = true + targets = "${LLVM_TARGETS// /;}" + experimental-targets = "" + link-shared = $(toml_usex system-llvm) + $(if is_libcxx_linked; then + # https://bugs.gentoo.org/732632 + echo "use-libcxx = true" + echo "static-libstdcpp = false" + fi) + $(case "${rust_target}" in + i586-*-linux-*) + # https://github.com/rust-lang/rust/issues/93059 + echo 'cflags = "-fcf-protection=none"' + echo 'cxxflags = "-fcf-protection=none"' + echo 'ldflags = "-fcf-protection=none"' + ;; + *) + ;; + esac) + enable-warnings = false + [llvm.build-config] + CMAKE_VERBOSE_MAKEFILE = "ON" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + target = [${rust_targets}] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + docs = $(toml_usex doc) + compiler-docs = false + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = true + tools = [${tools}] + verbose = 2 + sanitizers = false + profiler = true + cargo-native-static = false + [install] + prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" + sysconfdir = "etc" + docdir = "share/doc/rust" + bindir = "bin" + libdir = "lib" + mandir = "share/man" + [rust] + # https://github.com/rust-lang/rust/issues/54872 + codegen-units-std = 1 + optimize = true + debug = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + debug-assertions-std = $(toml_usex debug) + debuginfo-level = $(usex debug 2 0) + debuginfo-level-rustc = $(usex debug 2 0) + debuginfo-level-std = $(usex debug 2 0) + debuginfo-level-tools = $(usex debug 2 0) + debuginfo-level-tests = 0 + backtrace = true + incremental = false + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + description = "gentoo" + rpath = false + verbose-tests = true + optimize-tests = $(toml_usex !debug) + codegen-tests = true + dist-src = false + remap-debuginfo = true + lld = $(usex system-llvm false $(toml_usex wasm)) + # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it + # https://github.com/rust-lang/rust/issues/74976 + # https://github.com/rust-lang/rust/issues/76526 + deny-warnings = $(usex wasm $(usex doc false true) true) + backtrace-on-ice = true + jemalloc = false + # See https://github.com/rust-lang/rust/issues/121124 + lto = "$(usex lto thin off)" + [dist] + src-tarball = false + compression-formats = ["xz"] + compression-profile = "balanced" + _EOF_ + + for v in $(multilib_get_enabled_abi_pairs); do + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + arch_cflags="$(get_abi_CFLAGS ${v##*.})" + + export CFLAGS_${rust_target//-/_}="${arch_cflags}" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${rust_target}] + ar = "$(tc-getAR)" + cc = "$(tc-getCC)" + cxx = "$(tc-getCXX)" + linker = "$(tc-getCC)" + ranlib = "$(tc-getRANLIB)" + llvm-libunwind = "$(usex llvm-libunwind $(usex system-llvm system in-tree) no)" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + # by default librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; + # but we patch it and set to false here as well + if use elibc_musl; then + cat <<- _EOF_ >> "${S}"/config.toml + crt-static = false + musl-root = "$($(tc-getCC) -print-sysroot)/usr" + _EOF_ + fi + done + if use wasm; then + wasm_target="wasm32-unknown-unknown" + export CFLAGS_${wasm_target//-/_}="$(filter-flags '-mcpu*' '-march*' '-mtune*'; echo "$CFLAGS")" + cat <<- _EOF_ >> "${S}"/config.toml + [target.wasm32-unknown-unknown] + linker = "$(usex system-llvm lld rust-lld)" + # wasm target does not have profiler_builtins https://bugs.gentoo.org/848483 + profiler = false + _EOF_ + fi + + if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below + # experimental cross support + # discussion: https://bugs.gentoo.org/679878 + # TODO: c*flags, clang, system-llvm, cargo.eclass target support + # it would be much better if we could split out stdlib + # complilation to separate ebuild and abuse CATEGORY to + # just install to /usr/lib/rustlib/ + + # extra targets defined as a bash array + # spec format: :: + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form :: + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, : + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + ar = "${cross_toolchain}-ar" + cc = "${cross_toolchain}-gcc" + cxx = "${cross_toolchain}-g++" + linker = "${cross_toolchain}-gcc" + ranlib = "${cross_toolchain}-ranlib" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + if [[ "${cross_toolchain}" == *-musl* ]]; then + cat <<- _EOF_ >> "${S}"/config.toml + musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" + _EOF_ + fi + + # append cross target to "normal" target list + # example 'target = ["powerpc64le-unknown-linux-gnu"]' + # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' + + rust_targets="${rust_targets},\"${cross_rust_target}\"" + sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die + + ewarn + ewarn "Enabled ${cross_rust_target} rust target" + ewarn "Using ${cross_toolchain} cross toolchain" + ewarn + if ! has_version -b 'sys-devel/binutils[multitarget]' ; then + ewarn "'sys-devel/binutils[multitarget]' is not installed" + ewarn "'strip' will be unable to strip cross libraries" + ewarn "cross targets will be installed with full debug information" + ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" + ewarn + ewarn "Alternatively llvm-strip can be used, it supports stripping any target" + ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" + ewarn + fi + done + fi # I_KNOW_WHAT_I_AM_DOING_CROSS + + einfo "Rust configured with the following flags:" + echo + echo RUSTFLAGS="\"${RUSTFLAGS}\"" + echo RUSTFLAGS_BOOTSTRAP="\"${RUSTFLAGS_BOOTSTRAP}\"" + echo RUSTFLAGS_NOT_BOOTSTRAP="\"${RUSTFLAGS_NOT_BOOTSTRAP}\"" + echo MAGIC_EXTRA_RUSTFLAGS="\"${MAGIC_EXTRA_RUSTFLAGS}\"" + env | grep "CARGO_TARGET_.*_RUSTFLAGS=" + env | grep "CFLAGS_.*" + echo + einfo "config.toml contents:" + cat "${S}"/config.toml || die + echo +} + +src_compile() { + RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vvv --config="${S}"/config.toml -j$(makeopts_jobs) || die +} + +src_test() { + # https://rustc-dev-guide.rust-lang.org/tests/intro.html + + # those are basic and codegen tests. + local tests=( + codegen + codegen-units + compile-fail + incremental + mir-opt + pretty + run-make + ) + + # fails if llvm is not built with ALL targets. + # and known to fail with system llvm sometimes. + use system-llvm || tests+=( assembly ) + + # fragile/expensive/less important tests + # or tests that require extra builds + # TODO: instead of skipping, just make some nonfatal. + if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then + tests+=( + rustdoc + rustdoc-js + rustdoc-js-std + rustdoc-ui + run-make-fulldeps + ui + ui-fulldeps + ) + fi + + local i failed=() + einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}" + for i in "${tests[@]}"; do + local t="src/test/${i}" + einfo "rust_src_test: running ${t}" + if ! RUST_BACKTRACE=1 "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \ + -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}" + then + failed+=( "${t}" ) + eerror "rust_src_test: ${t} failed" + fi + done + + if [[ ${#failed[@]} -ne 0 ]]; then + eerror "rust_src_test: failure summary: ${failed[@]}" + die "aborting due to test failures" + fi +} + +src_install() { + DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + + docompress /usr/lib/${PN}/${PV}/share/man/ + + # bug #689562, #689160 + rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die + rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use miri && symlinks+=( miri cargo-miri ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /usr/lib/rust//bin/rustc- + # need to fix eselect-rust to remove this hack. + local ver_i="${i}-${PV}" + if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then + einfo "Installing ${i} symlink" + ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die + else + ewarn "${i} symlink requested, but source file not found" + ewarn "please report this" + fi + dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" + dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" + dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" + dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" + dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" + + newenvd - "50${P}" <<-_EOF_ + LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}" + MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/libexec + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + + if use dist; then + "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + insinto "/usr/lib/${PN}/${PV}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_postinst() { + eselect rust update + + if has_version dev-debug/gdb || has_version dev-debug/lldb; then + elog "Rust installs a helper script for calling GDB and LLDB," + elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + optfeature "emacs support for rust" app-emacs/rust-mode + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + optfeature "vim support for rust" app-vim/rust-vim + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.82.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.82.0.ebuild index 22ba23ce4f9..dbcf51f5fc2 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.82.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.82.0.ebuild @@ -129,7 +129,6 @@ REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) rust-analyzer? ( rust-src ) test? ( ${ALL_LLVM_TARGETS[*]} ) wasm? ( llvm_targets_WebAssembly ) - x86? ( cpu_flags_x86_sse2 ) " # we don't use cmake.eclass, but can get a warning @@ -307,6 +306,15 @@ src_prepare() { # clear_vendor_checksums "${i}" #done + # Rust baselines to Pentium4 on x86, this patch lowers the baseline to i586 when sse2 is not set. + if use x86; then + if ! use cpu_flags_x86_sse2; then + eapply "${FILESDIR}/1.82.0-i586-baseline.patch" + # Required for i586 support, commented out until ready for wider use. + #grep -rl cmd.args.push\(\"-march=i686\" . | xargs sed -i 's/march=i686/-march=i586/g' || die + fi + fi + if ! use system-bootstrap; then has_version sys-devel/gcc || esetup_unwind_hack local rust_stage0_root="${WORKDIR}"/rust-stage0 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/tcl/tcl-8.6.15.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/tcl/tcl-8.6.15.ebuild index 304efcfe01f..d5937675afa 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/tcl/tcl-8.6.15.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/tcl/tcl-8.6.15.ebuild @@ -18,7 +18,7 @@ S="${SPARENT}"/unix LICENSE="tcltk Spencer-99" SLOT="0/8.6" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="debug +threads" RDEPEND=">=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/Manifest index c9977594e89..01f87dc02d5 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/Manifest @@ -2,3 +2,5 @@ DIST elfutils-0.190.tar.bz2 9162766 BLAKE2B 9934aff08f1898377708b28595fb52130ef9 DIST elfutils-0.190.tar.bz2.sig 310 BLAKE2B d6a2d490aa6815ed9a7c3624050716ebf7c50465af9907d471d47aa3b57590faf9b9ee03de127c6b3bdffa6948414aab6aa8c784ce29570f76bb03ee2021c062 SHA512 7cd88c19402a959679204a5b01ddd48720e224b84268d0d7452f0f1433150b97dd02288fac204fbd5e2fd6f227473bfe62205b350d5fe2e17addf45fb452eed6 DIST elfutils-0.191.tar.bz2 9310088 BLAKE2B 2a7ad251369eca7ba609ab8644181fd479ad8596ee58dc068398ca22be25a978e96b81a10a92a5555d7574fd1b9227c8d54fb41dceb4025aedfc6ae32870bbca SHA512 e22d85f25317a79b36d370347e50284c9120c86f9830f08791b7b6a7b4ad89b9bf4c7c71129133b8d193a0edffb2a2c17987b7e48428b9670aff5ce918777e04 DIST elfutils-0.191.tar.bz2.sig 310 BLAKE2B 5afee19515a115d4ca6d1e0c4a49eca84bb4b911687492934e939a80ac75b7fcea9b6bf5fc0f2248a4c64ef09bd5af9dfc60c72410cba33b78444c38443ad279 SHA512 ab030739d95d13abb84cf4dc6c5407e51d0bd0bca108e27654a1830371694181a1b6f115fdbb4ae0772390f54f1c4811e5ae26b38fdcfd3275177a3716adfd22 +DIST elfutils-0.192.tar.bz2 11913897 BLAKE2B cf9036a1fca416e0d47c76471093609230545aee63e31e30991dc3c88417d7c621c930bb74809374da3bf142501cee91a2b861a5a89efcb5e1ac184df5defce1 SHA512 543188f5f2cfe5bc7955a878416c5f252edff9926754e5de0c6c57b132f21d9285c9b29e41281e93baad11d4ae7efbbf93580c114579c182103565fe99bd3909 +DIST elfutils-0.192.tar.bz2.sig 310 BLAKE2B b34bd17e161c827ce502338388f0f7604fca8478e8e2f05f1ad744b5288f7767466d005d7591ad74098eda53aa3bcde8a3b485983447a434e2cb2e5e64c38063 SHA512 9de0731dd3986a3dde03cfacdc3daa668f0e2cc482adfc31ab97320f85f7d13d3f056154aa16299db3f09e1c89020635012ffdd0e4cb68c1391b0e218721fb22 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.191-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.191-r1.ebuild index 21547c7f0ac..bcfa4c11cfc 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.191-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.191-r1.ebuild @@ -21,7 +21,7 @@ else SRC_URI="https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2" SRC_URI+=" verify-sig? ( https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2.sig )" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-elfutils-20240301 )" fi diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.191-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.191-r2.ebuild index 7ff2aa7e501..ea40e46c2a4 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.191-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.191-r2.ebuild @@ -21,7 +21,7 @@ else SRC_URI="https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2" SRC_URI+=" verify-sig? ( https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2.sig )" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-elfutils-20240301 )" fi diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.192-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.192-r1.ebuild new file mode 100644 index 00000000000..66caa21ab47 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.192-r1.ebuild @@ -0,0 +1,146 @@ +# Copyright 2003-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/elfutils.gpg +inherit autotools flag-o-matic multilib-minimal + +DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement for libelf)" +HOMEPAGE="https://sourceware.org/elfutils/" +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://sourceware.org/git/elfutils.git" + inherit git-r3 + + BDEPEND=" + sys-devel/bison + sys-devel/flex + " +else + inherit verify-sig + SRC_URI="https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2" + SRC_URI+=" verify-sig? ( https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2.sig )" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" + + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-elfutils-20240301 )" +fi + +LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )" +SLOT="0" +IUSE="bzip2 debuginfod lzma nls static-libs stacktrace test +utils valgrind zstd" +RESTRICT="!test? ( test )" + +RDEPEND=" + !dev-libs/libelf + >=sys-libs/zlib-1.2.8-r1[static-libs?,${MULTILIB_USEDEP}] + bzip2? ( >=app-arch/bzip2-1.0.6-r4[static-libs?,${MULTILIB_USEDEP}] ) + debuginfod? ( + >=app-arch/libarchive-3.1.2:= + dev-db/sqlite:3= + >=dev-libs/json-c-0.11:=[${MULTILIB_USEDEP}] + >=net-libs/libmicrohttpd-0.9.33:= + >=net-misc/curl-7.29.0[static-libs?,${MULTILIB_USEDEP}] + ) + lzma? ( >=app-arch/xz-utils-5.0.5-r1[static-libs?,${MULTILIB_USEDEP}] ) + stacktrace? ( dev-util/sysprof ) + zstd? ( app-arch/zstd:=[static-libs?,${MULTILIB_USEDEP}] ) + elibc_musl? ( + dev-libs/libbsd + sys-libs/argp-standalone + sys-libs/fts-standalone + sys-libs/obstack-standalone + ) +" +DEPEND=" + ${RDEPEND} + valgrind? ( dev-debug/valgrind ) +" +BDEPEND+=" + sys-devel/m4 + virtual/pkgconfig + nls? ( sys-devel/gettext ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-0.189-musl-aarch64-regs.patch + "${FILESDIR}"/${PN}-0.191-musl-macros.patch + "${FILESDIR}"/${P}-libelf-static-link-libeu.patch + "${FILESDIR}"/${P}-configure-better-error-message.patch + "${FILESDIR}"/${P}-stacktrace-maybe-uninit.patch +) + +src_prepare() { + default + + eautoreconf + + if ! use static-libs; then + sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in || die + fi + + # https://sourceware.org/PR23914 + sed -i 's:-Werror::' */Makefile.in || die +} + +src_configure() { + # bug #407135 + use test && append-flags -g + + # bug 660738 + filter-flags -fno-asynchronous-unwind-tables + + multilib-minimal_src_configure +} + +multilib_src_configure() { + unset LEX YACC + + local myeconfargs=( + $(use_enable nls) + $(multilib_native_use_enable debuginfod) + # Could do dummy if needed? + $(use_enable debuginfod libdebuginfod) + $(multilib_native_use_enable stacktrace) + $(use_enable valgrind valgrind-annotations) + + # explicitly disable thread safety, it's not recommended by upstream + # doesn't build either on musl. + --disable-thread-safety + + # Valgrind option is just for running tests under it; dodgy under sandbox + # and indeed even w/ glibc with newer instructions. + --disable-valgrind + --program-prefix="eu-" + --with-zlib + $(use_with bzip2 bzlib) + $(use_with lzma) + $(use_with zstd) + ) + + [[ ${PV} == 9999 ]] && myeconfargs+=( --enable-maintainer-mode ) + + # Needed because sets alignment macro + is-flagq -fsanitize=address && myeconfargs+=( --enable-sanitize-address ) + is-flagq -fsanitize=undefined && myeconfargs+=( --enable-sanitize-undefined ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_test() { + env LD_LIBRARY_PATH="${BUILD_DIR}/libelf:${BUILD_DIR}/libebl:${BUILD_DIR}/libdw:${BUILD_DIR}/libasm" \ + LC_ALL="C" \ + emake check VERBOSE=1 +} + +multilib_src_install_all() { + einstalldocs + + dodoc NOTES + + # These build quick, and are needed for most tests, so we don't + # disable building them when the USE flag is disabled. + if ! use utils; then + rm -rf "${ED}"/usr/bin || die + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-9999.ebuild index ca29f7aa564..be39e698ca3 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-9999.ebuild @@ -28,7 +28,7 @@ fi LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )" SLOT="0" -IUSE="bzip2 debuginfod lzma nls static-libs test +utils valgrind zstd" +IUSE="bzip2 debuginfod lzma nls static-libs stacktrace test +utils valgrind zstd" RESTRICT="!test? ( test )" RDEPEND=" @@ -36,13 +36,14 @@ RDEPEND=" >=sys-libs/zlib-1.2.8-r1[static-libs?,${MULTILIB_USEDEP}] bzip2? ( >=app-arch/bzip2-1.0.6-r4[static-libs?,${MULTILIB_USEDEP}] ) debuginfod? ( - app-arch/libarchive:= + >=app-arch/libarchive-3.1.2:= dev-db/sqlite:3= - net-libs/libmicrohttpd:= - - net-misc/curl[static-libs?,${MULTILIB_USEDEP}] + >=dev-libs/json-c-0.11:=[${MULTILIB_USEDEP}] + >=net-libs/libmicrohttpd-0.9.33:= + >=net-misc/curl-7.29.0[static-libs?,${MULTILIB_USEDEP}] ) lzma? ( >=app-arch/xz-utils-5.0.5-r1[static-libs?,${MULTILIB_USEDEP}] ) + stacktrace? ( dev-util/sysprof ) zstd? ( app-arch/zstd:=[static-libs?,${MULTILIB_USEDEP}] ) elibc_musl? ( dev-libs/libbsd @@ -96,6 +97,7 @@ multilib_src_configure() { $(use_enable nls) $(multilib_native_use_enable debuginfod) $(use_enable debuginfod libdebuginfod) + $(multilib_native_use_enable stacktrace) $(use_enable valgrind valgrind-annotations) # explicitly disable thread safety, it's not recommended by upstream diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/files/elfutils-0.192-configure-better-error-message.patch b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/files/elfutils-0.192-configure-better-error-message.patch new file mode 100644 index 00000000000..fc6867ea782 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/files/elfutils-0.192-configure-better-error-message.patch @@ -0,0 +1,96 @@ +https://sourceware.org/git/?p=elfutils.git;a=commit;h=42b19e54393f031e6355cf0658e9518571e85ed3 + +From 42b19e54393f031e6355cf0658e9518571e85ed3 Mon Sep 17 00:00:00 2001 +From: Mark Wielaard +Date: Tue, 22 Oct 2024 18:19:09 +0200 +Subject: [PATCH] configure: better error message for [lib]debuginfod missing + dependencies + +When dependencies for libdebuginfod, debuginfod or ima verification are +missing and these features are explicitly enabled the user might not +immediately know which of the dependicies are missing. Move the checks +around a little so checks for dependencies are done immediately before +the enable error message. And add the possible reason to the error to +make things more clear. + + * configure.ac: Move libcurl and json-c tests before libdebuginfod + check, move libmicrohttpd, sqlite3 and libarchive tests before + debuginfod check and move librpm, libcrypto and imaevm.h tests + before ima verification check. + +https://sourceware.org/PR32294 + +Signed-off-by: Mark Wielaard +--- a/configure.ac ++++ b/configure.ac +@@ -837,16 +837,7 @@ AC_ARG_ENABLE([debuginfod-ima-verification],[AS_HELP_STRING([--enable-debuginfod + # Look for various packages, minimum versions as per rhel7. + PKG_PROG_PKG_CONFIG + PKG_CHECK_MODULES([libcurl],[libcurl >= 7.29.0],[have_libcurl=yes],[have_libcurl=no]) +-AC_CHECK_LIB(pthread, pthread_setname_np, [AC_DEFINE([HAVE_PTHREAD_SETNAME_NP],[1],[Enable pthread_setname_np])]) + PKG_CHECK_MODULES([jsonc],[json-c >= 0.11],[have_jsonc=yes],[have_jsonc=no]) +-PKG_CHECK_MODULES([libmicrohttpd],[libmicrohttpd >= 0.9.33],[],[enable_debuginfod=no]) +-PKG_CHECK_MODULES([oldlibmicrohttpd],[libmicrohttpd < 0.9.51],[old_libmicrohttpd=yes],[old_libmicrohttpd=no]) +-PKG_CHECK_MODULES([sqlite3],[sqlite3 >= 3.7.17],[have_sqlite3=yes],[have_sqlite3=no]) +-PKG_CHECK_MODULES([libarchive],[libarchive >= 3.1.2],[have_libarchive=yes],[have_libarchive=no]) +-AC_CHECK_LIB(rpm, headerGet, [AC_CHECK_DECL(RPMSIGTAG_FILESIGNATURES, +- [AC_SUBST(rpm_LIBS, '-lrpm -lrpmio')],[], [#include ])]) +-AC_CHECK_LIB(crypto, EVP_MD_CTX_new, [AC_SUBST(crypto_LIBS, '-lcrypto')]) +-AC_CHECK_HEADER(imaevm.h) + # + # pronounce judgement on ability to build client, overridden by =yes/=no + if test "x$enable_libdebuginfod" = "xno"; then +@@ -855,11 +846,15 @@ elif test "x$enable_libdebuginfod" = "xdummy"; then + true + elif test "x$have_jsonc$have_libcurl" = "xyesyes"; then + enable_libdebuginfod=yes +-elif test "x$enable_libdebuginfod" = "xyes" -o "x$enable_libdebuginfod" = "xdummy"; then +- AC_MSG_ERROR([unable to build libdebuginfod]) ++elif test "x$enable_libdebuginfod" = "xyes"; then ++ AC_MSG_ERROR([unable to build libdebuginfod, missing libjson-c or libcurl]) + else + enable_libdebuginfod=no + fi ++PKG_CHECK_MODULES([libmicrohttpd],[libmicrohttpd >= 0.9.33],[],[enable_debuginfod=no]) ++PKG_CHECK_MODULES([oldlibmicrohttpd],[libmicrohttpd < 0.9.51],[old_libmicrohttpd=yes],[old_libmicrohttpd=no]) ++PKG_CHECK_MODULES([sqlite3],[sqlite3 >= 3.7.17],[have_sqlite3=yes],[have_sqlite3=no]) ++PKG_CHECK_MODULES([libarchive],[libarchive >= 3.1.2],[have_libarchive=yes],[have_libarchive=no]) + # + # pronounce judgement on ability to build server, overridden by =yes/=no + if test "x$enable_debuginfod" = "xno"; then +@@ -867,18 +862,22 @@ if test "x$enable_debuginfod" = "xno"; then + elif test "x$have_jsonc$HAVE_CXX11$have_libarchive$have_sqlite3" = "xyesyesyesyes"; then + enable_debuginfod=yes + elif test "x$enable_debuginfod" = "xyes"; then +- AC_MSG_ERROR([unable to build debuginfod]) ++ AC_MSG_ERROR([unable to build debuginfod, missing libmicrohttpd, sqlite3 or libarchive]) + else + enable_debuginfod=no + fi + # ++AC_CHECK_LIB(rpm, headerGet, [AC_CHECK_DECL(RPMSIGTAG_FILESIGNATURES, ++ [AC_SUBST(rpm_LIBS, '-lrpm -lrpmio')],[], [#include ])]) ++AC_CHECK_LIB(crypto, EVP_MD_CTX_new, [AC_SUBST(crypto_LIBS, '-lcrypto')]) ++AC_CHECK_HEADER(imaevm.h) + # pronounce judgment on ima signature support + if test "x$enable_debuginfod_ima_verification" = "xno"; then + true + elif test "x$ac_cv_lib_rpm_headerGet$ac_cv_have_decl_RPMSIGTAG_FILESIGNATURES$ac_cv_lib_crypto_EVP_MD_CTX_new$ac_cv_header_imaevm_h" = "xyesyesyesyes"; then + enable_debuginfod_ima_verification=yes + elif test "x$enable_debuginfod_ima_verification" = "xyes"; then +- AC_MSG_ERROR([unable to enable debuginfod ima verification]) ++ AC_MSG_ERROR([unable to enable ima verification, missing librpm, libcrypto or imaevm.h]) + else + enable_debuginfod_ima_verification=no + fi +@@ -895,6 +894,8 @@ AS_IF([test "x$have_libarchive" = "xyes"],AC_DEFINE([HAVE_LIBARCHIVE],[1],[Defin + AM_CONDITIONAL([ENABLE_IMA_VERIFICATION],[test "$enable_debuginfod_ima_verification" = "xyes"]) + AM_CONDITIONAL([OLD_LIBMICROHTTPD],[test "x$old_libmicrohttpd" = "xyes"]) + ++AC_CHECK_LIB(pthread, pthread_setname_np, [AC_DEFINE([HAVE_PTHREAD_SETNAME_NP],[1],[Enable pthread_setname_np])]) ++ + dnl for /etc/profile.d/elfutils.{csh,sh} + default_debuginfod_urls="" + AC_ARG_ENABLE(debuginfod-urls, +-- +2.43.5 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/files/elfutils-0.192-libelf-static-link-libeu.patch b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/files/elfutils-0.192-libelf-static-link-libeu.patch new file mode 100644 index 00000000000..0986ce6b326 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/files/elfutils-0.192-libelf-static-link-libeu.patch @@ -0,0 +1,31 @@ +https://sourceware.org/git/?p=elfutils.git;a=commit;h=f5d6e088f84dd05278c4698a21cbf1ff4569978d + +From f5d6e088f84dd05278c4698a21cbf1ff4569978d Mon Sep 17 00:00:00 2001 +From: Mark Wielaard +Date: Tue, 22 Oct 2024 15:03:42 +0200 +Subject: [PATCH] libelf: Add libeu objects to libelf.a static archive + +libelf might use some symbols from libeu.a, specifically the eu-search +wrappers. But we don't ship libeu.a separately. So include the libeu +objects in the libelf.a archive to facilitate static linking. + + * libelf/Makefile.am (libeu_objects): New variable. + (libelf_a_LIBADD): New, add libeu_objects. + +https://sourceware.org/PR32293 + +Signed-off-by: Mark Wielaard +--- a/libelf/Makefile.am ++++ b/libelf/Makefile.am +@@ -122,6 +122,9 @@ libelf.so: $(srcdir)/libelf.map $(libelf_so_LIBS) $(libelf_so_DEPS) + @$(textrel_check) + $(AM_V_at)ln -fs $@ $@.$(VERSION) + ++libeu_objects = $(shell $(AR) t ../lib/libeu.a) ++libelf_a_LIBADD = $(addprefix ../lib/,$(libeu_objects)) ++ + install: install-am libelf.so + $(mkinstalldirs) $(DESTDIR)$(libdir) + $(INSTALL_PROGRAM) libelf.so $(DESTDIR)$(libdir)/libelf-$(PACKAGE_VERSION).so +-- +2.43.5 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/files/elfutils-0.192-stacktrace-maybe-uninit.patch b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/files/elfutils-0.192-stacktrace-maybe-uninit.patch new file mode 100644 index 00000000000..f572bf85467 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/files/elfutils-0.192-stacktrace-maybe-uninit.patch @@ -0,0 +1,38 @@ +https://sourceware.org/git/?p=elfutils.git;a=commit;h=dce324303198545e1c5484d912e5f259b1d4953d + +From dce324303198545e1c5484d912e5f259b1d4953d Mon Sep 17 00:00:00 2001 +From: Mark Wielaard +Date: Thu, 24 Oct 2024 11:06:08 +0200 +Subject: [PATCH] stacktrace: Init elf_fd in sysprof_init_dwfl +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf8 +Content-Transfer-Encoding: 8bit + +When building with LTO gcc believes elf_fd can be used uninitialized: + +In function ‘sysprof_init_dwfl’, + inlined from ‘sysprof_unwind_cb’ at stacktrace.c:1235:16: +stacktrace.c:1087:7: error: ‘elf_fd’ may be used uninitialized [-Werror=maybe-uninitialized] + 1087 | close (elf_fd); + | ^ + +This code won't be reached because if find_procfile doesn't initialize +elf_fd, it will return an error. But help the compiler by initializing +elf_fd to -1. + + * src/stacktrace.c (sysprof_init_dwfl): Init elf_fd to -1. + +Signed-off-by: Mark Wielaard +--- a/src/stacktrace.c ++++ b/src/stacktrace.c +@@ -1033,7 +1033,7 @@ sysprof_init_dwfl (struct sysprof_unwind_info *sui, + } + + Elf *elf = NULL; +- int elf_fd; ++ int elf_fd = -1; + err = find_procfile (dwfl, &pid, &elf, &elf_fd); + if (err < 0) + { +-- +2.43.5 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/metadata.xml index 05def2bfd0b..a28aa11dc00 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/metadata.xml @@ -7,6 +7,11 @@ Support automatic decompression of LZMA-compressed files and kernel images + + Build experimental eu-stacktrace tool. Relies on integration with dev-util/sysprof. + + See https://developers.redhat.com/articles/2024/06/11/get-system-wide-profiles-binaries-without-frame-pointers. + Install command-line utilities (all the eu-* programs) Enable debuginfod support, both the debuginfod server and the libdebuginfod client library diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/expat/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/expat/Manifest index 5d7d530e831..89616753658 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/expat/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/expat/Manifest @@ -1,5 +1,2 @@ -DIST expat-2.5.0.tar.xz 460560 BLAKE2B 670298d076ff3b512a0212170d40cb04c601a11d6b152f215a5302ad3238c69c2386393d7a6c70bc284be35ce97bf27d87115c3391f4bc17406e509d739d3e31 SHA512 2da73b991b7c0c54440485c787e5edeb3567230204e31b3cac1c3a6713ec6f9f1554d3afffc0f8336168dfd5df02db4a69bcf21b4d959723d14162d13ab87516 -DIST expat-2.6.0.tar.xz 483448 BLAKE2B 2f0117317bde4e03d8662bcac1ff6c2bbb1af694846b21a82ac12d11ccd43032b481af72fa35298c3cb19b7426dba6a67e703904ca7b05663ffd854a42348bd0 SHA512 d6f1c4a1a2ec8ffc04c04d6767cc8dd7dea3d132d10b8a2c45c5bfb405893c75db032b87a56cc88300b61c961dd7f9782b93aa74dddc7e66f25acb0c6c82b1fd -DIST expat-2.6.1.tar.xz 484000 BLAKE2B 21a177ae8d70ca1bf41cae75c299a3021a9fc1b9d5eb01eb2945b16d7b24dcbeabad855379bdd8a14de804e1a1648105ce03b505f68c2beb4096a81020e35848 SHA512 fcd7e04e9411799c48b7d08ea07808a0809d034453a0649d9a79ed09000f1a11e5082a034089fc0c0acd2789e85bdf1deb2a94d8e3e33791bbfed66ce7207bcc -DIST expat-2.6.2.tar.xz 485236 BLAKE2B aae019270e1ab233fe8480b7eaa77f648f23ef3383dc772dc946cb13163067431716dc5446862eb502315fd089f2f52f3d476589b74a97e462575cd54df44db4 SHA512 47b60967d6346d330dded87ea1a2957aa7d34dd825043386a89aa131054714f618ede57bfe97cf6caa40582a4bc67e198d2a915e7d8dbe8ee4f581857c2e3c2e DIST expat-2.6.3.tar.xz 485600 BLAKE2B b8e0a0e779f0f136eaca91115cbbcf5a5cca457cab1cca6f8d6141151d19f8ef2dccb41b0e9134459c1e7d99cb2e0b4ce3922d2bd9221002ec43fe9d53a0084a SHA512 e02c4ad88f9d539258aa1c1db71ded7770a8f12c77b5535e5b34f040ae5b1361ef23132f16d96bdb7c096a83acd637a7c907916bdfcc6d5cfb9e35d04020ca0b +DIST expat-2.6.4.tar.xz 486732 BLAKE2B 70d716722358db8d0acb2c74dbbc9d2362d04a0b856eab6b6d723614b656cf6aad9f6646339e0a32b4151db2e9541439bcb81ec87791e5e6ec0bd36a3ca067cc SHA512 620da34d98524478b445038bf1dd439790fe11169496516425fca922226797835c27549fc5fb825792b516563b24eb922d9ad8f27d20a0229e7ee8cd640dfb25 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.5.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.5.0.ebuild deleted file mode 100644 index 147a248aae0..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.5.0.ebuild +++ /dev/null @@ -1,95 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -AUTOTOOLS_AUTO_DEPEND=no -AT_NOEAUTOHEADER=yes # because expat_config.h.in would need post-processing -inherit autotools multilib-minimal - -DESCRIPTION="Stream-oriented XML parser library" -HOMEPAGE="https://libexpat.github.io/" -SRC_URI="https://github.com/libexpat/libexpat/releases/download/R_${PV//\./_}/expat-${PV}.tar.xz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="examples static-libs test unicode" -RESTRICT="!test? ( test )" -BDEPEND="unicode? ( ${AUTOTOOLS_DEPEND} )" - -DOCS=( README.md ) - -src_prepare() { - default - - # fix interpreter to be a recent/good shell - sed -i -e "1s:/bin/sh:${BASH}:" conftools/get-version.sh || die - if use unicode; then - cp -R "${S}" "${S}"w || die - pushd "${S}"w >/dev/null - find -name Makefile.am \ - -exec sed \ - -e 's,libexpat\.la,libexpatw.la,' \ - -e 's,libexpat_la,libexpatw_la,' \ - -i {} + || die - eautoreconf - popd >/dev/null - fi -} - -multilib_src_configure() { - local myconf="$(use_with test tests) $(use_enable static-libs static) --without-docbook" - - mkdir -p "${BUILD_DIR}"w || die - - if use unicode; then - pushd "${BUILD_DIR}"w >/dev/null - CPPFLAGS="${CPPFLAGS} -DXML_UNICODE" ECONF_SOURCE="${S}"w econf ${myconf} - popd >/dev/null - fi - - ECONF_SOURCE="${S}" econf ${myconf} -} - -multilib_src_compile() { - emake - - if use unicode; then - pushd "${BUILD_DIR}"w >/dev/null - emake -C lib - popd >/dev/null - fi -} - -multilib_src_install() { - emake install DESTDIR="${D}" - - if use unicode; then - pushd "${BUILD_DIR}"w >/dev/null - emake -C lib install DESTDIR="${D}" - popd >/dev/null - - pushd "${ED}"/usr/$(get_libdir)/pkgconfig >/dev/null - cp expat.pc expatw.pc - sed -i -e '/^Libs/s:-lexpat:&w:' expatw.pc || die - popd >/dev/null - fi -} - -multilib_src_install_all() { - einstalldocs - - doman doc/xmlwf.1 - - # Note: Use of HTML_DOCS would add unwanted "doc" subfolder - docinto html - dodoc doc/*.{css,html} - - if use examples; then - docinto examples - dodoc examples/*.c - docompress -x usr/share/doc/${PF}/examples - fi - - find "${D}" -name '*.la' -type f -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.6.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.6.0.ebuild deleted file mode 100644 index 6831ba968e9..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.6.0.ebuild +++ /dev/null @@ -1,95 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -AUTOTOOLS_AUTO_DEPEND=no -AT_NOEAUTOHEADER=yes # because expat_config.h.in would need post-processing -inherit autotools multilib-minimal - -DESCRIPTION="Stream-oriented XML parser library" -HOMEPAGE="https://libexpat.github.io/" -SRC_URI="https://github.com/libexpat/libexpat/releases/download/R_${PV//\./_}/expat-${PV}.tar.xz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="examples static-libs test unicode" -RESTRICT="!test? ( test )" -BDEPEND="unicode? ( ${AUTOTOOLS_DEPEND} )" - -DOCS=( README.md ) - -src_prepare() { - default - - # fix interpreter to be a recent/good shell - sed -i -e "1s:/bin/sh:${BASH}:" conftools/get-version.sh || die - if use unicode; then - cp -R "${S}" "${S}"w || die - pushd "${S}"w >/dev/null - find -name Makefile.am \ - -exec sed \ - -e 's,libexpat\.la,libexpatw.la,' \ - -e 's,libexpat_la,libexpatw_la,' \ - -i {} + || die - eautoreconf - popd >/dev/null - fi -} - -multilib_src_configure() { - local myconf="$(use_with test tests) $(use_enable static-libs static) --without-docbook" - - mkdir -p "${BUILD_DIR}"w || die - - if use unicode; then - pushd "${BUILD_DIR}"w >/dev/null - CPPFLAGS="${CPPFLAGS} -DXML_UNICODE" ECONF_SOURCE="${S}"w econf ${myconf} - popd >/dev/null - fi - - ECONF_SOURCE="${S}" econf ${myconf} -} - -multilib_src_compile() { - emake - - if use unicode; then - pushd "${BUILD_DIR}"w >/dev/null - emake -C lib - popd >/dev/null - fi -} - -multilib_src_install() { - emake install DESTDIR="${D}" - - if use unicode; then - pushd "${BUILD_DIR}"w >/dev/null - emake -C lib install DESTDIR="${D}" - popd >/dev/null - - pushd "${ED}"/usr/$(get_libdir)/pkgconfig >/dev/null - cp expat.pc expatw.pc - sed -i -e '/^Libs/s:-lexpat:&w:' expatw.pc || die - popd >/dev/null - fi -} - -multilib_src_install_all() { - einstalldocs - - doman doc/xmlwf.1 - - # Note: Use of HTML_DOCS would add unwanted "doc" subfolder - docinto html - dodoc doc/*.{css,html} - - if use examples; then - docinto examples - dodoc examples/*.c - docompress -x usr/share/doc/${PF}/examples - fi - - find "${D}" -name '*.la' -type f -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.6.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.6.2.ebuild deleted file mode 100644 index c156f565c7a..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.6.2.ebuild +++ /dev/null @@ -1,101 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -AUTOTOOLS_AUTO_DEPEND=no -AT_NOEAUTOHEADER=yes # because expat_config.h.in would need post-processing -inherit autotools multilib-minimal - -DESCRIPTION="Stream-oriented XML parser library" -HOMEPAGE="https://libexpat.github.io/" -SRC_URI="https://github.com/libexpat/libexpat/releases/download/R_${PV//\./_}/expat-${PV}.tar.xz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="examples static-libs test unicode" -RESTRICT="!test? ( test )" -BDEPEND="unicode? ( ${AUTOTOOLS_DEPEND} )" - -DOCS=( README.md ) - -QA_CONFIG_IMPL_DECL_SKIP=( - # https://bugs.gentoo.org/906384 - arc4random - arc4random_buf -) - -src_prepare() { - default - - # fix interpreter to be a recent/good shell - sed -i -e "1s:/bin/sh:${BASH}:" conftools/get-version.sh || die - if use unicode; then - cp -R "${S}" "${S}"w || die - pushd "${S}"w >/dev/null - find -name Makefile.am \ - -exec sed \ - -e 's,libexpat\.la,libexpatw.la,' \ - -e 's,libexpat_la,libexpatw_la,' \ - -i {} + || die - eautoreconf - popd >/dev/null - fi -} - -multilib_src_configure() { - local myconf="$(use_with test tests) $(use_enable static-libs static) --without-docbook" - - mkdir -p "${BUILD_DIR}"w || die - - if use unicode; then - pushd "${BUILD_DIR}"w >/dev/null - CPPFLAGS="${CPPFLAGS} -DXML_UNICODE" ECONF_SOURCE="${S}"w econf ${myconf} - popd >/dev/null - fi - - ECONF_SOURCE="${S}" econf ${myconf} -} - -multilib_src_compile() { - emake - - if use unicode; then - pushd "${BUILD_DIR}"w >/dev/null - emake -C lib - popd >/dev/null - fi -} - -multilib_src_install() { - emake install DESTDIR="${D}" - - if use unicode; then - pushd "${BUILD_DIR}"w >/dev/null - emake -C lib install DESTDIR="${D}" - popd >/dev/null - - pushd "${ED}"/usr/$(get_libdir)/pkgconfig >/dev/null - cp expat.pc expatw.pc - sed -i -e '/^Libs/s:-lexpat:&w:' expatw.pc || die - popd >/dev/null - fi -} - -multilib_src_install_all() { - einstalldocs - - doman doc/xmlwf.1 - - # Note: Use of HTML_DOCS would add unwanted "doc" subfolder - docinto html - dodoc doc/*.{css,html} - - if use examples; then - docinto examples - dodoc examples/*.c - docompress -x usr/share/doc/${PF}/examples - fi - - find "${D}" -name '*.la' -type f -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.6.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.6.4.ebuild similarity index 96% rename from sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.6.1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.6.4.ebuild index c156f565c7a..5f80573e713 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.6.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.6.4.ebuild @@ -3,7 +3,6 @@ EAPI=8 AUTOTOOLS_AUTO_DEPEND=no -AT_NOEAUTOHEADER=yes # because expat_config.h.in would need post-processing inherit autotools multilib-minimal DESCRIPTION="Stream-oriented XML parser library" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/jsoncpp/jsoncpp-1.9.6-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/jsoncpp/jsoncpp-1.9.6-r2.ebuild index 6f037fec5a2..b6de9e2c962 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/jsoncpp/jsoncpp-1.9.6-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/jsoncpp/jsoncpp-1.9.6-r2.ebuild @@ -16,7 +16,7 @@ SRC_URI=" LICENSE="|| ( public-domain MIT )" SLOT="0/26" -KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="doc test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libbytesize/libbytesize-2.11.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libbytesize/libbytesize-2.11.ebuild index 542e5d4113d..54bb1d8a0ab 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libbytesize/libbytesize-2.11.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libbytesize/libbytesize-2.11.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://github.com/storaged-project/libbytesize/releases/download/${PV} LICENSE="LGPL-2+" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86" IUSE="doc python test tools" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libksba/libksba-1.6.7.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libksba/libksba-1.6.7.ebuild index 9296863c66a..45f7d7ba863 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libksba/libksba-1.6.7.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libksba/libksba-1.6.7.ebuild @@ -20,7 +20,7 @@ SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" LICENSE="LGPL-3+ GPL-2+ GPL-3" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="static-libs" RDEPEND=">=dev-libs/libgpg-error-1.33" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libmspack/libmspack-1.11.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libmspack/libmspack-1.11.ebuild index 06410b74183..8ae48497d8f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libmspack/libmspack-1.11.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libmspack/libmspack-1.11.ebuild @@ -9,7 +9,7 @@ if [[ ${PV} == *9999 ]] ; then EGIT_REPO_URI="https://github.com/kyz/libmspack.git" inherit git-r3 else - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" SRC_URI="https://github.com/kyz/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" fi diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libpcre/libpcre-8.45-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libpcre/libpcre-8.45-r1.ebuild deleted file mode 100644 index e2f5214ea66..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libpcre/libpcre-8.45-r1.ebuild +++ /dev/null @@ -1,104 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit libtool multilib-minimal preserve-libs usr-ldscript - -DESCRIPTION="Perl-compatible regular expression library" -HOMEPAGE="http://www.pcre.org/" -MY_P="pcre-${PV/_rc/-RC}" -if [[ ${PV} != *_rc* ]] ; then - # Only the final releases are available here. - SRC_URI="https://downloads.sourceforge.net/pcre/${MY_P}.tar.bz2 - https://ftp.pcre.org/pub/pcre/${MY_P}.tar.bz2 - ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${MY_P}.tar.bz2" -else - SRC_URI="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Testing/${MY_P}.tar.bz2" -fi - -S="${WORKDIR}/${MY_P}" - -LICENSE="BSD" -SLOT="3" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="bzip2 +cxx +jit libedit pcre16 pcre32 +readline static-libs unicode valgrind zlib" -REQUIRED_USE=" - readline? ( !libedit ) - libedit? ( !readline ) -" - -RDEPEND=" - bzip2? ( app-arch/bzip2 ) - zlib? ( sys-libs/zlib ) - libedit? ( dev-libs/libedit ) - readline? ( sys-libs/readline:= ) -" -DEPEND=" - ${RDEPEND} - valgrind? ( dev-debug/valgrind ) -" -BDEPEND="virtual/pkgconfig" - -MULTILIB_CHOST_TOOLS=( - /usr/bin/pcre-config -) - -PATCHES=( - "${FILESDIR}"/${PN}-8.41-fix-stack-size-detection.patch -) - -src_prepare() { - default - - sed -i -e "s:-lpcre ::" libpcrecpp.pc.in || die - elibtoolize -} - -multilib_src_configure() { - local myeconfargs=( - $(multilib_native_use_enable bzip2 pcregrep-libbz2) - $(use_enable cxx cpp) - $(use_enable jit) - $(use_enable jit pcregrep-jit) - $(use_enable pcre16) - $(use_enable pcre32) - $(multilib_native_use_enable libedit pcretest-libedit) - $(multilib_native_use_enable readline pcretest-libreadline) - $(use_enable static-libs static) - $(use_enable unicode utf) - $(use_enable unicode unicode-properties) - $(multilib_native_use_enable valgrind) - $(multilib_native_use_enable zlib pcregrep-libz) - - --enable-pcre8 - --enable-shared - ) - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_compile() { - emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=") -} - -multilib_src_install() { - emake \ - DESTDIR="${D}" \ - $(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \ - install - - gen_usr_ldscript -a pcre -} - -multilib_src_install_all() { - find "${ED}" -type f -name "*.la" -delete || die -} - -pkg_preinst() { - preserve_old_lib /$(get_libdir)/libpcre.so.0 -} - -pkg_postinst() { - preserve_old_lib_notify /$(get_libdir)/libpcre.so.0 -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libpipeline/libpipeline-1.5.8.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libpipeline/libpipeline-1.5.8.ebuild index cfec8c73a55..0ab628994eb 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libpipeline/libpipeline-1.5.8.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libpipeline/libpipeline-1.5.8.ebuild @@ -3,6 +3,8 @@ EAPI=8 +inherit libtool + DESCRIPTION="A pipeline manipulation library" HOMEPAGE="https://libpipeline.nongnu.org/" SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz" @@ -16,6 +18,11 @@ RESTRICT="!test? ( test )" DEPEND="test? ( dev-libs/check )" BDEPEND="virtual/pkgconfig" +src_prepare() { + default + elibtoolize +} + src_install() { default 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 c22691f3739..c1a70e93e33 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,3 +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 +DIST libtraceevent-1.8.4.tar.gz 156227 BLAKE2B da8be57eba0003f0fde8dc19f7c6987b0cd3c79bf006093191a1884e535828661d0384309b7ac9cee7870f8e7de51ba4527a9e44ed70d44ad2c95819633443f9 SHA512 8db691d1d8e96c73a30a79aa498fead2d9df2b41fd7b39865a3299a603e8c73a3268930a42324cef38d79b0a87f4f13a43ebf146a8e31aee91ede459d8da7b84 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 index 04f59e41b8e..be70cd78517 100644 --- 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 @@ -13,7 +13,7 @@ if [[ ${PV} =~ [9]{4,} ]]; then 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" + KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv x86" fi LICENSE="LGPL-2.1" 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.4.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/libtraceevent-1.8.2.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/libtraceevent/libtraceevent-1.8.4.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/libtracefs-1.8.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/libtracefs-1.8.1.ebuild index 6753872cebc..5dfebdce97d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/libtracefs-1.8.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libtracefs/libtracefs-1.8.1.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} =~ [9]{4,} ]]; then inherit git-r3 else SRC_URI="https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/snapshot/${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" + KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv x86" fi LICENSE="LGPL-2.1" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/Manifest index e4a2690ffc5..fd05c8a4976 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/Manifest @@ -4,3 +4,5 @@ DIST libuv-1.49.0.tar.gz 1331420 BLAKE2B f939df07e7e120cdb5c489a6146b220d9d85aa5 DIST libuv-1.49.0.tar.gz.sig 833 BLAKE2B aa37c82779d2e904b5b1cdac802573fe30a570f83a818f94eed87d4b7a45a83e6fa02f0f2a06e24a8b01561bbe1b647bc931670c78af79301ba0aa08e6c0c708 SHA512 ad86a158179f5b8961aba701f0fdc16906383158cceb1ab2e23a7d5caa31ee4d87e9260ba6d04aa16719254e9b8d9e85066e2352d02006d231f4898235525fe6 DIST libuv-1.49.1.tar.gz 1332225 BLAKE2B 7a56817c94060629456a53026c142d74d72d2777a4e433bd370d76c93c8ae7a775d9cb9362241ce563948dd01a2b4bbe5d3bc10c014687fa9aff38b2fde98ccf SHA512 f0a55fd5e91b87418ec22b0bd607a9b46510296c8a33600878a6454033b0d1bc7b4b674255007e94b38057635c024f7cbff187e7c0f0e0d627604636c3ad3497 DIST libuv-1.49.1.tar.gz.sig 833 BLAKE2B 826f6c97806a474c6b1f77b11b553d5f26d1c25261d9f25f4318552e1e4291cff56a4d5c9a7059ad938dc792e7015eab11d84132553e66c4ac164a847eb9d6dd SHA512 49ffdb678afb5c1c899745102e7d884d4a7bb933e88066cff82ef7c939bdbde5b2fa8e22094cdb75ed77697eef559dfa7f22d66d6a65b3a43a8a9d2cca4d7fd3 +DIST libuv-1.49.2.tar.gz 1331024 BLAKE2B a4a3367053ab3d5b87c502ef4a25b569fc829b3580005333adf2d3f02a799e6fefec9b6c2cf354eb0e8fe003eff4d3bd5d0f91980dd44702595bfdc54a9fad66 SHA512 ecb94edb9393d1f3ace1e01e89a3f693fb813c1ed21a3c706409bdfd8821885e7713f8d6b043d97ab202cbea9edc99ad6672d1144858802dc92031800ffba1a1 +DIST libuv-1.49.2.tar.gz.sig 833 BLAKE2B fe7ac42aad297f71e36995c665e445a82f8bb2fe6b2270fc7581dc1cf321c0bfc9c4238ad58b8666aec531c590c4df07268315980cf17406a5d448f2c5dc6d0b SHA512 66a6f345bfc16a5a673b8e7eb696e731b42f2cc9cb10f2a9eff74ca2ea5f47c7809f1ecea6182863531b776fef8bef8cefee3c7295d1976bd47f0f30afc455cf diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.49.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.49.2.ebuild new file mode 100644 index 00000000000..859c1fae34d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.49.2.ebuild @@ -0,0 +1,62 @@ +# 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/libuv.asc +inherit autotools verify-sig + +DESCRIPTION="Cross-platform asychronous I/O" +HOMEPAGE="https://github.com/libuv/libuv" + +if [[ ${PV} = 9999* ]]; then + EGIT_REPO_URI="https://github.com/libuv/libuv.git" + inherit git-r3 +else + SRC_URI=" + https://dist.libuv.org/dist/v${PV}/libuv-v${PV}.tar.gz -> ${P}.tar.gz + verify-sig? ( https://dist.libuv.org/dist/v${PV}/libuv-v${PV}.tar.gz.sign -> ${P}.tar.gz.sig ) + " + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + S="${WORKDIR}/${PN}-v${PV}" +fi + +LICENSE="BSD BSD-2 ISC MIT" +SLOT="0/1" + +BDEPEND=" + dev-build/libtool + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-libuv ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.48.0-test-thread-priority-portage.patch +) + +src_prepare() { + default + + if [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] ; then + eapply "${FILESDIR}"/${PN}-1.41.0-darwin.patch + fi + + # Upstream fails to ship a configure script and has missing m4 file. + echo "m4_define([UV_EXTRA_AUTOMAKE_FLAGS], [serial-tests])" \ + > m4/libuv-extra-automake-flags.m4 || die + eautoreconf +} + +src_configure() { + local myeconfargs=( + cc_cv_cflags__g=no + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + + find "${ED}" -name '*.la' -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/Manifest index 2f2ec937501..f22d2a5fec7 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/Manifest @@ -1,7 +1,10 @@ DIST libxml2-2.11.8.tar.xz 2628212 BLAKE2B 7a9f62b9e6628e71462b0ae2a43947e398c8b948d57280ee5ac64a7cd0a13d39aa4cc55148421f999e5a04e19ca1ae2cb84884f85f3e22559cb45d8a7fca7d45 SHA512 b8c38365172b9f46e2da4dd696f5df4f917d05cc33456079d3d042578543c0f951da207361958ba8699a9f7256889f063737ba80dba8bb9720c8434be1ca723f +DIST libxml2-2.11.9.tar.xz 2627500 BLAKE2B 3ecab5df9017673f31e8bbf737273d72cb4475c3a6f0d0669e7f074b0e4d378460df2e175fe4991c675d8462a2e4d4607c151ed11937a0c8a3a4e81107102f67 SHA512 d5c34ed56525f4c6b61d7055fe4219d7a3337077b4fb27081682e9f8350f1542b4476ac42f2754e590b371a4d9a00921cebf20c10b299371b05b8391e7fa7c33 DIST libxml2-2.12.7.tar.xz 2641980 BLAKE2B 19abc2a7824212b1de3ceb1e8e3bbb39cb5feb31f8f6e1b1701a8255f34aadbbd01631e8011fd1207d2e711372a893034a99cb4aaa779a1df22d49d339dbfc76 SHA512 88b5f3e0a7c6704926e662a46ba0606d901efbcd70a36bd39fe034e29ee42d66d7296358761e04272c9696192a1380bda55852b2a0b14a05a7a083a08e125f5f DIST libxml2-2.12.8.tar.xz 2643728 BLAKE2B d26fe61e913e73c923eb8140a9080d6b70078ce45e94fe61d1ca1b8919d5b86feb7f14156f5a8b06ea06a03a96a242ce3a32e8d61169cfa8bde587888438627b SHA512 59baac9a82a734045112be6da12bbbe80a71575145424c2225e4bd9f8d54e53c674dcbc9576eb55f646632335702e7f0b1928f96a851159ace9b26f677fd3d77 +DIST libxml2-2.12.9.tar.xz 2643456 BLAKE2B 769ff564e62c1c0167e5334879ac9e912491c651b6d48a9d21db569002ae86bc4e4490098710a614bc90bbefc44a9dd0af6b02958041dd3bffccf8b5ddc0f7ca SHA512 6e4544ed3ab36d6cb7481d465ceabf223444739d7f41de3e1927309b8716a5eac85520b9bbaf69913f53e052fbfaf68bf27372074daaa24dca9463ce728b4173 DIST libxml2-2.13.1.tar.xz 2579424 BLAKE2B 93cbd3943b0a7a7a07036a3ce01740c37049b44c20f43aaee96ef9a36e86bc108914950d7532740be87995b8eb5c1e6fbb4464c6af0a20233c8a1a206b9a5b83 SHA512 28d280eb5e2f3af9df5adcccced730602e6951fd181b8d00256dbb2138abfe32a4b145fdc00ed8c77a6d322e0929bcb3d5128ad4622877d7f8a059d4b6e011a6 +DIST libxml2-2.13.4.tar.xz 2582156 BLAKE2B 6b143fb192625bb1168ecb1e25295761a062923018b39bcabeae07f422c9bb6c7f11e7de8ce728c0d474271407e0777b9e2e5ad30b47e79b9fb79c12beaadf1c SHA512 27bfaa63431798d3aa725b36af2005bda70a20b270e601cc3c8a07cc9fd02a080cb3d2b023eb42606a57b9786469488a7c09b71bdff1a518a0b4271c78c3f940 DIST xmlts20130923.tar.gz 641522 BLAKE2B 63a47bc69278ef510cd0b3779aed729e1b309e30efa0015d28ed051cc03f9dfddb447ab57b07b3393e8f47393d15473b0e199c34cb1f5f746b15ddfaa55670be SHA512 d5c4d26b324ed21f4e0641cd7f8b76dbf9de80df8b519982e44d41c960df29fd03618e02e9693b2d11ad06d19c4a965274c95a048ec3b9653eacb919a7f8b733 DIST xsts-2002-01-16.tar.gz 6894439 BLAKE2B 1e9ec63d2c104655e64249e07440a04d862fcbcd4d4e19745d81b34994319b510a531c9d6df1491fae1e90b5d0764f0f1a827251ca8df5d613178b0eab01ef25 SHA512 43300af6d39c1e2221b0ed7318fe14c7464eeb6eb030ed1e22eb29b4ab17f014e2a4c8887c3a46ae5d243e3072da27f00f4e285498ae6f1288177d38d1108288 DIST xsts-2004-01-14.tar.gz 2761085 BLAKE2B 41545995fb3a65d053257c376c07d45ffd1041a433bfbdb46d4dd87a5afb60c18c8629a3d988323f9e7a1d709775b5a7e5930276a7121c0725a22705c0976e36 SHA512 32854388d7e720ad67156baf50bf2bae7bd878ca3e35fd7e44e57cad3f434f69d56bbbedd61509f8a1faf01c9eae74a078df8fe130780b182c05c05cb1c39ebe diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/libxml2-2.11.9-icu-pkgconfig.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/libxml2-2.11.9-icu-pkgconfig.patch new file mode 100644 index 00000000000..6092c63201c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/libxml2-2.11.9-icu-pkgconfig.patch @@ -0,0 +1,19 @@ +Needed with icu-76.1 at least. Not clear why it worked before. + +/var/tmp/portage/dev-libs/libxml2-2.11.9/work/libxml2-2.11.9-abi_x86_32.x86/.libs/runtest: + symbol lookup error: /var/tmp/portage/dev-libs/libxml2-2.11.9/work/libxml2-2.11.9-abi_x86_32.x86/.libs/libxml2.so.2: undefined symbol: UCNV_FROM_U_CALLBACK_STOP +--- a/configure.ac ++++ b/configure.ac +@@ -1082,10 +1082,10 @@ if test "$with_icu" != "yes" ; then + else + # Try pkg-config first so that static linking works. + # If this succeeeds, we ignore the WITH_ICU directory. +- PKG_CHECK_MODULES([ICU], [icu-i18n], [ ++ PKG_CHECK_MODULES([ICU], [icu-uc icu-i18n], [ + WITH_ICU=1 + m4_ifdef([PKG_CHECK_VAR], +- [PKG_CHECK_VAR([ICU_DEFS], [icu-i18n], [DEFS])]) ++ [PKG_CHECK_VAR([ICU_DEFS], [icu-uc icu-i18n], [DEFS])]) + if test "x$ICU_DEFS" != "x"; then + ICU_CFLAGS="$ICU_CFLAGS $ICU_DEFS" + fi],[:]) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/libxml2-2.12.9-icu-pkgconfig.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/libxml2-2.12.9-icu-pkgconfig.patch new file mode 100644 index 00000000000..d00f37bfb68 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/libxml2-2.12.9-icu-pkgconfig.patch @@ -0,0 +1,20 @@ +Needed with icu-76.1 at least. Not clear why it worked before. + +/var/tmp/portage/dev-libs/libxml2-2.11.9/work/libxml2-2.11.9-abi_x86_32.x86/.libs/runtest: + symbol lookup error: /var/tmp/portage/dev-libs/libxml2-2.11.9/work/libxml2-2.11.9-abi_x86_32.x86/.libs/libxml2.so.2: undefined symbol: UCNV_FROM_U_CALLBACK_STOP +--- a/configure.ac ++++ b/configure.ac +@@ -1108,10 +1108,10 @@ if test "$with_icu" = "no" || test "$with_icu" = "" ; then + else + # Try pkg-config first so that static linking works. + # If this succeeeds, we ignore the WITH_ICU directory. +- PKG_CHECK_MODULES([ICU], [icu-i18n], [ +- WITH_ICU=1; XML_PC_REQUIRES="${XML_PC_REQUIRES} icu-i18n" ++ PKG_CHECK_MODULES([ICU], [icu-uc icu-i18n], [ ++ WITH_ICU=1; XML_PC_REQUIRES="${XML_PC_REQUIRES} icu-uc icu-i18n" + m4_ifdef([PKG_CHECK_VAR], +- [PKG_CHECK_VAR([ICU_DEFS], [icu-i18n], [DEFS])]) ++ [PKG_CHECK_VAR([ICU_DEFS], [icu-uc icu-i18n], [DEFS])]) + if test "x$ICU_DEFS" != "x"; then + ICU_CFLAGS="$ICU_CFLAGS $ICU_DEFS" + fi],[:]) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.11.9.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.11.9.ebuild new file mode 100644 index 00000000000..d08e9d772c1 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.11.9.ebuild @@ -0,0 +1,201 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Note: Please bump in sync with dev-libs/libxslt + +PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_REQ_USE="xml(+)" +inherit flag-o-matic python-r1 multilib-minimal + +XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite" +XSTS_NAME_1="xmlschema2002-01-16" +XSTS_NAME_2="xmlschema2004-01-14" +XSTS_TARBALL_1="xsts-2002-01-16.tar.gz" +XSTS_TARBALL_2="xsts-2004-01-14.tar.gz" +XMLCONF_TARBALL="xmlts20130923.tar.gz" + +DESCRIPTION="XML C parser and toolkit" +HOMEPAGE="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home" +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxml2" + inherit git-r3 +else + inherit autotools gnome.org + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +fi + +inherit autotools + +SRC_URI+=" + test? ( + ${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1} + ${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2} + https://www.w3.org/XML/Test/${XMLCONF_TARBALL} + ) +" +S="${WORKDIR}/${PN}-${PV%_rc*}" + +LICENSE="MIT" +SLOT="2" +IUSE="debug examples +ftp icu lzma +python readline static-libs test" +RESTRICT="!test? ( test )" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=" + virtual/libiconv + >=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}] + icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] ) + lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[${MULTILIB_USEDEP}] ) + python? ( ${PYTHON_DEPS} ) + readline? ( sys-libs/readline:= ) +" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +if [[ ${PV} == 9999 ]] ; then + BDEPEND+=" dev-build/gtk-doc-am" +fi + +MULTILIB_CHOST_TOOLS=( + /usr/bin/xml2-config +) + +PATCHES=( + "${FILESDIR}"/${PN}-2.11.5-CVE-2023-45322.patch + "${FILESDIR}"/${PN}-2.11.9-icu-pkgconfig.patch +) + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + else + local tarname=${P/_rc/-rc}.tar.xz + + # ${A} isn't used to avoid unpacking of test tarballs into ${WORKDIR}, + # as they are needed as tarballs in ${S}/xstc instead and not unpacked + unpack ${tarname} + + if [[ -n ${PATCHSET_VERSION} ]] ; then + unpack ${PN}-${PATCHSET_VERSION}.tar.xz + fi + fi + + cd "${S}" || die + + if use test ; then + cp "${DISTDIR}/${XSTS_TARBALL_1}" \ + "${DISTDIR}/${XSTS_TARBALL_2}" \ + "${S}"/xstc/ \ + || die "Failed to install test tarballs" + unpack ${XMLCONF_TARBALL} + fi +} + +src_prepare() { + default + + # Please do not remove, as else we get references to PORTAGE_TMPDIR + # in /usr/lib/python?.?/site-packages/libxml2mod.la among things. + #elibtoolize + + eautoreconf +} + +multilib_src_configure() { + # Filter seemingly problematic CFLAGS (bug #26320) + filter-flags -fprefetch-loop-arrays -funroll-loops + + # Notes: + # The meaning of the 'debug' USE flag does not apply to the --with-debug + # switch (enabling the libxml2 debug module). See bug #100898. + libxml2_configure() { + ECONF_SOURCE="${S}" econf \ + --enable-ipv6 \ + $(use_with ftp) \ + $(use_with debug run-debug) \ + $(use_with icu) \ + $(use_with lzma) \ + $(use_enable static-libs static) \ + $(multilib_native_use_with readline) \ + $(multilib_native_use_with readline history) \ + "$@" + } + + # Build python bindings separately + libxml2_configure --without-python + + multilib_is_native_abi && use python && + python_foreach_impl run_in_build_dir libxml2_configure --with-python +} + +libxml2_py_emake() { + pushd "${BUILD_DIR}"/python >/dev/null || die + + emake top_builddir="${NATIVE_BUILD_DIR}" "$@" + + popd >/dev/null || die +} + +multilib_src_compile() { + default + + if multilib_is_native_abi && use python ; then + NATIVE_BUILD_DIR="${BUILD_DIR}" + python_foreach_impl run_in_build_dir libxml2_py_emake all + fi +} + +multilib_src_test() { + ln -s "${S}"/xmlconf || die + + emake check + + multilib_is_native_abi && use python && + python_foreach_impl run_in_build_dir libxml2_py_emake check +} + +multilib_src_install() { + emake DESTDIR="${D}" install + + multilib_is_native_abi && use python && + python_foreach_impl run_in_build_dir libxml2_py_emake DESTDIR="${D}" install + + # Hack until automake release is made for the optimise fix + # https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097 + multilib_is_native_abi && use python && python_foreach_impl python_optimize +} + +multilib_src_install_all() { + einstalldocs + + if ! use examples ; then + rm -rf "${ED}"/usr/share/doc/${PF}/examples || die + rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die + fi + + rm -rf "${ED}"/usr/share/doc/${PN}-python-${PVR} || die + + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + # We don't want to do the xmlcatalog during stage1, as xmlcatalog will not + # be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887. + if [[ -n "${ROOT}" ]]; then + elog "Skipping XML catalog creation for stage building (bug #208887)." + else + # Need an XML catalog, so no-one writes to a non-existent one + CATALOG="${EROOT}/etc/xml/catalog" + + # We don't want to clobber an existing catalog though, + # only ensure that one is there + # + if [[ ! -e "${CATALOG}" ]]; then + [[ -d "${EROOT}/etc/xml" ]] || mkdir -p "${EROOT}/etc/xml" + "${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}" + einfo "Created XML catalog in ${CATALOG}" + fi + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.12.8.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.12.8.ebuild index 3321325cd16..f7921a43e49 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.12.8.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.12.8.ebuild @@ -23,7 +23,7 @@ if [[ ${PV} == 9999 ]] ; then inherit autotools git-r3 else inherit gnome.org libtool - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi SRC_URI+=" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.12.9.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.12.9.ebuild new file mode 100644 index 00000000000..1f7c6270c0c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.12.9.ebuild @@ -0,0 +1,198 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Note: Please bump in sync with dev-libs/libxslt + +PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_REQ_USE="xml(+)" +inherit autotools flag-o-matic python-r1 multilib-minimal + +XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite" +XSTS_NAME_1="xmlschema2002-01-16" +XSTS_NAME_2="xmlschema2004-01-14" +XSTS_TARBALL_1="xsts-2002-01-16.tar.gz" +XSTS_TARBALL_2="xsts-2004-01-14.tar.gz" +XMLCONF_TARBALL="xmlts20130923.tar.gz" + +DESCRIPTION="XML C parser and toolkit" +HOMEPAGE="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home" +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxml2" + inherit git-r3 +else + inherit gnome.org + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +fi + +SRC_URI+=" + test? ( + ${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1} + ${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2} + https://www.w3.org/XML/Test/${XMLCONF_TARBALL} + ) +" +S="${WORKDIR}/${PN}-${PV%_rc*}" + +LICENSE="MIT" +SLOT="2" +IUSE="debug examples +ftp icu lzma +python readline static-libs test" +RESTRICT="!test? ( test )" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=" + virtual/libiconv + >=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}] + icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] ) + lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[${MULTILIB_USEDEP}] ) + python? ( ${PYTHON_DEPS} ) + readline? ( sys-libs/readline:= ) +" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +if [[ ${PV} == 9999 ]] ; then + BDEPEND+=" dev-build/gtk-doc-am" +fi + +MULTILIB_CHOST_TOOLS=( + /usr/bin/xml2-config +) + +PATCHES=( + "${FILESDIR}"/${PN}-2.12.9-icu-pkgconfig.patch +) + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + else + local tarname=${P/_rc/-rc}.tar.xz + + # ${A} isn't used to avoid unpacking of test tarballs into ${WORKDIR}, + # as they are needed as tarballs in ${S}/xstc instead and not unpacked + unpack ${tarname} + + if [[ -n ${PATCHSET_VERSION} ]] ; then + unpack ${PN}-${PATCHSET_VERSION}.tar.xz + fi + fi + + cd "${S}" || die + + if use test ; then + cp "${DISTDIR}/${XSTS_TARBALL_1}" \ + "${DISTDIR}/${XSTS_TARBALL_2}" \ + "${S}"/xstc/ \ + || die "Failed to install test tarballs" + unpack ${XMLCONF_TARBALL} + fi +} + +src_prepare() { + default + + # Please do not remove, as else we get references to PORTAGE_TMPDIR + # in /usr/lib/python?.?/site-packages/libxml2mod.la among things. + #elibtoolize + + eautoreconf +} + +multilib_src_configure() { + # Filter seemingly problematic CFLAGS (bug #26320) + filter-flags -fprefetch-loop-arrays -funroll-loops + + # Notes: + # The meaning of the 'debug' USE flag does not apply to the --with-debug + # switch (enabling the libxml2 debug module). See bug #100898. + libxml2_configure() { + ECONF_SOURCE="${S}" econf \ + --enable-ipv6 \ + $(use_with ftp) \ + $(use_with debug run-debug) \ + $(use_with icu) \ + $(use_with lzma) \ + $(use_enable static-libs static) \ + $(multilib_native_use_with readline) \ + $(multilib_native_use_with readline history) \ + "$@" + } + + # Build python bindings separately + libxml2_configure --without-python + + multilib_is_native_abi && use python && + python_foreach_impl run_in_build_dir libxml2_configure --with-python +} + +libxml2_py_emake() { + pushd "${BUILD_DIR}"/python >/dev/null || die + + emake top_builddir="${NATIVE_BUILD_DIR}" "$@" + + popd >/dev/null || die +} + +multilib_src_compile() { + default + + if multilib_is_native_abi && use python ; then + NATIVE_BUILD_DIR="${BUILD_DIR}" + python_foreach_impl run_in_build_dir libxml2_py_emake all + fi +} + +multilib_src_test() { + ln -s "${S}"/xmlconf || die + + emake check + + multilib_is_native_abi && use python && + python_foreach_impl run_in_build_dir libxml2_py_emake check +} + +multilib_src_install() { + emake DESTDIR="${D}" install + + multilib_is_native_abi && use python && + python_foreach_impl run_in_build_dir libxml2_py_emake DESTDIR="${D}" install + + # Hack until automake release is made for the optimise fix + # https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097 + multilib_is_native_abi && use python && python_foreach_impl python_optimize +} + +multilib_src_install_all() { + einstalldocs + + if ! use examples ; then + rm -rf "${ED}"/usr/share/doc/${PF}/examples || die + rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die + fi + + rm -rf "${ED}"/usr/share/doc/${PN}-python-${PVR} || die + + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + # We don't want to do the xmlcatalog during stage1, as xmlcatalog will not + # be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887. + if [[ -n "${ROOT}" ]]; then + elog "Skipping XML catalog creation for stage building (bug #208887)." + else + # Need an XML catalog, so no-one writes to a non-existent one + CATALOG="${EROOT}/etc/xml/catalog" + + # We don't want to clobber an existing catalog though, + # only ensure that one is there + # + if [[ ! -e "${CATALOG}" ]]; then + [[ -d "${EROOT}/etc/xml" ]] || mkdir -p "${EROOT}/etc/xml" + "${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}" + einfo "Created XML catalog in ${CATALOG}" + fi + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.13.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.13.4.ebuild new file mode 100644 index 00000000000..e27b1966092 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.13.4.ebuild @@ -0,0 +1,190 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Note: Please bump in sync with dev-libs/libxslt + +PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_REQ_USE="xml(+)" +inherit autotools python-r1 multilib-minimal + +XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite" +XSTS_NAME_1="xmlschema2002-01-16" +XSTS_NAME_2="xmlschema2004-01-14" +XSTS_TARBALL_1="xsts-2002-01-16.tar.gz" +XSTS_TARBALL_2="xsts-2004-01-14.tar.gz" +XMLCONF_TARBALL="xmlts20130923.tar.gz" + +DESCRIPTION="XML C parser and toolkit" +HOMEPAGE="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home" +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxml2" + inherit git-r3 +else + inherit gnome.org + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +fi + +SRC_URI+=" + test? ( + ${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1} + ${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2} + https://www.w3.org/XML/Test/${XMLCONF_TARBALL} + ) +" +S="${WORKDIR}/${PN}-${PV%_rc*}" + +LICENSE="MIT" +SLOT="2" +IUSE="examples icu lzma +python readline static-libs test" +RESTRICT="!test? ( test )" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=" + virtual/libiconv + >=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}] + icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] ) + lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[${MULTILIB_USEDEP}] ) + python? ( ${PYTHON_DEPS} ) + readline? ( sys-libs/readline:= ) +" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +if [[ ${PV} == 9999 ]] ; then + BDEPEND+=" dev-build/gtk-doc-am" +fi + +MULTILIB_CHOST_TOOLS=( + /usr/bin/xml2-config +) + +PATCHES=( + "${FILESDIR}"/${PN}-2.12.9-icu-pkgconfig.patch +) + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + else + local tarname=${P/_rc/-rc}.tar.xz + + # ${A} isn't used to avoid unpacking of test tarballs into ${WORKDIR}, + # as they are needed as tarballs in ${S}/xstc instead and not unpacked + unpack ${tarname} + + if [[ -n ${PATCHSET_VERSION} ]] ; then + unpack ${PN}-${PATCHSET_VERSION}.tar.xz + fi + fi + + cd "${S}" || die + + if use test ; then + cp "${DISTDIR}/${XSTS_TARBALL_1}" \ + "${DISTDIR}/${XSTS_TARBALL_2}" \ + "${S}"/xstc/ \ + || die "Failed to install test tarballs" + unpack ${XMLCONF_TARBALL} + fi +} + +src_prepare() { + default + + # Please do not remove, as else we get references to PORTAGE_TMPDIR + # in /usr/lib/python?.?/site-packages/libxml2mod.la among things. + #elibtoolize + + eautoreconf +} + +multilib_src_configure() { + libxml2_configure() { + ECONF_SOURCE="${S}" econf \ + $(use_with icu) \ + $(use_with lzma) \ + $(use_enable static-libs static) \ + $(multilib_native_use_with readline) \ + $(multilib_native_use_with readline history) \ + --with-legacy \ + "$@" + } + + # Build python bindings separately + libxml2_configure --without-python + + multilib_is_native_abi && use python && + python_foreach_impl run_in_build_dir libxml2_configure --with-python +} + +libxml2_py_emake() { + pushd "${BUILD_DIR}"/python >/dev/null || die + + emake top_builddir="${NATIVE_BUILD_DIR}" "$@" + + popd >/dev/null || die +} + +multilib_src_compile() { + default + + if multilib_is_native_abi && use python ; then + NATIVE_BUILD_DIR="${BUILD_DIR}" + python_foreach_impl run_in_build_dir libxml2_py_emake all + fi +} + +multilib_src_test() { + ln -s "${S}"/xmlconf || die + + emake check + + multilib_is_native_abi && use python && + python_foreach_impl run_in_build_dir libxml2_py_emake check +} + +multilib_src_install() { + emake DESTDIR="${D}" install + + multilib_is_native_abi && use python && + python_foreach_impl run_in_build_dir libxml2_py_emake DESTDIR="${D}" install + + # Hack until automake release is made for the optimise fix + # https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097 + multilib_is_native_abi && use python && python_foreach_impl python_optimize +} + +multilib_src_install_all() { + einstalldocs + + if ! use examples ; then + rm -rf "${ED}"/usr/share/doc/${PF}/examples || die + rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die + fi + + rm -rf "${ED}"/usr/share/doc/${PN}-python-${PVR} || die + + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + # We don't want to do the xmlcatalog during stage1, as xmlcatalog will not + # be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887. + if [[ -n "${ROOT}" ]]; then + elog "Skipping XML catalog creation for stage building (bug #208887)." + else + # Need an XML catalog, so no-one writes to a non-existent one + CATALOG="${EROOT}/etc/xml/catalog" + + # We don't want to clobber an existing catalog though, + # only ensure that one is there + # + if [[ ! -e "${CATALOG}" ]]; then + [[ -d "${EROOT}/etc/xml" ]] || mkdir -p "${EROOT}/etc/xml" + "${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}" + einfo "Created XML catalog in ${CATALOG}" + fi + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-9999.ebuild index 72ad4933424..45b054cf891 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-9999.ebuild @@ -106,6 +106,7 @@ multilib_src_configure() { $(use_enable static-libs static) \ $(multilib_native_use_with readline) \ $(multilib_native_use_with readline history) \ + --with-legacy \ "$@" } diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/Manifest index b10e3d3f68d..f18b823ce40 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/Manifest @@ -1,2 +1,3 @@ DIST libxslt-1.1.39.tar.xz 1578216 BLAKE2B 7c87b769d345fc99a966bea6b4e94533fa211dc3a987ce013a03eefb05dde73ef75526bdecf7d32d8c77112232096fb22d8ec4f0a781b9f59d0422a2db75df01 SHA512 c0c99dc63f8b2acb6cc3ad7ad684ffa2a427ee8d1740495cbf8a7c9b9c8679f96351b4b676c73ccc191014db4cb4ab42b9a0070f6295565f39dbc665c5c16f89 DIST libxslt-1.1.41.tar.xz 1573868 BLAKE2B 2228a4074f257edd4fa0ebb2a713b035b780b19398ba9208dedb0d0cec6777129c9bb08a80494b657a4238bea228bd752761118a0022f56d71cc1302838b1733 SHA512 b9f94d1c00dfb9f731c6c424a0d3f07fb0a37935048b26618e5405c3890d1d40c832420117de4d5363a90ab4809f77f6e566013ce7858cc88e0905709ca0f6fe +DIST libxslt-1.1.42.tar.xz 1573668 BLAKE2B 91b2ca38807ae21b6629b8e19f4ab9d7d19bc0af17f2546e1cf278b2f2fff62b86bbbd996085fff322f3d5ae6c2b20bcfc4e9fb501c301d3fd5d56cf5b205ede SHA512 02a2189b6cd65fa1fb929fc0e6868bc046bdd8827849f0048cdf9267ed9450745158cef0f2713a833e28fb520b312ff86dc5754dd423ce768c457bfd8812bdc7 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.42.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.42.ebuild new file mode 100644 index 00000000000..0eb16b11c78 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.42.ebuild @@ -0,0 +1,123 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Note: Please bump this in sync with dev-libs/libxml2. + +PYTHON_COMPAT=( python3_{10..13} ) +inherit python-r1 multilib-minimal + +DESCRIPTION="XSLT libraries and tools" +HOMEPAGE="https://gitlab.gnome.org/GNOME/libxslt" +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxslt" + inherit autotools git-r3 +else + inherit libtool gnome.org + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +fi + +LICENSE="MIT" +SLOT="0" +IUSE="crypt debug examples python static-libs" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +BDEPEND=">=virtual/pkgconfig-1" +RDEPEND=" + >=dev-libs/libxml2-2.13:2[${MULTILIB_USEDEP}] + crypt? ( >=dev-libs/libgcrypt-1.5.3:=[${MULTILIB_USEDEP}] ) + python? ( + ${PYTHON_DEPS} + >=dev-libs/libxml2-2.13:2[${MULTILIB_USEDEP},python,${PYTHON_USEDEP}] + ) +" +DEPEND="${RDEPEND}" + +MULTILIB_CHOST_TOOLS=( + /usr/bin/xslt-config +) + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/libxslt/xsltconfig.h +) + +src_prepare() { + default + + if [[ ${PV} == 9999 ]] ; then + eautoreconf + else + # Prefix always needs elibtoolize if not eautoreconf'd. + elibtoolize + fi +} + +multilib_src_configure() { + libxslt_configure() { + ECONF_SOURCE="${S}" econf \ + --without-python \ + $(use_with crypt crypto) \ + $(use_with debug) \ + $(use_enable static-libs static) \ + "$@" + } + + # Build Python bindings separately + libxslt_configure --without-python + + if multilib_is_native_abi && use python ; then + NATIVE_BUILD_DIR="${BUILD_DIR}" + python_foreach_impl run_in_build_dir libxslt_configure --with-python + fi +} + +libxslt_py_emake() { + pushd "${BUILD_DIR}"/python >/dev/null || die + + emake top_builddir="${NATIVE_BUILD_DIR}" "$@" + + popd >/dev/null || die +} + +multilib_src_compile() { + default + + if multilib_is_native_abi && use python ; then + python_foreach_impl run_in_build_dir libxslt_py_emake all + fi +} + +multilib_src_test() { + default + + if multilib_is_native_abi && use python ; then + python_foreach_impl run_in_build_dir libxslt_py_emake check + fi +} + +multilib_src_install() { + # "default" does not work here - docs are installed by multilib_src_install_all + emake DESTDIR="${D}" install + + if multilib_is_native_abi && use python; then + python_foreach_impl run_in_build_dir libxslt_py_emake \ + DESTDIR="${D}" \ + install + + # Hack until automake release is made for the optimise fix + # https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097 + python_foreach_impl python_optimize + fi +} + +multilib_src_install_all() { + einstalldocs + + if ! use examples ; then + rm -rf "${ED}"/usr/share/doc/${PF}/tutorial{,2} || die + rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die + fi + + find "${ED}" -type f -name "*.la" -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/nspr/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/nspr/Manifest index 3c544ab050a..c9f0651f9f8 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/nspr/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/nspr/Manifest @@ -1 +1,2 @@ DIST nspr-4.35.tar.gz 1096974 BLAKE2B c80402d7be9e69ab6d1e768a18d271a8d28900f4cae7df2709d1ab26e100d908f508762bb771d4042aa7152934ce83d495e2102e894c56574187be8040d65629 SHA512 502815833116e25f79ddf71d1526484908aa92fbc55f8a892729cb404a4daafcc0470a89854cd080d2d20299fdb7d9662507c5362c7ae661cbacf308ac56ef7f +DIST nspr-4.36.tar.gz 1036274 BLAKE2B 369d851db0f425f0c6c3cdaeb333320860b77b49b40b77cc983998de3f9128f9d987f143e9f2ce155d609fb23f3f9ed0d0abe7d74e20c59763e2b9bdd1835817 SHA512 55d21e196508ad29a179639fc8006f44b04dc2c0b5a85895e727f0a4f0ea37aeeceb936e37ac6b271b882a18e9f06d96133a60f19cee6345f8424c1c66e270ee diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/nspr/nspr-4.36.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/nspr/nspr-4.36.ebuild new file mode 100644 index 00000000000..39addc5f2c9 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/nspr/nspr-4.36.ebuild @@ -0,0 +1,176 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic toolchain-funcs multilib-minimal + +MIN_PV="$(ver_cut 2)" + +DESCRIPTION="Netscape Portable Runtime" +HOMEPAGE="https://www.mozilla.org/projects/nspr/" +SRC_URI="https://archive.mozilla.org/pub/nspr/releases/v${PV}/src/${P}.tar.gz" + +LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" +IUSE="debug" + +MULTILIB_CHOST_TOOLS=( + /usr/bin/nspr-config +) + +PATCHES=( + "${FILESDIR}"/${PN}-4.7.1-solaris.patch + "${FILESDIR}"/${PN}-4.8.4-darwin-install_name.patch + "${FILESDIR}"/${PN}-4.8.9-link-flags.patch + # We do not need to pass -L$libdir via nspr-config --libs + "${FILESDIR}"/${PN}-4.9.5_nspr_config.patch +) + +QA_CONFIGURE_OPTIONS="--disable-static" + +src_prepare() { + cd "${S}"/nspr || die + + default + + if use elibc_musl; then + eapply "${FILESDIR}"/${PN}-4.21-ipv6-musl-support.patch + eapply "${FILESDIR}"/nspr-4.35-bgo-905998-lfs64-musl.patch + fi + + # rename configure.in to configure.ac for new autotools compatibility + if [[ -e "${S}"/nspr/configure.in ]] ; then + einfo "Renaming configure.in to configure.ac" + mv "${S}"/nspr/configure.{in,ac} || die + else + elog "configure.in rename logic can be removed from ebuild." + fi + + # We must run eautoconf to regenerate configure + eautoconf + + # make sure it won't find Perl out of Prefix + sed -i -e "s/perl5//g" "${S}"/nspr/configure || die + + # Respect LDFLAGS + sed -i -e 's/\$(MKSHLIB) \$(OBJS)/\$(MKSHLIB) \$(LDFLAGS) \$(OBJS)/g' \ + "${S}"/nspr/config/rules.mk || die +} + +multilib_src_configure() { + # -Werror=strict-aliasing + # https://bugs.gentoo.org/867634 + # + # Testsuite-only issue. Still, this makes it challenging to test the package with LTO + # enabled... + append-flags -fno-strict-aliasing + filter-lto + + # The build system overrides user optimization level based on a configure flag. #886987 + local my_optlvl=$(get-flag '-O*') + + # bgo #923802 + append-lfs-flags + + # We use the standard BUILD_xxx but nspr uses HOST_xxx + tc-export_build_env BUILD_CC + export HOST_CC=${BUILD_CC} HOST_CFLAGS=${BUILD_CFLAGS} HOST_LDFLAGS=${BUILD_LDFLAGS} + tc-export AR AS CC CXX RANLIB + [[ ${CBUILD} != ${CHOST} ]] \ + && export CROSS_COMPILE=1 \ + || unset CROSS_COMPILE + + local myconf=( --libdir="${EPREFIX}/usr/$(get_libdir)" ) + + # Optimization is disabled when debug is enabled. + if use debug; then + myconf+=( --enable-debug ) + else + myconf+=( --disable-debug ) + myconf+=( --enable-optimize="${my_optlvl}" ) + fi + + # The configure has some fancy --enable-{{n,x}32,64bit} switches + # that trigger some code conditional to platform & arch. This really + # matters for the few common arches (x86, ppc) but we pass a little + # more of them to be future-proof. + + # use ABI first, this will work for most cases + case "${ABI}" in + alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86) ;; + n32) myconf+=( --enable-n32 );; + x32) myconf+=( --enable-x32 );; + s390x|*64) myconf+=( --enable-64bit );; + default) # no abi actually set, fall back to old check + einfo "Running a short build test to determine 64bit'ness" + # TODO: Port this to toolchain-funcs tc-get-ptr-size/tc-get-build-ptr-size + echo > "${T}"/test.c || die + ${CC} ${CFLAGS} ${CPPFLAGS} -fno-lto -c "${T}"/test.c -o "${T}"/test.o || die + case $(file -S "${T}"/test.o) in + *32-bit*x86-64*) myconf+=( --enable-x32 );; + *64-bit*|*ppc64*|*x86_64*) myconf+=( --enable-64bit );; + *32-bit*|*ppc*|*i386*) ;; + *) die "Failed to detect whether your arch is 64bits or 32bits, disable distcc if you're using it, please";; + esac ;; + *) ;; + esac + + # Ancient autoconf needs help finding the right tools. + LC_ALL="C" ECONF_SOURCE="${S}/nspr" \ + ac_cv_path_AR="${AR}" \ + ac_cv_path_AS="${AS}" \ + econf "${myconf[@]}" +} + +multilib_src_test() { + # https://firefox-source-docs.mozilla.org/nspr/running_nspr_tests.html + cd "${BUILD_DIR}/pr/tests" || die + einfo "Building tests" + emake + + einfo "Running test suite" + ../../../${P}/${PN}/pr/tests/runtests.pl | tee "${T}"/${ABI}-tests.log + + # Needed to check if runtests.pl itself or the tee (somehow) failed + # (can't use die with pipes to check each component) + [[ ${PIPESTATUS[@]} == "0 0" ]] || die "Tests failed to run!" + + local known_failures=( + # network-sandbox related? + cltsrv + # network-sandbox related? + gethost + ) + + local known_failure + for known_failure in "${known_failures[@]}" ; do + sed -i -e "/${known_failure}.*FAILED/d" "${T}"/${ABI}-tests.log || die + done + + # But to actually check the test results, we examine the log. + if grep -q "FAILED" "${T}"/${ABI}-tests.log ; then + die "Test failure for ${ABI}!" + fi +} + +multilib_src_install() { + # Their build system is royally confusing, as usual + MINOR_VERSION=${MIN_PV} # Used for .so version + emake DESTDIR="${D}" install + + einfo "removing static libraries as upstream has requested!" + rm "${ED}"/usr/$(get_libdir)/*.a || die "failed to remove static libraries." + + # install nspr-config + dobin config/nspr-config + + # Remove stupid files in /usr/bin + rm "${ED}"/usr/bin/prerr.properties || die + + # This is used only to generate prerr.c and prerr.h at build time. + # No other projects use it, and we don't want to depend on perl. + # Talked to upstream and they agreed w/punting. + rm "${ED}"/usr/bin/compile-et.pl || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/oniguruma/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/oniguruma/Manifest index 4526f5b9ea8..9915cd321b0 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/oniguruma/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/oniguruma/Manifest @@ -1,2 +1 @@ -DIST onig-6.9.8.tar.gz 944148 BLAKE2B ee7d91f2d3a7a41d675bcbb9d18490aa3e5a9edb8f3c6e880d27f2218c476499bba21088def41fbb5d500bfb2916af85c2489fca5bd846594fab53ac492531af SHA512 5a3d220961c22cda981bbae06dc383401771362cdf67e4f0b5d2fa8951a03907362edae498f63226287e70715c0abe4acdd22ec3ceb74bbb226234a52c36a4d7 DIST onig-6.9.9.tar.gz 957444 BLAKE2B d31f4caf5e14477ec1fd40ab764137b49046ac759f487432a129ebdf6da89b128218bb14b08f9359ac0b87286bcd309faa3878b26528926aab6f7d2e25e722b0 SHA512 14d2afd0d2cf86012c9959f221e9a77e7787e709c9dd7295d159e0a9ba89df52fa3edc59f95a6d859c34181e2e2e53e21b932b3eceb4d6ddeb2a3445ef951e95 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/oniguruma/oniguruma-6.9.8.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/oniguruma/oniguruma-6.9.8.ebuild deleted file mode 100644 index dcef7f6b080..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/oniguruma/oniguruma-6.9.8.ebuild +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 2003-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -inherit multilib-minimal - -if [[ "${PV}" == "9999" ]]; then - inherit autotools git-r3 - - EGIT_REPO_URI="https://github.com/kkos/oniguruma" -fi - -DESCRIPTION="Regular expression library for different character encodings" -HOMEPAGE="https://github.com/kkos/oniguruma" -if [[ "${PV}" == "9999" ]]; then - SRC_URI="" -else - SRC_URI="https://github.com/kkos/${PN}/releases/download/v${PV}/onig-${PV}.tar.gz" -fi - -LICENSE="BSD-2" -SLOT="0/5" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="crnl-as-line-terminator static-libs" - -BDEPEND="" -DEPEND="" -RDEPEND="" - -if [[ "${PV}" != "9999" ]]; then - S="${WORKDIR}/onig-${PV}" -fi - -DOCS=(AUTHORS HISTORY README{,_japanese} doc/{API,CALLOUTS.API,CALLOUTS.BUILTIN,FAQ,RE}{,.ja} doc/{SYNTAX.md,UNICODE_PROPERTIES}) - -src_prepare() { - default - - if [[ "${PV}" == "9999" ]]; then - eautoreconf - fi -} - -multilib_src_configure() { - ECONF_SOURCE="${S}" econf \ - --enable-posix-api \ - $(use_enable crnl-as-line-terminator) \ - $(use_enable static-libs static) -} - -multilib_src_install_all() { - einstalldocs - find "${ED}" -name "*.la" -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-28.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-28.0.ebuild index 30ab416efd8..d32f6973cef 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-28.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-28.0.ebuild @@ -19,7 +19,7 @@ if [[ "${PV}" == *9999 ]]; then inherit git-r3 else SRC_URI="https://github.com/protocolbuffers/protobuf/releases/download/v${PV}/${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" + KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" MY_SLOT=$(ver_cut 1-2) fi diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/Manifest index f93c5c8f2dc..3e41e75bfed 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/Manifest @@ -1,2 +1,3 @@ DIST tree-sitter-bash-0.21.0.tar.gz 557096 BLAKE2B bfbdb4db0f75c292567043a47d32e26c6ec119ed70fa9b77675eb57e686c072315fc114befecc430730c8eec20238544d13836402f2264a1b6657e0387d4987c SHA512 9585ea80f85bc7010444a91142bc943486ade68982c7ca367a6cbe65619af2bdaa1acd8b6ee698cdf74b84d62a7f44acc4676ddb4b6007035eb9eea4768f122d DIST tree-sitter-bash-0.23.1.tar.gz 542859 BLAKE2B fbcc788a241b740e128d1ac7dac6292411121c67239c2656a74514f016b89882e4bd6371fc287b9d94b4b78f2b8e968ba3029de67e1c307e99ecce95bfe83dc5 SHA512 1ab59105a5f0a74a17b415420fb8da072cdd2765f776a4f1b0297ca4a4637055d625753c502b96928e9cdf56fd9f175589da4acdeb338daa9113df94c4aa6581 +DIST tree-sitter-bash-0.23.2.tar.gz 544189 BLAKE2B 71e5baa9f51ddb41324be09355fbcc62d559e7eee7c473d190842ddb72d18915f05e4b87d7443119e10edb365a01992d4622710190c33e9ebf2ce47ec4d95502 SHA512 522ca01f823103283a3edcba6d400e118e7ddd452e1b94378feb7c5b3a708b90d55f98c65a4c0af9c89d70878ad595c7f1bbf41197a5367423f894b4fd37bff0 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/tree-sitter-bash-0.23.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/tree-sitter-bash-0.23.2.ebuild new file mode 100644 index 00000000000..e0e9314f6ec --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/tree-sitter-bash-0.23.2.ebuild @@ -0,0 +1,15 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +TS_BINDINGS=( python ) + +inherit tree-sitter-grammar + +DESCRIPTION="Bash grammar for Tree-sitter" +HOMEPAGE="https://github.com/tree-sitter/tree-sitter-bash" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/Manifest index 032a94cf1b0..2ca0f44d241 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/Manifest @@ -1,3 +1,2 @@ -DIST userspace-rcu-0.13.2.tar.bz2 611448 BLAKE2B 6d502e0035b03df262c917ba70f7442e2bd81369091b2c521fe5c32f31ed2ef7404070759f3a8910b767153e05d28e354d5e5ece2a3ba17e4a31dd7db3e1924f SHA512 e5097a7f653f51b3a47a09f79e7a153aab8fd22c0504a1127a9b33d093a9ae6a941b97c0fe175ee168e2976097aefdcdf8d5ce030afbe565c1b72f64d6f5b60a DIST userspace-rcu-0.14.0.tar.bz2 661322 BLAKE2B ba9fa4c6dec693d2616234187db531f00fc0ade65f7e2a57182d9441728ddfa6f3e9d4544b824ca5edf7c027a43c9231d998a309c01f4bbab1eeefe856344f77 SHA512 7297e51012f4c44ee27c0e18ed9d87bf24be34db68a5398394c1e683a045bb561cf74aa913398404c0ed5cb8011af728ea12947717fa5f27627e5ca78e63a40f DIST userspace-rcu-0.14.1.tar.bz2 669999 BLAKE2B 6ae6a98020f731b5dc3bef5e7cf1a0b590087dbaff8836a4d2b694ad8d0d76b298261d99bea4281907cb516980b69c673d80baac17ae244e2f4fe690fc539293 SHA512 46137525854164df05326202909689b62f8f3aa6e04127eb9157a83aed8180f35a68332ec66e4e4fc9b0c046b64c64b492caed4b64f86f87a31579e4209ec345 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/userspace-rcu-0.13.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/userspace-rcu-0.13.2.ebuild deleted file mode 100644 index d0380abac00..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/userspace-rcu-0.13.2.ebuild +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools - -DESCRIPTION="Userspace RCU (read-copy-update) library" -HOMEPAGE="https://liburcu.org/" -SRC_URI="https://lttng.org/files/urcu/${P}.tar.bz2" - -LICENSE="LGPL-2.1" -SLOT="0/8" # subslot = soname version -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" -IUSE="static-libs test" -RESTRICT="!test? ( test )" - -BDEPEND="test? ( sys-process/time )" - -PATCHES=( - "${FILESDIR}"/${PN}-0.13.1-tests-no-benchmark.patch - "${FILESDIR}"/${PN}-0.13.1-loong.patch -) - -src_prepare() { - default - - # Needed for tests patch - # ... and refresh libtool (see https://github.com/gentoo/gentoo/pull/23973) - # ... and for build on loong (see https://github.com/gentoo/gentoo/pull/25189) - eautoreconf -} - -src_configure() { - local myeconfargs=( - --enable-shared - $(use_enable static-libs static) - ) - - econf "${myeconfargs[@]}" -} - -src_test() { - default - - emake -C tests/regression regtest -} - -src_install() { - default - - find "${ED}" -type f -name "*.la" -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cachecontrol/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/cachecontrol/Manifest index 39f6e1b02cc..294d6becd17 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cachecontrol/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/cachecontrol/Manifest @@ -1 +1,2 @@ DIST cachecontrol-0.14.0.tar.gz 28899 BLAKE2B 158d70333b8e5cbbee31db788c9737a92592c3c342d17e4e1ff4826759e3fe14eb855556f9363c122fbf3fd68ca43a78b34b3327260fe51a15b30dde01302508 SHA512 4bb43475d43a2b83f9196cf02af7a881ab37da3b481777f1ae6b24df0f7dab54629fcdf9e07b00e1226a7707f5c92b0473481ef7cbbcaa4275665a41487c903f +DIST cachecontrol-0.14.1.tar.gz 28928 BLAKE2B 9f01bc35c905f0fb489e796f96ccc0063a475bacc24b980ee67f8053412a52d9167b4b96495a8a7f7c561e2485a1b6fcb4ec94b1408ea5111f8661fea59394fd SHA512 f99463ee08199058d0f84a173d6a85276cfe6caec0bec6692e5af74f4c8e684a68ab6910c6c85cbd1f4515c7044ee2fbf149cfd85e4ce9d9ac97e9850698c07f diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cachecontrol/cachecontrol-0.14.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cachecontrol/cachecontrol-0.14.0.ebuild index 06029c96338..00b7217135e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cachecontrol/cachecontrol-0.14.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/cachecontrol/cachecontrol-0.14.0.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ppc ppc64 ~riscv ~sparc x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ppc ppc64 ~riscv ~s390 ~sparc x86" RDEPEND=" =virtual/rust-1.56.0 dep once that's the minimum in cargo.eclass -# and replace it with ${RUST_DEPEND} -BDEPEND=" - dev-python/setuptools[${PYTHON_USEDEP}] - >=virtual/rust-1.56.0 - test? ( - dev-python/certifi[${PYTHON_USEDEP}] - >=dev-python/hypothesis-1.11.4[${PYTHON_USEDEP}] - dev-python/iso8601[${PYTHON_USEDEP}] - dev-python/pretend[${PYTHON_USEDEP}] - dev-python/pyasn1-modules[${PYTHON_USEDEP}] - dev-python/pytest-subtests[${PYTHON_USEDEP}] - dev-python/pytest-xdist[${PYTHON_USEDEP}] - dev-python/pytz[${PYTHON_USEDEP}] - ) -" - -# Files built without CFLAGS/LDFLAGS, acceptable for rust -QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/cryptography/hazmat/bindings/_rust.*.so" - -distutils_enable_tests pytest - -src_unpack() { - cargo_src_unpack -} - -src_prepare() { - local PATCHES=( - # https://github.com/pyca/cryptography/pull/11324 - "${FILESDIR}/${P}-rust-openssl-crash.patch" - ) - - default - - sed -i -e 's:--benchmark-disable::' pyproject.toml || die - - # work around availability macros not supported in GCC (yet) - if [[ ${CHOST} == *-darwin* ]] ; then - local darwinok=0 - if [[ ${CHOST##*-darwin} -ge 16 ]] ; then - darwinok=1 - fi - sed -i -e 's/__builtin_available(macOS 10\.12, \*)/'"${darwinok}"'/' \ - src/_cffi_src/openssl/src/osrandom_engine.c || die - fi -} - -python_configure_all() { - filter-lto # bug #903908 - - export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 -} - -python_test() { - local -x PYTHONPATH="${PYTHONPATH}:${WORKDIR}/cryptography_vectors-${PV}" - local EPYTEST_IGNORE=( - tests/bench - ) - epytest -n "$(makeopts_jobs)" -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-43.0.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-43.0.3-r1.ebuild similarity index 91% rename from sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-43.0.1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-43.0.3-r1.ebuild index 110e22b8718..d2d62f9acef 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-43.0.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-43.0.3-r1.ebuild @@ -25,8 +25,8 @@ CRATES=" memoffset@0.9.1 once_cell@1.19.0 openssl-macros@0.1.1 - openssl-sys@0.9.103 - openssl@0.10.66 + openssl-sys@0.9.104 + openssl@0.10.68 pem@3.0.4 pkg-config@0.3.30 portable-atomic@1.7.0 @@ -66,7 +66,7 @@ LICENSE+=" Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016 " SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86" +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" RDEPEND=" >=dev-libs/openssl-1.0.2o-r6:0= @@ -77,11 +77,9 @@ RDEPEND=" DEPEND=" ${RDEPEND} " -# XXX: Drop explicit >=virtual/rust-1.56.0 dep once that's the minimum in cargo.eclass -# and replace it with ${RUST_DEPEND} + BDEPEND=" dev-python/setuptools[${PYTHON_USEDEP}] - >=virtual/rust-1.56.0 test? ( dev-python/certifi[${PYTHON_USEDEP}] >=dev-python/hypothesis-1.11.4[${PYTHON_USEDEP}] diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cryptography/files/cryptography-43.0.0-rust-openssl-crash.patch b/sdk_container/src/third_party/portage-stable/dev-python/cryptography/files/cryptography-43.0.0-rust-openssl-crash.patch deleted file mode 100644 index 74d2e1c9229..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/cryptography/files/cryptography-43.0.0-rust-openssl-crash.patch +++ /dev/null @@ -1,79 +0,0 @@ -From ef3578980ed117feb5e1b4c7a1f8c68efcdc066e Mon Sep 17 00:00:00 2001 -From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> -Date: Sun, 21 Jul 2024 16:36:43 +0000 -Subject: [PATCH] Bump openssl from 0.10.65 to 0.10.66 in /src/rust (#11320) - -Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.65 to 0.10.66. -- [Release notes](https://github.com/sfackler/rust-openssl/releases) -- [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.65...openssl-v0.10.66) - ---- -updated-dependencies: -- dependency-name: openssl - dependency-type: direct:production - update-type: version-update:semver-patch -... - -Signed-off-by: dependabot[bot] -Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> ---- - src/rust/Cargo.lock | 4 ++-- - src/rust/Cargo.toml | 2 +- - src/rust/cryptography-key-parsing/Cargo.toml | 2 +- - src/rust/cryptography-openssl/Cargo.toml | 2 +- - 4 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/src/rust/Cargo.lock b/src/rust/Cargo.lock -index fe3398f25393..c5a020fc8f10 100644 ---- a/src/rust/Cargo.lock -+++ b/src/rust/Cargo.lock -@@ -179,9 +179,9 @@ checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" - - [[package]] - name = "openssl" --version = "0.10.65" -+version = "0.10.66" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "c2823eb4c6453ed64055057ea8bd416eda38c71018723869dd043a3b1186115e" -+checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" - dependencies = [ - "bitflags", - "cfg-if", -diff --git a/src/rust/Cargo.toml b/src/rust/Cargo.toml -index d58ee9e7ec28..4a91705de96c 100644 ---- a/src/rust/Cargo.toml -+++ b/src/rust/Cargo.toml -@@ -26,7 +26,7 @@ cryptography-x509 = { path = "cryptography-x509" } - cryptography-x509-verification = { path = "cryptography-x509-verification" } - cryptography-openssl = { path = "cryptography-openssl" } - pem = { version = "3", default-features = false } --openssl = "0.10.65" -+openssl = "0.10.66" - openssl-sys = "0.9.103" - foreign-types-shared = "0.1" - self_cell = "1" -diff --git a/src/rust/cryptography-key-parsing/Cargo.toml b/src/rust/cryptography-key-parsing/Cargo.toml -index d1f945f961a0..e88e3bc9e691 100644 ---- a/src/rust/cryptography-key-parsing/Cargo.toml -+++ b/src/rust/cryptography-key-parsing/Cargo.toml -@@ -9,6 +9,6 @@ rust-version.workspace = true - [dependencies] - asn1 = { version = "0.16.2", default-features = false } - cfg-if = "1" --openssl = "0.10.65" -+openssl = "0.10.66" - openssl-sys = "0.9.103" - cryptography-x509 = { path = "../cryptography-x509" } -diff --git a/src/rust/cryptography-openssl/Cargo.toml b/src/rust/cryptography-openssl/Cargo.toml -index c0f3f5d72ce1..f340ed87cf53 100644 ---- a/src/rust/cryptography-openssl/Cargo.toml -+++ b/src/rust/cryptography-openssl/Cargo.toml -@@ -8,7 +8,7 @@ rust-version.workspace = true - - [dependencies] - cfg-if = "1" --openssl = "0.10.65" -+openssl = "0.10.66" - ffi = { package = "openssl-sys", version = "0.9.101" } - foreign-types = "0.3" - foreign-types-shared = "0.1" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cython/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/cython/Manifest index 964774edce6..a0bb0e03c62 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cython/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/cython/Manifest @@ -1,2 +1 @@ -DIST cython-3.0.10.gh.tar.gz 2771679 BLAKE2B f0813afc291bdc4940cd6770a368eca4f6d9fd728e41e9c341970512196154be900600146f98ce1e5a056eaeeda2df2a59fea2a9973c3ec275fe605bfd12e418 SHA512 97aa831cea96c1f3c51653c51fadb0aea8bdfdb076a2c898862637f52b826bcb9162d1b7aade3304c5650d0b894cb1083052f036365d79cd3d390e0486b33ac5 DIST cython-3.0.11.gh.tar.gz 2775463 BLAKE2B f5f53c328a1b48b04548f1ee7be3988451d2a8e339b785285e2d973e63b37dabc6021f32ba1691ae8dbe9ee7706a5feda399b071b4893a3be4fe4afcd608f46b SHA512 8f7982af5be1db1072b1090257a9d487dc341d79522f442f4608303d18b388349a7d586ec74e66fbffd0ce88c00ca622202729907fe7cefef71828cfd3f68fe6 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.0.10.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.0.10.ebuild deleted file mode 100644 index 7a001ddaedf..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.0.10.ebuild +++ /dev/null @@ -1,84 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=setuptools -PYTHON_TESTED=( python3_{10..12} ) -PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" pypy3 python3_13 ) -PYTHON_REQ_USE="threads(+)" - -inherit distutils-r1 multiprocessing toolchain-funcs - -MY_P=${P/_rc/rc} -DESCRIPTION="A Python to C compiler" -HOMEPAGE=" - https://cython.org/ - https://github.com/cython/cython/ - https://pypi.org/project/Cython/ -" -SRC_URI=" - https://github.com/cython/cython/archive/${PV/_rc/rc}.tar.gz - -> ${MY_P}.gh.tar.gz -" -S=${WORKDIR}/${MY_P} - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="test" -RESTRICT="!test? ( test )" - -BDEPEND=" - ${RDEPEND} - test? ( - $(python_gen_cond_dep ' - -Date: Wed, 14 Feb 2024 14:46:14 +0000 -Subject: [PATCH] Fix #214: Update representation of interpreter in test. - ---- - tests/test_scripts.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tests/test_scripts.py b/tests/test_scripts.py -index 5c38687..74ee647 100644 ---- a/tests/test_scripts.py -+++ b/tests/test_scripts.py -@@ -340,7 +340,7 @@ def test_script_run(self): - self.assertIn(b'

Current Working Directory:

', stdout) - self.assertIn(os.getcwd().encode('utf-8'), stdout) - else: -- self.assertIn(b'[Interpreter(id=0, isolated=None)]', stderr) -+ self.assertIn(b'[Interpreter(0)]', stderr) - self.assertEqual(p.returncode, 1) - - @unittest.skipUnless(os.name == 'posix', 'Test only valid for POSIX') diff --git a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/Manifest index 7fe03ded49b..79bab95ea4f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/Manifest @@ -3,3 +3,4 @@ DIST pip-24.1-py3-none-any.whl 1823006 BLAKE2B ca5282b1100243cc4e391ce30d5ae7d49 DIST pip-24.1.1-py3-none-any.whl 1824282 BLAKE2B dc8b4938002bc8ededf5f3fb5f47492b529cb846f145308d5392c04778417f7e85527064e791c4dec4bfe6fc407bcc4d7ad26ff84e0f4c436dce5db8d9ec1f25 SHA512 591c0862ca7469a00a4a0220ca9acbd4834394abb0abcd44bd071a1b392b46029d618c2219e327cd43bacdd5d62f0f47d88454d60d4028f0ba7cd02ce3e648bf DIST pip-24.1.2-py3-none-any.whl 1824406 BLAKE2B b3e951f444bc93cf64a35acbef5363f7e44607f567f73eff886f5a14bd97fe5b18aa5a8de01b899601847bccee24318843b41c35cd484e758ffb4c11460b458f SHA512 bc8ed36bc9e618b7e299d412d07472b46968ba6485dd1d7eee4e8583996aa29cb268ff5d3114a6e5efeae9f6407c9f9066a0e4f5c2a0be76e6cd234b85cc2bec DIST pip-24.2-py3-none-any.whl 1815170 BLAKE2B 8d93bdfb2f3ae4fafd5433df1f9871ca549029457dd4395cf7c53fff93d235768f042cb2f7b6d5b5af068df1867add1a0aca83d329a6d66ecd64fa51e01f0939 SHA512 5c8c6531a477aa4deb9e880f079c6971318b3b0eae007a45c7d73aff1da050824bb6c44e8b71487c9b937732bca93c29b07ed2272fff118cc11fd27bad3022f5 +DIST pip-24.3.1-py3-none-any.whl 1822182 BLAKE2B 8ec4f45dcc84094426db053dea43d86d14d24f6f23ca8b1b094a989f08b5653a2290df24e907c3ed283a668fa6da305620b4f74a3054d67f6e048327c5f06c66 SHA512 21cb4a844b7c9216a4878639a876acdce17ffda9e7228e85e344169d548a3f4316e5ec5183a950848c7391e2a650152e4a1e1f0f020de57f895c458de5ee7b82 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/ensurepip-pip-24.3.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/ensurepip-pip-24.3.1.ebuild new file mode 100644 index 00000000000..917cc77faea --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/ensurepip-pip-24.3.1.ebuild @@ -0,0 +1,24 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit pypi + +DESCRIPTION="Shared pip wheel for ensurepip Python module" +HOMEPAGE="https://pypi.org/project/pip/" +SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")" +S=${DISTDIR} + +LICENSE="Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MIT MPL-2.0 PSF-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + +RDEPEND=" + !=dev-python/trove-classifiers-2024.3.25[${PYTHON_USEDEP}] + >=dev-python/trove-classifiers-2024.10.16[${PYTHON_USEDEP}] " BDEPEND=" ${RDEPEND} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.26.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.26.1.ebuild new file mode 100644 index 00000000000..e5f6cb572bc --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.26.1.ebuild @@ -0,0 +1,105 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=standalone +PYTHON_TESTED=( pypy3 python3_{10..13} ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_13t ) + +inherit distutils-r1 + +TAG=${P/-/-v} +MY_P=hatch-${TAG} +DESCRIPTION="Modern, extensible Python build backend" +HOMEPAGE=" + https://pypi.org/project/hatchling/ + https://github.com/pypa/hatch/ +" +SRC_URI=" + https://github.com/pypa/hatch/archive/${TAG}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P}/backend + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + +# deps are listed in backend/src/hatchling/ouroboros.py +# editables are optional but required for editable installs +RDEPEND=" + >=dev-python/editables-0.3[${PYTHON_USEDEP}] + >=dev-python/packaging-24.2[${PYTHON_USEDEP}] + >=dev-python/pathspec-0.10.1[${PYTHON_USEDEP}] + >=dev-python/pluggy-1.0.0[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/tomli-1.2.2[${PYTHON_USEDEP}] + ' 3.10) +" +# always depend on the newest version available, at least until upstream +# stops treating unknown classifiers as a fatal error +# https://github.com/pypa/hatch/issues/1368 +RDEPEND+=" + >=dev-python/trove-classifiers-2024.10.16[${PYTHON_USEDEP}] +" +BDEPEND=" + ${RDEPEND} + test? ( + $(python_gen_cond_dep ' + dev-python/atomicwrites[${PYTHON_USEDEP}] + dev-python/click[${PYTHON_USEDEP}] + dev-python/httpx[${PYTHON_USEDEP}] + dev-python/platformdirs[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + dev-python/rich[${PYTHON_USEDEP}] + dev-python/tomli-w[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + ' "${PYTHON_TESTED[@]}") + ) +" + +distutils_enable_tests pytest + +src_test() { + # top-level "tests" directory contains tests both for hatch + # and hatchling + cd "${WORKDIR}/${MY_P}" || die + + # sigh; standalone test suites are overrated, right? + echo "__version__ = '${PV}'" > src/hatch/_version.py || die + local -x PYTHONPATH="src:${PYTHONPATH}" + + # do not require uv for portability, sigh + mkdir "${T}/bin" || die + cat > "${T}/bin/uv" <<-EOF || die + #!/bin/sh + exit 127 + EOF + chmod +x "${T}/bin/uv" || die + local -x PATH=${T}/bin:${PATH} + + # tests mock cargo subprocess call but the backend raises if CARGO + # is not set and shutil.which() can't find it + local -x CARGO=cargo + + distutils-r1_src_test +} + +python_test() { + if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then + einfo "Skipping tests on ${EPYTHON}" + return + fi + + local -x EPYTEST_DESELECT=( + # most of these run uv to install stuff + # the few remaining tests aren't worth running + tests/backend/dep/test_core.py + # broken if CARGO is set + tests/backend/builders/test_binary.py::TestBuildBootstrap::test_no_cargo + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -p pytest_mock tests/backend +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/Manifest index efcf71446cd..95d642d18cb 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/Manifest @@ -1,2 +1 @@ -DIST jaraco_functools-4.0.2.tar.gz 18319 BLAKE2B d7a9e56c5fb2a6a7648bbbf5d8c7d8e6ba9d62ad26fe101d91975eec601ba9532c458458d2cf1fe21eef2c81aac0eab352197d5942c84ec0bef2c89213963e38 SHA512 8571982839ca340aaf5482f7f88afd1aac6472a176f4e37be1febae83d92073d31975e465ec7018d906f764ad47c98b3b6191948d6cbfa42a37845cda81351c2 DIST jaraco_functools-4.1.0.tar.gz 19159 BLAKE2B 07c240152845cb8ec7c69bc1105b652499da1e62a1b6d7a246910cf22b543784946965e4cc4608c2de8f4c082904242e90bfc5c5c60ee252382308a02f35be19 SHA512 e893533830e176a7ac0a2da3c1b3fa3c53103e7aa163f9ab7c49635040ea845e19348dbf2628252de3c2952330682f5649a8113a6242db72e05995cca6919dfd diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/jaraco-functools-4.0.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/jaraco-functools-4.0.2.ebuild deleted file mode 100644 index 479d4a2a27c..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/jaraco-functools-4.0.2.ebuild +++ /dev/null @@ -1,55 +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 -PYPI_PN=${PN/-/.} -PYTHON_COMPAT=( pypy3 python3_{10..13} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Additional functions used by other projects by developer jaraco" -HOMEPAGE=" - https://github.com/jaraco/jaraco.functools/ - https://pypi.org/project/jaraco.functools/ -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" - -RDEPEND=" - >=dev-python/more-itertools-0.12.0-r1[${PYTHON_USEDEP}] -" -BDEPEND=" - test? ( - dev-python/jaraco-classes[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -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.functools" - version = "${PV}" - description = "Functools like those found in stdlib" - 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{_,.}functools-${PV}.dist-info || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/jaraco-functools-4.1.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/jaraco-functools-4.1.0.ebuild index a349740b25d..5c855df0e82 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/jaraco-functools-4.1.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/jaraco-functools-4.1.0.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" RDEPEND=" >=dev-python/more-itertools-0.12.0-r1[${PYTHON_USEDEP}] diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jinja/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/jinja2/Manifest similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-python/jinja/Manifest rename to sdk_container/src/third_party/portage-stable/dev-python/jinja2/Manifest diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jinja/files/jinja-3.1.4-py313.patch b/sdk_container/src/third_party/portage-stable/dev-python/jinja2/files/jinja2-3.1.4-py313.patch similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-python/jinja/files/jinja-3.1.4-py313.patch rename to sdk_container/src/third_party/portage-stable/dev-python/jinja2/files/jinja2-3.1.4-py313.patch diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jinja/jinja-3.1.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/jinja2/jinja2-3.1.4.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-python/jinja/jinja-3.1.4.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/jinja2/jinja2-3.1.4.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jinja/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-python/jinja2/metadata.xml similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-python/jinja/metadata.xml rename to sdk_container/src/third_party/portage-stable/dev-python/jinja2/metadata.xml diff --git a/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/Manifest index 66b648b6270..77683b86ac9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/Manifest @@ -1,4 +1,2 @@ DIST MarkupSafe-2.1.5.tar.gz 19384 BLAKE2B d6ae0e1864983f4ab92f2fd9b58a012a8c76e6f47957681d4acc362b2129d63fe4f4625600a89081afe0e99f868eb604d6c75fec88de9a18ebb32c15f091681b SHA512 3ba5af43d23c266377f5d32b11e1faa7955ea8c67eb1c32886c308527f93e75e387294d0eec7794c0c20aad0c705b27f3d1f86b04202f3b63068d12d4053cc71 -DIST markupsafe-3.0.0.tar.gz 20102 BLAKE2B 26da6978f6d5c5285673f01a3ae47c45c9af94067b408142159e931e794178b5c25d8e90e9e03d3951e246dfc9ad417c374f4dbd86978ffb4fe3d8530931defe SHA512 bacfe1f18f30af0ae99842f117a309fbb583f3a05fa2cb347606f3186538cae0d9c6ad558a58a6b731542752cba66c02660d923b293aa94ea88aa7f05b9b8aeb -DIST markupsafe-3.0.1.tar.gz 20249 BLAKE2B a76817927e7240e6a450548cdb1741e5046f84d9b0e14a7f156f7fd5004157cc53da8e488660be78a22656abc7505236dfda8e3d6b0ffe606dc1b98b464fca3e SHA512 1d5342766fae024a243e12a2ad384724ec2a9ea5dfd4af1651725ef5201bcec5ca2e520720a05d05d3ca91fcdbf78e00afec6a70a73146ab29e29c6989559651 DIST markupsafe-3.0.2.tar.gz 20537 BLAKE2B ffccc47eb4b8048aee98b61a3b9dee28eb31323563b943ad96293541467ddb3d0d63906fbbc876ee30947a10afcb580456a10d502874601ba7c4e4d63594f114 SHA512 26946b928b001933f08a5dd90c5fe424a1d9e2bccfbf7194955d031a3df54a03eb48e4e47ea9564a25da33efeb62a043a53008f551fa1e8d71321bc276e19ce2 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/markupsafe-3.0.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/markupsafe-3.0.0.ebuild deleted file mode 100644 index 3b757c2b39b..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/markupsafe-3.0.0.ebuild +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=setuptools -PYPI_PN="MarkupSafe" -PYTHON_COMPAT=( python3_{10..13} pypy3 ) - -inherit distutils-r1 pypi - -DESCRIPTION="Implements a XML/HTML/XHTML Markup safe string for Python" -HOMEPAGE=" - https://palletsprojects.com/p/markupsafe/ - https://github.com/pallets/markupsafe/ - https://pypi.org/project/MarkupSafe/ -" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" - -distutils_enable_tests pytest - -python_test() { - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/markupsafe-3.0.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/markupsafe-3.0.1.ebuild deleted file mode 100644 index 69d7df7dc79..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/markupsafe-3.0.1.ebuild +++ /dev/null @@ -1,43 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=setuptools -PYPI_PN="MarkupSafe" -PYTHON_COMPAT=( python3_{10..13} python3_13t pypy3 ) - -inherit distutils-r1 pypi - -DESCRIPTION="Implements a XML/HTML/XHTML Markup safe string for Python" -HOMEPAGE=" - https://palletsprojects.com/p/markupsafe/ - https://github.com/pallets/markupsafe/ - https://pypi.org/project/MarkupSafe/ -" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" -IUSE="+native-extensions" - -distutils_enable_tests pytest - -src_prepare() { - distutils-r1_src_prepare - - if ! use native-extensions; then - sed -i -e '/run_setup/s:True:False:' setup.py || die - fi -} - -python_compile() { - local -x CIBUILDWHEEL=1 - distutils-r1_python_compile -} - -python_test() { - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/markupsafe-3.0.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/markupsafe-3.0.2.ebuild index 69d7df7dc79..6c18de7253e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/markupsafe-3.0.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/markupsafe/markupsafe-3.0.2.ebuild @@ -19,7 +19,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" IUSE="+native-extensions" distutils_enable_tests pytest diff --git a/sdk_container/src/third_party/portage-stable/dev-python/packaging/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/packaging/Manifest index d5da3ec7274..4875711a098 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/packaging/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/packaging/Manifest @@ -1,3 +1,4 @@ DIST packaging-23.2.tar.gz 146714 BLAKE2B cf7986a07312fd82a2a0ee738088993b9570d95cd0b573afa7a1f911bf335de7084e3d40d961adea7f5a8369738688f9d0a4265ef26a393f2d30769bc13f752a SHA512 8ab5e9bc4feef2fac1c9044dc8a6f2d41aaf9fe2dae671de8b98c0b1a19dca2169588b87d85a8c990d808b1e76faee65984ce970eaa3282b75e107ca82cc2863 DIST packaging-24.0.tar.gz 147882 BLAKE2B 32c5f30623d39890376e9f5bb3d80ef4a5bd2291ae906883d28236c0d095628eb5d379e5bfb503d6d06fcea0aefc0b2beb1a7968d3ec8c543c48572b432438f3 SHA512 b6af704f93bcb7611a06eb2bfa94d8dc4bb1e5e9898af7c0eb85e67cf1ebdb858e272ca18019be4daaa43ac3f73b1cb2e690d8b50a4252380a2dc9f2d0e03a58 DIST packaging-24.1.tar.gz 148788 BLAKE2B 0098e4589eaf1f43ee54e678d1661a9b6c07cfd49c2056359e65667f1e5136f1c9a132d2c5312e7d11c21510b584d0c8ca702d4319bc9215bdec231f29bf2c69 SHA512 fba8b94c1798c380c6af2c7fe211137fcc5669b1af3b0de52d6bcba05907f5bc74693df740677213d6c230e8d2db48ab9c4b8309752813c25cee87f1622fd4ab +DIST packaging-24.2.tar.gz 163950 BLAKE2B 8610f22a05a71a38bafe5e7ae12c549a4395f751585ab2056eb5ca1c76db3d4bc9dc452eafac4209a87e8ef54577c35529873fa25b8a43b454164298c203aae7 SHA512 4d79d9c49c59255e9eb12cb1452ff9ee413a6a6f34a23c487d3d5712ddabe067f8c6dafe0c8111517682634deac2fd5db1346e3c0cc9f432eba94491aa459553 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/packaging/packaging-24.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/packaging/packaging-24.2.ebuild new file mode 100644 index 00000000000..63aa9e4ba6c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/packaging/packaging-24.2.ebuild @@ -0,0 +1,35 @@ +# 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} python3_13t pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Core utilities for Python packages" +HOMEPAGE=" + https://github.com/pypa/packaging/ + https://pypi.org/project/packaging/ +" + +LICENSE="|| ( Apache-2.0 BSD-2 )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + +RDEPEND=" + ! +Date: Sun, 3 Nov 2024 16:35:54 +0100 +Subject: [PATCH] Revert "Corrected passing TIFF_LONG to libtiff" + +This is the wrong solution to the problem at hand, and results +in passing an int64_t where libtiff expects uint32_t. This seems +to miraculously work on most of our platforms but it is clearly wrong, +and it breaks ppc32. + +Bug: https://github.com/python-pillow/Pillow/issues/8522 +Reverts: b1b0353d17bcdca99cfcb2ea48c6af7861fb43ba +--- + src/encode.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/encode.c b/src/encode.c +index 1a4cd489d..ba350c39a 100644 +--- a/src/encode.c ++++ b/src/encode.c +@@ -929,7 +929,7 @@ PyImaging_LibTiffEncoderNew(PyObject *self, PyObject *args) { + ); + } else if (type == TIFF_LONG) { + status = ImagingLibTiffSetField( +- &encoder->state, (ttag_t)key_int, PyLong_AsLongLong(value) ++ &encoder->state, (ttag_t)key_int, (UINT32)PyLong_AsLong(value) + ); + } else if (type == TIFF_SSHORT) { + status = ImagingLibTiffSetField( +-- +2.47.0 + diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pillow/pillow-11.0.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pillow/pillow-11.0.0-r1.ebuild new file mode 100644 index 00000000000..3ffd135f83d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/pillow/pillow-11.0.0-r1.ebuild @@ -0,0 +1,149 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +# setuptools wrapper +DISTUTILS_USE_PEP517=standalone +PYTHON_COMPAT=( python3_{10..13} pypy3 ) +PYTHON_REQ_USE='tk?,threads(+)' + +inherit distutils-r1 toolchain-funcs virtualx + +MY_PN=Pillow +MY_P=${MY_PN}-${PV} + +DESCRIPTION="Python Imaging Library (fork)" +HOMEPAGE=" + https://python-pillow.org/ + https://github.com/python-pillow/Pillow/ + https://pypi.org/project/pillow/ +" +SRC_URI=" + https://github.com/python-pillow/Pillow/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" +S="${WORKDIR}/${MY_P}" + +LICENSE="HPND" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" +IUSE="examples imagequant +jpeg jpeg2k lcms test tiff tk truetype webp xcb zlib" +REQUIRED_USE="test? ( jpeg jpeg2k lcms tiff truetype )" +RESTRICT="!test? ( test )" + +DEPEND=" + imagequant? ( media-gfx/libimagequant:= ) + jpeg? ( media-libs/libjpeg-turbo:= ) + jpeg2k? ( media-libs/openjpeg:2= ) + lcms? ( media-libs/lcms:2= ) + tiff? ( media-libs/tiff:=[jpeg,zlib] ) + truetype? ( media-libs/freetype:2= ) + webp? ( media-libs/libwebp:= ) + xcb? ( x11-libs/libxcb ) + zlib? ( sys-libs/zlib:= ) +" +RDEPEND=" + ${DEPEND} + dev-python/olefile[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + dev-python/wheel[${PYTHON_USEDEP}] + virtual/pkgconfig + test? ( + dev-python/defusedxml[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + dev-python/pytest-timeout[${PYTHON_USEDEP}] + || ( + media-gfx/imagemagick[png] + media-gfx/graphicsmagick[png] + ) + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +PATCHES=( + # https://github.com/python-pillow/pillow/pull/7634 + "${FILESDIR}/${PN}-10.2.0-cross.patch" + # https://github.com/python-pillow/Pillow/issues/8522 + "${FILESDIR}/${P}-wrong-arg.patch" +) + +usepil() { + usex "${1}" enable disable +} + +python_configure_all() { + cat >> setup.cfg <<-EOF || die + [build_ext] + debug = True + disable_platform_guessing = True + $(usepil truetype)_freetype = True + $(usepil jpeg)_jpeg = True + $(usepil jpeg2k)_jpeg2000 = True + $(usepil lcms)_lcms = True + $(usepil tiff)_tiff = True + $(usepil imagequant)_imagequant = True + $(usepil webp)_webp = True + $(usepil xcb)_xcb = True + $(usepil zlib)_zlib = True + EOF + if use truetype; then + # these dependencies are implicitly disabled by USE=-truetype + # and we can't pass both disable_* and vendor_* + # https://bugs.gentoo.org/935124 + cat >> setup.cfg <<-EOF || die + vendor_raqm = False + vendor_fribidi = False + EOF + fi + + tc-export PKG_CONFIG +} + +src_test() { + virtx distutils-r1_src_test +} + +python_test() { + local EPYTEST_DESELECT=( + # TODO (is clipboard unreliable in Xvfb?) + Tests/test_imagegrab.py::TestImageGrab::test_grabclipboard + # requires xz-utils[extra-filters]? + Tests/test_file_libtiff.py::TestFileLibTiff::test_lzma + ) + + case ${ARCH} in + ppc) + EPYTEST_DESELECT+=( + # https://github.com/python-pillow/Pillow/issues/7008 + # (we've reverted the upstream patch because it was worse + # than the original issue) + Tests/test_file_libtiff.py::TestFileLibTiff::test_exif_ifd + ) + ;; + esac + + "${EPYTHON}" selftest.py --installed || die "selftest failed with ${EPYTHON}" + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + # leak tests are fragile and broken under xdist + epytest -k "not leak" -p timeout || die "Tests failed with ${EPYTHON}" +} + +python_install() { + python_doheader src/libImaging/*.h + distutils-r1_python_install +} + +python_install_all() { + if use examples ; then + docinto example + dodoc docs/example/* + docompress -x /usr/share/doc/${PF}/example + fi + distutils-r1_python_install_all +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pillow/pillow-11.0.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pillow/pillow-11.0.0.ebuild index 612551da970..1545baf3567 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/pillow/pillow-11.0.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/pillow/pillow-11.0.0.ebuild @@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="HPND" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" IUSE="examples imagequant +jpeg jpeg2k lcms test tiff tk truetype webp xcb zlib" REQUIRED_USE="test? ( jpeg jpeg2k lcms tiff truetype )" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pip/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/pip/Manifest index 610338e1e90..a29e6221bd4 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/pip/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/pip/Manifest @@ -3,3 +3,4 @@ DIST pip-24.1.1.gh.tar.gz 9190972 BLAKE2B 1ce876d2767c1c36bac3237c17a3aced9dd5a3 DIST pip-24.1.2.gh.tar.gz 9192691 BLAKE2B 9b5a07e9f10b5787d668766423d8b3a9dfcc62564673155b80c7bc95ffe79daafa8788d8141f67c76d4098c21922e62fcb2164f72bf580bbeec136786c48d512 SHA512 222a957030e9c51defa6f741f8e176f2a19bd54f0ef664d2e218d3d2c2b5a335c9b7ce4bd1c804133d6116b3fbf37648453cd85f7a2bcf86a5aeb43e22db4b0f DIST pip-24.1.gh.tar.gz 9188658 BLAKE2B 4a43ff0199d811dd30461e376f655a447f3f706a48dd97fe1d0ccf630f558e72209ccd06d98949a1541cd6b2942a816db23ce8aaa7fbbf9aef429502fb91ab92 SHA512 c60ab329fe91202ff64b5f0f90209085fbf8db0f0a05f0703f952ad69e39e2e3edb5dadc006a3f317cdd4ba4fb5abe56dfbd22792249a2d139702eec272186d1 DIST pip-24.2.gh.tar.gz 9189637 BLAKE2B 6bc7bf69cd3e1edc1898a4476d36b749c037ac10a1614ef3a6bacc0c7debd38de94e0cf6d8a2931b1a7afb2f6f853922fcd62b65d17ac805f22741b7ff6423c6 SHA512 2c44881f62f7b89cedeb0b739409ad67c6144bfdffc347efeb7bcf85aed77bcd7ddd10868d24577fbba0ef84dd752473d6b6dff329b42841939fae2ff2f63d28 +DIST pip-24.3.1.gh.tar.gz 9198711 BLAKE2B c70524bfedf46776d5ab8da24754e8177caac6d87cc90aa86b144c0fe9718860fe3d08823f655495c059dbece6e0ecbb2ac8e655cff3124693f64a35deac512e SHA512 9cf5f18eefd559cf27bc026e5206b0028ea77fd904a61fea9a6682b519305c962dd19170b841581bd05ff72192a9c458ec0eba173fa66db0438b046111ff5856 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pip/files/pip-23.1-no-coverage.patch b/sdk_container/src/third_party/portage-stable/dev-python/pip/files/pip-23.1-no-coverage.patch index 943cc281cdf..963bd4e7d43 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/pip/files/pip-23.1-no-coverage.patch +++ b/sdk_container/src/third_party/portage-stable/dev-python/pip/files/pip-23.1-no-coverage.patch @@ -25,14 +25,10 @@ index 57dd7e68a..af2af9ffa 100644 def install_pth_link( venv: VirtualEnvironment, project_name: str, lib_dir: Path ) -> None: -@@ -430,7 +423,6 @@ def virtualenv_template( - pip_src: Path, +@@ -431,3 +424,2 @@ def virtualenv_template( setuptools_install: Path, wheel_install: Path, - coverage_install: Path, - ) -> Iterator[VirtualEnvironment]: - venv_type: VirtualEnvironmentType - if request.config.getoption("--use-venv"): @@ -457,13 +449,6 @@ def virtualenv_template( [os.fspath(venv.bin / "python"), "setup.py", "-q", "develop"], cwd=pip_editable ) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pip/files/pip-24.3.1-rich-13.8.patch b/sdk_container/src/third_party/portage-stable/dev-python/pip/files/pip-24.3.1-rich-13.8.patch new file mode 100644 index 00000000000..d17ccf5b2fe --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/pip/files/pip-24.3.1-rich-13.8.patch @@ -0,0 +1,47 @@ +From 8cfd050f615a4bad699ec55d4cb19b1f1dc4137e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= +Date: Sat, 9 Nov 2024 16:41:40 +0100 +Subject: [PATCH] Override rich.console pipe handler for rich 13.8.0+ + +Explicitly override `rich.console.Console.on_broken_pipe()` to reraise +the original exception, to bring the behavior of rich 13.8.0+ in line +with older versions. The new versions instead close output fds and exit +with error instead, which prevents pip's pipe handler from firing. +This is the minimal change needed to make pip's test suite pass after +upgrading vendored rich. + +Bug #13006 +Bug #13072 +--- + src/pip/_internal/utils/logging.py | 9 ++++++++- + 2 files changed, 8 insertions(+), 1 deletion(-) + create mode 100644 news/13072.trivial.rst + +diff --git a/src/pip/_internal/utils/logging.py b/src/pip/_internal/utils/logging.py +index 41f6eb51a..be17add5d 100644 +--- a/src/pip/_internal/utils/logging.py ++++ b/src/pip/_internal/utils/logging.py +@@ -137,12 +137,19 @@ class IndentedRenderable: + yield Segment("\n") + + ++class PipConsole(Console): ++ def on_broken_pipe(self) -> None: ++ # Reraise the original exception, rich 13.8.0+ exits by default ++ # instead, preventing our handler from firing. ++ raise BrokenPipeError() from None ++ ++ + class RichPipStreamHandler(RichHandler): + KEYWORDS: ClassVar[Optional[List[str]]] = [] + + def __init__(self, stream: Optional[TextIO], no_color: bool) -> None: + super().__init__( +- console=Console(file=stream, no_color=no_color, soft_wrap=True), ++ console=PipConsole(file=stream, no_color=no_color, soft_wrap=True), + show_time=False, + show_level=False, + show_path=False, +-- +2.47.0 + diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-24.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-24.2-r1.ebuild index fc9251eeb5b..e4a0442a57f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-24.2-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-24.2-r1.ebuild @@ -26,7 +26,7 @@ LICENSE="MIT" # bundled deps LICENSE+=" Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MPL-2.0 PSF-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ppc ppc64 ~riscv ~sparc x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="test-rust" # see src/pip/_vendor/vendor.txt @@ -58,6 +58,7 @@ BDEPEND=" dev-python/pretend[${PYTHON_USEDEP}] dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] dev-python/pytest-xdist[${PYTHON_USEDEP}] + completion.bash || die + "${EPYTHON}" -c "${pipcmd}" completion --zsh > completion.zsh || die +} + +python_test() { + if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then + einfo "Skipping tests on ${EPYTHON}" + return 0 + fi + + local EPYTEST_DESELECT=( + tests/functional/test_inspect.py::test_inspect_basic + # Internet + tests/functional/test_config_settings.py::test_backend_sees_config_via_sdist + tests/functional/test_install.py::test_double_install_fail + tests/functional/test_install.py::test_install_sdist_links + tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed + # broken by system site-packages use + tests/functional/test_check.py::test_basic_check_clean + tests/functional/test_check.py::test_check_skip_work_dir_pkg + tests/functional/test_check.py::test_check_complicated_name_clean + tests/functional/test_check.py::test_check_development_versions_are_also_considered + tests/functional/test_freeze.py::test_freeze_with_setuptools + tests/functional/test_pip_runner_script.py::test_runner_work_in_environments_with_no_pip + tests/functional/test_uninstall.py::test_basic_uninstall_distutils + tests/unit/test_base_command.py::test_base_command_global_tempdir_cleanup + tests/unit/test_base_command.py::test_base_command_local_tempdir_cleanup + tests/unit/test_base_command.py::test_base_command_provides_tempdir_helpers + # broken by unbundling + "tests/functional/test_debug.py::test_debug[vendored library versions:]" + tests/functional/test_debug.py::test_debug__library_versions + tests/functional/test_python_option.py::test_python_interpreter + tests/functional/test_uninstall.py::test_uninstall_non_local_distutils + ) + local EPYTEST_IGNORE=( + # requires proxy.py + tests/functional/test_proxy.py + ) + + if ! has_version "dev-python/cryptography[${PYTHON_USEDEP}]"; then + EPYTEST_DESELECT+=( + tests/functional/test_install.py::test_install_sends_client_cert + tests/functional/test_install_config.py::test_do_not_prompt_for_authentication + tests/functional/test_install_config.py::test_prompt_for_authentication + tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed + ) + fi + + local -x PIP_DISABLE_PIP_VERSION_CHECK=1 + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local EPYTEST_XDIST=1 + # rerunfailures because test suite breaks if packages are installed + # in parallel + epytest -m "not network" -o tmp_path_retention_policy=all \ + -p rerunfailures --reruns=5 +} + +python_install_all() { + local DOCS=( AUTHORS.txt docs/html/**/*.rst ) + distutils-r1_python_install_all + + newbashcomp completion.bash pip + + insinto /usr/share/zsh/site-functions + newins completion.zsh _pip +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/Manifest index aee8d294780..eb18c828eae 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/Manifest @@ -1,2 +1 @@ -DIST poetry-core-1.9.0.gh.tar.gz 371033 BLAKE2B 67e4674bcc45f6ce1737a26d8f1fd1ce6e6469d692cabe461fb2959b03ab3ca26b9e3848d9cbf533c5fd9bf7d75ac8b70a6aad0cce1930472971cc1ad530aedf SHA512 a2d63480f0df36fabe61c234377a4fa9ea0a1ddce449006162d6e49e849c92ad9c77d0a93aba7c51561bac16a77d5db00a95594bd5e2de328e1664f3f41f689b DIST poetry-core-1.9.1.gh.tar.gz 371296 BLAKE2B 0ccd041a9c5491bb9c9234ca5094162995a3959be0272d916866770d6dbc67bb183c3b1b863b24fc1906c7d4fca0f9593d3c2c7571d4c3bb37c2f8f9dd6316c5 SHA512 9ca0aa68e4e7637e78b0a02cb3946b6efd29b91e99663f26fbb09736ff2fbfa13cd683337001b2200e3037e5d4adcd745bc6ff4c91a708880238f0b78719c281 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/poetry-core-1.9.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/poetry-core-1.9.0.ebuild deleted file mode 100644 index d4f3b995dbc..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/poetry-core-1.9.0.ebuild +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright 2022-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=standalone -PYTHON_TESTED=( pypy3 python3_{10..13} ) -PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) - -inherit distutils-r1 - -DESCRIPTION="Poetry PEP 517 Build Backend" -HOMEPAGE=" - https://github.com/python-poetry/poetry-core/ - https://pypi.org/project/poetry-core/ -" -SRC_URI=" - https://github.com/python-poetry/poetry-core/archive/${PV}.tar.gz - -> ${P}.gh.tar.gz -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos" - -# check inside vendors/pyproject.toml -# (note that some are indirect deps) -RDEPEND=" - >=dev-python/fastjsonschema-2.18.0[${PYTHON_USEDEP}] - >=dev-python/lark-1.1.3[${PYTHON_USEDEP}] - >=dev-python/packaging-22.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[${PYTHON_USEDEP}] - dev-python/pytest-mock[${PYTHON_USEDEP}] - dev-python/tomli-w[${PYTHON_USEDEP}] - >=dev-python/virtualenv-20.21[${PYTHON_USEDEP}] - dev-vcs/git - ' "${PYTHON_TESTED[@]}") - ) -" - -distutils_enable_tests pytest - -src_prepare() { - # remove vendoring of dependencies - rm -r src/poetry/core/_vendor || die - sed -e '/__vendor_site__/d' -i src/poetry/core/__init__.py || die - - distutils-r1_src_prepare -} - -python_test() { - local EPYTEST_DESELECT=( - # These "fail" bacause of glob file path resulting from newer versions - # in our tree than vendored. But those don't affect anything. - tests/masonry/builders/test_sdist.py::test_default_with_excluded_data - tests/masonry/builders/test_wheel.py::test_default_src_with_excluded_data - ) - - if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then - einfo "Skipping tests on ${EPYTHON} (unported deps)" - return - fi - - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest -p pytest_mock -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/poetry-core-1.9.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/poetry-core-1.9.1.ebuild index 584e2627d75..d4f3b995dbc 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/poetry-core-1.9.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/poetry-core-1.9.1.ebuild @@ -21,7 +21,7 @@ SRC_URI=" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos" # check inside vendors/pyproject.toml # (note that some are indirect deps) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pyproject-hooks/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/pyproject-hooks/Manifest index 0f63b86e196..7321a8dc1af 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/pyproject-hooks/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/pyproject-hooks/Manifest @@ -1,2 +1 @@ -DIST pyproject-hooks-1.1.0.gh.tar.gz 18774 BLAKE2B e6b376188655a5bc188567f412c22f8224209612c4fb0332f8c0c441180c18589139549139957834b3359bf3ced961e22f97e2449edc354047afaa6d2eff58d7 SHA512 256028d13adbe35126a63431a2a49e0c48adddce5ffc3ff2eebad368eee7ce52591ecfd8a8526876de20bc59dfc87156533d6a97b55538a739873e60f9509eff DIST pyproject_hooks-1.2.0.tar.gz 19228 BLAKE2B e02864220393876639cc459918f48c02e19835b392102d117cb5900c9a4f5228bc21377421f7afdd67300ba15d131194197a3b4b1ce0ad7fef195bca9be4344b SHA512 e098e521f03cfae9a96c0ee5d2e2ef46ef832d8f38c7d8380fc17355776e09ae3a704879e6e4a2bc7999092c4dbf80267b3b56850135c74d275a12607e0ffe83 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pyproject-hooks/pyproject-hooks-1.1.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pyproject-hooks/pyproject-hooks-1.1.0.ebuild deleted file mode 100644 index b842d1ea2fb..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/pyproject-hooks/pyproject-hooks-1.1.0.ebuild +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright 2021-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=flit -PYTHON_COMPAT=( python3_{10..13} pypy3 ) - -inherit distutils-r1 - -DESCRIPTION="Wrappers to build Python packages using PEP 517 hooks" -HOMEPAGE=" - https://pypi.org/project/pyproject-hooks/ - https://github.com/pypa/pyproject-hooks/ - https://pyproject-hooks.readthedocs.io/ -" -SRC_URI=" - https://github.com/pypa/pyproject-hooks/archive/v${PV}.tar.gz - -> ${P}.gh.tar.gz -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" - -BDEPEND=" - test? ( - dev-python/testpath[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - dev-python/tomli[${PYTHON_USEDEP}] - ' 3.10) - ) -" - -distutils_enable_tests pytest - -EPYTEST_DESELECT=( - # fails due to setuptools 70.1 - # https://bugs.gentoo.org/936052 - # https://github.com/pypa/pyproject-hooks/issues/203 - tests/test_call_hooks.py::test_setup_py -) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pyproject-hooks/pyproject-hooks-1.2.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pyproject-hooks/pyproject-hooks-1.2.0.ebuild index 98e5a886f00..63469ee070b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/pyproject-hooks/pyproject-hooks-1.2.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/pyproject-hooks/pyproject-hooks-1.2.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" BDEPEND=" test? ( diff --git a/sdk_container/src/third_party/portage-stable/dev-python/resolvelib/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/resolvelib/Manifest index 32d6b9d4834..d2f01646d1b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/resolvelib/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/resolvelib/Manifest @@ -1 +1,2 @@ DIST resolvelib-1.0.1.gh.tar.gz 769608 BLAKE2B 7715f61d262cb79ce08f0431650e6213def4582a0774cf36dab722d88013f7bc9c72a31a957d3782e35b315158982c3311fe3e06e26bbf9040fa96b239934661 SHA512 a35f7fdbc3aba5b44fdf6b9c55b082156ca641dfe5825611be6364622bcaaf45faafa2c45bdd13d1b5723a55732759a806905ab4b6f366fba0474d1f808d91bc +DIST resolvelib-1.1.0.gh.tar.gz 772503 BLAKE2B 6dfda2dc8bc8fc6c5bd53de6f4cd0a44fc39cd53a3a8b01c8a9f135f64ef2ec022248a87d8c8302af4a3c1ea171751de4cba26139a7231bdf143b115f048bfe9 SHA512 d3b2a49c4cd6e6a27bb1eb5a8672a2b4f6daa315b82f0f008a915094a59bd2f38ad64fd83fba4387a50686a3ededb13c24839afd4d45d9766467d7e70f7b863a diff --git a/sdk_container/src/third_party/portage-stable/dev-python/resolvelib/resolvelib-1.0.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/resolvelib/resolvelib-1.0.1.ebuild index 0991917b9cd..1e66ba729ca 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/resolvelib/resolvelib-1.0.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/resolvelib/resolvelib-1.0.1.ebuild @@ -21,7 +21,7 @@ SRC_URI=" LICENSE="ISC" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ppc ppc64 ~riscv ~sparc x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ppc ppc64 ~riscv ~s390 ~sparc x86" BDEPEND=" test? ( diff --git a/sdk_container/src/third_party/portage-stable/dev-python/resolvelib/resolvelib-1.1.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/resolvelib/resolvelib-1.1.0.ebuild new file mode 100644 index 00000000000..1e80fb87bcf --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/resolvelib/resolvelib-1.1.0.ebuild @@ -0,0 +1,32 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..13} pypy3 ) + +inherit distutils-r1 + +DESCRIPTION="Resolve abstract dependencies into concrete ones" +HOMEPAGE=" + https://github.com/sarugaku/resolvelib/ + https://pypi.org/project/resolvelib/ + +" +SRC_URI=" + https://github.com/sarugaku/resolvelib/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="ISC" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +BDEPEND=" + test? ( + dev-python/packaging[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest diff --git a/sdk_container/src/third_party/portage-stable/dev-python/rich/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/rich/Manifest index 9c5e873cc76..9871c75a901 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/rich/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/rich/Manifest @@ -1 +1,2 @@ -DIST rich-13.9.2.gh.tar.gz 15063908 BLAKE2B c83f736630a7bfbccda7d790476e7a9f518f2fa4e6bb3d4f5190bdeae784571875066c94bd8f4e01117b45a7eee83e9072bb7bb64ab5d5d8675aac5a63d5b0b5 SHA512 468e8f758c374264a77be154dde8908e04502cf8dfdc442dacfaebaaf9f1fbf634ae8dcbcefe42f7562183532a372aebebcdcb03c90031f619a8c5f2cd78f653 +DIST rich-13.7.1.gh.tar.gz 15058064 BLAKE2B 6fad18bf0a4e4f72e530c78db7a498f27dd8c9a7b9b17ca5ef12a94bbe513857f3c42d4903f8ebbfe8907727cddaf290f08862c27efb29db8aaf70c7bcb13ace SHA512 0c69101bc6c2a238a4c516812cda08299115b903b8282ee348b45b212a88fcbfbf69d11a3705a97bdb6192988ee3047804bb5b52b7950d860542cde8ce2d4bd2 +DIST rich-13.9.3.gh.tar.gz 15064090 BLAKE2B 4ef76583ed13692b9f4a9714a68186fd06262e76d691f79cd256b4ab153052efd5fdf2320df797683ea1765cf063215a6b2d2614cd8040ebed0b89178cdcf2e0 SHA512 ca74d59e5df0476b482f60fac8d1f2e0810ffa61a10d410ff188c82548df3307405119f3b18992d96b01458b921ebcd61c99bf68dd808358395e9b04cf78579b diff --git a/sdk_container/src/third_party/portage-stable/dev-python/rich/rich-13.7.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/rich/rich-13.7.1.ebuild new file mode 100644 index 00000000000..c930ae408f0 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/rich/rich-13.7.1.ebuild @@ -0,0 +1,74 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=poetry +PYTHON_COMPAT=( python3_{10..13} pypy3 ) + +inherit distutils-r1 optfeature + +DESCRIPTION="Python library for rendering rich text, tables, etc. to the terminal" +HOMEPAGE=" + https://github.com/Textualize/rich/ + https://pypi.org/project/rich/ +" +SRC_URI=" + https://github.com/Textualize/rich/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" + +RDEPEND=" + dev-python/colorama[${PYTHON_USEDEP}] + >=dev-python/markdown-it-py-2.2.0[${PYTHON_USEDEP}] + >=dev-python/pygments-2.13.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + >=dev-python/attrs-21.4.0[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # TODO + tests/test_console.py::test_size_can_fall_back_to_std_descriptors + # TODO: segfault in recursion (PyQt6 interfering?) + tests/test_traceback.py::test_recursive + ) + # version-specific output -- the usual deal + case ${EPYTHON} in + pypy3) + EPYTEST_DESELECT+=( + # pypy3.10, to be more precise + tests/test_inspect.py::test_inspect_integer_with_methods_python310only + ) + ;; + python3.13) + EPYTEST_DESELECT+=( + tests/test_inspect.py::test_inspect_builtin_function_except_python311 + tests/test_inspect.py::test_inspect_integer_with_methods_python38_and_python39 + tests/test_inspect.py::test_inspect_integer_with_methods_python310only + tests/test_inspect.py::test_inspect_integer_with_methods_python311 + tests/test_pretty.py::test_pretty_dataclass + tests/test_pretty.py::test_reference_cycle_dataclass + tests/test_pretty.py::test_max_depth_dataclass + tests/test_pretty.py::test_attrs_broken + ) + ;; + esac + + local -x COLUMNS=80 + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest +} + +pkg_postinst() { + optfeature "integration with HTML widgets for Jupyter" dev-python/ipywidgets +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/rich/rich-13.9.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/rich/rich-13.9.3.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-python/rich/rich-13.9.2.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/rich/rich-13.9.3.ebuild 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 fe9faa674af..647d8f8057c 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,3 +1,3 @@ DIST setuptools-74.1.3.tar.gz 1356471 BLAKE2B c59476710f10aae77f8b466ce2b072966a889b13c3e2e2a9524497ce43893bcd296412f8e0be8a3ccaa9be46b429680c11fe291095a65a185243701fa667be6c SHA512 7892d1ff0a1cd90f6cd367536392bf2933d354eb61d5177a01218b253bc254b51e74c040601adf35aff1652f1e1c6dbffca3cdce3f4fc32b8bd23c36cd885ddc -DIST setuptools-75.1.0.tar.gz 1348057 BLAKE2B a749260ee2b3162ce102204d89b00bcb6d69c84a7785dee443467946b4fe275f080917b204e65d8abd9e629e5ebef311825a1a472b3e5a09815373ab172b1ca4 SHA512 5003e81c7988dd522cfba233ac643ade9a1ff074a13182a81da7fe3f40565b97dd2696c96b8a0694fcd3417e527e2cf6d6ea5e21d29ff927c1ab5916a2607239 DIST setuptools-75.2.0.tar.gz 1350308 BLAKE2B ec4e91f12a76075c26f14c82109258d285840a5ac49a57f3b7e96160ef126e477ba969483d8afc3d35874e14d9d3804f5009d62cb2e1a5245d24d31800d48a4a SHA512 1c508ae3028ae991215b1953398aee5fcf6df0ae2294cc2e31bf8f3c67a306b6cbe2b78e4d855271be8df8a82135fccc8baa05df905fe964d45e5888abf51add +DIST setuptools-75.3.0.tar.gz 1351577 BLAKE2B 1f3812a3b6dea6df6a8b3bec2d570405075dc3ed386d8e4fec0d37f2a3c39e93149b8f01b6044a7fa85578e8d39151f1fe1b896d09a87cde9574b98641b8d510 SHA512 281f5cce6fd4aa51b3642a6aae3dce29551ccef083994f0bd267367d3f8b1f81c92cb8f858d7d052ebd7197295316918b3d16a58c6986bdf59bc1d32c7b6277a diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-74.1.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-74.1.3-r1.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-74.1.3.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-74.1.3-r1.ebuild index 652157bb1a0..9cc97e5921d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-74.1.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-74.1.3-r1.ebuild @@ -71,7 +71,7 @@ BDEPEND=" # https://github.com/pypa/setuptools/issues/4459 PDEPEND=" dev-python/setuptools-scm[${PYTHON_USEDEP}] - >=dev-python/trove-classifiers-2024.7.2[${PYTHON_USEDEP}] + >=dev-python/trove-classifiers-2024.10.16[${PYTHON_USEDEP}] " src_prepare() { diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-75.2.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-75.2.0.ebuild index e04c2c70c4c..c66232a1e7d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-75.2.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-75.2.0.ebuild @@ -73,7 +73,7 @@ BDEPEND=" # https://github.com/pypa/setuptools/issues/4459 PDEPEND=" dev-python/setuptools-scm[${PYTHON_USEDEP}] - >=dev-python/trove-classifiers-2024.7.2[${PYTHON_USEDEP}] + >=dev-python/trove-classifiers-2024.10.16[${PYTHON_USEDEP}] " src_prepare() { diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-75.1.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-75.3.0.ebuild similarity index 96% rename from sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-75.1.0.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-75.3.0.ebuild index e04c2c70c4c..aa6b581cf0d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-75.1.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-75.3.0.ebuild @@ -32,7 +32,7 @@ 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/platformdirs-4.2.2[${PYTHON_USEDEP}] >=dev-python/wheel-0.44.0[${PYTHON_USEDEP}] $(python_gen_cond_dep ' >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}] @@ -50,7 +50,7 @@ BDEPEND=" >=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/jaraco-test-5.5[${PYTHON_USEDEP}] dev-python/pip[${PYTHON_USEDEP}] dev-python/pip-run[${PYTHON_USEDEP}] dev-python/pyproject-hooks[${PYTHON_USEDEP}] @@ -73,7 +73,7 @@ BDEPEND=" # https://github.com/pypa/setuptools/issues/4459 PDEPEND=" dev-python/setuptools-scm[${PYTHON_USEDEP}] - >=dev-python/trove-classifiers-2024.7.2[${PYTHON_USEDEP}] + >=dev-python/trove-classifiers-2024.10.16[${PYTHON_USEDEP}] " src_prepare() { diff --git a/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/files/tree-sitter-0.21.0-unbundle.patch b/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/files/tree-sitter-0.21.0-unbundle.patch deleted file mode 100644 index 69b50897d3a..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/files/tree-sitter-0.21.0-unbundle.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- a/setup.py -+++ b/setup.py -@@ -14,13 +14,9 @@ setup( - Extension( - name="tree_sitter._binding", - sources=[ -- "tree_sitter/core/lib/src/lib.c", - "tree_sitter/binding.c" - ], -- include_dirs=[ -- "tree_sitter/core/lib/include", -- "tree_sitter/core/lib/src" -- ], -+ libraries=["tree-sitter"], - define_macros=[ - ("PY_SSIZE_T_CLEAN", None), - ], diff --git a/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/Manifest index ec527c21813..0a5af0537da 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/Manifest @@ -1,4 +1 @@ -DIST trove_classifiers-2024.10.12.tar.gz 16100 BLAKE2B 56c8b409874370ec3861b61c2e5ef3f19469781196b71d3e674f9d95fd1e8df32445158f12ba54679dc21cb64194d98b7bd6ce2d3f1fbad20b11a29db64bfcf4 SHA512 fb848b4f46979887ae0ca426ec18bcc72689bdf46d4cd19353b2650acd98a9e74179f9df43a5fac27a2ef37078a8312267f3e1b08241f6ed73b6dc6c0bb08c61 -DIST trove_classifiers-2024.10.13.tar.gz 16103 BLAKE2B 7cebc0848dd1692ee7115690e1d4299955f7e1a5a3819f06ae27569c75f2efe4d242dffca081ba2ef3c835ebf52a0ef3b5e9324b08f76e328ea3e050fe2eeb07 SHA512 9253cbd0b36071e8cd3fd0c3e6e2544915f79aa8fb6d31fbb1fea05dcdd9b8770fc99f0e90047dc211c8d223f37642941c363d4536d53dddfc5662d5a44fc3d6 -DIST trove_classifiers-2024.10.16.tar.gz 16113 BLAKE2B 7ab9b0d16d93abeb4cf272bacdbf946cb85f3544c028860bfa2163f883e62868fb5a8356186dd59d2fec98b8dd06578aea0a60f02304f2ce555d7fa6fd5bc283 SHA512 7d67947c12e2fbe8a3d380e50e22671cc538593e0bf752955b84f74018c364dcc56553727dc53a540da713df5db73601acdc1e1cd608f55a968b9ec48a04d9ee -DIST trove_classifiers-2024.9.12.tar.gz 16058 BLAKE2B 6cac2247910e95bf1f0b9a37b0f0e59062652526a45c4097c743a5f0665a5d8b5042bb7eb02741f2bf9b7d669a1be238940ab2b498281ef3ce6f3fa4c0c2961c SHA512 4fc6efc514638dfb2aee4fbd06f258bb9d5d9d54269e6d33f3739a63d61d6d3caa9a7124f9e5ad601714253c27b97bc9a60f3a9369f2f358ed19fbdfcefcbb10 +DIST trove_classifiers-2024.10.21.16.tar.gz 16153 BLAKE2B 9170a2f78b41d2d6793a5bbf7df7ce2ae4c1d70a193a92874bf74cad5a083d8153a9cd8ae42c85da3cdedc690c485aff8d864626efdb52965301f2a377ebb048 SHA512 4fca7cc5d172ddcb210bfbd6e993fc3d7243887762ba37c05aca3d6c5fcece8f573372704160c8048eb39c68d284fe808ca289c8c07564b06334bed6bafdc61e diff --git a/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2024.10.12.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2024.10.12.ebuild deleted file mode 100644 index 0fb0bac459d..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2024.10.12.ebuild +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright 2022-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 pypi - -DESCRIPTION="Canonical source for classifiers on PyPI (pypi.org)" -HOMEPAGE=" - https://github.com/pypa/trove-classifiers/ - https://pypi.org/project/trove-classifiers/ -" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" - -distutils_enable_tests pytest - -src_configure() { - grep -q 'build-backend = "setuptools' pyproject.toml || - die "Upstream changed build-backend, recheck" - # write a custom pyproject.toml to ease hatchling bootstrap - cat > pyproject.toml <<-EOF || die - [build-system] - requires = ["flit_core >=3.2,<4"] - build-backend = "flit_core.buildapi" - - [project] - name = "trove-classifiers" - version = "${PV}" - description = "Canonical source for classifiers on PyPI (pypi.org)." - EOF -} - -python_test() { - epytest - "${EPYTHON}" -m tests.lib || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2024.10.13.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2024.10.13.ebuild deleted file mode 100644 index b19f32b12f7..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2024.10.13.ebuild +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright 2022-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} python3_13t ) - -inherit distutils-r1 pypi - -DESCRIPTION="Canonical source for classifiers on PyPI (pypi.org)" -HOMEPAGE=" - https://github.com/pypa/trove-classifiers/ - https://pypi.org/project/trove-classifiers/ -" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" - -distutils_enable_tests pytest - -src_configure() { - grep -q 'build-backend = "setuptools' pyproject.toml || - die "Upstream changed build-backend, recheck" - # write a custom pyproject.toml to ease hatchling bootstrap - cat > pyproject.toml <<-EOF || die - [build-system] - requires = ["flit_core >=3.2,<4"] - build-backend = "flit_core.buildapi" - - [project] - name = "trove-classifiers" - version = "${PV}" - description = "Canonical source for classifiers on PyPI (pypi.org)." - EOF -} - -python_test() { - epytest - "${EPYTHON}" -m tests.lib || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2024.10.16.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2024.10.16.ebuild deleted file mode 100644 index b19f32b12f7..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2024.10.16.ebuild +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright 2022-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} python3_13t ) - -inherit distutils-r1 pypi - -DESCRIPTION="Canonical source for classifiers on PyPI (pypi.org)" -HOMEPAGE=" - https://github.com/pypa/trove-classifiers/ - https://pypi.org/project/trove-classifiers/ -" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" - -distutils_enable_tests pytest - -src_configure() { - grep -q 'build-backend = "setuptools' pyproject.toml || - die "Upstream changed build-backend, recheck" - # write a custom pyproject.toml to ease hatchling bootstrap - cat > pyproject.toml <<-EOF || die - [build-system] - requires = ["flit_core >=3.2,<4"] - build-backend = "flit_core.buildapi" - - [project] - name = "trove-classifiers" - version = "${PV}" - description = "Canonical source for classifiers on PyPI (pypi.org)." - EOF -} - -python_test() { - epytest - "${EPYTHON}" -m tests.lib || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2024.9.12.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2024.10.21.16.ebuild similarity index 95% rename from sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2024.9.12.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2024.10.21.16.ebuild index 0879f0c5b4e..85a55be33f6 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2024.9.12.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/trove-classifiers/trove-classifiers-2024.10.21.16.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=flit -PYTHON_COMPAT=( pypy3 python3_{10..13} ) +PYTHON_COMPAT=( pypy3 python3_{10..13} python3_13t ) inherit distutils-r1 pypi 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 e623e692221..850407ee7ad 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 @@ -DIST truststore-0.9.2.gh.tar.gz 27256 BLAKE2B 0f03da308697a6bcf8def97b875a962f484418dc6b54d6795a9de5dc68b949f145e6611aa6b4bebcde3f03693bbdfaaa238a9d32b5f9b2d635b4e3075420f239 SHA512 e2d9da3d22a2f06d83dd9c7c9014dd689d8e915c7c8b8b33a3526859d15e9a5d4e86162f51f22b566e844a0c6a5b16fa3ab6907a56ce11c4fcc27444493a5970 +DIST truststore-0.10.0.gh.tar.gz 28644 BLAKE2B cf83a6936e361bb08f399ea5f6739acbe254dab380b06cf4befab8e1084e01d0757afd02eb0b9718963b4249280e2fa629b079eea143a7d3c5bda3767d4e0611 SHA512 eb1b16f093f32ff8be29bb696e92843823a8ffe2e7428ea989ee987d94d7328b5c40d6d8e5aa25eb223ca348ca30b29018decaec11d6106221753fd4525aa5b0 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.10.0.ebuild similarity index 92% rename from sdk_container/src/third_party/portage-stable/dev-python/truststore/truststore-0.9.2.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/truststore/truststore-0.10.0.ebuild index 0b36a445954..8b24ec7dce9 100644 --- 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.10.0.ebuild @@ -20,7 +20,7 @@ SRC_URI=" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ppc ppc64 ~riscv ~sparc x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" # The vast majority of tests require Internet access. PROPERTIES="test_network" RESTRICT="test" 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 a6de1d3543f..54658571ff0 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 +1,2 @@ DIST wheel-0.44.0.tar.gz 100733 BLAKE2B 6beefa0875be52fb2dff2921cb87063bcafdf2e31c43963676fbae8aef4e68ea21675aa715f94052edc9f5e8dbbd5e2afe3abc17f521eb36b24fa628b0522bbe SHA512 f0a1efbf70e8a2eebdf7564932bdfa3892940a3fbfc00f256f61be03a51ff9cc5a55570d1d3f5878670be84ab233483453ce754ea46c508574fcf4ec61d480c8 +DIST wheel-0.45.0.tar.gz 107426 BLAKE2B 57cfbe247bbc2f0598a3ee18a1ab4b309e6ec6eb89486391bc7b5baa148736829b2620d05f1c6f75b0743ee1065ccbdc66ce690ee7efcf5f2b58519eb4cc8b25 SHA512 dca95cadde7c551baebde50f66ca79d4205d0a896da34b7f4f103c62fb72f78c0b9e71933564b951ab3878e6bc47d1961a73545bc0ead45e618de33b6b7cb16a diff --git a/sdk_container/src/third_party/portage-stable/dev-python/wheel/wheel-0.45.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/wheel/wheel-0.45.0.ebuild new file mode 100644 index 00000000000..95f482c4493 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/wheel/wheel-0.45.0.ebuild @@ -0,0 +1,51 @@ +# 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} python3_13t 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 ~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}] + ) +" + +EPYTEST_DESELECT=( + # fails if any setuptools plugin imported the module first + tests/test_bdist_wheel.py::test_deprecated_import +) + +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + # unbundle packaging + rm -r src/wheel/vendored || die + find -name '*.py' -exec sed -i \ + -e 's:wheel\.vendored\.::' \ + -e 's:\.\+vendored\.::' {} + || die +} + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest +} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/Manifest index 14591e4668a..bd595253b01 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/Manifest @@ -1,3 +1,5 @@ +DIST bpftool-7.4.0.tar.gz 472915 BLAKE2B ae7b6bc6cb742712981ba8972bcecccc63d440b2a77c5a14f91ba5106c013774313d65fd3f42b843ba4027ab17cf9d44d256270f7f8ad11907714f16f3149078 SHA512 08a3095b37a9b897400f2be7dbb9de10d129ae4eef193d03955fdf84017cd3a5d7419e856aa68a425e609419868e8b1dd5409b4f218cc24feeb059c1898cdff4 +DIST libbpf-1.4.7.tar.gz 1016441 BLAKE2B 10be52c7e97b2f08edd33cb263c4737bb52edfd2226f0c5b86d4f95b584b81f8f6b1ede469e9ad6c231e55b6d6b9a038160662606c3f30dc79b1336aaaa90e74 SHA512 f09ff28ac75b0d0c1bfe7d233aee6a00e5c21f185646b2afe11b7bd048d74962f893237437dd81a762768f9235b9f2a2a33cb297201b2aa3e98f7c6f58e5b365 DIST linux-6.10.tar.xz 145142812 BLAKE2B bb243ea7493b9d63aa2df2050a3f1ae2b89ee84a20015239cf157e3f4f51c7ac5efedc8a51132b2d7482f9276ac418de6624831c8a3b806130d9c2d2124c539b SHA512 baa2487954044f991d2ae254d77d14a1f0185dd62c9f0fcaff69f586c9f906823017b8db1c4588f27b076dfa3ebb606929fec859f60ea419e7974330b9289cc2 DIST linux-6.11.tar.xz 146900704 BLAKE2B e7750c0878d71a56a0ce52d4c4c912199dad5bf5e2e8f872585a6494afbb37cbd852e612a6858936d2dc9b7776a3933818f540db408d57e90d18ea5249bba7ab SHA512 329c1f94008742e3f0c2ce7e591a16316d1b2cb9ea4596d4f45604097e07b7aa2f64afa40630a07f321a858455c77aa32ba57b271932ddcf4dc27863f9081cea DIST linux-6.8.tar.xz 142502100 BLAKE2B c6f17f816cea16e629f63e9379b98888713f57b2c5173306926471f139a9d612a0c74e119341f8075390e55e203d787d9edeb4ad5a064b18870f6f0f7ffaafb2 SHA512 5c4eb4aa1d3f7d1ea01c0f7ddeadacdece6e144fd4bdfc16b2b925d3e10dc04de3a6db69320b79a96c3560052616f001d2c09e7a1bb4f7b731e2380a7ecce068 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-7.4.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-7.4.0.ebuild new file mode 100644 index 00000000000..b1481b3e2cb --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-7.4.0.ebuild @@ -0,0 +1,130 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( {15..19} ) +LLVM_OPTIONAL=1 +PYTHON_COMPAT=( python3_{10..13} ) + +inherit bash-completion-r1 linux-info llvm-r1 optfeature python-any-r1 toolchain-funcs + +DESCRIPTION="Tool for inspection and simple manipulation of eBPF programs and maps" +HOMEPAGE="https://github.com/libbpf/bpftool" + +if [[ ${PV} == *9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/libbpf/bpftool.git" + EGIT_SUBMODULES=(libbpf) +else + # bpftool typically vendors whatever libbpf is current at the time + # of a release, while libbpf publishes minor updates more frequently. + # Uncomment the following to bundle an updated libbpf e.g. in case of + # security or crasher bugs in libbpf and to keep the two synchronized. + # This allows us to quickly update the vendored lib with a revbump. + # Currently bpftool-x.y vendors libbpf-1.y; DO NOT mix different y versions. + # See the libbpf repo (https://github.com/libbpf/libbpf) for possible updates. + LIBBPF_VERSION=1.4.7 + + if [[ ! -z ${LIBBPF_VERSION} ]] ; then + SRC_URI="https://github.com/libbpf/bpftool/archive/refs/tags/v${PV}.tar.gz -> bpftool-${PV}.tar.gz + https://github.com/libbpf/libbpf/archive/refs/tags/v${LIBBPF_VERSION}.tar.gz + -> libbpf-${LIBBPF_VERSION}.tar.gz" + else + # use tarball with bundled libbpf + SRC_URI="https://github.com/libbpf/bpftool/releases/download/v${PV}/bpftool-libbpf-v${PV}-sources.tar.gz" + S="${WORKDIR}/bpftool-libbpf-v${PV}-sources" + fi + + KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +LICENSE="|| ( GPL-2 BSD-2 )" +SLOT="0" +IUSE="caps llvm" +REQUIRED_USE="llvm? ( ${LLVM_REQUIRED_USE} )" + +RDEPEND=" + caps? ( sys-libs/libcap:= ) + llvm? ( $(llvm_gen_dep 'sys-devel/llvm:${LLVM_SLOT}') ) + !llvm? ( sys-libs/binutils-libs:= ) + sys-libs/zlib:= + virtual/libelf:= +" +DEPEND=" + ${RDEPEND} + >=sys-kernel/linux-headers-5.8 +" +BDEPEND=" + ${PYTHON_DEPS} + app-arch/tar + dev-python/docutils + $(llvm_gen_dep 'sys-devel/clang:${LLVM_SLOT}[llvm_targets_BPF]') +" + +CONFIG_CHECK="~DEBUG_INFO_BTF" + +PATCHES=( + "${FILESDIR}"/7.4-001-mount-bpffs-on-provided-dir-instead-of-parent-dir.patch + "${FILESDIR}"/7.4-002-set-DESTDIR-to-empty-when-building-libbpf.patch + "${FILESDIR}"/7.4-003-fix-typo-in-usage-help.patch + "${FILESDIR}"/7.4-004-fix-the-wrong-format-specifier.patch + "${FILESDIR}"/7.4-005-fix-undefined-behavior-caused-by-shifting-into-the-sign-bit.patch + "${FILESDIR}"/7.4-006-fix-undefined-behavior-in-qsort.patch + "${FILESDIR}"/7.4-007-define-PACKAGE-at-build-time-when-trying-to-detect-libbfd.patch + "${FILESDIR}"/7.4-008-always-disable-unused-CLI-arguments-warning-for-feature-probe.patch +) + +pkg_setup() { + python-any-r1_pkg_setup + use llvm && llvm-r1_pkg_setup +} + +src_prepare() { + default + + # prepare libbpf if necessary + if [[ ! -z ${LIBBPF_VERSION} ]] ; then + rm -rf libbpf || die + ln -s "${WORKDIR}/libbpf-${LIBBPF_VERSION}" libbpf || die + fi + + # remove -Werror from libbpf (bug 887981) + sed -i -e 's/\-Werror//g' libbpf/src/Makefile || die + + # remove -Werror from bpftool feature detection + sed -i -e 's/-Werror//g' src/Makefile.feature || die + + # remove hardcoded/unhelpful flags from bpftool + sed -i -e '/CFLAGS += -O2/d' -e 's/-W //g' -e 's/-Wextra //g' src/Makefile || die + + # Use rst2man or rst2man.py depending on which one exists (#930076) + type -P rst2man >/dev/null || sed -i -e 's/rst2man/rst2man.py/g' docs/Makefile || die +} + +bpftool_make() { + tc-export AR CC LD + + emake \ + ARCH="$(tc-arch-kernel)" \ + CLANG="$(get_llvm_prefix -b)/bin/clang" \ + HOSTAR="$(tc-getBUILD_AR)" \ + HOSTCC="$(tc-getBUILD_CC)" \ + HOSTLD="$(tc-getBUILD_LD)" \ + bash_compdir="$(get_bashcompdir)" \ + feature-libcap="$(usex caps 1 0)" \ + feature-llvm="$(usex llvm 1 0)" \ + prefix="${EPREFIX}"/usr \ + V=1 \ + "$@" +} + +src_compile() { + bpftool_make -C src + bpftool_make -C docs +} + +src_install() { + bpftool_make DESTDIR="${D}" -C src install + bpftool_make mandir="${ED}"/usr/share/man -C docs install +} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-9999.ebuild new file mode 100644 index 00000000000..4c6ef01a02a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-9999.ebuild @@ -0,0 +1,119 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( {15..19} ) +LLVM_OPTIONAL=1 +PYTHON_COMPAT=( python3_{10..13} ) + +inherit bash-completion-r1 linux-info llvm-r1 optfeature python-any-r1 toolchain-funcs + +DESCRIPTION="Tool for inspection and simple manipulation of eBPF programs and maps" +HOMEPAGE="https://github.com/libbpf/bpftool" + +if [[ ${PV} == *9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/libbpf/bpftool.git" + EGIT_SUBMODULES=(libbpf) +else + # bpftool typically vendors whatever libbpf is current at the time + # of a release, while libbpf publishes minor updates more frequently. + # Uncomment the following to bundle an updated libbpf e.g. in case of + # security or crasher bugs in libbpf and to keep the two synchronized. + # This allows us to quickly update the vendored lib with a revbump. + # Currently bpftool-x.y vendors libbpf-1.y; DO NOT mix different y versions. + # See the libbpf repo (https://github.com/libbpf/libbpf) for possible updates. + # LIBBPF_VERSION=1.5.0 + + if [[ ! -z ${LIBBPF_VERSION} ]] ; then + SRC_URI="https://github.com/libbpf/bpftool/archive/refs/tags/v${PV}.tar.gz -> bpftool-${PV}.tar.gz + https://github.com/libbpf/libbpf/archive/refs/tags/v${LIBBPF_VERSION}.tar.gz + -> libbpf-${LIBBPF_VERSION}.tar.gz" + else + # use tarball with bundled libbpf + SRC_URI="https://github.com/libbpf/bpftool/releases/download/v${PV}/bpftool-libbpf-v${PV}-sources.tar.gz" + S="${WORKDIR}/bpftool-libbpf-v${PV}-sources" + fi + + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +LICENSE="|| ( GPL-2 BSD-2 )" +SLOT="0" +IUSE="caps llvm" +REQUIRED_USE="llvm? ( ${LLVM_REQUIRED_USE} )" + +RDEPEND=" + caps? ( sys-libs/libcap:= ) + llvm? ( $(llvm_gen_dep 'sys-devel/llvm:${LLVM_SLOT}') ) + !llvm? ( sys-libs/binutils-libs:= ) + sys-libs/zlib:= + virtual/libelf:= +" +DEPEND=" + ${RDEPEND} + >=sys-kernel/linux-headers-5.8 +" +BDEPEND=" + ${PYTHON_DEPS} + app-arch/tar + dev-python/docutils + $(llvm_gen_dep 'sys-devel/clang:${LLVM_SLOT}[llvm_targets_BPF]') +" + +CONFIG_CHECK="~DEBUG_INFO_BTF" + +pkg_setup() { + python-any-r1_pkg_setup + use llvm && llvm-r1_pkg_setup +} + +src_prepare() { + default + + # prepare libbpf if necessary + if [[ ! -z ${LIBBPF_VERSION} ]] ; then + rm -rf libbpf || die + ln -s "${WORKDIR}/libbpf-${LIBBPF_VERSION}" libbpf || die + fi + + # remove -Werror from libbpf (bug 887981) + sed -i -e 's/\-Werror//g' libbpf/src/Makefile || die + + # remove -Werror from bpftool feature detection + sed -i -e 's/-Werror//g' src/Makefile.feature || die + + # remove hardcoded/unhelpful flags from bpftool + sed -i -e '/CFLAGS += -O2/d' -e 's/-W //g' -e 's/-Wextra //g' src/Makefile || die + + # Use rst2man or rst2man.py depending on which one exists (#930076) + type -P rst2man >/dev/null || sed -i -e 's/rst2man/rst2man.py/g' docs/Makefile || die +} + +bpftool_make() { + tc-export AR CC LD + + emake \ + ARCH="$(tc-arch-kernel)" \ + CLANG="$(get_llvm_prefix -b)/bin/clang" \ + HOSTAR="$(tc-getBUILD_AR)" \ + HOSTCC="$(tc-getBUILD_CC)" \ + HOSTLD="$(tc-getBUILD_LD)" \ + bash_compdir="$(get_bashcompdir)" \ + feature-libcap="$(usex caps 1 0)" \ + feature-llvm="$(usex llvm 1 0)" \ + prefix="${EPREFIX}"/usr \ + V=1 \ + "$@" +} + +src_compile() { + bpftool_make -C src + bpftool_make -C docs +} + +src_install() { + bpftool_make DESTDIR="${D}" -C src install + bpftool_make mandir="${ED}"/usr/share/man -C docs install +} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-001-mount-bpffs-on-provided-dir-instead-of-parent-dir.patch b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-001-mount-bpffs-on-provided-dir-instead-of-parent-dir.patch new file mode 100644 index 00000000000..c874555d379 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-001-mount-bpffs-on-provided-dir-instead-of-parent-dir.patch @@ -0,0 +1,255 @@ +From 54bcb7c7fecb33d40266223d4bba49ad38e59ee3 Mon Sep 17 00:00:00 2001 +From: Sahil Siddiq +Date: Fri, 5 Apr 2024 00:52:19 +0530 +Subject: [PATCH] bpftool: Mount bpffs on provided dir instead of parent dir + +When pinning programs/objects under PATH (eg: during "bpftool prog +loadall") the bpffs is mounted on the parent dir of PATH in the +following situations: +- the given dir exists but it is not bpffs. +- the given dir doesn't exist and the parent dir is not bpffs. + +Mounting on the parent dir can also have the unintentional side- +effect of hiding other files located under the parent dir. + +If the given dir exists but is not bpffs, then the bpffs should +be mounted on the given dir and not its parent dir. + +Similarly, if the given dir doesn't exist and its parent dir is not +bpffs, then the given dir should be created and the bpffs should be +mounted on this new dir. + +Fixes: 2a36c26fe3b8 ("bpftool: Support bpffs mountpoint as pin path for prog loadall") +Signed-off-by: Sahil Siddiq +Signed-off-by: Andrii Nakryiko +Link: https://lore.kernel.org/bpf/2da44d24-74ae-a564-1764-afccf395eeec@isovalent.com/T/#t +Link: https://lore.kernel.org/bpf/20240404192219.52373-1-icegambit91@gmail.com + +Closes: https://github.com/libbpf/bpftool/issues/100 + +Changes since v1: + - Split "mount_bpffs_for_pin" into two functions. + This is done to improve maintainability and readability. + +Changes since v2: +- mount_bpffs_for_pin: rename to "create_and_mount_bpffs_dir". +- mount_bpffs_given_file: rename to "mount_bpffs_given_file". +- create_and_mount_bpffs_dir: + - introduce "dir_exists" boolean. + - remove new dir if "mnt_fs" fails. +- improve error handling and error messages. + +Changes since v3: +- Rectify function name. +- Improve error messages and formatting. +- mount_bpffs_for_file: + - Check if dir exists before block_mount check. + +Changes since v4: +- Use strdup instead of strcpy. +- create_and_mount_bpffs_dir: + - Use S_IRWXU instead of 0700. +- Improve error handling and formatting. +--- + src/common.c | 96 ++++++++++++++++++++++++++++++++++++++++++------ + src/iter.c | 2 +- + src/main.h | 3 +- + src/prog.c | 5 ++- + src/struct_ops.c | 2 +- + 5 files changed, 92 insertions(+), 16 deletions(-) + +diff --git a/src/common.c b/src/common.c +index cc6e6aae..958e92ac 100644 +--- a/src/common.c ++++ b/src/common.c +@@ -244,29 +244,101 @@ int open_obj_pinned_any(const char *path, enum bpf_obj_type exp_type) + return fd; + } + +-int mount_bpffs_for_pin(const char *name, bool is_dir) ++int create_and_mount_bpffs_dir(const char *dir_name) + { + char err_str[ERR_MAX_LEN]; +- char *file; +- char *dir; ++ bool dir_exists; + int err = 0; + +- if (is_dir && is_bpffs(name)) ++ if (is_bpffs(dir_name)) + return err; + +- file = malloc(strlen(name) + 1); +- if (!file) { ++ dir_exists = access(dir_name, F_OK) == 0; ++ ++ if (!dir_exists) { ++ char *temp_name; ++ char *parent_name; ++ ++ temp_name = strdup(dir_name); ++ if (!temp_name) { ++ p_err("mem alloc failed"); ++ return -1; ++ } ++ ++ parent_name = dirname(temp_name); ++ ++ if (is_bpffs(parent_name)) { ++ /* nothing to do if already mounted */ ++ free(temp_name); ++ return err; ++ } ++ ++ if (access(parent_name, F_OK) == -1) { ++ p_err("can't create dir '%s' to pin BPF object: parent dir '%s' doesn't exist", ++ dir_name, parent_name); ++ free(temp_name); ++ return -1; ++ } ++ ++ free(temp_name); ++ } ++ ++ if (block_mount) { ++ p_err("no BPF file system found, not mounting it due to --nomount option"); ++ return -1; ++ } ++ ++ if (!dir_exists) { ++ err = mkdir(dir_name, S_IRWXU); ++ if (err) { ++ p_err("failed to create dir '%s': %s", dir_name, strerror(errno)); ++ return err; ++ } ++ } ++ ++ err = mnt_fs(dir_name, "bpf", err_str, ERR_MAX_LEN); ++ if (err) { ++ err_str[ERR_MAX_LEN - 1] = '\0'; ++ p_err("can't mount BPF file system on given dir '%s': %s", ++ dir_name, err_str); ++ ++ if (!dir_exists) ++ rmdir(dir_name); ++ } ++ ++ return err; ++} ++ ++int mount_bpffs_for_file(const char *file_name) ++{ ++ char err_str[ERR_MAX_LEN]; ++ char *temp_name; ++ char *dir; ++ int err = 0; ++ ++ if (access(file_name, F_OK) != -1) { ++ p_err("can't pin BPF object: path '%s' already exists", file_name); ++ return -1; ++ } ++ ++ temp_name = strdup(file_name); ++ if (!temp_name) { + p_err("mem alloc failed"); + return -1; + } + +- strcpy(file, name); +- dir = dirname(file); ++ dir = dirname(temp_name); + + if (is_bpffs(dir)) + /* nothing to do if already mounted */ + goto out_free; + ++ if (access(dir, F_OK) == -1) { ++ p_err("can't pin BPF object: dir '%s' doesn't exist", dir); ++ err = -1; ++ goto out_free; ++ } ++ + if (block_mount) { + p_err("no BPF file system found, not mounting it due to --nomount option"); + err = -1; +@@ -276,12 +348,12 @@ int mount_bpffs_for_pin(const char *name, bool is_dir) + err = mnt_fs(dir, "bpf", err_str, ERR_MAX_LEN); + if (err) { + err_str[ERR_MAX_LEN - 1] = '\0'; +- p_err("can't mount BPF file system to pin the object (%s): %s", +- name, err_str); ++ p_err("can't mount BPF file system to pin the object '%s': %s", ++ file_name, err_str); + } + + out_free: +- free(file); ++ free(temp_name); + return err; + } + +@@ -289,7 +361,7 @@ int do_pin_fd(int fd, const char *name) + { + int err; + +- err = mount_bpffs_for_pin(name, false); ++ err = mount_bpffs_for_file(name); + if (err) + return err; + +diff --git a/src/iter.c b/src/iter.c +index 6b0e5202..5c39c2ed 100644 +--- a/src/iter.c ++++ b/src/iter.c +@@ -76,7 +76,7 @@ static int do_pin(int argc, char **argv) + goto close_obj; + } + +- err = mount_bpffs_for_pin(path, false); ++ err = mount_bpffs_for_file(path); + if (err) + goto close_link; + +diff --git a/src/main.h b/src/main.h +index b8bb08d1..9eb764fe 100644 +--- a/src/main.h ++++ b/src/main.h +@@ -142,7 +142,8 @@ const char *get_fd_type_name(enum bpf_obj_type type); + char *get_fdinfo(int fd, const char *key); + int open_obj_pinned(const char *path, bool quiet); + int open_obj_pinned_any(const char *path, enum bpf_obj_type exp_type); +-int mount_bpffs_for_pin(const char *name, bool is_dir); ++int mount_bpffs_for_file(const char *file_name); ++int create_and_mount_bpffs_dir(const char *dir_name); + int do_pin_any(int argc, char **argv, int (*get_fd_by_id)(int *, char ***)); + int do_pin_fd(int fd, const char *name); + +diff --git a/src/prog.c b/src/prog.c +index 9cb42a33..4c4cf16a 100644 +--- a/src/prog.c ++++ b/src/prog.c +@@ -1778,7 +1778,10 @@ static int load_with_options(int argc, char **argv, bool first_prog_only) + goto err_close_obj; + } + +- err = mount_bpffs_for_pin(pinfile, !first_prog_only); ++ if (first_prog_only) ++ err = mount_bpffs_for_file(pinfile); ++ else ++ err = create_and_mount_bpffs_dir(pinfile); + if (err) + goto err_close_obj; + +diff --git a/src/struct_ops.c b/src/struct_ops.c +index d573f264..aa43dead 100644 +--- a/src/struct_ops.c ++++ b/src/struct_ops.c +@@ -515,7 +515,7 @@ static int do_register(int argc, char **argv) + if (argc == 1) + linkdir = GET_ARG(); + +- if (linkdir && mount_bpffs_for_pin(linkdir, true)) { ++ if (linkdir && create_and_mount_bpffs_dir(linkdir)) { + p_err("can't mount bpffs for pinning"); + return -1; + } diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-002-set-DESTDIR-to-empty-when-building-libbpf.patch b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-002-set-DESTDIR-to-empty-when-building-libbpf.patch new file mode 100644 index 00000000000..2eb6e72d027 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-002-set-DESTDIR-to-empty-when-building-libbpf.patch @@ -0,0 +1,38 @@ +From 06c61eccd3b8a6ff3df3e451a2a93058913124fc Mon Sep 17 00:00:00 2001 +From: jinzhiguang +Date: Sun, 7 Apr 2024 16:54:33 +0800 +Subject: [PATCH] mirror: Set DESTDIR to empty when building libbpf + +If a value is assigned to the variable DESTDIR when compiling bpftool, +this variable will be passed to libbpf's Makefile. + +In this case, libbpf's header files will be installed in an unexpected +directory, causing bpftool to be unable to find the header files. + +Signed-off-by: jinzhiguang +--- + src/Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/Makefile b/src/Makefile +index a3bc6a0..d48d22f 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -42,7 +42,7 @@ $(LIBBPF_OUTPUT) $(BOOTSTRAP_OUTPUT) $(LIBBPF_BOOTSTRAP_OUTPUT) $(LIBBPF_HDRS_DI + + $(LIBBPF): $(wildcard $(BPF_DIR)/*.[ch] $(BPF_DIR)/Makefile) | $(LIBBPF_OUTPUT) + $(Q)$(MAKE) -C $(BPF_DIR) OBJDIR=$(patsubst %/,%,$(LIBBPF_OUTPUT)) \ +- PREFIX=$(LIBBPF_DESTDIR:/=) $(LIBBPF) install_headers ++ DESTDIR="" PREFIX=$(LIBBPF_DESTDIR:/=) $(LIBBPF) install_headers + + $(LIBBPF_INTERNAL_HDRS): $(LIBBPF_HDRS_DIR)/%.h: $(BPF_DIR)/%.h | $(LIBBPF_HDRS_DIR) + $(call QUIET_INSTALL, $@) +@@ -50,7 +50,7 @@ $(LIBBPF_INTERNAL_HDRS): $(LIBBPF_HDRS_DIR)/%.h: $(BPF_DIR)/%.h | $(LIBBPF_HDRS_ + + $(LIBBPF_BOOTSTRAP): $(wildcard $(BPF_DIR)/*.[ch] $(BPF_DIR)/Makefile) | $(LIBBPF_BOOTSTRAP_OUTPUT) + $(Q)$(MAKE) -C $(BPF_DIR) OBJDIR=$(patsubst %/,%,$(LIBBPF_BOOTSTRAP_OUTPUT)) \ +- PREFIX=$(LIBBPF_BOOTSTRAP_DESTDIR:/=) \ ++ DESTDIR="" PREFIX=$(LIBBPF_BOOTSTRAP_DESTDIR:/=) \ + ARCH= CROSS_COMPILE= CC="$(HOSTCC)" LD="$(HOSTLD)" AR="$(HOSTAR)" $@ install_headers + + $(LIBBPF_BOOTSTRAP_INTERNAL_HDRS): $(LIBBPF_BOOTSTRAP_HDRS_DIR)/%.h: $(BPF_DIR)/%.h | $(LIBBPF_BOOTSTRAP_HDRS_DIR) diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-003-fix-typo-in-usage-help.patch b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-003-fix-typo-in-usage-help.patch new file mode 100644 index 00000000000..fc488aca5b0 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-003-fix-typo-in-usage-help.patch @@ -0,0 +1,30 @@ +From a44a93bb7ed0d8e62220b534df92ea2a678fb4b7 Mon Sep 17 00:00:00 2001 +From: Donald Hunter +Date: Wed, 17 Jul 2024 14:45:08 +0100 +Subject: [PATCH] bpftool: Fix typo in usage help + +The usage help for "bpftool prog help" contains a ° instead of the _ +symbol for cgroup/sendmsg_unix. Fix the typo. + +Fixes: 8b3cba987e6d ("bpftool: Add support for cgroup unix socket address hooks") +Signed-off-by: Donald Hunter +Signed-off-by: Daniel Borkmann +Acked-by: Quentin Monnet +Link: https://lore.kernel.org/bpf/20240717134508.77488-1-donald.hunter@gmail.com +--- + src/prog.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/prog.c b/src/prog.c +index 40ea743..2ff949e 100644 +--- a/src/prog.c ++++ b/src/prog.c +@@ -2489,7 +2489,7 @@ static int do_help(int argc, char **argv) + " cgroup/connect_unix | cgroup/getpeername4 | cgroup/getpeername6 |\n" + " cgroup/getpeername_unix | cgroup/getsockname4 | cgroup/getsockname6 |\n" + " cgroup/getsockname_unix | cgroup/sendmsg4 | cgroup/sendmsg6 |\n" +- " cgroup/sendmsg°unix | cgroup/recvmsg4 | cgroup/recvmsg6 | cgroup/recvmsg_unix |\n" ++ " cgroup/sendmsg_unix | cgroup/recvmsg4 | cgroup/recvmsg6 | cgroup/recvmsg_unix |\n" + " cgroup/getsockopt | cgroup/setsockopt | cgroup/sock_release |\n" + " struct_ops | fentry | fexit | freplace | sk_lookup }\n" + " ATTACH_TYPE := { sk_msg_verdict | sk_skb_verdict | sk_skb_stream_verdict |\n" diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-004-fix-the-wrong-format-specifier.patch b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-004-fix-the-wrong-format-specifier.patch new file mode 100644 index 00000000000..19dfa0c0074 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-004-fix-the-wrong-format-specifier.patch @@ -0,0 +1,38 @@ +From cb035aad23cf92254d8d3c7631e5b642e6805bd1 Mon Sep 17 00:00:00 2001 +From: Zhu Jun +Date: Wed, 24 Jul 2024 04:11:20 -0700 +Subject: [PATCH] tools/bpf: Fix the wrong format specifier + +The format specifier of "unsigned int" in printf() should be "%u", not +"%d". + +Signed-off-by: Zhu Jun +Signed-off-by: Andrii Nakryiko +Acked-by: Quentin Monnet +Link: https://lore.kernel.org/bpf/20240724111120.11625-1-zhujun2@cmss.chinamobile.com +--- + src/xlated_dumper.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/xlated_dumper.c b/src/xlated_dumper.c +index 567f56d..d009434 100644 +--- a/src/xlated_dumper.c ++++ b/src/xlated_dumper.c +@@ -349,7 +349,7 @@ void dump_xlated_plain(struct dump_data *dd, void *buf, unsigned int len, + + double_insn = insn[i].code == (BPF_LD | BPF_IMM | BPF_DW); + +- printf("% 4d: ", i); ++ printf("%4u: ", i); + print_bpf_insn(&cbs, insn + i, true); + + if (opcodes) { +@@ -415,7 +415,7 @@ void dump_xlated_for_graph(struct dump_data *dd, void *buf_start, void *buf_end, + } + } + +- printf("%d: ", insn_off); ++ printf("%u: ", insn_off); + print_bpf_insn(&cbs, cur, true); + + if (opcodes) { diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-005-fix-undefined-behavior-caused-by-shifting-into-the-sign-bit.patch b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-005-fix-undefined-behavior-caused-by-shifting-into-the-sign-bit.patch new file mode 100644 index 00000000000..90c3499ec0b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-005-fix-undefined-behavior-caused-by-shifting-into-the-sign-bit.patch @@ -0,0 +1,47 @@ +From a0f887bbdc525006f7662f4a83e240f2c46d3418 Mon Sep 17 00:00:00 2001 +From: Kuan-Wei Chiu +Date: Sun, 8 Sep 2024 22:00:09 +0800 +Subject: [PATCH] bpftool: Fix undefined behavior caused by shifting into the sign bit + +Replace shifts of '1' with '1U' in bitwise operations within +__show_dev_tc_bpf() to prevent undefined behavior caused by shifting +into the sign bit of a signed integer. By using '1U', the operations +are explicitly performed on unsigned integers, avoiding potential +integer overflow or sign-related issues. + +Signed-off-by: Kuan-Wei Chiu +Signed-off-by: Andrii Nakryiko +Acked-by: Quentin Monnet +Link: https://lore.kernel.org/bpf/20240908140009.3149781-1-visitorckw@gmail.com +--- + src/net.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/net.c b/src/net.c +index 2a51f1c..3c50fc6 100644 +--- a/src/net.c ++++ b/src/net.c +@@ -486,9 +486,9 @@ static void __show_dev_tc_bpf(const struct ip_devname_ifindex *dev, + if (prog_flags[i] || json_output) { + NET_START_ARRAY("prog_flags", "%s "); + for (j = 0; prog_flags[i] && j < 32; j++) { +- if (!(prog_flags[i] & (1 << j))) ++ if (!(prog_flags[i] & (1U << j))) + continue; +- NET_DUMP_UINT_ONLY(1 << j); ++ NET_DUMP_UINT_ONLY(1U << j); + } + NET_END_ARRAY(""); + } +@@ -497,9 +497,9 @@ static void __show_dev_tc_bpf(const struct ip_devname_ifindex *dev, + if (link_flags[i] || json_output) { + NET_START_ARRAY("link_flags", "%s "); + for (j = 0; link_flags[i] && j < 32; j++) { +- if (!(link_flags[i] & (1 << j))) ++ if (!(link_flags[i] & (1U << j))) + continue; +- NET_DUMP_UINT_ONLY(1 << j); ++ NET_DUMP_UINT_ONLY(1U << j); + } + NET_END_ARRAY(""); + } diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-006-fix-undefined-behavior-in-qsort.patch b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-006-fix-undefined-behavior-in-qsort.patch new file mode 100644 index 00000000000..466258112b1 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-006-fix-undefined-behavior-in-qsort.patch @@ -0,0 +1,49 @@ +From 37e304df400c69347189449b38864705cc88b987 Mon Sep 17 00:00:00 2001 +From: Kuan-Wei Chiu +Date: Tue, 10 Sep 2024 23:02:07 +0800 +Subject: [PATCH] bpftool: Fix undefined behavior in qsort(NULL, 0, ...) + +When netfilter has no entry to display, qsort is called with +qsort(NULL, 0, ...). This results in undefined behavior, as UBSan +reports: + +net.c:827:2: runtime error: null pointer passed as argument 1, which is declared to never be null + +Although the C standard does not explicitly state whether calling qsort +with a NULL pointer when the size is 0 constitutes undefined behavior, +Section 7.1.4 of the C standard (Use of library functions) mentions: + +"Each of the following statements applies unless explicitly stated +otherwise in the detailed descriptions that follow: If an argument to a +function has an invalid value (such as a value outside the domain of +the function, or a pointer outside the address space of the program, or +a null pointer, or a pointer to non-modifiable storage when the +corresponding parameter is not const-qualified) or a type (after +promotion) not expected by a function with variable number of +arguments, the behavior is undefined." + +To avoid this, add an early return when nf_link_info is NULL to prevent +calling qsort with a NULL pointer. + +Signed-off-by: Kuan-Wei Chiu +Signed-off-by: Andrii Nakryiko +Reviewed-by: Quentin Monnet +Link: https://lore.kernel.org/bpf/20240910150207.3179306-1-visitorckw@gmail.com +--- + src/net.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/net.c b/src/net.c +index 3c50fc6..d2242d9 100644 +--- a/src/net.c ++++ b/src/net.c +@@ -880,6 +880,9 @@ static void show_link_netfilter(void) + nf_link_count++; + } + ++ if (!nf_link_info) ++ return; ++ + qsort(nf_link_info, nf_link_count, sizeof(*nf_link_info), netfilter_link_compar); + + for (id = 0; id < nf_link_count; id++) { diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-007-define-PACKAGE-at-build-time-when-trying-to-detect-libbfd.patch b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-007-define-PACKAGE-at-build-time-when-trying-to-detect-libbfd.patch new file mode 100644 index 00000000000..c88cbdf367c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-007-define-PACKAGE-at-build-time-when-trying-to-detect-libbfd.patch @@ -0,0 +1,48 @@ +From bf9e0609acb97d73a7ebf3e8910b0119cd943dfb Mon Sep 17 00:00:00 2001 +From: Quentin Monnet +Date: Mon, 14 Oct 2024 17:43:25 +0100 +Subject: [PATCH] mirror: Define PACKAGE at build time when trying to detect libbfd + +Feature detection from the Makefile.feature for libbfd (with the +different variants of the probe) may fail on some systems where the +bfd.h and dis-asm.h headers expect the PACKAGE or PACKAGE_VERSION macros +to be defined [0]. In the kernel tree, feature detection addresses it by +defining the PACKAGE macro when invoking the compiler [1]. Add a similar +definition for the mirror repository. + +Note that this issue has remained undetected for a while. This is +because the bfd.h included in some distributions (Debian/Ubuntu, for +example) does not contain the inclusion guard [2]. + +[0] https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=bfd/bfd-in.h;h=04e65aad5f0c235a5013513c545e57a01e96541f;hb=binutils-2_43_1#l27 +[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/build/feature/Makefile?h=v6.11#n114 +[2] https://git.launchpad.net/ubuntu/+source/binutils/tree/debian/rules?h=applied/2.43.1-5#n1031 + +Reported-by: Holger Hoffstätte +Signed-off-by: Quentin Monnet +--- + src/Makefile.feature | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/Makefile.feature b/src/Makefile.feature +index 131c67e..90f9e7c 100644 +--- a/src/Makefile.feature ++++ b/src/Makefile.feature +@@ -45,7 +45,7 @@ LIBBFD_PROBE += ' bfd_demangle(0, 0, 0);' + LIBBFD_PROBE += ' return 0;' + LIBBFD_PROBE += '}' + LIBBFD_PROBE_CMD = printf '%b\n' $(LIBBFD_PROBE) | \ +- $(CC) $(CFLAGS) -Wall -Werror -x c - $(1) -o /dev/null >/dev/null ++ $(CC) $(CFLAGS) -Wall -Werror -x c -DPACKAGE='"bpftool"' - $(1) -o /dev/null >/dev/null + + define libbfd_build + $(call detect,$(LIBBFD_PROBE_CMD)) +@@ -78,7 +78,7 @@ DISASSEMBLER_PROBE += ' return 0;' + DISASSEMBLER_PROBE += '}' + + DISASSEMBLER_PROBE_CMD = printf '%b\n' $(1) | \ +- $(CC) $(CFLAGS) -Wall -Werror -x c - -lbfd -lopcodes -S -o - >/dev/null ++ $(CC) $(CFLAGS) -Wall -Werror -x c -DPACKAGE='"bpftool"' - -lbfd -lopcodes -S -o - >/dev/null + define disassembler_build + $(call detect,$(DISASSEMBLER_PROBE_CMD)) + endef diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-008-always-disable-unused-CLI-arguments-warning-for-feature-probe.patch b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-008-always-disable-unused-CLI-arguments-warning-for-feature-probe.patch new file mode 100644 index 00000000000..399b824ce06 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/files/7.4-008-always-disable-unused-CLI-arguments-warning-for-feature-probe.patch @@ -0,0 +1,38 @@ +From 3be8ac358900c5f57028b2b6501407a14167a9bb Mon Sep 17 00:00:00 2001 +From: Quentin Monnet +Date: Thu, 17 Oct 2024 11:22:14 +0100 +Subject: [PATCH] mirror: Always disable unused CLI arguments warning for feature probe + +In commit 8a2d7d510ccd ("mirror: Fix features detection for building +with clang") we prevented clang to error out when encountering unused +command-line arguments in the feature probes, because we do add unused +arguments for some of the probes when retrieving arguments from +llvm-config, and we don't want probes to fail because of that. + +At the time, the issue was apparent for the LLVM-based disassembler, so +we added -Wno-unused-command-line-argument when $(LLVM) was enabled, +only. We missed the case when we're building bpftool with clang instead +of gcc, without building the LLVM disassembler. Let's disable the +warning unconditionally instead to fix this case. + +Reported-by: Holger Hoffstätte +Signed-off-by: Quentin Monnet +--- + src/Makefile.feature | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/src/Makefile.feature b/src/Makefile.feature +index 90f9e7c..b08e7b9 100644 +--- a/src/Makefile.feature ++++ b/src/Makefile.feature +@@ -4,9 +4,7 @@ pound := \# + + CFLAGS_BACKUP := $(CFLAGS) + CFLAGS := $(EXTRA_CFLAGS) +-ifneq ($(LLVM),) +- CFLAGS += -Wno-unused-command-line-argument +-endif ++CFLAGS += -Wno-unused-command-line-argument + + ifeq ($(V),1) + LOG=$(warning $(1)) 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 a09ffc7b942..1e8c354ad0e 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 @@ -13,4 +13,7 @@ Use sys-libs/libcap to enable unprivileged run support Use sys-devel/llvm instead of libbfd (sys-libs/binutils-libs) for JIT disassembly + + libbpf/bpftool + diff --git a/sdk_container/src/third_party/portage-stable/dev-util/catalyst/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/catalyst/Manifest index de8a439b069..666e6e8b10a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/catalyst/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/catalyst/Manifest @@ -1,3 +1 @@ -DIST catalyst-3.0.22.tar.bz2 620528 BLAKE2B f0eb5bf1052ba65bcdab4a14fe8ab564b6396c8a7271ee16c664b90c595df2a7bcda480279d64e0c7c6ff2045e0119a6a3afec75819a673ae721e77587e1f2b2 SHA512 c2b2d20ee6581b7c9c837fd64e798b0d1b0e5cc00346827cdf7154af8e8b6e279d32ab0d7f10314aa8d50923065e8b1121d2c01a506521cdae04736769cf6ba4 -DIST catalyst-4.0-rc2.tar.bz2 355924 BLAKE2B b14905e989674a9b547c6e7c83129e1bcc0b55cf64b86e0668532d067518d7a66dd0d494b9e1f84bf0ba9f6d57c79baeb39c35d7ffd9ef09602dd4c1be9a1bd9 SHA512 16ffdf74639bde74e043480d3c756121489033cf72850b38959701c53a689263b46bb10403496de222af00321b5d691aba7bcb41eafb8b5dcb1dd56dd658ace5 DIST catalyst-4.0.0.tar.bz2 356445 BLAKE2B 1e3dc5fa5a3603b2c7e46277da00877ba34a4bd7a63a3e0f3728cdb9a76782e4dbb1b2f6f950e752e8814fa9da2db1e43280711bd7df44abe649c641760d9240 SHA512 332c9519fd59618c59367299ca1208280a973a0b99f03937831f9b39c643b090599733a0ad3735488de5b11d8581afd2b585a19bfb6a196c4eed899912388499 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-3.0.22-r3.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-3.0.22-r3.ebuild deleted file mode 100644 index 752cca6f7a2..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-3.0.22-r3.ebuild +++ /dev/null @@ -1,82 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -if [[ ${PV} == *9999* ]]; then - SRC_ECLASS="git-r3" - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/catalyst.git" - EGIT_BRANCH="master" -else - SRC_URI="https://gitweb.gentoo.org/proj/catalyst.git/snapshot/${P}.tar.bz2" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 sparc x86" -fi - -PYTHON_COMPAT=( python3_{9..11} ) -DISTUTILS_USE_PEP517=setuptools - -inherit distutils-r1 ${SRC_ECLASS} - -DESCRIPTION="Release metatool used for creating releases based on Gentoo Linux" -HOMEPAGE="https://wiki.gentoo.org/wiki/Catalyst" - -LICENSE="GPL-2+" -SLOT="0" -IUSE="ccache doc +iso system-bootloader" - -DEPEND=" - app-text/asciidoc - >=dev-python/snakeoil-0.6.5[${PYTHON_USEDEP}] - dev-python/fasteners[${PYTHON_USEDEP}] -" -RDEPEND=" - >=dev-python/snakeoil-0.6.5[${PYTHON_USEDEP}] - dev-python/fasteners[${PYTHON_USEDEP}] - >=dev-python/pydecomp-0.3[${PYTHON_USEDEP}] - app-arch/lbzip2 - app-crypt/shash - sys-fs/dosfstools - || ( - app-arch/tar[xattr] - app-arch/libarchive[xattr] - ) - amd64? ( >=sys-boot/syslinux-3.72 ) - x86? ( >=sys-boot/syslinux-3.72 ) - ccache? ( dev-util/ccache ) - iso? ( app-cdr/cdrtools ) - kernel_linux? ( app-misc/zisofs-tools >=sys-fs/squashfs-tools-2.1 ) -" -PDEPEND="system-bootloader? ( >=sys-apps/memtest86+-5.01-r4 - sys-boot/grub:2 - amd64? ( sys-boot/grub[grub_platforms_efi-32,grub_platforms_efi-64] ) - x86? ( sys-boot/grub[grub_platforms_efi-32] ) - sys-boot/syslinux - sys-boot/shim )" - -python_prepare_all() { - python_setup - echo VERSION="${PV}" "${PYTHON}" setup.py set_version - VERSION="${PV}" "${PYTHON}" setup.py set_version || die - distutils-r1_python_prepare_all -} - -# Build man pages here so as to not clobber default src_compile -src_configure() { - # build the man pages and docs - emake -} - -python_install_all() { - distutils-r1_python_install_all - if use doc; then - dodoc files/HOWTO.html files/docbook-xsl.css - fi -} - -src_install() { - distutils-r1_src_install - - doman files/catalyst.1 files/catalyst-config.5 files/catalyst-spec.5 - insinto /etc/catalyst - doins etc/* -} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-4.0_rc2.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-4.0_rc2.ebuild deleted file mode 100644 index 31c694a326b..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-4.0_rc2.ebuild +++ /dev/null @@ -1,126 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -MY_P=${P/_/-} - -if [[ ${PV} == *9999* ]]; then - SRC_ECLASS="git-r3" - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/catalyst.git" - EGIT_BRANCH="master" -else - SRC_URI="https://gitweb.gentoo.org/proj/catalyst.git/snapshot/${MY_P}.tar.bz2" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" - S="${WORKDIR}/${MY_P/_/-}" -fi - -PYTHON_COMPAT=( python3_{9..12} ) -DISTUTILS_USE_PEP517=setuptools - -inherit distutils-r1 linux-info optfeature tmpfiles ${SRC_ECLASS} - -DESCRIPTION="Release metatool used for creating releases based on Gentoo Linux" -HOMEPAGE="https://wiki.gentoo.org/wiki/Catalyst" - -LICENSE="GPL-2+" -SLOT="0" -IUSE="doc +iso" - -BDEPEND=" - app-text/asciidoc -" -DEPEND=" - sys-apps/portage[${PYTHON_USEDEP}] - >=dev-python/snakeoil-0.6.5[${PYTHON_USEDEP}] - dev-python/fasteners[${PYTHON_USEDEP}] - dev-python/tomli[${PYTHON_USEDEP}] - sys-apps/util-linux[python,${PYTHON_USEDEP}] -" -RDEPEND=" - ${DEPEND} - >=dev-python/pydecomp-0.3[${PYTHON_USEDEP}] - app-arch/lbzip2 - app-arch/pixz - app-arch/tar[xattr] - dev-vcs/git - sys-fs/dosfstools - sys-fs/squashfs-tools-ng[tools] - - iso? ( - app-cdr/cdrtools - dev-libs/libisoburn - - amd64? ( - sys-boot/grub[grub_platforms_efi-32,grub_platforms_efi-64] - sys-fs/mtools - ) - arm64? ( - sys-boot/grub[grub_platforms_efi-64] - sys-fs/mtools - ) - ppc? ( - sys-boot/grub:2[grub_platforms_ieee1275] - ) - ppc64? ( - sys-boot/grub:2[grub_platforms_ieee1275] - ) - sparc? ( - sys-boot/grub:2[grub_platforms_ieee1275] - ) - x86? ( - sys-boot/grub[grub_platforms_efi-32] - ) - ) -" - -pkg_setup() { - CONFIG_CHECK=" - ~UTS_NS ~IPC_NS - ~SQUASHFS ~SQUASHFS_ZLIB - " - linux-info_pkg_setup -} - -python_prepare_all() { - python_setup - echo VERSION="${PV}" "${PYTHON}" setup.py set_version - VERSION="${PV}" "${PYTHON}" setup.py set_version || die - distutils-r1_python_prepare_all -} - -# Build man pages here so as to not clobber default src_compile -src_configure() { - # build the man pages and docs - emake -} - -python_install_all() { - distutils-r1_python_install_all - if use doc; then - dodoc files/HOWTO.html files/docbook-xsl.css - fi -} - -python_install() { - distutils-r1_python_install - rm -rv "${D}"$(python_get_sitedir)/usr -} - -src_install() { - distutils-r1_src_install - - echo 'd /var/tmp/catalyst 0755 root root' > "${T}"/catalyst-tmpdir.conf - dotmpfiles "${T}"/catalyst-tmpdir.conf - - doman files/catalyst.1 files/catalyst-config.5 files/catalyst-spec.5 - insinto /etc/catalyst - doins etc/* -} - -pkg_postinst() { - if [[ -z ${REPLACING_VERSIONS} ]]; then - optfeature "ccache support" dev-util/ccache - fi - tmpfiles_process catalyst-tmpdir.conf -} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-9999.ebuild index 31c694a326b..0c6d0cd86b4 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-9999.ebuild @@ -25,7 +25,7 @@ HOMEPAGE="https://wiki.gentoo.org/wiki/Catalyst" LICENSE="GPL-2+" SLOT="0" -IUSE="doc +iso" +IUSE="doc +iso qcow2" BDEPEND=" app-text/asciidoc @@ -72,12 +72,22 @@ RDEPEND=" sys-boot/grub[grub_platforms_efi-32] ) ) + + qcow2? ( + amd64? ( + sys-boot/grub[grub_platforms_efi-32,grub_platforms_efi-64] + sys-fs/dosfstools + sys-fs/xfsprogs + sys-block/parted + app-emulation/qemu + ) + ) " pkg_setup() { CONFIG_CHECK=" ~UTS_NS ~IPC_NS - ~SQUASHFS ~SQUASHFS_ZLIB + ~SQUASHFS ~SQUASHFS_ZLIB ~XFS_FS ~VFAT_FS " linux-info_pkg_setup } diff --git a/sdk_container/src/third_party/portage-stable/dev-util/catalyst/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-util/catalyst/metadata.xml index d8a6b705dc2..2787ae5baea 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/catalyst/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-util/catalyst/metadata.xml @@ -5,9 +5,8 @@ catalyst@gentoo.org - Enables ccache support Pulls in the depends for building iso images - Pulls in the depends needed to setup livecd bootloader from the host system rather than using a cdtar + Pulls in the depends for building qcow2 images proj/catalyst diff --git a/sdk_container/src/third_party/portage-stable/dev-util/desktop-file-utils/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/desktop-file-utils/Manifest index 0bc54c31285..d2b8b0b2023 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/desktop-file-utils/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/desktop-file-utils/Manifest @@ -1 +1,2 @@ DIST desktop-file-utils-0.27.tar.xz 80808 BLAKE2B 66708cd11d5f81824cad814846cdeac6c339e8e93a7f1dceaeed545d9dc1940523fd64ae890e54632b3d32cc91b258aabd41d6d467081539f978ae2993fdfb22 SHA512 81356239a92fb17885aa85a5192c84c2757ebb2e540920d0d41d07035795f08f4162f41b1a87bb2bfcf70ec61f19f1f158e4395a359f46b46f68cb9e24f259a8 +DIST desktop-file-utils-0.28.tar.xz 81620 BLAKE2B c5ef35ad1a7b8cebee72d512ea660546730624b95c22af6e0429976076bcc8ad9572d7ccf529363ac24846df7bfe447628c8da09f9efdf46b3177a9c73cc3985 SHA512 1024172fcd37ace0660fd58195c0562b47f1ef8ed37f662b88048c295a388d1458d01f86799b34ec9e8b27a7ea441f98665f0d641c29cb5ecc3abd7da41230f0 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/desktop-file-utils/desktop-file-utils-0.28.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/desktop-file-utils/desktop-file-utils-0.28.ebuild new file mode 100644 index 00000000000..b516fba32bc --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/desktop-file-utils/desktop-file-utils-0.28.ebuild @@ -0,0 +1,23 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit meson + +DESCRIPTION="Command line utilities to work with desktop menu entries" +HOMEPAGE="https://freedesktop.org/wiki/Software/desktop-file-utils/" +SRC_URI="https://www.freedesktop.org/software/${PN}/releases/${P}.tar.xz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos ~x64-solaris" + +RDEPEND=">=dev-libs/glib-2.26:2" +DEPEND="${RDEPEND}" +BDEPEND=" + app-arch/xz-utils + virtual/pkgconfig +" + +DOCS=( AUTHORS ChangeLog HACKING NEWS README ) diff --git a/sdk_container/src/third_party/portage-stable/dev-util/maturin/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/maturin/Manifest index 92b012d0e63..ef0be16dd83 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/maturin/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/maturin/Manifest @@ -1,124 +1,73 @@ -DIST adler-1.0.2.crate 12778 BLAKE2B a1dc17786adae945ac09d3525e609ed944e6465690787bbb831a1b9d53793cba1989793d0a5606d5d23ee20d36457923d451b1b3530c9ec7072a487aa3e55bbd SHA512 7ab190d31890fc05b0b55d8e2c6527a505e06793d5496be0b3831e0513412f9ba97f8148f6f68ed0770fa9cd980a5092d885e058becf1d5506b7c74b82674aa1 DIST adler2-2.0.0.crate 13529 BLAKE2B ec575b0bf12e321399ac3a1d59fce4ddbeabcc60cb3d7c2f362cce23eb29b4ea836451372d6d88552a4435ae29bb41d6230d55f625a4359eace680b9b771d0ad SHA512 12d12579ad617cf1a94cf95ab9d3f5db566c3b2de4bd5735eccd83c668fdad0eff134c996b73c46cbb9f932837682043878b8cc4764191625e9f93ccffcce423 DIST ahash-0.8.11.crate 43607 BLAKE2B 7dff8e41798ba25df8c4827ff414a182bb25da4825f0119a74916fe775db5445b87be8fc87f7c7f98d3b5053e1d47546f98873de1a942d36e5f308a3fb7dd620 SHA512 47d211b2422de0b381dfe32229faa346406eb7a22dff867dc04c22389609a8671ce3218e662000c49891a06c259d82e0ff4413740f007729d80e097a6c3f0d9d -DIST ahash-0.8.7.crate 42894 BLAKE2B 56f4b2f577eb2752e675fa2b3191c65e0bb88575f92e8d906714296fca1daace46e93256672fce08cc5b4ac11d40a690a06b32a99fb50fd0df4f042773c33b6c SHA512 2c9eaa22f7bda47a781994c769d4a2ef15ba0f511fdd4ec4680c13d4c1809f1ce01adecc3b3776793158062d28ad9e5f0b1d1c0a9429e43dd07cd99540eae7a6 -DIST aho-corasick-1.1.2.crate 183136 BLAKE2B 2d4306d8968061b9f7e50190be6a92b3f668169ba1b9f9691de08a57c96185f7a4288d20c64cb8488a260eb18d3ed4b0e8358b0cca47aa44759b2e448049cbaa SHA512 61ef5092673ab5a60bec4e92df28a91fe6171ba59d5829ffe41fc55aff3bfb755533a4ad53dc7bf827a0b789fcce593b17e69d1fcfb3694f06ed3b1bd535d40c DIST aho-corasick-1.1.3.crate 183311 BLAKE2B 8dfcbba0b9d94e55eae739b16f5c6474baa43ee7854c5ca792f426a9f46fb0eece79cd493b804e51449181bcad338b96819fe977c02c9907654d713e26b9f830 SHA512 ba422a54688c4678fcf16e34fdf3ed06c333e6e3fc8b75af9272a215add494d43ebaef319021134b61327fd5d3572aec0dc655b714ffb3bc71ba3c265c9ebb69 -DIST allocator-api2-0.2.16.crate 59025 BLAKE2B fda69b52435a7243eb19bc55914a1961e59dbad5ac12c40db39cccdf7a99c742da59c3ef160350808698db24b91e0ce655cd1acedbbcbe20c717604aae23ea5e SHA512 e1eb0df6b44b62115795ebf772f81e9ac0b6d273afd81659dbddb7eb6628b6e5ef6a60ea21413e79ee638afb72e6872ba83a075f6324daf93f2f1eda48daff2f DIST allocator-api2-0.2.18.crate 62504 BLAKE2B 8152c5a611be91ba23b1e8647511e21f48e7d4f1a7b9a828083f5bb8747cdc92aee66f73251b19195bbdc1f65aad992632e820d86cbeff287d598257ae3628a6 SHA512 5e5b0e23e1f5b259e5d3746e3e05817af8dee95af7105ea775a5c1d69b4e537a4d6a25e2c1d46ab83e2385217b158f7940dc1315ae581c35ee23289647105e73 -DIST anstream-0.3.2.crate 19504 BLAKE2B 617b846c244ea4ccd6c7835a382afe85e14c245ea56b678f57ee12e9c7bcc1c0c3db9620eb4d16bf35e17eca38968bf04420b758f482ac5594670e6292c1fbb9 SHA512 b896e5208a2ee6a3c98bf3bb9ac1c52792de114dfa5709dadcac6183ea19ea63230dffd3217e571354a71d69b8eafbb0189e05f8f77f50922020de54e3aeecc8 -DIST anstream-0.6.11.crate 30239 BLAKE2B 4ac585ec56a804239d32ad3e64d93936ef9d5c8e0f0e2df17f7b081b6a3b2c4c32ff4ebc09ec02507bbed22b025628029d859610aed90c024e19a3216de73c8b SHA512 f8dd65cc116a1495782a3bfc98edfdd0973ab22ea2fafd292fb4bd3495af7b5ea410f320d3fa05f7f812fa96c2a20f4cd2af9fc58869a1a306f32714cbe45163 DIST anstream-0.6.14.crate 29160 BLAKE2B 1120895a51ed7a285c5d5a03d2f7e26dc956d95f39cf500ba9f547d71a62ed0326f519860ddcf8db77cb09e9119e914a62693369eca51cbf9c01ef874ade9112 SHA512 65ece20958e3fb1ed4a5ff1d45f5bfdcb942c64994a3d14eefb0dfd5b04f433f6e1b06ebff240c67ed8ff7cc01d93ca0acf8c8ea29cb41309c6c882e7c192b34 DIST anstream-0.6.15.crate 29231 BLAKE2B cc4cf0f381c210fecc20b5796fe872b533419e5f957021b0c3be3cdc23fb84ce029fbef6f9b6f174a76ad713c07f0811145a70572de7c24cfab060fdd990f49a SHA512 1cb01a0293b4c9bcc010909707e71c464416d3ec6fc9789060b7aa9fe4cc04424fefa8013cc8765ccdae6dfd9a1c50a11f7b30b39a32c4aeaf525f28167ddb92 -DIST anstyle-1.0.1.crate 13977 BLAKE2B 35be03a7de78737592528967e8ad4851436a74c7863cae9cf5cf7366d3cce9bbbd255b1a89401051f82fe8569a0ff029dcfe427c14a2e0677890453c6119d241 SHA512 2bf9b83ad9772c6a3ef28239cbb98bd667dc631fd1ef76ec5029825c128f6cb22756bb1548dd991e482f86eb9fd94fae5c648f91de2c0d71754b6dca4ec2362c -DIST anstyle-1.0.4.crate 13998 BLAKE2B fb501700855709e53438461c2f4b48d869613e7bb3bb700db8bd0d95082876d3782dc2cfe3ce110bb4a206994de56afe0e90fe89f9ccd07c60fe1c652123ba59 SHA512 671c6f57106198bcfc2f9000aacba98fabacfadfce2329dfe8d0e0a2af9404da483d7a844ca2b08e1fc0249371f574c13d0082c9f7a4ed90ff581308257a52d3 DIST anstyle-1.0.7.crate 15709 BLAKE2B 872e0ed09e7e94c6f6b812349e39f949aff4d7cbb87744ab26fe49f57a7d330e0f79447213374f7f862ea276aab2dd1077dc8df3f7c5f34079ef30c4d17eeeba SHA512 e20d49f7d148e03f7b127be7802e0b6b7a2b05720614d46c2ade5e440ce322b44ddd3a9239b897886faa03ed1cb30f947ee27d3811fa83dffba10b3975eba7ed DIST anstyle-1.0.8.crate 15771 BLAKE2B c039613e7de27cc990e5764810f9351754b160928a8954dc19041354cf9fef1422ed964237a5d39d16e4e9f8592ed52c523ccf36b0b5506f464d4f818f3332ff SHA512 3b867f73df0b2f69a0c7d5d6e62c7515045e053656afaa303e5aade8012e838cdf5d15d2c3d7c297db9e297d08ea69a9c8eed04b97922a83f56c58962c1c0b69 -DIST anstyle-parse-0.2.1.crate 24802 BLAKE2B 6304a56c6a9fbaf1bb4d1d177b2315684345dc9d71c35836f9544145364f8d6eb56e25c03076690c594ab7db5914501acb569f6c136952e59c93179ced527fb2 SHA512 5c8fc7d88ffc3a6e78340ffe0f3c2d72e865512030ade4509de9c673eba955c536bb1873dac11f6ba11cc8367fb30c67451ed65d19f81507c9e917c702bfd176 -DIST anstyle-parse-0.2.3.crate 24699 BLAKE2B 17e8638187ccc1ca0174a8cec7f7daeee7e0d8b8c430f7e74f9b10d8de4b49fd1c6facfdafde305b7a3e55b1ebf2b4e8ec4975a0cce691514ddae9eb5b5e711e SHA512 4a6d0f706d75c9b3c5144f34efdef3ef8fcd075962c594a23a6209ed56112563a34b3c01e05a08a0868d59204272d06211b2585cb9d06ce075ea875bedb2f399 DIST anstyle-parse-0.2.4.crate 23069 BLAKE2B e80bd81e351326a222238b3f559020a2430ac37293e61b6b6309b37bbb8bdb78ec11ca9c0fd270098af5e5ffb2f5660cfbfda949d20fd2efd336ed1c143215b2 SHA512 c1dac475df77d090a4d2041ba40ff418abe66e93e4ddda54653bf024fb4995e431166684343509a2337bc813fe06f362d3df8a1d7d05d177cec1a488bcb9942a DIST anstyle-parse-0.2.5.crate 22680 BLAKE2B 7473651b1eee08857a6ed1419d3d62ba4b9a9aa0d6657965ad9c67bddd793d825737d3804961716a89bdebed9879ac43b42c897cd229c6e7bd780859e1e3c247 SHA512 cd94ad0e88ad4547a660da1473bf4e6dfed805a066782124204143c7f754c12db719bd3a1774c299f1a035740bfc4830919da191bd14e0acede410f6dbd1e2ef -DIST anstyle-query-1.0.0.crate 8620 BLAKE2B 2d296b5066fd6284a2410923215571e6df650c5ef892d6de7a7088a0996ca30608797feabc84f3c325ff4d07001dac80ac5067d2a9c9d15d9ba59a276b399f53 SHA512 2781be5c82293b7ae338ec5046fbeb130de9eb2dbf2e4dfaa73ca5233032e1e52c133e141b02f33d4bc36d996a0a3f680ac82d42d614a5305005f60547133c7a -DIST anstyle-query-1.0.2.crate 8739 BLAKE2B c06643e8616f1f4469a32f9c0512941ce53ac5db9ebfa7a5b2f19233040cd4438dd2ee69ab89ecbc1c239e92b674dea9df15ed673408c6f3fe21787cc17d76f3 SHA512 f409b624cbeecf58fd87c47f85be28cae1fe48f65d692195fb80854c514e38c40d0e0ffad3a5b388a3929c47bd2060302ebb635aa98dc57329f3a5ed7be3e2dc DIST anstyle-query-1.1.0.crate 9832 BLAKE2B de106e289c874bca806214e275647415bdd02e2878f3a80e7d337cfbcdb755d8c182b2879371f00f5cad97cdf68224ac11ca41cc89ad7ab3929f854a9f9e76a6 SHA512 321ddfa7b090142116c96bc8c70d81cec3e816922249ae0f07389e2d1b62c8b40636675ccfdfd23d52e29c162ae7d929637dfc7d697dafb79e596d04eb8cd90b DIST anstyle-query-1.1.1.crate 9891 BLAKE2B c298114c1864a5233fb39c365e079a7f1f4ef23499dc330e5deb06f83f27bc727015befef79075c7e39952547f799b4135d7db287cf72dfc914191df784a4989 SHA512 1b2e888f025142a0d9b01314cf083831a2a45d8da737c1be3a6a9aa177e73e0d2ae7999fe7610dd450b7096115e8cf38c5da23723cebf1deaa7d3501d3dbd5ce -DIST anstyle-wincon-1.0.2.crate 11712 BLAKE2B 68215a76e44cbe0e69c4111eaf7cd818d0e743883aec01f99f6d96e863d8d36bea67ed112db715a3a0daa348535f3db50547d8a0ab5e4572975d68937c49aa86 SHA512 8bda8b79785d201cda90c8d3544f5cead955c25749a4b828bc897e4bb132acbbcc50ac90ee07323ae3077af3e4c613264871366d70e5211200d119f4ddb63b0b -DIST anstyle-wincon-3.0.2.crate 11272 BLAKE2B 73e124773f618a744b17017d4680ec6ccc84ff94fbe2e565073fbcc0facecd3cb65356cf27746d07f453bc917cbeb2ade3a618c6b8578d64cff4828c99569868 SHA512 4cc194faacffa01c6989354c1cadbf1134f0945250f67b7020ab5b475e30db34c799176bd335a6265386cb9c5e8b5bcbdf35894ec0c809b140ffe1c406751931 DIST anstyle-wincon-3.0.3.crate 12179 BLAKE2B 37793975a05ad60bb2b670c208db11c5cda8a2a456242cd118748709d0a220b541b6f088676eccd19870cfb8f910d4aa1e7764393785a6db0531af4a3ffc8047 SHA512 55217c65fc9ec674e5b4dd70716a221bd108b507dce9baaeb542f0e0a47027ec7fe61f9cd3cccfda43e4a4cd785b42f13400daf89884c32d3768e48bdff2d179 DIST anstyle-wincon-3.0.4.crate 12234 BLAKE2B 23294d6ed7715c55c8f796eb7b860450c57b22b57e32a5c75847f2e2bd68a52b33c24797db662aa5fd7e799b9644075c8c939d93b0cf8598b16ee80fc817b77f SHA512 24b3a9a44382609ad449425a657d4b42a792d4703c36e0953f09a03817759c266a2f0ff4ecc9e8b93ea8403df2badef1f1af6a6e50af56205176c41b13501ae6 -DIST anyhow-1.0.72.crate 43837 BLAKE2B 1547c158882e50579a568a14e6e5cd162feb6cf291835266c9dae0c1c4df05a7872bceb02bbc8a13ab5bb84d299a94892057f54eeade7fa095ff8f897f6fe9d8 SHA512 25d8d4cfcc9679c9125fe03c7ce5a46462ca66e7457d45cd7838b7867f3461a899f75b22d76dfb04caa09c013c3b702313ffb6373f92b2798119a30199c38a98 -DIST anyhow-1.0.80.crate 45138 BLAKE2B 4985d3d8f1d5b5886fae5c7d1a61f921d3d64fb51e24710044b85dfadd2dae2b25b8995cab419cb7cdb5c8cb6b50ad0de93b9a942d34bc45014bd5fb9aecbd39 SHA512 481a3bc29de2af0b913d83cc79dacd559cf0bafecafcc707b921b91a732df953a2df582a54e5fca3f506f6441fd47379bd6bd006bcb1bd6f2615198f9903cc59 DIST anyhow-1.0.86.crate 46741 BLAKE2B 21b1f3acd1c1b659e6e9a53693178de67c806d7dbad30dedea0fb7078b2388baa196d1e7240a7dc88ed9dc93ee4c00bca8e608dad1b6bfb5bfa4f4c5ab51f0d3 SHA512 3853da32a2c53d73969bb29a1e622f3a6d5832d8888dc6bc8eedb76394b392f983aa3fcb1f542933e238841486106f0f38e9a2400c12c7699baba0ebe1d8193a DIST anyhow-1.0.89.crate 47078 BLAKE2B fc824e72891bff0cc7aa3b538adfb9af7dc843ab6ed12b8b04eb70e62d32aae1decb9090621d3245dbe89841e73080d2d86973b4aee50873e798956da9b3faa6 SHA512 3c09317089ed78601a56c626700d12c0b49396e25fed9a9f05a2dbfbd6f91ad426c430633006a4043decd1f70a85c161c4f8dd7de0e4c00b82a169b89dda8da0 -DIST arbitrary-1.3.2.crate 32037 BLAKE2B f8f6a10a8f42f14eefaad4348b6ff200d0c2fb22faa7a2876247228046359e39c555f3170a1975f64f8537319b97c7ce2030dcab3614229c8334b5d6f9248114 SHA512 faab26c44f25d2c7298add2a657e4010d9fe24b3a61e2270bc6feac05cf2a82895fe225d2fb1c6b63e6c7da54e061955503f39322b96dbdbc4916601bd5e5ccf -DIST askama-0.12.0.crate 16773 BLAKE2B f0e9d355de0092334b65e669d49b465f02fcffc980d364ba8f478951584b43b890731e7d994358fcea1e5aebf62ed6649b1b2715e9431eefa4820ac0d57f0638 SHA512 8703a9091bd0145c12b724b116452be45ea8730fb05eba375af321345105105fb1486511e3cec82c494fae8771b12632caf5a01e3722a730cda6f81033c470e5 DIST askama-0.12.1.crate 16976 BLAKE2B 9257c6d292d6399d81a750ff4b55958a0ffbdbd5f96f3e0f2ac1e777a8bc8e11264a89bdd6edea6a6a3d0b3324138c1524b0f00fc2168afd1abd0f4b777e1473 SHA512 b719134fe73080e8360f35ff4ddeb3039ed1c4d20861cd3cae40e20832fcf8b12eb8b04ad82ea49d5c5f5ae6fbb29180aeae7e41be5f72ab97e9abfd60cceb4b -DIST askama_derive-0.12.1.crate 38245 BLAKE2B d16ac4cab01895349a20906a90ee72a366a320db79be57de0959592f65276beacaa726563d93b5c1e08a603652b20163aa513dff47b2d91b2040af8e40f5bb07 SHA512 6b627746bbc00cec610903d1ca09e723265b68f3c05464800afc69f152f5bc44a4c83e76932d0dce77668d0ac1ce4956d57ea4bedc3efcd0b473eb8fafe1aebf DIST askama_derive-0.12.5.crate 31218 BLAKE2B 0646c0df57dd6d3d3f48424db2456df37c11cbf1bb159570f7bb3e878b0abce3ebf9e948554f214dd9f77449ed79ade4ffe88511e66274d3d4beea8a8e1b539a SHA512 37fd963d0aab2f29866931858f3235086170133f86953f70b44003e9505a5c716ffa6ed7429601520716259688cf2e4cb17649e89065d210eff28119416773f9 DIST askama_escape-0.10.3.crate 8875 BLAKE2B 6bb88f18aa0bd05a36e7bf5cfcaed3138ddb96ed366e7da9b9a64c4e0345fba384cfa3e9bfab3674c1697a7722bd59a9428438b78d44bcac78740d4c53c3d3e8 SHA512 1978add567021fac7f086b6091c97de81919877726455828164642c55607d5b5f6f01c0187f8a8a3371c9b3a1ef41f4c3c9e14d9068826c38ee8a6efe2eeb5a2 DIST askama_parser-0.2.1.crate 20707 BLAKE2B 14d385d906295c892543bf917a835b9b354666927a63cb66c6082b8bd7330b07b89a1cb60a88ce0b8a8a58cc23023587fdea2117329bf384a22c097c0e45aaa6 SHA512 50c2a8a1f08006b375c450275ca7b455209aabcaf2b5a2ed903d1f8cf26920d95985e1ce2b6d77397b8dc32cdcbea6c442a1b4f590af64f92e4e5b47e3a52f75 DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f DIST autocfg-1.3.0.crate 16524 BLAKE2B 7d5a03853d6b4f0da08d8e139fb200da21e47fa7e50d1956270d0ff0cc496f660f8f800122c95eee9ba98d9210ab200c3010b782097483d12d6be4ac0df0e7c9 SHA512 a5570b955d57a7183ba148b335837dc5af24b202e80681027536d33fe2822509ba644fc70c29f018c893285ced2bf6774f44ca6c59f7c7e2226d5349cf7c3635 DIST automod-1.0.14.crate 8717 BLAKE2B aaf79cd054645d3fce5e57f96bdc33f0d02c66495353f4155eba37e81160cd3eb3019587770a38bc22cff5f1e673f0af1b0c9e5e6472bd08e9a6c2812c71b576 SHA512 5efdf134f24298f3a522688b3bb87f5e8e43bafd761909a09a1018f7142ef0ce3ed390f7f01cc475391bf8e6e3d433d776c47efce619a403276ed8998b2c531f -DIST base64-0.13.1.crate 61002 BLAKE2B 3b3a5b26e2ef18e9b4f1ede72b1bd160a1494751878e8441d463f8a514e6cb9ac859231536989e19fb1261fd864617fe31440df1b5855a0ec625521fc6fcef91 SHA512 1eb76aff9a84057f2ccb7082e9c57b015c2d71a28173089b02e7aacd09a7d311bedf0a943529611ada29f8d7b536d7ae4de256d98eee8450003a3a9a652bda4b DIST base64-0.21.7.crate 82576 BLAKE2B 25cc8761c14220981ff4ed332058f6179948080cbfa2b225ec1d1602e4af14cd470c969e8b7049117e6fc51a5a24e06b1d27bab844486ecb76409d12e0581d5d SHA512 c6986d88dd9aa081d914f35b4174be4ba874848657ac4b5e63b9b45af765d973289c548ccb5a01584edfc0d8d79ff5be25b51365295d6e7a311bd7f0ae3c0cb9 DIST base64-0.22.1.crate 81597 BLAKE2B 6f216a560bd36e6e6b74e908344b457594cc768d9763070e269b56a14b150cbfc4b7f599d4c2a0a5f783638170ee132f0796fefb14fcac7fd73c58db0791007a SHA512 91cf2e4e7fc8815f9b8a86a7fa722a20eee3dc1dd57111b29e420de87ce7836bcdb1db01d3cafb9a977710ef63e7cc41b7772762323e68e0e832156858aace20 -DIST basic-toml-0.1.4.crate 50206 BLAKE2B c9d3489862c6e3140c8aacf9bce95167ab8f52a514019db9b3a8d92052403b4d6d7293881345addc23ad0ded715f6e2fa9b691f6ca241e3e3b0b850bba43a19b SHA512 03f0aa90b948edd943d924a33b83370703139de0c4d08e8eb4af8429f0a5b7df35c5b7027b7d5bca0ca332151fc5b7567e29ac8357efea8cd855e0e6fb094fee DIST basic-toml-0.1.9.crate 50234 BLAKE2B 152f592ee16fe1542e93aac6263dfef01357572d424127978e6d74c8f963dd40292a9dec9d25ea7cb17e375b536590c21f6e4b100e71a957f20d7c0c8f6cb3c8 SHA512 b4221510ebbfcb1e839556c5ab7d1b98303e9f3866bae5d0f2d4ada25aec7d07b659eff1c43ed91621033642bbe8c5bd139975e086d1b2e9998d59f58a688097 DIST bincode-1.3.3.crate 28958 BLAKE2B ea01d2efd8149ecba5e240ed989268b683d542a5f369902d316a4fd1ae4b8edd94e2d4a8cbff0e96646eb29facb04a84b249d74f0781dc3d29c8797ac975aa9f SHA512 49e39d71214dbb623a18e3852f6f2f2a5c3f951b64107d66c8adaa95a442a3283fba978bca41b126c9879b12833b945f478d2c77d35482b3577fc1a894e8e5f3 DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62 -DIST bitflags-2.4.0.crate 36954 BLAKE2B 1d6cfeb0a17dc53a6249a83c8c7ad7c102985ffcfd7f7f76506889684235e78fe489d23b5a5f9018f0bd526a38d6b1449784c62322fb01f4bb507c0af8bd545c SHA512 0c3d6667abea48811a792749702136ee3db97518b33bc4c7d35737505bf56315e0e5810deeea28b7a1b540ec0e21bd319ba0b3c5c4aef0ba8ed5499ffdfd9b0c -DIST bitflags-2.4.2.crate 42602 BLAKE2B 768d4ca52aca73d8acf2f494a66957ed2603eefd5a04332ed0880d230c2cc6ef3bfdc0792fa6f288a0eb132913dbb256793e580bc34f4a40e8200e1fbafe97a9 SHA512 ef4c20e6e78a2ecee97e17189b7100a504d8176c7c15d7f17d62157a116d66f83f8b2bba472a4acf02cd3edbd94b20a7047af918c3f3b371e2e04f7474be0214 DIST bitflags-2.5.0.crate 43821 BLAKE2B 2d2a78b0a19dcb39580e6f73ed6c468b0626043010b34661084944c83561fe49db24bee1ab57fd692d57617be6506d529e095aea27b753a77e26d0b1ebf7ed78 SHA512 75d7a89e53e5e7582591932bc430e6a1db7ed0f914ded6dbcf957125be52975598df7fee14ef816f66544432ef0505f0a081f3794d17138ec429e283fe14fcf9 DIST block-buffer-0.10.4.crate 10538 BLAKE2B d819c4f9c4be85868e8b105fb7e479d2e58d3ed85c3339bd677a3e111f85cb1ff624a54d7802ab79a6e1d9221115f66388568340480fe83eae1cb448f19f5b11 SHA512 b7d436d8e627e16e6ddc300ee8f706a6cef28ff6f09eff848eedee46f84bdcd03601303c92ab8996042e55922866a59259948177c0a4496eed723523e77f6fdb DIST bstr-1.10.0.crate 380426 BLAKE2B 19330a5a293430c09908d2174ff814351b16419f60de6463abf9b8a9dff06a4e6845e889d8047a710cef54842f2790d9cd5080b92cdcb113d89742b869979c74 SHA512 823abdbda9b13802facc7d6b1ed9ad809ed3b0b827d26e418348ffb8481b5f5735f129c5a9a8c7b2ab010d7f32ca57cba69a1ee10a64225c54c6ceacd22c05d2 -DIST bstr-1.9.0.crate 380170 BLAKE2B 06ae5065a5d566b6333e911a5b97e3999ad2f0bc19b27023187004c81cd01e5315dcac920ff87a6bb87ccfbb949364f1361dc04d342e24f9f54490b5d44a81d1 SHA512 dc313a16c38ad881128977a20bb390e7c95a96d9530596433a7c4fd7f77d5fffd079d436006dd8d2bfc4aacdd7f0aff229504444250418f6aa3f8d6d4df9abba -DIST bstr-1.9.1.crate 380305 BLAKE2B 52b45bd48874d052636c6b451cc36d8b012808ea5193e0188e5edd09f81d21b8306926cfebb405ad0650ec9aa710f609bacaa773bf854b21f4803dc38bb2eca7 SHA512 67e9f76719310de60f46adf3c39768b4dc078d4c32dc6bdcec1a94cd9f630c5238e427ed84cd6ec25a44f54e84adeb795a0e92060a5372d9fb9ad9f0914e3172 DIST byteorder-1.5.0.crate 23288 BLAKE2B 7f85a7948406844070a2c8202e0bd52f73b3dfc7c666a97046128044eb9352195afb80e2bf894c0742ad109e4473339de1365d09591de70dfec6c8c02a8e1453 SHA512 96caf981177f6ded9f27f025922cb94eb0cd9de5303bd91680099912d922092e77b7361efa70011e84f1595e443193e4f1b354443b9980c123f6ae573b236f7f -DIST bytes-1.4.0.crate 58080 BLAKE2B 99a9d343424e04649bd209bf2a6c3a089a6cc9fdb799968f8c3a711189328e4499df2e09cc6a2a8ce05d2cc668149b364cf30cb3b09e96e21d50a39519c2f49f SHA512 502c63b9fdcd36ed28ede55a63cd359dc7b28658ecd43020511d17d48d7c34e45aa8ff7e4b17770f12197451040c2b724fe68d2aa3ab4f81c9171d052f2aa000 -DIST bytes-1.5.0.crate 58909 BLAKE2B 2931f19e813eff73be407677622fa29e45f9b49434d5b3a04104b56563fc0e941fd8c5f996258a1aa660000ef014668d70b683b751af8e48d28d0aea76890c92 SHA512 6654cf41d8f0d7e19b05fd95044b9a3bfccd81f469c797c6aa763a4dd29e1b34064bed2e094548d147045cca7bc4706059de5bcf9f6579189e6068fbbf1c29a3 DIST bytes-1.6.0.crate 60605 BLAKE2B 3e4cd094443969c6062b51917ad9df314b61ec9ddcb0336cf2621d8966c568d5b1fdbf16b11b5e2fab01b43ea76f6609f753eb5c2380a5e4aa8fb6e807a2ff5d SHA512 6507bc4274204d0a19b6a95c3284c52245c71cbf5f2dfb5cd372193d989e49869ec557c0c4e449e96ed4e3028c90606dfb0dcdc1d72bb234a36bc5f344c0a7a8 DIST bytes-1.7.1.crate 63623 BLAKE2B c399f7f25b85ac284bd2f139d895838eeba7deb56d109c8579966be4b8a7a56bbc26f9387bd0bef9fe5449d5e2ae8d11b254a7ef93048a4827d945ddddb5ce09 SHA512 04cb5bb1718ee378be1d9d56aef2d117ed561935ddadd78139ef2839f998e92c88369c79560bce9d23246a3ebda1dc888af373f9ad4827a0b9a249379bc71e81 DIST bytesize-1.3.0.crate 10164 BLAKE2B 049f292705082dbd3b2f0abb6f153023613107949f4849154aadce2181f4568ea1b3c12f00b6ad56146f8a4f3b07b7025498e0c989ac6561ac7255720b85ffab SHA512 c718af51b0da2979b70142012544fde6bbf8639cd4fde66a8066b138f7f58dce019209e27566027dc0ec5a7fc1d2ee17b9b6366cc7a5f95a6419e29a0ffedab5 DIST bzip2-0.4.4.crate 34197 BLAKE2B b69f8ad38b44eb4912b33d53467492b0ebe6ed740451bdfe9133e71c47a8dbd85b1110a9607c4cc627fbabc44cd86fe0396bb545864632ffb6169f9cfa547b6c SHA512 9cd2b9159bd0b42ac908ecad41f0a737272af94ae0d6dcfe182d2f44bcea4632d32b0456f02322047ea9d6f46377db6cd083f468782bccd6126bcc75cb852555 DIST bzip2-sys-0.1.11+1.0.8.crate 633444 BLAKE2B 01578c512443134fc786669bea4f2ec4b9c457b9936c907315299d8b67ed78045d458c83ccc119f0fad511529fb5af5feff5fa2d983fdae832d2fcc1b343e102 SHA512 d0a86b9f03acb1e4e309d5739dc2e88cab582757d467a433afe0017017f0e5d2c0282529e3a117160958ed170d8d695ecae739805888305df0e35e4dc440582b -DIST cab-0.4.1.crate 25985 BLAKE2B 5b30e5e810645641dad0690449f597551b99715cd054c04eaec5d702fe7de8f9719a217bc1edf335075df77c108af1e562c117d9276d9ab10350f5e2fbc42e2e SHA512 030c897f544c8beb22dbcb43afa1899e092b28862dbf08ac55ed2b1c7ad02b7b646b3b36424243a38d83299a7bdd05886158fe7c8e7b17e756921eda98b8ed21 DIST cab-0.5.0.crate 28101 BLAKE2B 00afdca33aa5528ac121055e31f0530eaae56db7907b93e3d039eda44dd193ffe4d19aaab2f14bf838d868ac6c13bd77925305ac4d1f57c7e171cc21d4d0c91a SHA512 9f764809a746b3ecb17bfcea8295599bb06f167253d195f9bd9c9756c9f5ddbc82313c8eee73472e386c6c6b25128011a0687240bfe97405f957464cda2e1d13 -DIST camino-1.1.6.crate 30519 BLAKE2B 3696bee362c9a6c7331079f86823aede0df06c1c36fdc2d11c0628267ca7635fd78430cc927cf3b2af34591537d3968b3c5f1cf9d500f3e889c202c944fc6138 SHA512 e777cc6e2a01c95931a81521eb278156d1c50ffd0126f914b21e35dbb7644b835f3c26bbe7a487bbca508d26b4c933bbbb9e051fa42825b154c2fa03c04375b0 DIST camino-1.1.7.crate 36204 BLAKE2B ea87922e77401a23f25d66af303f39c568f37377e4f0cd6d206cb7b175a51528680bf67897e3b9830d276acb1b156b7c66e149b75370be202cb99fbbcea54233 SHA512 b82c809bd52549d16e286d514b5dbb1d640633b7ff05412ce3539e543de9c69d99bc3f62597b94fc0cedd7c8034ebf73663a6f647e46409b778baa4877928c45 DIST camino-1.1.9.crate 37552 BLAKE2B 28b21517730db408598f83e269ee8aa4dc5388c4b491779ebb6e76c478d407f929bda6906d88d429828d7f01be1762c72ecbb6d8c7aa4a1d1906109a17b45df1 SHA512 27a6a3cf72c46f15a6017aea44a048f2a8eb577aa9d2a088141b1cb7479106152ef0bc00a6cea9332c4df4d0c54aa6bd3dc21159f15640e347407c15a1bbf7ea -DIST cargo-config2-0.1.24.crate 63106 BLAKE2B 2a0eda6f4dc2272aa04142b9018379560e755562672c4d6fe22e483f87151aef3e34243ad084facbd6c83e7f14b02413bf0a608e3439eb8742d272ef9b966535 SHA512 ba894b809579e214f3cb4a63f963a88e774f89d83c29af13e0868b09fbca081a9a6ebb0e6d4693e816310e2703ea0e95a453450ed38dab22ed6c19a75e7915ae DIST cargo-config2-0.1.26.crate 63535 BLAKE2B 9cfe8842ecb8085240adb5a428ffc3a7260d4227c11edab3bc280dd8a9ba7f08f5ad3600224fe7d1b7d6fa4b2a19125656c06546bc5a3398b4e5722ae96bd9ad SHA512 4e30355eb26e796098803df43f199f2ebfbe510f467e32cf39b3784c9b03156551d183eb46c5f05cceb41f9761979aac11746be6b2473a53e49cd066794771d1 DIST cargo-options-0.7.4.crate 18149 BLAKE2B 0ab8537b5c6d05f80e78209f9656dbc8cbaef0d2ad14de561886d573ce7ac6d1357d082177d6ea83809ffe5b85795ae8f1ce1529d063ef916b30598c16b71499 SHA512 241799e4d60bdcbbdf45fd203851165b84fc571179bc209b877153b83f83d9913203276ffbd5de378abacacfa4d1b41f84e3cec9cd78520e24b36c5e5e673580 -DIST cargo-platform-0.1.3.crate 11230 BLAKE2B a67d0f77015b85c7cc8e9cadd5eca3c1ac57fc5c54345f80c9892c4ca7a4bc295f8e23330fc9a51b4954ab4fff7cf2a6ed509b506bf801baad6882f19f173404 SHA512 09897871995f40ae792cfbc58a46b602ea9e28458cc066bbf89451edca6755809816ea7b927cc7f35aa95a8da35e1765d38471bd9317946f8c3c81cea82d6d10 -DIST cargo-platform-0.1.6.crate 11668 BLAKE2B 6cfb4a3c6f1005481b80cd41882c5e5d42912d9abc2f9aeb90464d2c5e904359ff1981852126b49bf7877bd72ad6d295cf35a0b3131d3b84df5c088f346812d2 SHA512 c1e6d8ca372ecf8b23d0580bf45bebac22c0f7460c973e65911bea023deb9f47e65e3969b4940f308a3e0cc9b7e8c37a9e5ba70196f0fd2e530fb1fc283a4d68 DIST cargo-platform-0.1.8.crate 11813 BLAKE2B b074b49e08b2b93e93e08276f2a79546fe1f9ba0a52b3b4ef0ecdd28fa3fe5e842c0291fed158a1a12b90804e0172d5419b7603fd0d5f87f062f44dcaf3428f6 SHA512 187acf1b8cc81078ede3353997bec9010df32aba82f56f9479d4c8eaa13436590a16f3ab6ea11ed2b31d1d1d2299d824d9ad10f04bf5281c92372cc8334b0dd2 -DIST cargo-xwin-0.16.4.crate 28603 BLAKE2B 4f2103f464e420d46f99a43fb176df548e904d7256a5d5214c75a9ad835375b6ef71847d94f77d5053edce16bb1204f15763f78e3762c981b9286b3a4c539b06 SHA512 eeab0052918fe03086ca012fb3db277aae967b34ae8aa481eddaaec783c8b3f8fc4d34b199e2e534e1f5e55c7f30be143d931dfc76f531ff81e1af7def2acec7 DIST cargo-xwin-0.16.5.crate 28602 BLAKE2B 2077c64cd3ec649f9b74a024e6ea6818a212f12ab85301de462d556c0f06d959e7af3efb4a2d1ae2cca8ead95954c52b89b41dc1f63e8fded6a9a6f7bc1676f5 SHA512 bc1288ada6deb3bca456f5c382d4249c42ded462b9bb9f63f088553acfd3dd38f757ced4fbf1d77887ad3867ca10793a3ef8a97e17652869147fc37608ab1365 -DIST cargo-zigbuild-0.18.4.crate 38251 BLAKE2B b2e3ea75fd17c39320c31137ce0900088da4528ac5afddf5c656526615a59e586305a4aaa602773b2ff9c7bce481cd0c54c14074c8a1e6566c3d1221038fc41e SHA512 8bb30587e06e144177068dfd74fbd5c0a9b741fe60522841205e3ccdc89e4b050dca75bf12d2e1a1999fd36db9a12e53478acc0c60bc757319d507313d17acf0 DIST cargo-zigbuild-0.19.3.crate 41006 BLAKE2B 655e209d108efb665df0aaa45806e28d10a9fd7a0b64c864c0c610b82eb5e62b6007593da04215cd4299279ed77ed5e227b323fa485369934733797183c892fa SHA512 0d26df1706ab21f520a29725719b3815e82bc92e99dcb967f2bc8e8a3d9da854469beb3e943ca9e23f72638093f21d488af150498755ad5ad1938c585960f741 DIST cargo_metadata-0.15.4.crate 19993 BLAKE2B 33bb182a4fbf453be323cd657e0927d7ae8f4cada172c482d96ba959155aa0bd5fc392d4e0a6d4a869456be5de8756c92a4ee0642d60db992aca6d8adadb8f0a SHA512 dae54e7d21642a12fe967d832769f2310a18903a0a46694dd441974f037d8a53e148bae2668a177478b91629c5da736ce56aca3e140d442267ff0bc65bb984a0 DIST cargo_metadata-0.18.1.crate 24535 BLAKE2B 9d0018e28a3941e269dbd30291054a882a960905a43d4818c874250356a6c203bf08ed77a8041f08607390b2a382864701c519d71a0b88818ee59c6322c74e86 SHA512 43f87d2b84597ec9a27e9fccf06ec5f2630a0147a9c85779622c25493bd61268c266643f8206a17d76a16329af85f0cc563a9af7e17ca77024c0eaf788555f7d DIST cbindgen-0.26.0.crate 206157 BLAKE2B 4c435ccf9d5ab3cc036691cc51c55334e27a0348002b6303b11974c0aa4908b9f902577ca6e50bf241ca75816775e7bb33901f1f81e3d5293ddd2128b458204b SHA512 2de81f46c9c68c985241a349f13125876667d1460d3658ead8c4ee9788cd139c30dbc08bebddc172cf0bd4644f3f17c02cf66f2a3ef706c52366fdaf0f9d8059 DIST cc-1.0.73.crate 57880 BLAKE2B be8d7a25a54afdd759844e76aec61526fc2bd5ca09480e6cdd3bdcf27e5f9d3a88dc16cbcbf54cd021470a7cc521e1ad468116c112bbd30752bac0d5486939ac SHA512 980f012b90c6410144f6de4995048337e09214f19603076db6d4edb88e9ef9ac9e8c6e25569f66c2be3a47e99298f5886dafc102e1a9122316179aa26bc1c985 DIST cc-1.0.81.crate 66857 BLAKE2B 1f20aa7fe1e41b7d043242ed2e6b840ef7e764fcd844d82441d20dede2bac7386c8089e7dffee5bc22a49bfab2cf9f2c82757bb5068fdfc82610eae7cb2b188e SHA512 00878fcc5e344571cd8756fcd7e0a8e11325cf504eed09ea2ac890368c4d69978fc0de9ef99757cbacdadbf50faadc486d20640b529ac9a4963b3afd71caca6a -DIST cc-1.0.82.crate 67879 BLAKE2B 3b06cbe1516d4fe8291e1543b09d32d39a135c2352e545b64bc69fc82a40128a9b1291f20bd4cac6a3c37d9466093f8b63cae20663ad517bd7dbc380bfa87ee7 SHA512 27810ea12401635b0122e5b3a71367a52ca7040f196cb30f709e0b8ec0e717aeb8a89ef4e891b1c7c88f7cc8a1c35e55db132b728b0c499e0b683d5b803a671f DIST cc-1.0.83.crate 68343 BLAKE2B 33245b33fa845ea2f36da36e3830ec835f937e4319865b357ee9d5ea29a0f9f8392eadb38bf1d95e3c15ed201e561acaa87aedcef744f8db3dabff87a96c7f02 SHA512 742a248c3a7547bb220a0b9c97b67a831fab9b4ac21daa08c85a3966b9fe576088def33e16132fcabec9a2828a6fc437088bb045bfc98b2cea829df6742565a7 -DIST cc-1.0.88.crate 75288 BLAKE2B 81c512bff79ddc40af633620ea440a73d3f7370c96878b3a84606ac0523f13a9ea756765afedaf2148344ffca3ce928fbb0678977273c918c21b4e3985507938 SHA512 67ca5820d36d1be38e56f54a0292d550c9c129d680611a60fbbfa458b8cb748e5f27c7ed1eb767ac3df41cd4e875160525b81ab624726183b1d298ffdcb87846 DIST cc-1.1.21.crate 83463 BLAKE2B da552ae375ae1dd39e0ba40ad17c21c7edb52326e8d4d6c208aa3ba4ba4f65b87d36126f66343cd8cc85cd5123acbf2f66ebd29444d45d32122eaaf98918e707 SHA512 bf7b3a7bcaa1a46416a614918936bc047b9ab669145c954d92e81da6bbc5c2884ab64a95b290628922c8e1ac7ce0adc914894c8bcbd32a1516576ad6c749e0a1 -DIST cc-1.1.6.crate 81585 BLAKE2B 412ef9d62c32a42164f8c2b827c10f0d41e75faa77e6d1dd8515ff5ec43abd1da75bbb400460a43a252c93dd0a597c2e44c8e899a376d963f0d3727db7ca2c24 SHA512 ea8bd8150042268092360e6396226ee5e83ba154eae99d299c897ed16e8543fcfe3179e22b50b0497bcf065a16933f4ebf7edcae7e6fc8be3788f0ae7f61c000 DIST cfb-0.9.0.crate 67837 BLAKE2B bab7c813d6636c6e8f371ea8a76ee23361b4f53235cdef2378ebfb9b3df30ddbc6d229a4a904d0711df5dca78711926407a0e2696a4e0d6151b5dcdf8f3067dd SHA512 6bff6dc27f459c7ae15fb537ea0218e17abe2477fa9aafad6b3d0b17773272db61df48ea9cb5055b35459373684b20a0bed031a4a53df42f262c08aa05307d4b DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff -DIST charset-0.1.3.crate 14330 BLAKE2B 928771e37cc4f86f49cf09b671cc016cb662275799f34159dff9c22ca61a71d722f199ed36b2fadebde30b5763cc01d87bd6f27e70ff8ad357df10d6ddb652a8 SHA512 61166acd4fba3330c4c71e101e1993717baa448d91dd9773f7d58ac504fa4025322560ce82bd7de1b5935443f96ba84691658e5c982192196b325f52dc48f4b1 DIST charset-0.1.5.crate 15918 BLAKE2B f79d3bb1c8e78598b6084761913dcc5e32b7c0825218845a5619a71987d005fe0c976f7f35064c4795205ac2339b92a58a3bc79b7554558ab7bd7c55ba81e2b6 SHA512 707e1b190cd98917d5f8a1b90c4375980a15afa3da6d7658ba76dff9c63e6a43666224555ba67da9b260619f70f2501ace4aec4490d5f12b1fdd912d033ff91c DIST chumsky-0.9.3.crate 75112 BLAKE2B e74663dcf524513bf54494c62ad154fc3c3560910c429b91644f35327569df835c13645b148ec1b1339f78e9fe6ab3d5b83f10d53235a8e137756a548a9e6abc SHA512 f304bafa831c47fff4ede3b2e67628d7cf33d267559ff0f3eebba9355439f8bfbf08ed576aaaa1d51462114113ec1dc5d3593fa5a1510f6e2032da88d021423a -DIST clap-4.3.21.crate 55024 BLAKE2B 441333d4f256f34423b7fd991c1cf3cb336d4c124d15ec45f0b45959d12abaed1c397dd12dba99e88b7d8a26d90a25539cfaf484dfc9af6f8d1452d330ac3d09 SHA512 ecc4229f5f8f9890e023236de5ed1ccefd9d51a1d832dad59f03dc312d025d0e5d90fb4ccd1540a4f4077b6cfdd75f320e5688445105cf8ce4bfe20ea2d07fd9 -DIST clap-4.4.18.crate 55269 BLAKE2B cb5d4b093bb7958d013b28ee25f9cbf0479ada392b81265834d75a5fa2e6a4a687f8d4a71520d5bdce05785a874ffaa09beb5707766d59e70928dab00bc122ad SHA512 1f151864b92dcfcc69a66c2a8aa8310ce28171895698d82e2e69e19a6b51ed8780e5eaa77410df9aae2d17c9b45117b913a4c23ef879106c1b7a96182656ebb9 DIST clap-4.5.16.crate 56627 BLAKE2B 83a6a9ad12b826affa68df179dc1cb534f58b6ae505f4794ca6dfaa8f8a9e33d93b9babd7931bf48bc13da31cb3078b442c4a2a2e84a8f2e675b5d620100c50d SHA512 d13bfda2c3f77cf194acd87763d5f2fea83ec2135504b173af2941547a7d3dcf75c3757532c60b53c57600bf4859395ddc94a7dd92b17f44c60d3e781741f928 DIST clap-4.5.7.crate 56343 BLAKE2B e2392ddd11213c8410344c474d84bf40d2d5a0663d25ce8126940ce59085a84334223e92ebd59fc387b4d1334b8f8cd7b76eb15f916adc5ef59b9858929c5787 SHA512 f126132811696d5fcac0242264121a08c1f7c59b4830d73b6b95b8c5b31a2c11928b0d7026151a5d1a0108aa912d7c6157652193ea1ef5a980669bdf388d5bfb -DIST clap_builder-4.3.21.crate 161410 BLAKE2B 4442407e167c73064ce929f41b7fe187227b2cecce564211d9fc315d4ac23b27584dd18c11e4c00164f749d3e89c4ede33c599caf9b895bea30c65a7f0ddb9b0 SHA512 0cea697633d5911bd5e592d9b10871764fff19250f4eaa23f634594ff2223bd78d59e6fdb9cc7ec2b81815d1d4b5a2ef6a18855e7010de3c1e47790a12d32874 -DIST clap_builder-4.4.18.crate 163538 BLAKE2B 9991c1a8aba5feda466fc878f9415ad9b5922ea1835c17e1dd6c640234ee85e623bc556ba0e4edd84100a0879ae462028c74304465310d69f9d58e333c2ba8a3 SHA512 ff04ce8e700d8df4a0ae94e8341c3bcc1ebd415312e3b21d56e6beadf604aa5576641861506fa1c901a615a013e4f30bf8e6467889d637b34fa37ef22e2a15c2 DIST clap_builder-4.5.15.crate 163717 BLAKE2B 795fa9c6de6a3f4d9a1288c3340613c14b11a5346e314f5f486bee76346f5f88396e54d95d051bd84184a91bb1f2d3575f870fca56a4b9b590ea2d9939beb415 SHA512 52efd99bce20bb8ff2187c4cef8bc27bef6cdc52598f00b47639b797683f18c76a79a6ebf34d1d250621a49cab0e9ec9e7824d323516f1ed3fa721cfd34cd713 DIST clap_builder-4.5.7.crate 163957 BLAKE2B a1d6e728f05b7f7eab8fd9fc8dd0e25f8a066e0ba72ccd6084e747f5833ef90e98b63f4bb0b3af54b74c193df3ceb4eac63a45c9f3222570ef7ec85562346a01 SHA512 df0ef9adabb61538619d94ead0768fb8291cdef48c0cf47b323aa366fa2564d89ddf65cd0ef0b7162ef5e590be26a357cc775ae5278abf8048c05a5fbf58b5cc -DIST clap_complete-4.4.9.crate 37659 BLAKE2B 99de16ea4fab3996ed9e7d0855b0184ceb3c5740b690120b48490c1fe78115dcad3d8b52b3ffa31afb2b0e9f8e4c0beb8e331e4cbd5b1f688c1dcd4b49f06ab3 SHA512 79ca2717a7c4752959ca48c60e8e0751de67be1e40717cb336028d5edbeff0650cb3bbab8463dc6f227feeaac3f18acc249f08f26d1855055bae07758b3733d6 DIST clap_complete-4.5.5.crate 38809 BLAKE2B 943ff061b229d3120368579dec89a3ffc0af592ec7d7d4cbc2260fa5c2435e1e1fb0e50c2f305f50b5899f93bf1d0ecb619602ac36b2790d364c656dc46b2f14 SHA512 b127163fa81c3934436481805179ae198b932ec3fd6bf0453b75c0d3672a7c3aa5d022411e88c7284de843c944da633aa566078714a495233eea9b992de4a609 -DIST clap_complete_command-0.5.1.crate 8273 BLAKE2B 84302d7ffc34d9e947dd141421462b2035f324a77a8c68fa342a49242b0f97e43afc54be90d7cbb2efb311ea7848313af3d98c572402e7b25f83c22ff1fce8c4 SHA512 0cbd75f41349c709440ceee1075cd209f927b928c665b31907caecae91ab0b1e00c0a73f8185df754663e4d079467c6312abdc175bb6f8bd58c6d783b371754c DIST clap_complete_command-0.6.1.crate 7959 BLAKE2B 61bb266fdebb625ce3327164ab39d65943406fe9c101f10fa3a1f18d4728e0eeca07dcd8eb4e8f6eb63587cd1af86fb05beedf1c5b2bbaf22356f213ea738c7c SHA512 b364cac56e9604c7c06a84f5d687b62398f92e3c0407123b183d5c3846948a4a0975469326312ad57e2ce936574462f3dde61385062827e48efc3ff813185ef6 -DIST clap_complete_nushell-0.1.11.crate 32198 BLAKE2B 6a704251bfc10fa7fd113f7e82bdeb9655f2e23d851fc3d654332ee196214b179fa83ed6c57b436df247f6eb1d2feb28017090b9087b7b8d92283978e7ce9957 SHA512 04098511e19cb629df43509f2596904ec2a8690fa6bcf160825030c42dad73f77ed184e5a4dce10c8308b9718541540f10277b0ef0fee6b039ac1e7b482d3cf2 DIST clap_complete_nushell-4.5.2.crate 34391 BLAKE2B ce7a44c4a9e3d577e014c71d6f8f6b16e192ae169f499973316f6f3c7febae59c957ba6acc153802bde423fd58301b5b5ef5b606e275bf8f608ad40fb192338b SHA512 1da7b7f01e948f4c055bb912426d950418f353837dda9e6bb8e249bda4169b29de2291173c9d0193f0c746ec1387ad8a893721f32125f14565948f2e90fddf53 -DIST clap_derive-4.3.12.crate 29052 BLAKE2B 501fb22eddca5b21456bd9911ad1f90ee5d5c918eedd08e2615d22ce58bb0fa5dd626b51a734f20b78411b9a4492ae63629131e0c2e1bd0f3eee21e5da3fb37f SHA512 a58e948fddf45321f0fcfe9d9afbeff42849da472fc4e4b15c31f46ffe55a0dba34d2c1d14e342530c1e4080c43de790595e4f3dca06cbb6a8a60f9e3cab3abc -DIST clap_derive-4.4.7.crate 29046 BLAKE2B 96ca919b8f9901b2e89c58ee8cf8bd3881ff715ac27999c03c867b317321e4839d9e923f68d411a05b45c34d54557af12b8a173f2445732fb6de16f30dad8e2b SHA512 4be40460468f7ce22906cdc9eea8d01bb07cb206d4ce0c3df2abd929d6925b175a49cf63907925ca16ae6297d6f4d933087fa5b35958e551117ec7ae050be167 DIST clap_derive-4.5.13.crate 30132 BLAKE2B d5fcd2c5a213817165c61ba2071fc6424ce822e4881686556b8379fc71188f60d8c6712f6f4a8e5c8b125b58d7454aa9846214caf324fbc93300abba240bea17 SHA512 2dae32bffd91de9311d94e2be0d990074cb2e2edc832f422cd5e7c5177f5daafc0c335e74f865024c77cae5fff631ddaba58028fcfc24b203467478fd473bbf5 DIST clap_derive-4.5.5.crate 30017 BLAKE2B 8525d8adba25ec0165936f72f78dec3cdffedc9de8e537b078944b1830640222013e335e86a2337ae9ea3b07dd655275705eeeb8c2155224dc0950ed00e47f7f SHA512 90c2110445c832d81cf66287ebe32155c6bd72a0a75cdbceef4e411d4b9d83268af244adab6755379b6970b5d40b39a9f89df9ef8786429fe73d95a3eee1c134 -DIST clap_lex-0.5.0.crate 11792 BLAKE2B 0409c9d957ea6a566eb8b50f4212702df038d04c4c38f7440d91cb4c58ec887940f0cf500c4c3949c2191399aac3f5cb1ce44868eac587cde90211d3e467b9a2 SHA512 0149ed7c2438a19b4857f895767550d783711078f07bfa9ac8ca531e06f51c7388110f4d558e30bf503536367cc370cb581e8deb6fe51f9b5460a334963daacd -DIST clap_lex-0.6.0.crate 12272 BLAKE2B 22aa04997fffa15a2efc7013ae27fd223c3247cd31f8fe96aafb4e87e3224f075e887df10a95a2da80b468d4e16088ae9f171ba6551c0ae06d77bf3b8920ff9d SHA512 3651aa5e27ed35b6b75b1d25fd9c20c26a2a6039116e54d84c51469087732a4f0fd71754326456b367e341b017d03749e9a6774cb7b62250ca8745f5af46574e DIST clap_lex-0.7.1.crate 12766 BLAKE2B e0e3a1a4a65bf9df3c21753f9298a7461046e6b34c7a8d26521efc551ef3511a7d202f25ebdddf285ff68c4073364f48cf739ff0bda32f41d4fd0c87c4cf02fb SHA512 4cdede5eb9fa527567e9f3f94fd8fe7e1022d9e9236e78d30b3068befbaadedd778b5464f800e74bf187c44af9df582365f4d41a0113f8ab0fe9abc936171fc2 DIST clap_lex-0.7.2.crate 12805 BLAKE2B 952bf3f3885ae7bedd0e8add236590da5fce72a7ccd88ebda063410aef337ce7ccdb5e5e929cb870bc993891610edc0197150a3aa82a62fadc4bbfd96324fcdf SHA512 a8726397e5372fca3389748efdfdbd016b6baedad5b4bd95f33e4e820d4f40e0b94c88b1918ded3678aecf23911028e2261837e73d58ba7fd6f091eb47267380 DIST cli-table-0.4.7.crate 13195 BLAKE2B 498e7434639a4bf21f4b793def59e2f045f8353eb2e12ccbf8778a0a92196ed589ddd94e696a000fa7a2bd50470624f2972eb613cba538956e50c6ecaebc1b53 SHA512 2696d3204107f2bf104312fa1e13a92638fe9ea1894263cf707cfe3891ec083499b1b0594d8571169ca242abd6a41396a88ca41dae8a3ce7f04365292158a87b -DIST colorchoice-1.0.0.crate 6857 BLAKE2B a0818be1299717461ffc1bcfb6fc53a0b3b645aa8c45fb72e045cf2d876fa207948610e58d6a837aad24838ea9616e80b0558ca3eae03fdf9bc4c03a8e5ba52f SHA512 53363f2889cd8e8a3b3ed10c48356896c0daa72f3c12c9c7804707ab0dbc07c0e34ef52fa4f0fb1647311ce5913168c1bf62c2407ff86a33f765a9e6fccad551 DIST colorchoice-1.0.1.crate 7895 BLAKE2B f1c841e74f01f33fa83cf41c5f0a1286ca3899239d9a188a838550abde507af374a4fe3e85934d10d28bd5eae2c7fa1f662307bd46d5dd4daa52249cb64ebb5b SHA512 3d216ba46cfcca5c52a56884ed09fe7d6d350ccb44144a60c75006582f7f9a28df21d44375a8cb304c721b9de615875675b3a03c485eb209b2a12d745fa609cd DIST colorchoice-1.0.2.crate 7924 BLAKE2B a4027d5f870b4d9a718ac3f9d89ce04e2ed38406658c4a55ffaf39ed0cb1ce7e1c691eb56c66596b519ca82309e8ec7eebac65e69394cdd277f44f9b6280d560 SHA512 f34d5f66f84e90f473b6b9a62a61a59575e712d3e9b140324683f80af42d40c1d079701aa2ed651d0dd95a5ac8838e1f6f6c034e2adef79509d32357b8093117 -DIST configparser-3.0.4.crate 24680 BLAKE2B b9f6552fb57cf175cc0bd61138e724721ef53609ff86033273af772c48270979a76e60c97d67c40ce0e1d326c5e6dfee9113379bd3f3b6d37b1e290be97950db SHA512 aef273f5ce927a137294b3a6f1c505720ff9029d3c163785287a43a551ffeeebadd4b7212075524a836dafd9d2eb740046b3eb4d33535d20a98cb77372010d4b DIST configparser-3.1.0.crate 25473 BLAKE2B 35bde987961dd7b7071ad17a00041d98641dae6bb57b2d42fcca9484a8237499502552b837b7330dcf3b2fdc7fcc65a3aa3c319e85798a63f02e16adf36e6aea SHA512 89b3b51a60793b8bf71ffc8f5a7c098264d1111db644fe4ae54c797af9c712359aeb001eccbdb41569a63d9052efb2f8d1b069842da0ab63fbac9a3d7e1243e2 DIST console-0.15.8.crate 36364 BLAKE2B 467de2c2fbfe31688cea20b338558ae9671e50ba1fd07983d21f32d7eacb73e565ebdd6ec5e78b2ae04446f09615c70983c0ee534e25ca5a28fd1b408acfdf34 SHA512 b05e49ed145785e29631d481885788f0cc5574d4d7c4d90280dfedaee7f8c1515072c9c4cfe6bd2e017230cd228157222af7e7d41a9fce697cd1888095df4de9 DIST content_inspector-0.2.4.crate 11386 BLAKE2B 2393cf83b2dd338ded7f5acd695e05a4a08fa639a52a8042dd0692be5e959cd1cc670472e25ca696a151d161c821eb899b2a950c74f4cb5b880bc42bc53d1d57 SHA512 1acb8b4f12ce3479f5a60b7b6a0c05b86548591e488e7be529c4a2f9aaa60a76ed07e7ce1e557664d31ddd9964e7f73415ad667cd14ada919f61511bf486ed6f @@ -127,57 +76,38 @@ DIST core-foundation-sys-0.8.6.crate 37629 BLAKE2B 683d5a84b6a3816317f87359532a8 DIST cpufeatures-0.2.12.crate 12837 BLAKE2B 5b518c58c548d9116f94cefc2214fe2faf87c3aaf3fffbb0bf4085f75372cf7fc5144bc3f827101a3a14a51363d06d8075db94ff5ed853ab2ccffaf597728093 SHA512 52742595702fc3371d4126fb355f3d7a6da514a94e43170f1db041cc6c560027f92115eab7846131dba1018ca5c72003ae36f945c1de88d57a0e7f66331623c6 DIST crc-3.2.1.crate 15070 BLAKE2B 9d5f488b57bc232528cfb8d9ef33a88d25d904395dfac8dc10e864dc0d6c89e576585195a20db585fe358859ec50afa998562ad6becf6fd2e505f3969eb36ed8 SHA512 64b7272d8cf55efe9768f9f3218f83302ccb59458a56fe3b7b2de1a53eb5a3b57fbf268647fdba5b230cccdd4058462ba583d76870ba12cb1057ac2787f181db DIST crc-catalog-2.4.0.crate 10155 BLAKE2B a9c3ef81871d72635addf1ded611fa6e963b9b128dda198eaa3a256512c8759608bae95df95524704aeb38f81e2fb6c2da2e29e306a8ed3dea595e63cdf05638 SHA512 25536456fe71c44fd8ec527299339c1d186f6e12f1f90142de60eabce337d836c2497ddd6307473b57a6cc720cfc8e29b059f378c70b8165bc171420ccb40a29 -DIST crc32fast-1.3.2.crate 38661 BLAKE2B ce3762b03d24d5367d89738991c060f4b3af7840e0a7ac7fc17d01ed438caf964bbaefad0fc4d0c438dafa5a578429ddd353c71197f8b54b1ec441395f2f7ee0 SHA512 a683943e252afdb1b9d626a07533ed11cf7a63af603c19640056c5d2b9c884ad9aff33ac54c0853ffca2f6cf94b0730eae6c05abf3e53e55e709d180c8152357 DIST crc32fast-1.4.2.crate 38491 BLAKE2B aaa3acca66e5814a45f12a90ae09f6ff5fc14ca94c8539184dab6ed928abc68cd1d37e539c268c1effd50ab3af20de6038593fb9c6bd6a664785dac52f6939fd SHA512 c7608d33022062e217d3576f536ffbd51479855a5e5874529c71db2bf6a937ce04d814c39cf777309c38445393bf43cb9996161947e28738abd432f11beb7266 -DIST crossbeam-channel-0.5.11.crate 90434 BLAKE2B 8666f039a0e4ac6f0f8be2d08ce3349d8ad4aa7d0f38c638dfa6dc6a7f30a1629e42f87757d9e054e836941dff6a8efa53b5337706bc5958d33dee61f38e7bcd SHA512 1d37bae1c946d402c1fce37f22a82037d68896770757aa91d209387f947d39c514df52e0ce94317141513784511ac626482f16099cc3b62ca28a52f387b69c71 DIST crossbeam-channel-0.5.13.crate 91174 BLAKE2B 7a9aed6f4922c1d10e4ae12508a03dc7daca773adad6a317c4ea38e544d7c28c56a06623d958aec540fcaa86fa9051a1aaa2c859dadff72873f18f2f3a951449 SHA512 0f31223a7099f84e39e6b76b19cf26736e0c3907fffc2ed3eb0012c7984b1993570bf6d155eba5bfb82897ef0e4fc93b89096071410bbac256ca6be9a9568ff8 DIST crossbeam-deque-0.8.5.crate 21726 BLAKE2B d97b35e8e8858deaa7fa9a836e836d02914aad29e5c34ab121f52ed65e95213cb2574df82273277365889ea771f04eb40bb2439347c259979f1dd6d5e9853bcf SHA512 0f0c9745763ab156136227cf1415de514952a3f8282ffe413cc249f9f4b345b029940e6a6c87b3be8331a7c783655a35b89c7a2547360ea5ae10aa64ba7ae864 DIST crossbeam-epoch-0.9.18.crate 46875 BLAKE2B 200c256cad6011a3a14c4664bea6b150fce72d561c4fffc387fa561b08c0480e8756bf51c14874c5fb19f427424547f72d2cd7dd6f56fb8b6666a85f8d52bfd1 SHA512 0a8a199b9d77f4e28e91fe0a0cbff7e0dec58cac283631fd972477fa912d2f6ddfddaed2c695e4978b01cb5440b702822af6333e7c3dfbcb9a2c2086999516b2 -DIST crossbeam-utils-0.8.19.crate 42328 BLAKE2B b2846f569555818fe7a3ef4aa29f68c638f933ee0251713c2c92624bee5f8013def5527027022963f572815991abb98d5e68d0fa00f478b2762133f84ffc84c0 SHA512 6e742fbb0d2a6371db87e81f8ac583259530a288237d0e8347394581c60004703a822318ec945936c410bb44001b115d8d986bb264e5b2d8091bb63a8edd93a9 DIST crossbeam-utils-0.8.20.crate 42487 BLAKE2B b50da06721cfbfff07825574feada8a28d3814edb218434288683eec31bddabe2ffbf7e5ef1281ee14a8a77c56db3b66f3c5ceabaea9c72317c1bd2cecda0c26 SHA512 7175eadf9fa7c526fa11ff87e40ff203f0e7a4bcec15cb972f924f3c7ff7cc20b6e2e8dbbc1ede142a0207cd2baa4f446deb25d825d28a54cbd25c263701bfaa DIST crypto-common-0.1.6.crate 8760 BLAKE2B f2422bfb89c15d47a8f91c8f6695e05eb56990a922e3cdf3d426044736f9932324c0d899a151a6df4d6683e6a6b21659c657d3988734014c02cd854bb4b924e7 SHA512 471dbc43f517089d2cfe0868e29510c6ca579875b3bb5d013c70796db969b609b6c4bb35c9a07b9a2917012dc5708b717d48e317a20038adbe7e7039bf3ada6f -DIST data-encoding-2.5.0.crate 20632 BLAKE2B 16ea08dd12f09f2e6f8ba2910b3db07d4e7c9916e6a70d41420ef1a0e5393284b49787c47af0868bceb7f5d3f1fadf203f5a547dc8cb97713d5225dc9181fdef SHA512 b1de8bcfd7cfbfb988091fdb550eb98dfa5739ff58c4b789663e5db0d539c9acf145ccd72d87f7e1cdefd09d5771772d131d2b2e2589ac8f0bc6972c801ee0ae DIST data-encoding-2.6.0.crate 20769 BLAKE2B 9d5713e63f6f6a4d6e5324fb0be9308a231ccefa20d69cda9e19609a2250e2cd72030ec28309068f71c932327a3ef680b749125658e27d35273354c3465f9931 SHA512 a685c7bbd251a5738b27ac3ac8121a0db049221510c99e0ada6f245ed7499d04ec29d725ad01c688ad283e3d2d5aae0751685c804f6d95cae84e63a160d04c9c DIST deranged-0.3.11.crate 18043 BLAKE2B 738d5a88732e227bb0e0d33c04ab8248a699c7c499100666ffcd78673d1f38ad2d740222ab405e3eaa7a0a6f4596cfef90bd581a1baf77c954dca830c22e74f9 SHA512 48485666d3e50eb7976e91bed36bddbaea80fac4ac664723130069bd7d17893b6d1a2b82a4c3dd61677162e4305ba5ea8aec7bc2793d1b8b92dd1666c204fc43 DIST derivative-2.2.0.crate 48076 BLAKE2B 56d27e27493c3b818ad45703efda607a0a0d9a48b0d43785b6a013443b8b964b67bb5b5284d242358415c5fb81b86b02079ee7c0595ec07bc658240eb114b887 SHA512 3c65ecdabd2dc202be3d83b06f96b6f68504fe542ede7e2285093c6d360a33ec76a3787c436c6e5ff8f59d430436a4b8ce2f908cf7b2b08cd8b0045de4e5d1da -DIST derive_arbitrary-1.3.2.crate 10614 BLAKE2B df96dfb9000a794e3ee6e633ab527621d321db8006221b482e944d58d4293c3f87f6808af4784c53c06b28f3078ec9be6860e3496d6af044ad6d71db35310dae SHA512 5ff36cdb5fdbc1120442571b21405bca9dc3e7a0c0d6f0b4996fc71be0553e1a8cbf2626457c55198ecd9c66d18dda66909823e7c6f1f16151b5d05e1c69d201 DIST dialoguer-0.11.0.crate 31286 BLAKE2B 612c7b9de482b48df6404ce31b3d9a8afbd1c8c42807f2c3bc343bd3aa16c359abc95bc879304f29c6861c93101833bf5da036eb0fe85f21be50fdc3a771f447 SHA512 7124e9943dd4fd4403200357b7d26683e7ea709ad9b0251af5d6db4dc8da2a476c6b89e7413df3a90e4279498bd54b67d8d0b161b0e5ae8ebd0bb5b5276cd612 DIST diff-0.1.13.crate 46216 BLAKE2B 27ceeafb7afd45eabbbe22d1f05667f513a6062762e6b77122e267282a8f2a0bf96384989508bf10c9e13af4856bc9f58f09b10055d6fc2c32681e288ffa9f9e SHA512 45e259c9fe7c23bd9e9454891b42d4aef6d681d35ee039d21fdb05ae9ed5856161a40f29889e7880ac2a2daf85f1b7d752d213b4a99a1a74ed2682c18a3ae7fb DIST digest-0.10.7.crate 19557 BLAKE2B 61e69d78cb8d6850ae26ad7ff2d52dd6dce820d8c621230def11cc0e8aa6d883a6e1b25340fb45748db52a8ccf3c8d36a8aa0c8cdf4d4eeb4e3f870d86abe09a SHA512 0dd8c012468ab9011b89413ea4d3647d95b1f683b020a0e6274c95ed5148638b56fef19cd9044c837ad53715b582b88eed277fe96e917c27c5d7abdbf7c3794c DIST dirs-5.0.1.crate 12255 BLAKE2B eadd38e85211ed5aee7fab964e90342273320644c36262aa7b436e493512851a4751a09d22aa8bae0495f4b22df6e7395d13715ca8b8c6196107b1be03af9328 SHA512 cfc329518e85a25c296521b9aeb6e5d5f60b4525aa786ebfa8b9f198446a1ff5892160d1bb4790d7f3fc4a0abdb5921b2e4896e271a3fc3a3225897313b77bd1 DIST dirs-sys-0.4.1.crate 10719 BLAKE2B 30334f2192698d7d03bd4e8bc8a682482da7d13baacb8547a132f55019d3727ac35579926ba4367fe0a5b7fa917945abc03e010cb7363683753c87440581df42 SHA512 53c7c8bc76d7211d08a0e6b25caaed12eeb7283cb4b352c12311db3c796794330943259a08e48ff9d3a280917920a088e5aede32677a4b2f9f819c2dca6adb9a -DIST displaydoc-0.2.4.crate 23200 BLAKE2B 91b0ae7018109d407095060b6bbd6aed1cc21120bc30348e8b16b5121f7c35ab72b65e80bf97dbea6cb4ee6b4d5215e8e5c4374f92a569697bc9c862348620cd SHA512 a1de2c200584bfac640f8b84b5103d8687919cd29f59a14898e98d480f476a8e4dc06e3b929af479d536cd02186e2a9be72e6414338bc117b97bc0d160029592 -DIST dissimilar-1.0.7.crate 27588 BLAKE2B 499890812558de9d8dc2a43b8b3430106ad8fd5f8593aca6de08556afcffcbc251cfa02c1881f6ea4edb164166335d3c8ef3a5cf2d7e51f4e1c86bd2ec12ab85 SHA512 f3e21500d19e030c629b1ce8f809cebf329514e4f901baa443ca2f93c4dfe7d49342c998216e94560c4fde4415c252dbf213ac7a6f4953a229ab0808d99b152d DIST dissimilar-1.0.9.crate 27652 BLAKE2B 2a5d4be38f836dbfc4015c4173156ae1bf769ab3481a4e8ed2a9c2349588403512191d47af7e4210fff7d5c6da40a513a3034e0fbbdb8cdd4bcbaf329da203b6 SHA512 12d9b849b7ed14a4106123ab0a23c96a9f3fffc77eac3d780d0185eed9a6b259f64013460d22a34b01696f947cdee8f12f6a21a7734ef8fa52e9a84c9b60b36a -DIST dunce-1.0.4.crate 8034 BLAKE2B e1e7ffbcf1e3632036c03303ab46fc37b2b0a991598790b2dc65d7a61341a78bf555230ccded8fbb87d6288282af3ed2a8641212a0f1fab929bf99298e878b6b SHA512 f57d9c53c177bac8e10a4b56ae421c604085aef0f264b8d6871abb7e1ff713b55f396c5c5f24422763319c504c6ea6a774416af1c2ba23ba7b67b2282f6731f8 DIST dunce-1.0.5.crate 8244 BLAKE2B 1499ae0bb3d34e8d42e97eaf551308efc95697366b804dc83c51171a939d45bad46fce9f82a39e17b6b92fc833aecc85eabd2104823c7db30396833388125728 SHA512 36d7d75217d629185a9a9187f7d2e2dc346a28be0ad1c21b1b6bcbe3991e9cd11797e53d745c0b3b5ae94cf1e4cf141cdb2322bab86d97cc258b4145e3b97a56 DIST dyn-clone-1.0.17.crate 11848 BLAKE2B 1f90492639630036e1e877537328e46ee3fa697d85b2f87c45990d4a51cc900a6f604d077b16575015bbf0a970c26f898226e87e6e2af82d624f5fa565036617 SHA512 b51fee8c4fa3c6b0bc677e9997d4b6921bfee9a11e369eedc649d19eb5d95d7872b533b37fb1ca842c75e714b46afb1231369341c45071db94f09b53e37e03f6 -DIST either-1.12.0.crate 18974 BLAKE2B 9db82a8eb351dbc1643ccbe304796610f6090b263d9a991b4d7308a699bdc67d25096ed1e923f521fe3dbfe9195569c1297b46a4b1d0b74bcea4c11bc0a2c388 SHA512 88e1ac4053c39740cf643a8fd445f2d939a8398e952b4b66ab38bb48bd54bc7a976967c4bebab36fed66c4f5fb76082e9c6d40e146914283fca28f31af0e0138 DIST either-1.13.0.crate 19169 BLAKE2B d6223c76421babf163a694aa513fe07adcf4cea329872c02f5af5956e89b2c353a899f5708e5a2924e5a92d871ba748490350ba30c17dcd78dd4379e229f6e11 SHA512 72e803079bae621d282136ab1e423ba71415bf12038b6f386f294cae68a67ad9ff16e4fdf4344eb3fee4418e853f9cac344c248f6befa3006d1c954668b36322 -DIST either-1.9.0.crate 16660 BLAKE2B ad61038bfacb16f678fff5dd9ccf8f345e1bef18bd7aa0aa9c99d44abf8428939362f32fc8dbb1b60ac56016e0096201071d0bf8c0431b660605d0dfa97da466 SHA512 4978d50842386f51e31a47ad037d5e491106a668bc701bb833e6ec3998afe3ebd80efddc47756b2f300f534b39b26fc01386dc878d3b02cc8c1fec6a474c2177 DIST encode_unicode-0.3.6.crate 45741 BLAKE2B e1e3792bc2bf9db7df33a516d0d755eef5eff1249aa9b2fd7f0dfcb155786c566fb619c9b2d73425a8625c8593988b117e9676c341f65e8795ddc838bf9881c4 SHA512 64193d6ac75f66d58ed864169b5d6228ede36dcf100614395e086bc8e847a3ddd287734d88e8ed50f38c679a99c80ec68449175a67d8ee03b02ec1cfa9d55e77 -DIST encoding_rs-0.8.33.crate 1370071 BLAKE2B 0e81419086ca6e18f2aba5194b87eaba49ddf20493fd6ee09d479db86306e39dff9b23f399594afc42f1fdb33855e070beaa1871794dc0b0371c35d296a6369a SHA512 20d28a4c0ff0710f911f510be56c2bc5e7514b76d370493d2b89b7f25d1c0cd46ffa64862e54fc472f07f928a2cc24cf9d790a37751cafafc81f263705aac4bc DIST encoding_rs-0.8.34.crate 1378166 BLAKE2B 528692170cdb1d74ffb0b122a5aee61f50a2a7e4ce6db049ebea4a185e5c43d4ed99e515f08524053a110e061f788f861e62e0b04eb016e7a9e2678235a04577 SHA512 e23b87003814dd6e7e17924bd1f53989a5008dd1da07baa23c40d2a18dc1ab2d786d61e2c304b3f60e73be5f180ae2deea3b4499c0157b6afe3c9273d2f739f6 DIST equivalent-1.0.1.crate 6615 BLAKE2B 302d78069d9df05e78b53f0488a9e4eb98fa2bc1e21893dc8a0acf2234347ba7c4df4b9d6b380ae77d8ffb1074b9c790460fe2dae47318aa1c4fe4208244540a SHA512 b2bc60e804c1b02c461dcefcfd60fc37145af710d183ebe65f9a4d63f2b2072d23193f98dc550a9213c7fdc6a2a837af23b04a89294ebbb681a4aaf5d5031140 -DIST errno-0.3.2.crate 10424 BLAKE2B 3061d5a5abee015bf41c11ef31dd0f38a738c51992e3bf9f9ec98f67a87b88341c97901211718a5f103b8cf021c875f8fc799fb217ad69fd27371326b5aa40e7 SHA512 b728704f11cfb2bffd421ad39e7bab79b11e548e336e9dd1cfb902bdfbb78a8afb102ae5684fbd6ac4b01b12603a1011a1faa21cfd0702bb25a300364b17ff84 -DIST errno-0.3.8.crate 10645 BLAKE2B 4a7af10845f11b3d8f177a75a692be468e8ef0ee53fb84a4d212335f1499456b6739a59af260894b5c3853d3bf21ef3490d1e3a613305561203ca334a636c3b3 SHA512 29753c421c6f929760cd7565f8171696e4f70e677654a7507253f4fc495edbcf214ace27be46bdfe5c1a0d782f4b688f591476e56f4a1096471cb353c643328d DIST errno-0.3.9.crate 10690 BLAKE2B 8deb19cf0c830ff2adebb733ab961558cb4463f256604f9c76d5c5952f34a79b70dce47e28f68f459977ef34d4821ab5d0f7e79a7a110693700f80b49ba56651 SHA512 777fbac5730d420d58275ef63b7579997d8e6c72106d483ee1e3b1f1ce3977f1f66c56870a05acaa4cfacacb820eaf963e9c763748759cff3668fa2e6f89f04a -DIST errno-dragonfly-0.1.2.crate 1810 BLAKE2B 781fc26dce5c33d83b9a1fd9be2b2ce9ac2559aaa858957ba6777e143b1e44cdfee48e1b47e3c91a95075a51921d1a421d0b45eb3d8de827cf4dd0ad744a7d8c SHA512 f853f1e1b8dd0f359a8f9a0399b3384c1103cd090d96e2b2204f91a40d40a9eb99383d4aa6a11e5470c51557afacf452d4be2049600d4235d27f59870fa3b916 -DIST expect-test-1.4.1.crate 13530 BLAKE2B bc83162a09c2493dffd45d8d8bc11d3ca86ad1d76583073792b411a5af39684d0e80e5183eeb3b87f7001cde46901b280b67ee186283d23425bcfceb6eb5730e SHA512 5665e7bc640fe56f1134fcffb9ac80e5d6df820c679b768a0d68d58198167d3ff0893592adf88299564037ce72a198c6c8cdb33f83683ca5225e329494a2ee52 DIST expect-test-1.5.0.crate 13574 BLAKE2B b5b2676996669436fc7f25f251d339f97ba78d3129eeef410bf563527bf73f7153e6224c747f5b9c6b605a8a4f2a2022bf842f840bc353f6d9e99c58396fa005 SHA512 909b210b2b787d37a7a1c203135f69ccaae28b37296ec025893fdd7499d18b8fb29d6f40acbc4b9d4d09732f5254333de5b21d0db5a106e851e7da57f9087ed5 -DIST fastrand-2.0.1.crate 14664 BLAKE2B 7a5812153500170dcc53ca8d66384fef46eeb5a8f970be43863f22f82bf427672d07cb053f4e04b0fea358ca89178399871235680f57223b8561c07b8d21cf13 SHA512 79a1e1b3f39264f037def236afbd87b732f5e0a2154b1d9e721b3c7990c52be45138320e2571fe628f482e0da7e3cf867abb745e3c277b19015fc031fd4410d9 DIST fastrand-2.1.0.crate 14907 BLAKE2B f96c74c1da31bae35e5ae0a557b3cdf120099cd7f31475ff6ce0eddfd8d30baeb025cd17b661f452cc4d3fedde763621301545e28efa030b3be21d1d9ba8d0d9 SHA512 ce776a3d0fbc108017c93ce9bff7c9e7e65590acb149dcd55c2f349d2077ffdf5ac6427753732f60cd7acf141ef6f89359b2e7d9368016be53b24e8703e71104 DIST fat-macho-0.4.8.crate 18658 BLAKE2B 61432b0a49b9e2754222b8b02dda8fcb09d955627abcf3895ef6d2049ec6e2d448f3f2617db9dcc431ac38e56005acab7940e8a4c148be5c9f77f7d51ddf748e SHA512 159bd21cf1f321cc9bb56e08ae561d6a00e0b83de6e4096365b8ce5c29a409f5312a78ec1c5122018f9990030ddc1596dca1ba56997f460f031ff8518025fa4a DIST filetime-0.2.23.crate 14942 BLAKE2B e4d2d9c11745dfa5592903f3c3c6a9871292a02f9862607b610ead7562b5d1fc3b64d37e779cad0630bde8012efda72d86af5e687cd2ef5d3627d8a89bca517c SHA512 8d5ac82482758577d1d0669abbe7b880efc44958687bba745c9ee4a5c16bddb44ec0fbe9c29cf424e7120905f3c3da607f3a7ca1e50287154c0475ddf2148bf3 -DIST flate2-1.0.28.crate 73690 BLAKE2B c9f141bde0eda6b9c42da0a3ed69322c12c6c29bc522131f51ad56f6e2758646aa5585382407409257a8301f5f07a1825d150838bbb55822f2d49037f6279aa8 SHA512 9db6f3ddc4e1e91960b07c08712beabd911b297d93db8be3ecb97a392a4262e608c75ed8e9e34d87d58c3e67d1b7987734e14ab3d45fd837a2767e8016380284 -DIST flate2-1.0.30.crate 75511 BLAKE2B c25d9ab787ef60312523d80cf277bcaae16c7e54b1deb0fc8723a3b22c2586092343db1c538d96a37690d21e52ff822a38c90e10bc554fedb75671fdff6df309 SHA512 21528f80c1709cfa764723dce012903581dbc2b63ecad194ec601fc75103307e1b2ef17479186ad895ad957c9a33c6fd666b2981382a8a68ca78dfac7cb5d578 DIST flate2-1.0.33.crate 108838 BLAKE2B 9fd23b3b0a75c29f750c873f74de8565f0d8f3a574c7d28e11d15e6c3c4686c42ba98b5769a08c21f3b9c6ffe7140196c3e7001153ff5a046ee7af40f7f6d965 SHA512 59a871137518586f1d66810528595acad5ca763ec5acc100098a372194f55f33b48e59c0806fd237c644a6d797b5deb26c541fa871a1194ee3ac725da3b6d134 DIST fnv-1.0.7.crate 11266 BLAKE2B 81da85889c91b6567e0f555e37dd915f1bd919719d1ca10c31a6861d7aec29a49ae9c1e8bc500791bf9d6b8dbb318c096d04872c5872a4b1f7d45fbd8e12842d SHA512 2195a4b34a78e2dd9838caf0ee556bf87cbb4a8ef5505aac663b614eb59dcfc0c40f432463ede41ecca57bfe7711f72673d39a85fe03d426f1324097d5628334 DIST foreign-types-0.3.2.crate 7504 BLAKE2B 520818b702d990d296ecd31a8646850202509ccfa18edd0e1b260289619a6c351e758f317ec0824bd76eccb209b6f087057c25f1bd01a47897715013dd834867 SHA512 bf27b8243ed482c202d120383374f19ff09422535e24b9c1aebccc66529bf300ca17b8bbc76d67f98ac092e614497afe3add9dc68aa69c93074df05762f91232 DIST foreign-types-shared-0.1.1.crate 5672 BLAKE2B d2e42e04b6657e7a69fe0bd20c672176629c743e49a55fd007bb30e289710b70045d445ae9cae0eeaa747ee708c90e8abd9b5fc39bad8ec0666befe1b696d4f1 SHA512 bafdb2143e136fb0818e2ffd90b5c862b7181647d6568947d4e4531012bbf7a57b597221ec7056c1b562dfc0c3b5dead26d1a4111ebc15e7863737a873518a4a DIST form_urlencoded-1.2.1.crate 8969 BLAKE2B 383d3a197b73fba199220b7708e16d770591ac16725faf4efc1a8c230c569c381870d4a11b8fba623e761e68f9d318630b22101d461e67dd26c67e13a73358a1 SHA512 c65104e2dc08fad572bb31f981700fd43dd29fcff42b01c7ccdbd3d4c23dec12360aed3f1b5fc4766fee386d418a65349b2941b8735f788cb0d35d631a6a8dd1 DIST fs-err-2.11.0.crate 20449 BLAKE2B 8ffe7c49f4733edcd30ade9b75064e9fcf4ed1c87620d629fcd44dbf87e85e28d23fbaad05a50d8baca877f3eb9e088d8dd744d2ca092c443735fa7129609c9c SHA512 a8bf948b94e7325c583035a04d30c8ecf33d543ac366a550d757d65a0d7575d501e01dd1a80c8b0c278f80b9f3298f8dcd03c3c636810fbfe6a4a910ee8915a7 -DIST fs-err-2.9.0.crate 17662 BLAKE2B 9919c253ff98280eb3ae8d700ba3f878e2ffacec1d3ea69f0445921dd4084c67f3309cddfc2c4e9ba42cc9f64e201fc88313f517185e47f62c3f3023bed62e96 SHA512 b0fe36a1158a1267a10f6ca66f987448c2fe05dbc26af67cf92e2fff5af210312494823c201156f1029e3d81ec4b075a63a51770e153dad3867fdc6ee1d29126 DIST futures-0.3.30.crate 53828 BLAKE2B 4e595639500f7147ceb994359ef1656ed096ea679409a5721c05ff84ba439fe4e82563a7cf8dca9aed4cd16b03e89ba1385b0a34feed9d4923871225e131b91e SHA512 98fc67bf1047609c8bb0763c00ab9cb39b6a6d0cb7d993bce4966ddc2492a6578b789e98095981b207ddd73ac4b1dfcd5224b352a0e970eed347537c6fbea43e DIST futures-channel-0.3.30.crate 31736 BLAKE2B 57461dbb723fd53daa07b2fe6164125508cc3901e0138d2a60da5c814ade415a3611baa45c71487f1853812282ef358c132785ff40c630408e8544d57eee3483 SHA512 689531748821529c528772a6dd0f27362078ff5803d2e0b431ee5a0ecf8787b5a15262d65d52f48486ded46b88f7a9c477ad95cc2c5a3e8f5f9b9f53f367832c DIST futures-core-0.3.30.crate 14071 BLAKE2B 76a9fa5aedd0d4ae8dd9db9639839b6b342125759c1b9f9bbf58aacb4ecca316ff1f24ff8f3c15f559ffbf974e4c2cd02a5418cb4c4d7612dac8449c8234eeb8 SHA512 3c7259ddacbe02e47a84178b75e5f13523bd0c8f8bc0b2375f7ecca60b7075695ee0a5cc4e1c1de26665cf250271173be803661e2f2f53e2a3b96380a8efe7c4 @@ -190,79 +120,48 @@ DIST futures-timer-3.0.3.crate 19739 BLAKE2B b7af71c761197056a6a4db03caa30f31c10 DIST futures-util-0.3.30.crate 159977 BLAKE2B 9012edf76336952dab02cb61db48dfc74b6cfc17c137c36372709e8d575b306a4d7c4da89328067c9482a645aceb7b44ef57deb21a0c25964a5515e738a039d0 SHA512 7faae5aa35641d858d0f5430e4a69acd4ba9037852ad73c5a890bffeed411d28820883e18bad4ca8f7b0a765f9f4c5dbeaf5d0cfaaf90c2c69846434ae091951 DIST generic-array-0.14.7.crate 15950 BLAKE2B e74c785e3127095625951da192a018281ea9976aaeb11019f9088c3f27748c5fed1ef25d577150864486dc48b5138d6892e42f99979339f711a66fc70756c82b SHA512 363a7b04e4102f9ca63d429721c1ada6272be6bf0a2e97da681faf76381f73f0e3acb86623b9ce2dae441de9fda704088391779b9769ec02b3c8c9f9f35f897d DIST getrandom-0.2.10.crate 34955 BLAKE2B 8e7b8554ae360484ceca2a05f834c2664b08f41cbc6c955663e1f8f22fb5750481518bf1c7b49f49223a99a66914ef013347b9186acc97a20249f3222a13f9d4 SHA512 82af9e0417bff9272ed0478be4ac90426405ce210014b21899c6b95fde1b16893bf46295388ff5f13fa712a04c99c46b770fab83f41a1343af1590a86ca8da3b -DIST getrandom-0.2.12.crate 36163 BLAKE2B 0afef8504932ea0ea051cde1d14bd5b79edde68d6ebae6fe88fa4aaa532605a16f466d0d9c0d0aa619eaa105600b6d5ee4e191865a3fa041549a78f78ca82396 SHA512 dd97d7dae1a7ba653abdaf2db719e1a9c8eb721b08b4af0f1c45b1ed5079069d1b57e4f6d9d879e7fae3a890763f4b6aea9bc2d945392b98e811e7b348589bee DIST getrandom-0.2.15.crate 37163 BLAKE2B 7d534e799a4711d01c6553b8c9422dbf01e384a850fb0f7cd76e444628f2b96d28d0f5e8dae042f8081a2bf9340f57c558be50a6f22ed5fa6b0301a15898fb35 SHA512 04789a53d3f4a84862e1e8b2113641af67e471b468de1222470d5e6cef0015232463a2cf3c3518dc2a533b3983b175a7c8922da00665bcf71c1e4e279b67e6fb DIST glob-0.3.1.crate 18880 BLAKE2B dc89b3a664e810264dd7a01ad892e865ce35b504bfe5dba12d7ea8084da7de84feaa94c2208f1a1eefed90297e552636ad61ccebf6fc8cb4d01f27d605ad0a09 SHA512 29368160138bcb7ea5660f9f30c5711cfca8bc8ba836bbade3fbe8c424e7b4118daf27cffa677962e37e36f025fd2bb5a9c2aea865b0ff155cace455dfbb658b -DIST globset-0.4.14.crate 25090 BLAKE2B 2c3e6f8384a066ebfa1f36bf03125b5eae79329255674e32c58963451d4b342ada10f17524232a953bee133b3c77b678a141543759ebc622b5fd659fe55622ae SHA512 e83e4f5e42a97609e2579b09f49c2cb0a76a94e7e2975c5871f2c5af5d3b809736e0a7b220404c582f4a0c7eebdbfad6cb432e89b26401b58f2b253f8c0151bc DIST globset-0.4.15.crate 25177 BLAKE2B 5556f4cd7c311b2ead3a83fb2c84280a48e493f024bfd7269c91cde6ab81315d2d7f051f7cee9d7d34e6c8563c2452f0ec04a9d5a8ba5273bce66f5ff8f9054b SHA512 b9281b8bf48d2e297be533aa31c701c0115978b4e580b684b78a385eb2ecb4125187605368a6858311d6cdf5caae7d733cf1406c79241b7d19e7193f5a111dad -DIST goblin-0.8.0.crate 175002 BLAKE2B b8a1af5825d2f9b636c8c5cd120ddad860b7bbe6573c8ee71c48c58d1f563c34a0ce6ae7749bdc0a8ee42c00fd9531fec77cbe9f6565f03c3caa9b3498995c1b SHA512 e6334edbe8589b8ef11012588bd4c28db756aa591c3523d2868c20843211622afdee9cfb1f953212ee8b6563a6fd2f330f026f74b7a20486bd297cc2c25f6de8 DIST goblin-0.8.2.crate 187412 BLAKE2B 1512c29c78cb53b9ea84cb007f37c983c2a20e33849b118d0f22d82e87efe37ae3c24de284bf3c4402a37debb58443dfcbbd335cbf8176f5c7f5c937926f6af6 SHA512 7c193740543754bbfb833232882cb9170328144bca684a442154127903f76e87558d0b6adc0ad9546505160567ac311d716a754b02728297f9624bdd9dbefb23 DIST hashbrown-0.12.3.crate 102968 BLAKE2B 492072f27eaec45abd2c5d7405c614c0c6a8221425e901bb6174bfa1688ee524408a618650126d6c683b7285b9bf0a21dcdbff7347e4d8f97bf7111defa1b7e5 SHA512 b3700fcd659a21a6b9b3777c18b37a83bf25542b4e8f2b963779a122f5d22e1742c064cfc03e649583e7dd5c6e90ca8407f8c51a0e8755f6a108682853022f76 -DIST hashbrown-0.14.3.crate 141425 BLAKE2B 23c63a99c6c6b7a6b9b9e8bbbc7f1e342e1eb9d7582fc9eb408d3eec50c99f34502d450170bcfef4da7f2b1e743e1d1619875ec879e4753dffcb84f3c10dc3b2 SHA512 4d344e5c89ce58e04668b80ef10e4e110a3a5daf4d610c52d980577795d0e2050c7d0b151d8ba97128117665e27b92ab0300f85b88bd6e1de943c62d49249356 DIST hashbrown-0.14.5.crate 141498 BLAKE2B 7d7f31b6377c901de12f78f0004a347e3e3b948b1336a54b6abd8dd2210db0ac415efcdded421a00723f16563a7b833b5d1db3cad5c12cac916e273bf3e588b3 SHA512 215ea860bd3de80e2dd2d4647c9dd31c0ac895ea7c08b87256dc11d36407e412ffefaebc6cdbec024057dd4f24b3762b4fe427be307e15d1e68ccfde89a99742 DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8 DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76 -DIST hermit-abi-0.3.2.crate 13783 BLAKE2B 43089507a5ca0731a9e9a54fdc8f4dd5f807244797eba5bdcc072c2c2b3761481df65b8cc65900769777d9d21f8345b502cb1915ec36747160e87f179469a661 SHA512 22901ec8976a7c96e93c9e07a2c5d3db49d7af60ce60c7ee6f61c3cbe93190d1f285e737c1c8b2236d540ab14e5d92e42828ec05f1b212332a862baf2b1b57f6 DIST home-0.5.9.crate 8760 BLAKE2B 02277a6d0e54a88e62a50ceb5b50b08cd5dc1ca5ddc17a799db0f49a17fee8560df53f616ae22cd16020ae2a89ce7c6ec22e5e2c0d513405bc2859a6e3ec61f9 SHA512 3f1f7b619f1a47694cda92321a11d66ebbb2dc0b0c33446a7a4b886f547ee88231b61c038de04bb82acd50e617f19b5085893b8401206d32cd54502033e04bf1 DIST humantime-2.1.0.crate 16749 BLAKE2B e2ae8325b037fb175b9200cc5c1944ce579056c6662cce307beb6701894552362a25e371aad65f8fb9384945b48815ca74bb8b544a32e0a5845b7edd30b918c9 SHA512 3bf29ddd1391d82897c22baa0ff3ed58ef6d6959859f1f8ed54d324caba5b6fb4422e56790511ce82f902cd11467f93c8ab7fc7b0e0bdb719308a4d0a446ae0c DIST humantime-serde-1.1.1.crate 7886 BLAKE2B 4c66a483276e0cc5f4bd82fd49cfa0ee40c8ceda753919cfb7a8c794d098e9e4e851643fbc42a209d6ab00c5c62d9edc81c3bb1f6da218a09eafc96da9b566f6 SHA512 0bd72554e700f89506d2d1c8191832aed0065ea02aacb99e27139a60c883d3dbabb1fc3d60f499f5aeb20bd155fdcf21dc671aec1ca68d4041bf98ddf324248d DIST idna-0.5.0.crate 271940 BLAKE2B 0b781c2e9bf717af429efb53bdfd18244f2b8c58e5111c3bd3bee50c8a01cc747513fe20db75c38b6b771d5845647bf6c1849ae6667766c9623e018c1f399a9b SHA512 bee6cfbfc99859b113aa8c7b487429a836dabc4e317980f132d28ff8333336f33480bf9f8b186a07115eff33024cd855bc85d346fce85e17c4132e886769c54c -DIST ignore-0.4.22.crate 55462 BLAKE2B a9a29e5286c9a9c132f2fa319226bfa85c9555150afd18e34bd3b37915250842c46f6079208dce75674fef448450dfd23242858ee2e4e2bdb7eb65f89d689d0c SHA512 9647a4887258dd970c87798dee32a16c1cda75ce3e352829f78d97e1b786d67f74d89b2fd76d48a607fe795213965c04c9dfb47713f8fa80561f87ac465956d9 DIST ignore-0.4.23.crate 55901 BLAKE2B 8c5138e723cbccffe84aa215b2e73daa18d8b2d39136a901ba1514def3a67437f79d932e4762578dd1b28dd8360a397aaba29ab8bb67a93a587a1c71cf5d1aa1 SHA512 ae354b00994ae8570751bc5c09167edd0e2891709d4c4878cf75b24619421d23a1b83e28886d54ed9d31aa427f49153e9a5fc42b5de7262abda20c1c0061b299 DIST indexmap-1.9.3.crate 54653 BLAKE2B 7bc1768589e74020dc15d3dd064009edaaef39b7aeb682d0ca8e49944e3f020b9c04d64feb102e88b22feb40863479dfaf4722d6a77b5d19e7ca553f4bf64c1b SHA512 2aa8069eb07a814c8fa3e11296c9f032ef60963520d7786ad20cca5cb7e73b8f76d97722a994d65295bb713020aadce5008cd3df5e99d8bd968ef1979f910a37 -DIST indexmap-2.2.3.crate 79019 BLAKE2B cc87bac104efd9aa565e3b8d6071f271b33501e2192b3a478120c41d015537e807bf3ae808ddab930aeb861f353022ac76522e5102e32f72722b93d36d5f2236 SHA512 ddc45ebcfb36d761d8c11b8f61bcef046a51eea71692d89495c897cf9b4cdb5e14287600285297c8a6aab543761d9f5ba3ab45442803837a810b945aa346d48a -DIST indexmap-2.2.6.crate 82420 BLAKE2B fac5cf6339dc3c0a40b100035a5c874cc7b2efeafeb31c51488d25156e392dc9db86a497e76eead351d2126f69d060422faa9c55d73407a0de9f5be18d234123 SHA512 53211c4a9003d751feb6dcdf1a76495764cbf32d24bbfe2be7023946622ef4f2b07a6de57109e5d24ee01892f4b2be0e0692e10cd31fd39c4ffdff4d37abe9ea DIST indexmap-2.5.0.crate 85919 BLAKE2B 766da0a2ddc406e3fb1a70a0bee00141045ff72b52cc412adf05972ccef59d416f502c429dada111461cb522a5c442087e01d8fb235c2f1fd5493adea00e79dc SHA512 c4627d43b1bc5c5fd64861d1a7ed66255ec3f790367028b2758a40751286d6677da7170cfb04dd88ca4c2d163df621583d2e0dc4e9db6d7ed9bd0cbea42b1729 -DIST indicatif-0.17.7.crate 63108 BLAKE2B 665bc2077207cac6ca2071d9e6ead76abb30d5f7c209d7b4a2ff5a1fcba566b331467239bd9168082839c961acf5a0522ae4c899aec141ccc649025b2eeeacc3 SHA512 412955eec523e961a20bb48f9921128004e723b405c8f1bb73abfaeb4f532ac6f883794fe6c8738a40c2e0a400a6ebf94ee17d89f7cdc98d9d0f8611d84a369e DIST indicatif-0.17.8.crate 64869 BLAKE2B c534020b2c7b25bb07cdd0fd4414fc817506647cf5b8e2081c22be58857d5adb170082a3756004c69187619fc5625f8b9a1904566dc51c621838e09ecda5b43e SHA512 487e73445c5c7d3c16d6f93a3d9767f41b37d2832e56851154f8b69e678ab7d9ab04eba225a6bcf8b48842ae0db0249b060e998e29a252dedf8afacdc88b1aaf DIST indoc-2.0.4.crate 14311 BLAKE2B 8d604e20825ae64530014081c627abe4ecec6447e1e214408743aca79ed217531baad4bd7021137ae6628555d769a248f06acc556cc3254d2626074aab110a44 SHA512 ef1b8d19d89d848c1133f2865247e0ce23cbe5552454805910ed0478ac4acb11b11629aa4a5ce8756d0ed5cbc0644abedeac0246f433166c68f47cf58cf4487a DIST indoc-2.0.5.crate 14396 BLAKE2B fe838c6a855d6ff7396675a3fe9b2e0b06a93cfd4013b0b843d24d2fb81f6566528bfd1753c649646f06cb7e59262bd6ec3ed79d4e6f01d740cf0682355f2e5a SHA512 095fb56a3d87946c42a63065a8b276c2d4b9b835800014b400bb987593bf56701bad9f55d947f090740fdb7641a4f3c87fe8bfa5724709e95254d1e8e2e3616f -DIST instant-0.1.12.crate 6128 BLAKE2B 728923f757c1ee4e4a7afb90e460eed81392068961240a538e5c6468e15a0b6491f590fb5f6cc46e6d78901ca232351f65abb9f2f230d8f4983c5e58c4011902 SHA512 fae494c00111c51c840f9dd6a10febe403e27ebb933dd16633a213e9c20f2bc11adeb431c71f8a6713bf88f270a010941e15d83df294e658791934f83a5d2407 DIST instant-0.1.13.crate 6305 BLAKE2B 83a2c479e21e789ca9795f66116ebc55481a42afb21f4c0ec0551edf07781901a28978667e92b01355b43e0e1a7ffcd3cc37b5501a7521da78f4f352e586c9fd SHA512 b7839431e8920c4c0841d0974eede75fc50f2bb7a9475664bd2c4ff6c558a10084e1c025e5be977c3364ae9112c365c0a6f480cb9b35ee4130ca2beebcf650a9 -DIST is-terminal-0.4.9.crate 8109 BLAKE2B 0fa495da123f6fe5e3ba5f643f1ee097fc4f8e8aa54d9525b6108855a6a2e58556534a5e8dbfe7b5f8e2f1932003ac63f6aa3384317de7b385cf724bee294468 SHA512 0803ea53945715333d9b5fb18feec7230a49cb1a5f7308e2ea8d06a650e376794dd372be111e85622fd21320228706dd589423510dd010cd6ea112f185c46966 DIST is_terminal_polyfill-1.70.0.crate 7451 BLAKE2B 9efe76f14d61a5af6d3cd30d5e64209971d4292d8d2c12f4a621ef65324a5bccbb7e1d79d5efa75ea7456431241d6325cdeaa0af802b1480c6cd9c1bc5a35994 SHA512 c07d5076978e4c5d8d6a191d8880fb62643161979c473564881feb17726cd9ac8da25c40094ff12727dbdb064fe88fbda1867120a2c3fda1051bcc39380645d6 DIST is_terminal_polyfill-1.70.1.crate 7492 BLAKE2B fa663f858ab8e5fd56202d731b572bfdd4ab0e8262100424e27360a9ffd2820182bc57d6718a305ef82d04c3798111841c0d9f9dcfe219765c0f63edb560dc1e SHA512 4730fa09401cb4e69c92b38b2b43afd74699c61f5bd7b37605efbc0c08ca7a1318d43e4a844e46e0f84f83f42432f01e33771be2b18eb5977702ab9f894837e1 -DIST itertools-0.11.0.crate 125074 BLAKE2B 8e686f176764e92e4da3697eb781e1bc30d6c57ac61d97343b4fc3a48e4febf669d5771fa8620005c620cce52c236760ee2e1bc344cf602e878bc168a2e69cab SHA512 8ece00ba0a7cf481ad4586da24385a6f0b1719b9c3f0c25b9b5b373dd1a0ca7b9687a77cd179853392890b7bf4d31e0356a4e5fd540465b4ac62bd74ef717fd8 DIST itertools-0.12.1.crate 137761 BLAKE2B d7db67feb7418d6a779dc17d8a2f33481114cd81a4d53a10cffe08e13f0d3cf4525a5ef43368fe979d5a3ce230872eaf993f7065885531aeb5a6479351857708 SHA512 0d9c1849dcc0ddf7555b0aeb7e4f2ef3b101cfc6f03310ce1b6072d70ac8c8d3387ef4c726146102012e75171e0b0bf13465704b6edfc02752e349dc6af7cf68 -DIST itoa-1.0.10.crate 10534 BLAKE2B 8ffcb345d07070cc01651fd44c19f3e0659185eda733c407fd4be0955a301879ae1272dae7f425279dae8dcb7f7dc954465c9a09b5c521938a503d34fecfe2a7 SHA512 fc496be0873e31afa6ddf7f2958030f8fcb517cadb86a48280a0c50ce50460afda189af1e6c26e5ff6f85c750d772c21503864c32b526c4fe4bcdb5b07918538 DIST itoa-1.0.11.crate 10563 BLAKE2B 94da07e0f7f2535d0b1491b3a3c64905274b315ffd35ec8e9a3e36e26cd7211733b462eefb5208963e388345f65be9694804c344a6132b2b595b0bc716c0b328 SHA512 7e22dffac34c9c9f432daef395e0ec710ed658164bc9cd9fc6445c9f984c912a10bac556214a026bcddbe27a3197b35b0c87d6709fd605062637d086b2d20311 -DIST itoa-1.0.9.crate 10492 BLAKE2B 0d5acef9ae72d3f4b5a387d231952e6025def69da81d38269b4882bc534be7acadc073e526fd8bebdca898a98b2c741735c541e0b6a35ed0f8f8799b906b65b1 SHA512 95f7906edb7d6a2690389167f8c4d01bc37827205bca87d527f2eb33722419ed2f2e8afaa559cc5a0a7e7fac76515c9c44c71c42b536aa34b0e2858c40946b6d -DIST keyring-2.3.2.crate 54145 BLAKE2B 2d09d1bdca6b6fc32a38c178f6b6bde339a699b882beb0f0a9feefe639112d67884dac941f9a5ad1a17bb4faf348e24313282900b49dc1f2e9a3b76545da7468 SHA512 04eaed986372acf559e67453b506e27d86092e9d0be963d24074d1196fc34bc2fad89cbc8d1f227052398099a48db5b789e2c0c7ecc8d19dab000bd02fcd3b7e DIST keyring-2.3.3.crate 54379 BLAKE2B d6fca88aba978df803487651d66e909119eb784ea5078118c4cdbe29798c76578c801dab1f53a5630c6cc7e8ad8f360d301074bbb95f491e197987ad6f729898 SHA512 258e795e8f140546ea2bafa6d67438aceddcd947a289aa2df03257aaa501a569e5643a0ca9b0b59ad180b1c5c6e54b96c9309a1ad0ead2dcbaea67a94491ba11 DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8 -DIST lddtree-0.3.4.crate 11469 BLAKE2B a4b152d28962380e5e0c4ad6e1e590156ef21144e6c9c8950918ad66ac5451f952e0d575f60b9c898e8c0a3c51efe1245a0f3f097f3f42606ba5f2268c9de10c SHA512 d4b4fa8acfdfa8fc344f89d29937a520be3673a27888edbeea68d1deae1f190ca7642de66784f3109b8a6bf94a1665a39a8025dabca63d401aceb4e1c92fda7a DIST lddtree-0.3.5.crate 11488 BLAKE2B ead51314d115bf047e11be4639de3a1927d88cf1b0d46301455247d039a1ce174c030eb00cc2c975930d8a33c7cb5cbac1d200d2250bf20b7a59b21d0225fecb SHA512 42798dee58f29b2192677d716c864102d24dfd896ca62e30fe86fdb2bf439d8ddc9f8308d4e4b71d42833c070c1e6f0705c1b10d002520f294fc68f57b2c7748 DIST libc-0.2.134.crate 603330 BLAKE2B afca337bf7120e933c56745a51261156f4af7cc58427f623b9cdf1b2d5fc67fb2bc7c078ccab3cf232024e5013e8edcbbb0baab6a8a3762f9b20d975ed92411d SHA512 fcc142061df7b363b2dacec5fb3c9a19e63addd8210678117f681b8e1b62e5784cb78067639df464f32e22c9ab4d0932bbe1c01cc992348cc0fad4a46cc7b1c3 DIST libc-0.2.147.crate 686772 BLAKE2B ab2f0c65d071d46b8b88149add1c8429237ef6d9e0563d56ee1adbf23e6147dbb57fb68fbd02498f8ec75327693237a47e5e5259615ce8b0d5ed7a03bbf4fffb SHA512 bfb3c230b59d623b98726f92b7c3f897b47ba3d22fe9834c15f5b4c1b662289aba35a0ae3acfc704ad74696db8c691ee007b9cc6fa03ae65a18eb6bedc81931e DIST libc-0.2.149.crate 715592 BLAKE2B 21dd5d4f9351f3c75790077c7b025046db665f2d48d7a72cda7667bc60febf79d82708cf7d39a323a594397cd590bd3d2a2f85349b4473b90ea4da918382ed0a SHA512 0def64d400d473d6eed30e985522d36801ee6472b15f90e74dc4592e0a8ffbaf30b731be280de52b30255cf60aeca8efe817b67049227dc7000c807e007d7289 -DIST libc-0.2.153.crate 740614 BLAKE2B 523a41bc8cff4ebcba0edbbe9e6a2286ec7cb3ba5e90ca5926c972b68e4b34188bc077d20c22376238c3cd91b7455898a95c505ace4ededea88cc496edb4c5a7 SHA512 3f99e3a192974fffdc053ef21e9ad5fb54b7cdbd4755df176704a95dba38047138ccab76763e89c6b565f37f98fd549fe368749f84f6d1638b3209cb07eae9b4 DIST libc-0.2.155.crate 743539 BLAKE2B 42cdcf8d4a187383548b1f09d404474f168916d626d614463fe10a1fd886e972e1caf6297e75445214af3f31fe631d0927e54ec1cdc63e20082b3587e38dce16 SHA512 05354bba532b8338bda1f88f12c7f3893429734a06e33925fca2b99d49548ae5216e2cd84e782d2368a2dfef20b0e035e2dcad8dd13ede7119462a8c639b2807 DIST libc-0.2.158.crate 751340 BLAKE2B a67318ab24bb86c4df682cdf846d51f5f0a69504567acff43cc6e724f2641521945dc75dddc10c1c265fda960cb28b528575b5d39ce321073844dbddbc77bdb8 SHA512 c2d90d58480cca3464db475d7c70cd66bc1492239d8183038b48def8f5d8a437a1e2a2f084cb2bd9456889221b10aa07981cd5e9bcbb6bea28a2bde3c76f1105 DIST libmimalloc-sys-0.1.38.crate 196009 BLAKE2B 355f07b19a5fcc54ca95cc449a9c8200abf11984e004d3ed405f0370f29a18b878e9d8fde63c9bf84d5227388905d288ebf1ba2df38d7c5be8b0d3e67b63f55c SHA512 3b0416b06a4692be364b75e324a312e0160f64f8a49930d3e0eb6fb201982b59482f636fca774a254aead6112168acd3d307c2a79c5ce3be3213850c172a7bf9 -DIST libredox-0.0.1.crate 4212 BLAKE2B fecbb90e2842a69f3967bb2a09b0181dce1720b60c5d762a334a279b52c00a9b4b52de72c6484603981c0c3e1cd8e173ef5e15fa290ce8b8888739204956be92 SHA512 31a9234201f5128f1519e108f7424d1740a67699828265cc725304a70f6a51e139f1d0c0e626b487857a7b421f25ad93e81b95b65cf0d3e0ad912388deecfb41 DIST libredox-0.1.3.crate 6068 BLAKE2B cf09f261d3a945d290ecaaa724903e0042d66eca46dde8a40c261ccb1e82c0d6b9926898eadafc6313fdb9f19cde56377b8a9179935482559c4b9707e327511a SHA512 c62142fdca92388664eef83fc89b8607e2df318cbadff6edf9e3d927837853d5cfeb54445299a82054a0ca81853b0a33536966ab26f1f2e0fa43b39aaaf67c49 DIST linux-keyutils-0.2.4.crate 17999 BLAKE2B 8885c1e5daabce113d0e68f526d0f323603f8aa6bebd1ce37e3f64dc553239c1d8d0fa5a662190b901c42cb2ab061962697654b6abb0530333f23655911069e5 SHA512 8bcf2d3eb2c5cf49ce00b91bff578e2dac3c9390ae7b4bb0ad3ceaec9d282a1d4782cb9e642cba75429e7982e6537a72f849a1cc848a939d6e85fd6ea8e1dcb4 -DIST linux-raw-sys-0.4.10.crate 1407767 BLAKE2B 8bc633d99bc1ee1a6fdfa19501fd034a4475fa9ebe18a206e4254309d91aee7a91fc70faf9775efa5157a1b2fb7e5f827bde40a770b066643356113f2cf38b5d SHA512 107f61add087bff55869798d5c71bc6ac9ecb27a603d8f9071b856189de8b7b0a7f9243fa1433700f52a0c3020eff5604dbf6e0653109d0dd277b98ab45fae21 -DIST linux-raw-sys-0.4.13.crate 1493855 BLAKE2B 1298a038276e2424eda9873c642fb43d864b343b03b7962446122d2dbea94d58d9fb2b93e890769e6fe4092378755413ed6afba81ce56fd61e512146e44148a3 SHA512 3918da6b667a08ef8a51aa0b087129e2dc5ab101669cbba7690fc98ae2659a36861bf9410a3b87d18522a7549d43ac169b995ea192d3073f7249305a809cac62 DIST linux-raw-sys-0.4.14.crate 1826665 BLAKE2B 804af73daf396bb20da14f831f26ce06325181de14f0c277350bd22d21789f2bdd663a964cc0e7c5cbd2e084285d02a401a6bfbb3e8a8f079c120f9488b56f99 SHA512 28149660bd975ede05624af3582d5c78f498239f5d89713c2c32f5372fc16f4ca024dec35f81ea973a2cf986098890395dbda06ac6cf4ee29df3f9a0e11eaea7 -DIST lock_api-0.4.10.crate 26713 BLAKE2B 113adf8554c65e9782e8fd0360d0398567dfbfddb1fea4928cc152fbab98dbe086e42b81170f6f5c333d61dd3261e8a1ebfbaed786e6bf6378e6afde6d7f9e5c SHA512 ffe8cad8099bc382832181c1ff95e0935993491f247114604201be7d4ddf8402fd4db8fd6499c611f95fbce7d57dc3d3738eddfab31c52f50ab8709e549697db -DIST lock_api-0.4.11.crate 27487 BLAKE2B 87116cf908f7f1f9c300cedded989df305f855883e3df5a482de2c76814c48739582d3079d76a2bdd14a6999204b7fd31dcd8fd06d1dc7f9418f0e2f70a1450e SHA512 9946adf313a5c67a0dd87a1b679b7d9d16a86149fb95974d3f28aa57a9a1a3932e4a5ee1d332097559329c5e3b2295be2e4b655b115d9f75269f33a758b17fb3 DIST lock_api-0.4.12.crate 27591 BLAKE2B 4504d146a114d8f8e1fe9ae70b993c713cbfe884dd69c61c54dec978733b95a853c3e5af26f237e48ebb4ee9dbebfce0f6c06067f74a3d122e92f5ace40e22d7 SHA512 525d971f495449bbd02eb70fcd84d4aab05ca582142144a5f314f9aa67ad4c5b4c98dc919a416d0ed2e555063eab037a441d671d56b633f2cb75dfab5d99bcf7 -DIST lock_api-0.4.9.crate 25685 BLAKE2B 8adf5c3cccebdf6aff6ec977f230cd2a208b0b188ef57deacbbc6019431f0ede1a760b2384ba3cb49c96b8a589dc56c0f46a6359b3e62277e7ae1a1c3f586fa3 SHA512 9215381d9bb6b80d217c73a900db43df043b3e939b5bd7a292a02e9ab911cf0eacd8f883d35bdf72b3a0e78df8f1bc3e843ca4c775294c7a7a03091dc1a74990 -DIST log-0.4.19.crate 38073 BLAKE2B bbc8ce51ad4a01562ecd204a531ec7d82101a342ec26405dfadd1761372f7039297dc97f4899889ebdf4eccbd56345e015d4ec6d2788851e523db56eb541aab3 SHA512 8f11ca6f5a99b61a5f3baeb7a23b7a879b3a5bed666337936bd1d8794864d14a6c4f0747d03505831783f15d8c14ebcf507267915481dfb1b32188b8ab36a038 -DIST log-0.4.20.crate 38307 BLAKE2B cb9c9a401b49bd68c18d5e42f2ed94446f1aeb184caa23cefacad4ce54a2a357143af54a5595c45d6f3c3d20b054c451d9e6ccdc09c19cca99ffffdaf8bbfc72 SHA512 8661b0c71d3b7fc0d679aa3d7f06910e6d3da1c53862aa06526000e1bcaa0b0b068415a1a9ab317c318f00d15346dba8a4f5d2a60d8850790bed9cfaaf757b3e DIST log-0.4.21.crate 43442 BLAKE2B 8429b3270794d3e2c7f7d5b58bd4fa1abb9d4807ab3a1ac980ac81c11d9544635003d8cf2e608c2c0094865459108a2879f280278e121df68d09bc1561d604ba SHA512 0becc1a06b6e7048cff6c0bb8df49a16ac4772133c00239e9e9459c0811e7715c500f440cf1a9aef8d7ad74f57434559ca9b55917f588b8e476cf36eb6d4e10b DIST log-0.4.22.crate 44027 BLAKE2B 831dc5092db05123bf2e909eafa708339983edece9bc8cb802f0ab418d47ddc5045a72c1b58bc7c46ffa68080eebd0fd55d6e4f5b3d5ad3b0bc6b2ea0dcaace1 SHA512 bd7baa9c8a5523fd0864a53bcde955d484cacd782412b5b02c890b89dbf62137624da3a27337a310dd8f62bcc6606925a42bbd4ca161a3b7936ea4ff96bc0d71 -DIST lzxd-0.1.4.crate 21891 BLAKE2B 8271b79bdf6c65a17b5fe77a4d8b7d3a96ccf1752d211770dcccbd0912b0113740f5175b6d587ef5f5768b7ecd073488fca4f49e5c4bb3ec4cc9e5055e471b99 SHA512 f4fc473056dc793ee938943646416c3a93c748104093b8932c0a603a5f25820b49632f703ea4bc248b8bd612ef51dce4f5798f1f46782466c38aa69d016c2c57 DIST lzxd-0.2.5.crate 22728 BLAKE2B 5822d0d453def5b937e7414e055b637e6aa018a4ced08c10e88566c951552e5f8b01b1a08f25dd585b9d1eed4c34885f4eeec37c8b9e2472bb83ceb428cb3ffe SHA512 0a558d347f1101e82c861f3f6b8d3976ca57a4dc577e328b916ddfa4949e5a4695c89693f191c8a6664c15d4da8caee10d44ab0a79974cb2eb5e4e73785e17a2 -DIST mailparse-0.14.1.crate 37264 BLAKE2B 322c5ffbb60be7a62f9169438d0678ffc37fc3055568a97ecd4673e84ca4b49d280cabe773d8dc8dc99f68a86228886bb28c56152f072748a2352dadb0ec4710 SHA512 a5b19a4612d84cbf3d89cc26033484e2ee252d0b5ac063cb6487a55f30e25a21b5108020046926858a65995c48c2dc3e5cc64f705291f1ad9cd74b16b3c6d360 DIST mailparse-0.15.0.crate 37293 BLAKE2B 3ef9c0f3e65288066a1a792b3ad5bf4ca08126573fd15d9360b2d7748ba623ee0bf3eff1073b3244f1ca5007c2ea9c4e88310dc3809826ae940b13091df47134 SHA512 85899a2a65d195778615e3cebd2e5b6ad2ea3fd2b5a8929caab7fbd3e50306a5c99328deb7ffad9b3135f3fafca4c4e74f372e42a88d2785ade215334b92b416 DIST matchers-0.1.0.crate 6948 BLAKE2B ec3a5d01d2fedbb4dbf5bb185afbb9401410463a61f51674e0df6a571db352b2bbabfb99cdbdcfb4e511ae783165bf0258f5163f240a229b9087f9edbd0df41a SHA512 84214c1a84952d85631aa1ab5115df7cda223ac64e2acf055b6129ba1aa26ddc87615a8b51ca890ce3fee0419053fa7fe1599ae128f1d211b58c07b0c4af3b19 -DIST maturin-1.6.0.gh.tar.gz 464510 BLAKE2B dc40df2ae593d57dd8d52526734cf6e8cf01c42de4cd92b5ee0d4a20168367bef6b6fe783dd7e2ba51d96b91510699a207ada15c69f97cc832d34eb5f1028ae2 SHA512 de67ce91200fb17ffe40587ae66b9a39db53ba74512354aa632631097926833be01dd685eefcfc95e9f13535c73ba1dcd166b2111d987769aa109f4a7f8e2c09 -DIST maturin-1.7.1.gh.tar.gz 505952 BLAKE2B 0b1294277e3e203a38d904782fb9e9fbc8336f50670abd1c68b8c8c2ff2a7dfdcd8fa6e98dfb4b43c625349d01f6b89826b8c9740e7660629671ad4c07ee0fd7 SHA512 7022cb87d5710807f1b8e4e858d19e2dc2e07b02d7f47e9bc6a322686dce90c7aeb8c2f5caf7b5da4ca61cadbede7daf84728ae9f341c38384231872c9be5cb2 DIST maturin-1.7.4.gh.tar.gz 511488 BLAKE2B 008b2d67d553479040fcd3062b93ca12dc6f2b98c3d6cb43cac7ff0d8e4772417b99fbf2a73ed96cfcc8a7372b37d845e8485ba0afc80342943a10d716492377 SHA512 72fb43a10d3cdf35eca224232c59723bff5b9230c7d40ff01537e1ba869254b4b6e9a0c52e8b7154f7b74f0f0b5bace4e7bb9ac5257c9fbc04750160791c35e3 -DIST memchr-2.5.0.crate 65812 BLAKE2B 57966413a1f933dcb2d2d4ccb29c247070f65a83299b2a9f5aa83f5a48a5c5f1c4c7c632fa63bd19f9508e9291e7258db2f16e2813a56fd84e0856f70f1e67ab SHA512 444a163b484c233e78c0e2e4d51f01ce2da93d7d29f516a95e4b0866b20bdfd3f34137653abed53eb70387991ee3e2b5937d8d4360a85bbcb50a93005a75defa -DIST memchr-2.7.1.crate 96307 BLAKE2B f1a008fbdbfe84852a8ae1d9d9574306b1bf120dd5087903adbcca6af342c9abbb296496eb9bf6cb58915c4444b3edd6ca4e27131ac7d8aed8849815df87a944 SHA512 5120496faa31fc427c8b4178461a262b3a34d70eddb7ad17a19d6db8b9969c9e113d3625b5e6dc677087fc80907377b00ba0421aba9a92cf73ca2849d932f473 DIST memchr-2.7.2.crate 96220 BLAKE2B 2399064b6db21838d4aa0b25ed0bf04940ee3820741658cc6bf62e5ade08f41320df743ff13f99b2781da7b844e18deb1cfe25fe570f0e93f98ff03ca5d442e3 SHA512 cadcb4239c7f3aaab042592c5186770a225621e32f8583052fd3dbebb4a6d9b99be28f589b39b5ca36cb2d56fb3709e7d4ba91838ebb882e28e51280c02bbc40 DIST memchr-2.7.4.crate 96670 BLAKE2B da38114beca670467c3e1fbf4e415af6f22d52e3223715d52e181babb89b872b46511563985bcc16d7ff4e82f812c6e83ad904b0fe2501b14445119dfa8240e6 SHA512 8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2 DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55 @@ -271,433 +170,257 @@ DIST mimalloc-0.1.42.crate 4079 BLAKE2B 9cedd8487f419cf1132828fa798af8eecb587abf DIST mime-0.3.17.crate 15712 BLAKE2B abb892b75b40657d356b6b53b9a45b2c822a05873453e919f2bbfeed9e5c06104f24db9cef2716f302198020870eaf96b2c62aff55cc11d8ca4f4f614d7c8e17 SHA512 e6d2ca92bb58fc747c1bb65a7f9023e5dbf4b94966003a72e4913bcaaeccdd6752725cdbd5081e0fd69d9e8f364d79664fcbe70061737d5c39e5b3e3a154a0d1 DIST mime_guess-2.0.4.crate 26399 BLAKE2B 667f9b8009bac2e1d8b835ae8825afaaa2ea6eddd4cebbf18de8f8fcde9318eacaeeb08066bdd611883bef5f8a53fa2506b57dffff543c3a57316e07b525f7f5 SHA512 acfbbfdc5bd725edde43e4915858b8d016e90a5b483664f0bcd5e8d2b0b3684bf0f6020aea147b5bf429f218a7af8080761cea4c5c04b68fa66fd6a676376908 DIST mime_guess-2.0.5.crate 27166 BLAKE2B a8ec67e16a336e7d07c9aaa55025c24c3d4a62aae25213ce768786d9f292b76930132a880d662cd9a5d63aa899e9d488ab76fa9d99350e9f448ef484705ba4d9 SHA512 433c876e28394282cfbe14bb9543616cd296879f253ed331c15ace8a7d9f3629f5b596c2d5a64823a97ca9b774acc711b65006c46d54d1e9ee0553cbf1f13b7c -DIST minijinja-1.0.12.crate 136933 BLAKE2B 594c614e22eb577405f3621efb7d02000efe4c05bc326c96427d9ca1cde40eaa1c232c71445535393ff0e3f032353e4c85977ca4ae7e98b4be16639bd3641795 SHA512 c6dd27d326a3924c7ab69dc4e5d5a498118d0e33eca059edde407823d9114eeb8e5ed57089c7fca4ab60452a676ab86d02b1fd885e77ceec9ea44be5e8380126 DIST minijinja-1.0.21.crate 143627 BLAKE2B ca3305532f286480fd859af3f99bfe346c1316869d60c15c4ed3668f02dc33e6fb0f968fdb820ee924a7f51c9bb079c9001c7180ae3767078eab5a5215803604 SHA512 28a3d116412712f59ce1a6491b80b4c99ed76210d5c326e1a47fbeac234d0fee4f69b953985e526e254846e03fd2d85f93bdda3988794085442cbdade005ceef DIST minimal-lexical-0.2.1.crate 94841 BLAKE2B e6b8919b80d938d0b98d60d4f5f29ce43d77ebfcf8b18bde08909141915c6ef4f0d07a543538d4f3ba8527a9f55926d4a8e83473248469d087e80b274d701d61 SHA512 385fab51884bdcc7b0f2728a219ab164d0dc8efe42160b918f2c09f79ecf853fb12bda006d11e649f097bae1499dcd41ddf2a8784ee7d178cf2c28059e46078c -DIST miniz_oxide-0.7.1.crate 55194 BLAKE2B 56afbe0c0b3eca98105ae2d507493f365353cce29a6b04910ff26bc75899400fdbd067756cbda7b3d86f047fb8f3d737de00043a4a7348a813cc43e45824e33f SHA512 5eb6ffe34a866403273ff0267ff7838aeb50722ca57a03d5a1d842a5f19a3b4af570b133a3b9d64d78eafe49e4b9732b92dd63fd9c6b0ce59b3295daf10f6a3c -DIST miniz_oxide-0.7.3.crate 55774 BLAKE2B 41e11d955b75ffad131104a6cb3e61d7219a932d2dbafe3ab1229fa8b85b6def569a264b76a47324e35d1b9296e74a19585d6ac043469b61fb9b7565b81022bc SHA512 b9e2cc214d6213fb343cacc5f87228487592883fc8f7cf46c9a26b7148691783b2729ef80c0d0e11fbedf6edb1332dd87d88b253f7c2e645fe86ff2ffd47121f DIST miniz_oxide-0.8.0.crate 56343 BLAKE2B e4abcacab4c8698d0489faca8556faa7bff53d272ea0c80e2e7843dc0f6f9229b7d5b0a17ae210344722a379853e7f14212505ee05da4e60549081cf77717c1b SHA512 044b641ce6d98d1968c1ee0906f91963f9f524d6f3fdf3059708177a759e1d498c63e595d3a3f0f9f3210c45c828b9b70274134ba078b899d7fefc2bbddbeee6 DIST msi-0.7.0.crate 59110 BLAKE2B c0bb6d59acb79566343baffc4d40852b0a8d668c48f3c8a482065efb02e4836428167242e382ecff93a2763b4b5383023d389226619208910e44facf57536f98 SHA512 fd206129952baf8d16611d9e376089fc03f5832f237a8ffb7cb784179f226303fa464cd06034d4457bb52b49c9618fb44875c1c1f94ffd42b4d06ab44aeefec8 DIST multipart-0.18.0.crate 62797 BLAKE2B 438abdd6041c3a52e836b7627bb0a490494b6a0c4ab47d27905480fcdde27e7c18497ef4cae550c14b8c4c34e661176ee640806cc427e3b2e570c38be31d868e SHA512 a34036e1c05c241f130ed30eb7a2d96c2590ea8c0cb7e6cf98c160ca0fc6e0f1227192b45d8166abd7221633c36c57718fdb0ccfa8ff4254d4eeb3abb5210704 -DIST native-tls-0.2.11.crate 29008 BLAKE2B 594511c364e639e309f32f37ae20ecfc5ddeeb39c3f7180c5f3f2cf304d8c323b977af933ffe70cce696a5a63e17c5fa7ddb119d46fc3db819a28e31a388640b SHA512 7e77959932f2859757f1aeb37b78fdd459b7b6fd02424f4b7399525b94c21d1f499a718775503b8f3dfe3b4b740e1cfbee77052a2ebd0994468addb3fa665e6c DIST native-tls-0.2.12.crate 29517 BLAKE2B 76f4bb2aa8fefc306a04ff50a62d6617f71c3c34aa83ed35f11714ef2306fd82f76c7e26ab7ce50f8eabed40602ba02589dde2d98b55ea6113b45cc539c84bb6 SHA512 15fbc9d02134d3d55334d2f02fe4f64be50db991d75720b38d802088f06cf5f844cba6b25dfd7beb92f2cd367ba477ec2098e3c7336c4e5a5a7fd39c753fc723 DIST nom-7.1.3.crate 117570 BLAKE2B 5643b67990b7305e101b16b8cd27c447e162a7adc6d0dfac00920b0cb50fea98c9d4edca63c34f6845cba05f8d0acb407cf3045cf64a4cb28e53c8b6bc9090cf SHA512 1ffce08dde299bc0e0367ad59c7b6a83e23decfa11115ee076ab91ec53cdd9ef37e4c2103c96eff23a7b6b8b5c3f67c83ce1917928c7d4c6462083bdfa0c9cad DIST normalize-line-endings-0.3.0.crate 5737 BLAKE2B 935b2d20ccd37ca7469641a37aa0ae9b6872715d6ee88d568d0ee16fb76416cb1a0c585cff861825de8cef11d864b1dc1b350911c28d64e071d8fb444bbdf740 SHA512 f8e2a6e333b0e8972febe8b9cf058c8d899c384fd177e0b6ef1c5f94e0fa18192963970cb1a2ba80e3135a8cca66cdae6796e4d84ac6b325bb369575bdfc6eea -DIST normpath-1.1.1.crate 19786 BLAKE2B 39c955c41283051e414f8576fdaa51f11f0ab5a23bfb7f6aaaac38fd9474912721c546810c02da335a9095fdd6d8e37ff2f5fad2aa93d93c21b4be76267088fa SHA512 05f1f498f571c57c2307d201d5fa15c72fd2f297b7854757107bb27684470d43a4d40137d31c735018dd2ba50c11f23dfd5e989909e809bdedcd7bbf018385ca DIST normpath-1.2.0.crate 20107 BLAKE2B 08a86e545ed8d0f1881645690c45c4a5fff438680a36778d938bda03e489706a1086e91e27429a414b5925b15be93a80d8dd2327cae28bd567a058cbec5b6c3c SHA512 a8e20301909e28d6b46ff388ac77c7b093c3654418f74955aaa185489fb859b79fa75b7cc303c0f6ef93b01efe18fa70628b1e85c123e143cbaee98eeb558e15 DIST nu-ansi-term-0.46.0.crate 24311 BLAKE2B d2e678e0eab5ad48534e686b1a4af344996d1b07a0fa40839072df3061bd7e5bc9341363403ea3ef8d19c7725ba3b7a8ed540c63e2209123b1b93f69418288b6 SHA512 b4f37786dc85e0596e2b7b261a5a9fe0265bf1651c39efb358dd649b926b12c3093f307b98bf0c4df3899f0a7cb1854f2596bd5c3e22fbbef42f912ab2eb5043 DIST num-conv-0.1.0.crate 7444 BLAKE2B 4f5c4695006aa3ae77aaf5c55999a07d8ddfab294584fe10d73eb6abbb3f551846646156581599f966a28c74d80d3ac4373c49d2099991f7ed9edb56d36feec4 SHA512 7884c0c6599c66e40b9a79435e1bbcec60aa7e68b59686922dfab19ccbcac6a6e54f208cfb3d5a8a12e86e4dd67e09977d60b69ef6940e308a28256733f36100 -DIST num_enum-0.7.2.crate 18571 BLAKE2B d68d127db218d8c4a34849cbf64a8dae823e9404bb4231504ecbe02236d04d96ac161c3dc6e400a05fb458e42bb24418ff08f937335d37839b0f9174e3a5725f SHA512 a002a35079c81eb39945b3b2a903c1d904924c8417e12f54b9825ccc04a2f1ea1b1b93ec540c746926536851c2f6a9aa71be3c05a29afbd5924236b3e7874389 -DIST num_enum_derive-0.7.2.crate 17090 BLAKE2B 708f474f6be67cf1f3a63d989b6e84ff33a165f0fce98a2d82d99eee71970f2bcc2c9b58395049d0b6e7e089446a9155ae6b7d6621895326c48049416b5817f9 SHA512 f3d825aad4a04bddaa42d07ef4dbc69c793cc53999cc2b32ef49fb28499cd812896e0c5b89b9118d9def495de0caa05e473109a0937876da4c1a628964a8ba6b DIST number_prefix-0.4.0.crate 6922 BLAKE2B 81bd3b588c788e6865104e5ce87119b5e0c5a526042963d52cd582ff23c2f8c9f32b4c445ef0397fc402b6d047e031d8e2c67ac97e191bde22e17662eec3a554 SHA512 a43b668d7314218b86ca7451daa9dfef71f6c9f6616bc34c12d94ae6030f182bcca9da83905cb46f3d49d0aa81385a787e92e4f3ae239658067adc249f8174df DIST once_cell-1.15.0.crate 31460 BLAKE2B ae4481883865abe6a684d63520fb2e91b64d6ccdd0374464200015640122bd68b8a769309773226c8a31d0119f450ee821a2bd35c346fd86adb4474ea7c28fcf SHA512 934a7c3631e9ca4fa78d9577b6672ca0b2f926a8d6c3be9542b906c5968033446f98f76ae6f368a1a5b92ab9064c31a57d74ab6d2097108029a7ea951541ff7e DIST once_cell-1.18.0.crate 32969 BLAKE2B a08d5beee50a7add28bd9e50b18709e7b34574f0f55f80909d5efb7ac5917e5f30bdcf3fb43ddd0a4f420a427390c7ffe1cc1c7191a3a1d939bc6e3139e6eef7 SHA512 9328968afdf3535b2d9e0113d75afa725259d76994ef2e1948ad7efa4ec8a65bac7cfdc31b749d5cd55ad4e28d2e28ac57b871e3067b89182453c7e2413a13b8 DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c -DIST oneshot-uniffi-0.1.6.crate 31794 BLAKE2B d5cbb1ab31f541167692541d8f1f6c75243d5b39ff9c2357d25ca1da5d7eccc3fd2ff7ce4dbaf246e26c6741d2e78bba036388c7c1d63cf024d476737a9bd3ef SHA512 d87a9843546626ae3d0d06f347638b62b4dbd34ae3d1a9651353734d7dde120e474161f8e45bcbed2dc9c9e708cb38e9501d7e40ed62c39f48026009c20adfea -DIST openssl-0.10.63.crate 270890 BLAKE2B 0571a214347f823c9079c1f6d204c62469235ced63cbfdb8494427aed8069f45bbb26b81d1edbddb3602c0bffd54d1ca96204aef8cb85aec041edf45d89889db SHA512 47baa5f2e34b622dff0cd475dbbf6772adf48abbcec5be1cbcafe2beb9060ae46a3d873896ee4b5d864da0b132f0efd956596c49f2afc650a44cff6af001aa56 DIST openssl-0.10.66.crate 273705 BLAKE2B 7892e96dac3b24ad5622833b4061bd82028210f9f26ec9772cebb65905ff6e45da8b21ad1aabfb87bb5610f534018da6bd20c10eaee8c189dd08a7ebfbf12b4b SHA512 2f4dd6e40dd8aff8c04563517fabeecd5ac0d986764649cc9af9bf4ce25757a67f75655eee207703b46fe57661a216ff00144358ffcbc70525447a063fa086c1 DIST openssl-macros-0.1.1.crate 5601 BLAKE2B 69dc1c1f3b7bc4f934cae0dce64c3efa501162e5279efd6af3b74f7a7716c04b6996b306b310f1c045cfa2eff2895314a47ecbb020a817e461c6d77d0bc11e92 SHA512 57e75c84f78fb83f884eeaedb0dd135ecb40192dad2facd908e6a575c9b65b38a2c93bca4630e09ea5a82c77d8bc8364cb2f5778cbfe9d8f484cafe3346b883c DIST openssl-probe-0.1.5.crate 7227 BLAKE2B d1fd6a9498b3ab7f25b228f19043067604bf20790530fd0ab6fe3d4d3bc27f13e6e94d1e7ef49314c3663477d8916b8790b90427f74976143b54b95350895165 SHA512 7e560314150709a34520472698060c4f29689d4e608dc4dde146140aa690350d3603279c693367deeb0f21ab34ef61956143a3447827a2b7a3d578b9ccd6552c DIST openssl-sys-0.9.103.crate 71552 BLAKE2B 4cc1ab93f5a444b4b985c84f6ae90f345da4639e4ff7c5502dc1ae59f842d46e3855057a7c05855f7cd739b5311f330dff361480ef2a0102fe46471506956148 SHA512 61b802f6baf918ec055be90ee47c69fe0184f6d9a1d29c748386192a11d4df115758961ec9b636126a6b42d7d8f7509248c59f7c035905558c4cc35b804a8eaf -DIST openssl-sys-0.9.99.crate 68158 BLAKE2B 59995535bc24f0ca67ea204193aee4114f88538bbd74ade7c22bc2ea1b0d7e41a79118b6d22917bd1e305a43c16f8aea095c635d27a56fc0481a2baa3092dfa3 SHA512 b91197583135c22d34814e6382dc4ad4be9c3905c979addee8688dbc52ce627815e719b9d0b365195335d4d665eaa79a406f89e4c19cef73988938d51fe2f4ee DIST option-ext-0.2.0.crate 7345 BLAKE2B cbfc03e7c960fe3023512a4ad816d657b4f54f8ecbde9f9c4df4c5fee3b36b68ab463c67ad650778279e01c7ffaa63a0dacbd0c080c8c3d15b1611de0e71f92d SHA512 f8539f97b01af97e0b80fc96556002251befa60f8ddd19613311e62f9dc9834d71c22f5d8e7c53c4925046e38cdcf834c3c28042a4da862d6f6a21ddff8d8e56 -DIST os_pipe-1.1.5.crate 11430 BLAKE2B 45abc371ddd363d193817a339f9e1894ec6fd275b9c9d190283347bb023ec7686e3ca6a5f2bf09cd7ee6abb8843ae52410c203af2310bf3e35c280c5b9874ea5 SHA512 d862484e9a0594f31e45531fac9a892fe247c1003a9c365a28083c0b5132719fe6fcd7ed996716a4baddf1f8ec4857d62d05663d3fd7ecee5802005c55368048 DIST os_pipe-1.2.0.crate 10615 BLAKE2B e00c9a1d668253ee8b759ead12708d75b180abd415444fa995c18107317ad9465c11af1f6be67dd8f64bc7d289a0e12096e9593af99c1052aca644efc5d83107 SHA512 77662eabc70f034882da4662c6f9def1796e6564f0965beae961998ed29d47ddae8ef3b8c9e612b46ee6ab907db49a6259f8d586156ea88f4e0431fa306211eb DIST overload-0.1.1.crate 24439 BLAKE2B acb2dfa6c6c22ea95cf58079f6ec56a2bb5e297a055ce717d40633b789b0d005be2bfd6616448cac61bd032e74aa6eed212f1677461907cea2f7f7cf536c157f SHA512 f79bc3321f45df5e3d0e5fa9c4e60524e4e28dd3729a09956766738adcf99ca42c187a01d48701ebe23d39aee00a19d4a07da798edc781b942e866b339613532 -DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c DIST parking_lot-0.12.3.crate 41860 BLAKE2B d1899a1132035aaea3a784290cf4951ea3b36b2018d407e27d333b2a2ce3820e040d635009c44cb6e58ad07cec6565c0347af6f6fb02954eac2d4c348bb036f0 SHA512 368c17203fb5b9e4ecfd4857e3b1ab96b86da3770b8f21be392818c845952f72dde1072a10265760a62aa8a1dd65332bfd585667444e5fbb9dbe3280b5862703 DIST parking_lot_core-0.9.10.crate 32406 BLAKE2B 25339d028579eb45a957ae5fdbac00288b1472d784c0aa7fa2953fcf9279c750d243ce69744993ee8cbe6899633e71e0a54ffc11e39247755685107f2f8dea54 SHA512 4f30fb60ded274d3154ffb00f6f50ac284b6fb97daebc1a2ac897ce97fa8e2ec6ff30cbdadf3b7419617a410fa7525f30ef5e580334e07d4420f4c0200a57389 -DIST parking_lot_core-0.9.3.crate 32256 BLAKE2B 79a1924a983b948a5c2b0c074452a7b2b61abda973d3bc8040d9153d34b378f0ee330e36aa813f49544319c479665d6328be71481f2e1e41bc94abb9bfbd12a0 SHA512 fa30db0fc73b268ab8395adb8bda35d12dc15363b247a95b7c4bb848ff9b8dbfb971a20f320b4feff3317d5b533c59b62152e4c652c1809a422c5671310b30df -DIST parking_lot_core-0.9.8.crate 32383 BLAKE2B 2f9666872894d1c85895437d1353f9e15be2bc8d004ffc8f0e5be95e9dd4b274797db3752eba1c0b5b6071c1b8a71e4857cae0b2aff1afdaa39e92e70be2e6fd SHA512 8d6dfdf661b0f7d0774cb9f61121f2daefd182ac8a2a0d24eab451febfbe1a664c815c163d34a7f3d15a54915a8e22e6c6cd10e89cb7d7598d48d81ad6a3c256 -DIST parking_lot_core-0.9.9.crate 32445 BLAKE2B 811d8de671bf6e0911cf0df7dcaee4fb03a3b223173a3bb8cee65a28724eeb7bac87f62aa7b1df5ea3fc93af3cee3ef30b83d06c6773d6b856a7e6fa5fa197ea SHA512 7f0df70f9f1ca8d3da0b9dcc96e49daf05d95c3a995289266b5333f68818d686d32b0c733dfe3a0f62da78fa45caa843a963923b2d0c80899c33413dc749c032 -DIST paste-1.0.14.crate 18157 BLAKE2B 35e8548611c51ee75f4d04926149e5e54870d7073d9b635d550a6fa0f85891f57f326bdbcff3dd8618cf40f8e08cf903ef87d9c034d5921d8b91e1db842cdd7c SHA512 3a793f0e5e773a7f7defc798a4c17ae9a40d715144632ea6cb0a8c785e14c4212046491df016bb9838281f8eaf327a79f01c1e2ac5f26785c028bc880faff9ee DIST paste-1.0.15.crate 18374 BLAKE2B 69ee7def55e658a9aa72405bad62325e8d6021a4989fbf11c88d1bf05fbac520f7b04d467bc3c6eb45043a41119f65aceecc4a6a1418a9192d73f33134545062 SHA512 5026d3ec7141ec4e2517a0b1283912d0801e9356f77b703d954b379439b8d85e3886d42fb28f7835edaeeac465582da14233564fb010c71425a59c9e1cbd46b4 DIST path-slash-0.2.1.crate 8821 BLAKE2B b3564d0f689ad1b943d132fd95adf2ff654b61f182082bd22f7b8f11dc9024cae8e1b9f3551c4424509db17aef899efd3df96a67e1cd588ffe0fe385c957b361 SHA512 c046707586f25f13d2f9fa452ea340198f6d2e6333ca3af806b9d2d1a61d46b033fffad60d1632ec16062fa79a3710d695b923b831a7db52602b728ed31fc3ab -DIST pep440_rs-0.5.0.crate 42582 BLAKE2B 667d172ec08237e40dbdf6e42f4ddf3b018a78e181ff50a0a240c7138f8d414a4390befa6cc7df41f489fad49703bb5e75b78e9be4d4d477b20e552ca8eaf896 SHA512 dccb69fcc8c85c3b02922964f24a0e2200e3b1649600c175d75fbf99d0a858b8d59a21d897429134199a6d2877163dcdbc1613e4eebaa174ccb26824b4458571 -DIST pep440_rs-0.6.0.crate 42496 BLAKE2B 46d1ce98ab48233799acca4e1aab1d4837ad0c4814cafe6d971a39c5d1fefe034896ce1d468ffe77b9a61f3c52fe7a1ee05e590eb4c67c718356e54da9349d50 SHA512 4c50012b5d04227d0dc8cd919b10b774d7c1abcc08bc5d0f9e7817c846ae906b9cb60cf2b0d65c9ca37d3b5b592e50d5847aebbf136366b4032105b287167b8a DIST pep440_rs-0.6.6.crate 42621 BLAKE2B 311ea4eb85b1d3b450d1a757627956ce15b2bccc96d0d62577aef63f3cbd27bee8c36291679ba36db1e29d447c5d0fbcfc0d8fdeef16613974a9890afd7de34a SHA512 1843649bcb93359226f49a1479075e1ab1409671167313bdb7f4999d9a5941ae1814160026ef4fe6f2ed52fbfdaf75c8b4b6e1e86fb0473774520ad22eb88186 -DIST pep508_rs-0.4.2.crate 33741 BLAKE2B 4d80a7872300e364cd78d7d8f635e3bfc8b22113c9a3226b1467f8408e5960b68eb97cc87fe9c90e50dbd93e07fbfc567d5219ddceaa0e1c40aa47544d8a219b SHA512 4b5a437f4dadb391d9afcb7a9dfac786d0dadc9ee87cf9cbb68644243d000e21272839c3e42c0044138afea5c9d20233fe01a3166384b6a54324e03a3169faf1 -DIST pep508_rs-0.6.0.crate 34138 BLAKE2B 3eed7514426f0aa1a17be19727cd0dff745a6f2caaca2beaa29a4a4070722bb7e5aae72d9aa0ff8642e927fa5ba6801cb680f875c9ad5c55b648b503b7f998cc SHA512 fe7acd77ea677b7bf2096d7f9eeddd89478becf87b05bba604344c1ecff876a7c7feb75ac2e1ab1d39b2165905b206fa3877269e69aa6eabf3cf6db1427dbeea DIST pep508_rs-0.6.1.crate 34148 BLAKE2B 95caea07ffa19695dfac3f8c32cbcea0753a239c41719b9742c2b489024d06c836a04445ebc24e958b456794df52fa8ef0fb089a18d837b64394d251fe313bda SHA512 595e808a8ce190430b1d31af31156971cb5cd922629ab36d627c45ec27a2137badf4c4e6276702efcacddbe3af7a1c19d0d887b482a41e27d961b5e0677b57bb DIST percent-encoding-2.3.1.crate 10235 BLAKE2B cf8e2fd7b359a05b7bdaf731f9ae84c7fe6f468a53482eb2db7f93dfdaab64ac812b3664899db260055a93449462e6d219c695942fc5b030517b197b4df9b95f SHA512 5951ea8315e52cf3acfbaa023cb9e13a136b114c54a7da0bd44619ae24cd2159d4a96469d7572a2fdabd94e19513a033387117d7ca81d0eb409fb383e4acda44 -DIST pin-project-lite-0.2.13.crate 29141 BLAKE2B c434a336716c9cdd16ebc297fed393e9106ef167a693c4aa0b12c681e03141b8ba3cdf64c310916cb7d5cc43cbbfcaaeb39bb5fb1e8b3efb9e94a3f72af914eb SHA512 7f12595d751d315de6c0d380e2f501b74154661eb676987d2cab6fdc956091a68c9cac658df45dbff73615e982e6ae2ea138c09ebb708cd6c351f0d18dbbdbee DIST pin-project-lite-0.2.14.crate 28817 BLAKE2B 8e9875967059faff399fbffff82cf8835982c46ea8df942acf50b038e3f500e04d3d8cde39da5a71ebcc38b869553f8c49830e484d1109b353247a4cfdeda89e SHA512 f90a6b9f5ab8701718f72677a4f3597c1b9f32e5fa53198b47a94696227ea37815997599abaa6058b217c5b32a94602582c6b13fdb66e2d683bc98921de95293 DIST pin-utils-0.1.0.crate 7580 BLAKE2B 457e1287202f16d1873b24bf4f1de1828300128c4ba3131758e64f9784d36d47365f22d85493c3a85d854f0d8dbb4c6cef3a0f5b064014dc03943e58b7ba9178 SHA512 828422b8440cc82ac6b0743e0112fa7540d437aed457564999092b1462cd7672cd6b1f0201b67075431aeedd3d9c5127468a3dd028744109944f7f023c82fd70 -DIST pkg-config-0.3.29.crate 20563 BLAKE2B ed0559b0073890911fb47742743b2586123bf9e9b594aa0d5b2c419c6768cd37e25b546c21077ea6cc02823a679b302aeaaca6c7fcaf9aeec615dd08f53a1f6f SHA512 bac7dafc0e10bef40e427c1fc0271d1a26acb2f5b1cf7cc7a128f4d4f1f3110529e45057b71cea7b0f6ddff26945fe08962285ddeb22b54639e44a2e43af698f DIST pkg-config-0.3.30.crate 20613 BLAKE2B e14dd544612f74b038bc7d279d629034237946c261e3e97621d6ac910a12f4fa4e75932dbd5d3339e62325d0ccf33002b07f04b0523f93d2bd3b1a919841ba66 SHA512 e4bce232e1e1cbb17d1c08c3de4dd12613f5a5238f831c2a765b6ede9b494e647d2416a7d9a0c926104e24066dd1b38df8df98a6c55d62f25060f80eb33d064d DIST plain-0.2.3.crate 10664 BLAKE2B b0ea38fcf6d4f4e3ff91d572b5639f01eac4f19b2c451d27bca49d994a07c6f46118cd58a1b86b3d2a61b7ac9e17e8236f1cc98414738d8c86086d37e0fe4d35 SHA512 6909e4b4b4a0a49e6a226d7393b121ec04beb8a13b1652c23337eb09b3c2e5f202b53a7663dfe7828dcb32c3d18135b514e9a982967c188e127a63b6cbeda252 -DIST platform-info-2.0.2.crate 28443 BLAKE2B f6389f76c04954189a6ee38eca506659b7597b99ccf6c4eda8b9325318de52b40447ed5474062002afc7fdd8411c8a56b9e4a0b03843ed47d54ca9b37e96227c SHA512 06f36f3091baaa502d33322e5e77d4871781144ed4ca33a3097c9611cf78e2e91852b8be59b1869e2e441ba0f8a076d4f25bdab7235e3324247d1b5bf49967da DIST platform-info-2.0.3.crate 28454 BLAKE2B 22c60f2db10908c9dd0e07e74ea40823156e2d795bd6e3c279585a424c692762c0d18885c0c5782c3e6caa9a91ee6f3adba2279bb6cd0448041a667a82404fc2 SHA512 305699107d21673ab22e56dc42752f85dae93922dcef93233f355b73838e54c2d157e89db60ffdcfd38f105ca6804f76c524ebb75c4f94845ee0320c46c69d03 DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c DIST portable-atomic-1.7.0.crate 145385 BLAKE2B 7d9622d636677e3adae0f909405090318a9d6189fc18683ed21074e9360f213b44c5213f3561e3dd1f642547c2c2e6682b9e1efa63243c1f12636bb11bd15dbe SHA512 0849edaa7a1f9ea66182443e31691e7839c857240916521bbd6009b5e692b13f5b315df36e656134651386bc50d895ecf6155a906750009514cad8bfc7e57fe2 DIST powerfmt-0.2.0.crate 15165 BLAKE2B a3e1ce63f5866f75526eeb749bec6607e42cb495bbb953082cde7e98e6aa429ecaa41889d98ff7ed4cf5031258b4f7e0553ff8fc435b3b6f8b4ef2b6d53d9b61 SHA512 0623f92e4d6ab284b3f6dae58220d79d9185df4a738999d68040c50d72fe0380d70358cb622f079c629bab53bb03c6e085e165d5bddfbeea84245864fed90029 DIST ppv-lite86-0.2.17.crate 22242 BLAKE2B 48c4a31a3b555fa37072c4de083580bb769747c7668748541af472778b5b58c3e7ab2b5e178760f542f973774f09910bdd4058ae5fb9d6b10c103eb76cfd0d3d SHA512 539d916e7e5869d832045c1aa88aec519bd000227f9b01d4dd0bfc9ffb640d5f5eb21b05eba718174773c97192a655ad3cb31b53ceb914dd19179a6699b3583a -DIST pretty_assertions-1.4.0.crate 78846 BLAKE2B 68583c49f81ab0cf5b90f6de10ef3aae9b525288fec25f9d006f2eed0877c0fa742dad5f878fc78233b54c0cd32dda7ac1f7161bfb475288d8858e8e40aa9e1f SHA512 f76d38c787e91b3739272e3bebeb9763d312b85a43cda5e1311ba8d6b0e4da1ef25bd66208e772b1cf56a34553ee560482b5ad19c5290608b2aaf9c0d0f0e995 DIST pretty_assertions-1.4.1.crate 78952 BLAKE2B 016df9fb2f24304b68a6bf4fc8e144387f07a5a15fc8d92757cffad11b4a00e74559abf597d4ac8619a3dfea705c82df1b8c8620c5f32c61ea8f212fd9cbf9f5 SHA512 474f77c61cc17bbe9914c56b98a80e5918450205827cd059d693c2d603ff61a0897cad25dde645cb495200e61ddc14333d15eb8bf2de090a2eb68deeb9aec8b0 DIST proc-macro-crate-3.1.0.crate 11084 BLAKE2B 9a9d02f0f34a30668ba94e34d51199c332209c47fd8bef28c452924f75984dcf3aef2c92c4ab3fb03205d589e4f773d960064b4d08fdb2480168f10b84fafe98 SHA512 eb5ad763aa700f2cb1604c32a4bf2fad499a03ad868a22d06b0697b77875b1cc13c739fcf165b2bd547207ef6dc3bd13ceb75e1a59c596daf916f356ed27d8e2 -DIST proc-macro2-1.0.66.crate 43575 BLAKE2B 9eb3e816b00fcf625c280ba14ad269f5893d0523473a24de07c21945f6f932fbd08efb3c339b35d903245510e3f065e1478439b024a325f2bb9f97bc7bcbb18d SHA512 85f5a762f9411142e5ac28144bd380f07f0633ed2e44d8a2545be9fb8f42abaca6b5d45631b4be83b8e8b9beca7438bc52f25615c3a410a3a1249474b1aca407 -DIST proc-macro2-1.0.69.crate 44271 BLAKE2B 9d1531a0b123e6238363d574bee03ad050454b65710b9800c12597f3a9ae2f9bf50c617da0472b7ac0b549afaca19c546ccd6519e648598500efda9c0db2ef6d SHA512 d197cbe9b6100c3193a01fd7dd6b4e49d440290012ababb5d9f139409f0afe816f213d67a03abeb1f3227228e0a1f2446d1dc0a2775363a15d1237c38b45d6a1 -DIST proc-macro2-1.0.70.crate 44343 BLAKE2B fff0dec06b21e391783cc136790238acb783780eaedcf14875a350e7ceb46fdc100c8b9e3f09fb7f4c2196c25d4c6b61e574c0dad762d94533b628faab68cf5c SHA512 ae9366856853f7d96caf7a7581843d36bfc7843f8683897b19ffc666c03b0b1eff502ddb18ca4c1c1a239a368f03f6cc258b0e2795f64b61c6a31404462eec5f -DIST proc-macro2-1.0.78.crate 47158 BLAKE2B c56a24fce3faca9e04db7965cab552d2a976c3764df0a84179b5a89d1230ab355c777a82b4c982e3945414f1f0478473a88821dd176c32d6de394d73a26adb9a SHA512 11956fe03a2e77a925cdff2c3c8bc8804dffab4fa1de963a128fa23f4189976fd2e2102bd346b92c33524beae320b71dadaa5213695a3ec638404196e14fa769 DIST proc-macro2-1.0.85.crate 48988 BLAKE2B 236f2a07c758d0d8628f003b70d4b25d5f0d2bd8cbd3955fc4262d7d9b271c6571eb0fc45c95fd816b426a84ed5ec5dfeb81d8041d4de955cce6f3b9fceda1f1 SHA512 54c61dd0581bb5802e077a58fa41f113aa1fab59026478268ece293f2643921b7649844c1675a21a3a21674cdb3ccf94928e5bd069a02bf6813ccc1114d37262 DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434 DIST psm-0.1.21.crate 23126 BLAKE2B 5972b4bad729d3c8842d4d616b1a469fd59ac7cecac5dc5754f084b7f2c623f715f302a9132cd146f48f323982c837a63cddbabfdc97c73ba88ee60df3d036da SHA512 33e34bb30efa5ec700c135e11fe03447d56e6f0dbca5536fa8bf9ca2c605c65e2dfe0a2a79a0bbe08eb2d2a37e569e31def340e1187bc25060c2f0e6537e3e5b -DIST pyo3-0.21.0.crate 500599 BLAKE2B 8e56a264f6cb8b8e5cfcc1854e3732edecaefe874cbda4db10742c4865a876625b723010ec6d2539ccbb58643b26c5d03522a0f3d03121af09632f3adb1186de SHA512 90b551c6ac4867245b2667fc4a9b74875351aa0417cae6c24ecb4cce1b2d4ecdaa7e23a07bf188490a25b6033985f8598b3ae202917e9bed6f4d72168a5383c2 DIST pyo3-0.22.0.crate 535742 BLAKE2B 772a4f8b718bbec32faa3dac4cad07a5b452fb366280753c3316d932663bf367192483fb5cd0bd405321128e67157b982eaa89264685739a141e021f0f7e2b72 SHA512 44e0237fd3a8d4c7b082c48a5c8a52d8f4cc4673d134f680e29504bb46d870015fa210da34de4c1998defbcd4afdf2aaea4e148fbe093e4b2c8b0d064cd48da4 DIST pyo3-0.22.2.crate 538342 BLAKE2B faf347695117f9fe0ebe5cd7f6aa1b0dcfe718343875d6c06438046deccc1075f104d2a2413dcda41ae9827bc363aa147057b45968f6634f577a6a4510a4bb8e SHA512 e8bae09059f50ffe477dad44499cedeaf3a734665f0fd8e8bd4b44f48578d21e4bdb8d55ceea00c5a27da750761842ddf89cfcecdecb2e7a4a17ab192259be9c DIST pyo3-build-config-0.18.3.crate 29137 BLAKE2B 5fa645b64f50a078f38cc10a27ed52bd7e7aadd8a069c05ec2963f0b7c869b94d29eddda97cc31d200cf749ab8e2cd9cd1ea00e75620287e9187745ae0e100a5 SHA512 7ccad5f245e84895e147389f05270f32d12f81aba46bcd0dc184b8d62af2ea579efc50383502efda40601c981c4dbcf911aa7d8192364caa2e177ad939062cdb -DIST pyo3-build-config-0.21.0.crate 30535 BLAKE2B 71bc1756e1640456cce58190d90f7c1059b9748d9d72a122dd4e28c74ba96cb9fd2bbd80791d3edf313349cc0fbaa669c8e9cecfc925c9828ac794fda17a6ed4 SHA512 ac1ee7389fe267c28ff67f5d6a23bdba57ad2e0dff16e7ef38bc2bc95d0a2a4aca0b1fe4cac8510163c6c5a44bdac128f36d7b34655dff5f8e690db38e5edc6a DIST pyo3-build-config-0.22.0.crate 31205 BLAKE2B 6b9a0de5f431bfc123628c67da040e146e39353d7b42d8d083e1911929dc420622f8a1276229d89b7780bccd02a8e653bcb85bfa51281e72ddfacebadef5277a SHA512 50341f4e5134a275610a5b86e833d1963a0726c2ddc14f4742053c60ad336ee209e73441aca46c8670920ee47a81c76bbd3f9e6412d253a5b389692ff8f3c1f3 DIST pyo3-build-config-0.22.2.crate 31225 BLAKE2B c2e6a3d3d23b7f2f51bcbf1214ab20a298a1e62f85c9af3dab1e77b09f20b657b576feefffb18eb49d438f0ffab525b6bcd1086d500601c327ffd4fd24a719ee SHA512 644c82d30bb27051557efcc9789a81380a64e29bc62abf97de88f42c3791dac74228c7a7d09e0d46d14f07c0475f0bc03fac6ed1367b9a616153e8820b94cbc8 DIST pyo3-ffi-0.18.3.crate 64474 BLAKE2B 32bedfb4c7d88e539e958af0dd48af311934a817282a01f860af7cd824fa1e3825c505463b78cda57541bea8ccbbedacdc0f67bef686e6775fab3787c26c6d2c SHA512 55240c7824ad1e5c69e05a31ec03e2064290c89c4c98f06c3ebc38c311a10b1690571c977a103790ddcc9623ac42fbf525fb028e910baedb9acafe39fd6e4a82 -DIST pyo3-ffi-0.21.0.crate 66158 BLAKE2B 40809352e9df9ed13f833a73c9d50f71e63591a5b4680fbc85b2c10fa5d0ca65b793d6f467723bdc47887a38536fba4c2b2d9ba52f5ee9b2005a23d98778c407 SHA512 4405a6dbb06e739a54056a70b072b94b1181aa5ec06515c32ba76962fe4bce6b2b63cc179b77d3656123eff5f60e650bd6efe026794ad38d37e307f3653a3f96 DIST pyo3-ffi-0.22.0.crate 67420 BLAKE2B 65e4ed1a1ce854f37380aa23637a494226b98941b9e3f13eae8f627db0fea248c3cc93c7e594090407ab169cfdb27ab20c47f7004f2b4646103ee34da9a55f31 SHA512 cede32dc8025badcdd6d00b4a1204c6ceb5ad30fa0b637deecca669f2ee2b8961f88d9d867caa8cae59f498dc4e1c15f3b4049c5f47615e215b0f289fc560bce DIST pyo3-ffi-0.22.2.crate 67749 BLAKE2B 0a4357d5f4fbcab9717d58b7a80b63a63bc329267d4725136c4eac7c0101095a50e5f840638dde79034e5df99c4f46664cfdc2ad437837643db5d475c5705cb3 SHA512 bf8b83b4790832d99de8c6a61a15a43fc189505dd843011933305f7f93c4f5f4849fb00cc2a6fa410b788645f8ed8c0df61799cf801966a925abb9756b1ab579 -DIST pyo3-macros-0.21.0.crate 7917 BLAKE2B 3b7471486cbdfb8a9970f3aba9ad88dae9a2c620993f7a9cb6a3549e170fe9412318020e6c905eb35678d52d65a733e4858c30d33b6928dd1cb1f4f6a037c2c6 SHA512 b842f58813a152055f987ac065d3f38229a209c381b384160a1be49c271792347ffe97fbc6c898b120553e0f6f57743f9488cdc342a5a844fdd89bdd637515f7 DIST pyo3-macros-0.22.0.crate 7889 BLAKE2B 0b61caaed415023341dfd675c578e39cc3e5b2a08eb8c439857c81cf6cb895837f5df28decd7c08a3aa365411ff33a97eb5fe2f20e18427bda133f7df53349ba SHA512 ed9e9d6322fb8d3fd11114899c3ad84ebbc5b5eba58e5aabfc7f9691f02ec053f1c2804cea93d21f2ac9332f5b719b7fee9878faa95f21eb2a2d86f9050c7339 DIST pyo3-macros-0.22.2.crate 8136 BLAKE2B 9dc97d2f60581db1b8ddb562dac917069525f297fe2cbb9aff3ed34d5a08ea43c112c9c7a450539da3536d753778b5ca506dd1b18e1d6b8a3649fc098e7af439 SHA512 f4f4f6af8dc3aa4bcc1698661990ab2112391ef9502e9f71d86e35bd10dc4e1be309102ebb1b7b32751817a6033168dc0486fdb16b35c626101e69f0de807a4a -DIST pyo3-macros-backend-0.21.0.crate 57562 BLAKE2B 12a25a2103d1c4c2e8da291ea64f202d3237eadbf55d7ce2bfaa8b6846df098ae5d0456cc9cf409c16fce323de127d60e0f5a458cb387198f604e6eb8e2a9dbe SHA512 e65b2816464ac189616f44065fbe45156f2aa560e880f0c8b49a7d097ac1dd278a9cf0c504b14de3ee550f0604da5ec991be6ee6fabdc53cef54f0a2f0a8d849 DIST pyo3-macros-backend-0.22.0.crate 64837 BLAKE2B 4961b8c8720bfc2bbd11089a658d64cb2b1e43e150e622d53490faec3b905344d256b2092238ebb1dd92290583ee7d04a12eb5759bd55276e7042e1c948c71bd SHA512 09496c7285b9faaad820cfea237ef602569de3adeaa3362727182b0cd1c8377ef55c0c28f14eb703ea73a86c94acbdfb1384b44ef32b318a76c730a0430ca233 DIST pyo3-macros-backend-0.22.2.crate 65620 BLAKE2B 37fba9ff384373418d3a7341acafb8e33308a64e30026f828693a37c32ab4a74d058f2db84d00467a20f9f267c96fe54c0f154d1ebbae92490e8dfc0d29c042f SHA512 0517080c0d5d4ed8136521fd37aa3a192c2eb8cab58545d8543ee4df9cd0dcea19fe0678d5ab90f05fe3eb0f4a86fc2f07b76f2e12ac1fcf7e7c195c2ffa4fd8 -DIST pyproject-toml-0.10.0.crate 6072 BLAKE2B 672d391f2510f9eae63431e8d3d09825f103672dacbb51c5997d6d83a229ea3a877a79adfec0924ea48cdf143e915a2ff308a5865f26826d459ee1e7f4796f6b SHA512 9e8bd5572b86b9e9a27aa67a7f6a7eedeb9c3f190512577872cbce4fb52450a3966a3576a695d3e54bbe1005f9f6f1be4d20db3af4b354e294af8e8d50b59095 DIST pyproject-toml-0.11.0.crate 6083 BLAKE2B 187c00dbf90bb32081088efd986d2072d8f8f35eefec683403f5a0a509e4673f443293051b7d828a1d917fd0f7bc308852a77c8bc9b4832d361e32135e9c0a79 SHA512 05a2529bf3ff5aab74ed86c71e1a0a2e8247404e2fab2dd24c04a7e832325c30da915d43a1c2e47ed5143824c24d4c961e19bf078e60687faedcec3a43e53b08 -DIST python-pkginfo-0.6.0.crate 211883 BLAKE2B 3ab285b3b48961e0bd3bc746673c32217ed548dca163cb1c6ed7fbebb78a152c60eda0573d95add08f149d0279c7abfcc9e8eea2ac07444e7c1afa7926912dc7 SHA512 27c1e1a8176475a4a16517e02ad723669b0be60a7e1ccc38e0461c2143985098386e829a112e61c65f61b09c249dcd26a1b35228041c91e1face325d1d9f097f -DIST python-pkginfo-0.6.2.crate 211952 BLAKE2B f5663f3850457b4abf04f038ade370838fd32de30362a9880f626fe8e84e56227a868eb0028675ae624af47a169f93f7c199de32d8b31df65bbb160b31713a7f SHA512 bd028bab20cbd57ee0c7d469ceabd923f36bd4fc44116cb0e510c1ee2a1ee6aa8cd4d5efb20ac184c1e9d8a91ffabed1577e76e7c488c6a9aa304d09773219ca DIST python-pkginfo-0.6.3.crate 212171 BLAKE2B b943b04300cdb75011aeb2eb6eccbc21eebc7f5ba17780442d990e76797de81f01b1f550dbb3cc4cecd555ec6c7e66c7d1155b2d4bf8d985bcaf4ab06bb6f427 SHA512 71c8a51860459f0a63ba21d2c9da54a7aba0c65d8c5e7edce695ae1b220e33209b43b058ea8f064d56954dc099c0bca495eb7ba6d4458d582383014af94e1bab DIST python3-dll-a-0.2.6.crate 56866 BLAKE2B e8a83d0e02c281d8a626565fe1cde1158726c9ff718afb0888298454762832d47117d7a1bfd4e3e471e82ce684cd8c36d8d7ee036b07748cbf09aa915c2e046f SHA512 f64be4ed3b217d6905df5787afb3d403580eed1bffc17a251e2c8eab61aee6a187460894b568140c4d38369e77fb51c4d49f6df9127786f344b460951df249d5 DIST python3-dll-a-0.2.9.crate 66092 BLAKE2B 2c4baa31df7f55da8f1c6073525b4498bae7207ee38ef0eba4dbe58088609937a7d7b851c603ae62e5eb5361881e67a05d8c112d0a76aba5d99b13cdccd59d59 SHA512 1914d3ce67284f13551a4efefaeb9c11138fcca3d5082746282f64b7a36f732c6834766d981f27d862a61410eed09b3d281e0cab8cc1a46d424d04823ffaee35 -DIST quote-1.0.32.crate 28037 BLAKE2B 7b243ac7929f3b2e1d91a51a2dc2b11dd29bc017be9db588c83bd137609e2f991a4f3ff8682c7c11c177153e517c4f818285cce3237f435aa43ad0126c4bab6d SHA512 13cae36920dcbd0ad1978be63f20b35b8424d02b4d9992032fa78c7770d61d1fa7ec1532a48793cab48e703236b7bee7843041253b9e83700903228078b4c025 -DIST quote-1.0.33.crate 28090 BLAKE2B 77c4b166f1200e1ee2ab94a5014acd334c1fe4b7d72851d73768d491c56c6779a0882a304c1f30c88732a6168351f0f786b10516ae537cff993892a749175848 SHA512 c1e76c3c017e8554eebe309f8167fd56fce931981c06798aa85a0cc6d64a9cba6ab103f5a1324e69c6f9ca5dc47a8e31ff2e847850542748697afcd265b5939c -DIST quote-1.0.35.crate 28136 BLAKE2B 81424245e1e2b94459df68bb3a9a866c6a364102b5e1d010ede9c5f8278f8406d7b651957d091c5914e936b494b0f6e9a6a1dd8b7d35cd7d7100f86dee4ec12e SHA512 f5314fb6af17cf36c228e1970c569c29ec248954a450a5f90ba9e2896d04f74904c9cec5a1f74325f2489295a94491eee4ce8fb461e22cd4b34e53f1f881efd2 DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685 -DIST quoted_printable-0.4.8.crate 7132 BLAKE2B 8258519be27b010f73fc1835bff917442963601f22cd026d09b8bd12c5c66e691a1e6857432f1b47aa5e044a4ef890d60725e6229f7ce54cbe450900625199e1 SHA512 e889b18c92e34aa6403cad66c6fca00de75cbbda1b41d30f14c27154d93961c973dc77991e36f869a6996117cb3bb08176a4c85f7f5e0a06fa09ab02e75a7460 DIST quoted_printable-0.5.0.crate 7604 BLAKE2B 470c2668e1778805ca855f3c65ce4b9f35148bbf4b4556e846f04b0fc263dfe237f65f5d00d64472dcf384003ff077a13ff0c36a1ead38cf0e1073707add9bac SHA512 90e4d03590b678ae39a9be7157d1943e670e44df11a69ef5866b06d8eda772943370c66e41d1d25aaf877fb3a55ea3c20b990a243666ab934e168feb9a12442c DIST rand-0.8.5.crate 87113 BLAKE2B 516f26bb2a969d0d79e957818133f35d2c0b4d9f1b401098ea23c5b80d27599e842b9298c0c5e46e2a6cb6953857bf8a9fb71ec9366c5ce6708cf17df14f179c SHA512 8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2 DIST rand_chacha-0.3.1.crate 15251 BLAKE2B 645771b2c3e274f085e0837a20306b1d59f6e9032fba8eb38a6d1b30180d15e2f89ffa2a162bf6358da41e030098242d81e71dab4321980d0a4f6ddfc2974ce3 SHA512 8198c580b1b9b0429758ffa49cd8138fa3ce724f0dcf73c767ea7e55611d6a2e4c7cad9950896510def500ce4062b594386c947ac3d89425b4e5c9b04d0b8075 DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79 DIST rayon-1.10.0.crate 180155 BLAKE2B 16cb706d2317d8a349394c521ec5ab550290c5ab2a0a0dc24f0282fa7eb01fd1351a7dc8b5af3a55ea321e6526fbe037fec3cf8b32463166a082a6e417a51fca SHA512 3f628c58f3af3cbd1f245ca1be9c8393eff41112891fc4e676a2b9e26b6cba7cb80d7b6ce46e75bbb65e42fc00c5c0bb6b6a4b59092882f03febeb31f9cca5d3 -DIST rayon-1.8.1.crate 170448 BLAKE2B 982f7ba7d6a43956e6f438921fea2e40d3b398f4f72a4c89f55657aba6aa0d99912a7240b1c32c1dadafa9852adf440e3153a3f0cc56f6582867fa2794bb5144 SHA512 a83304be8334f5aa1c63468ddc749d8e8124c6947f1472320ba0bd4351c9ae582dba31ff369e9efdafdab439571fbf91b497c2370ec15406cfa810f5161cfb32 DIST rayon-core-1.12.1.crate 70701 BLAKE2B a32eb9ae9a71b4f0881f7bfd5375aa7db5681f20f7e0b25e6ecb3161f2aad36b93026c1691d02bf298a48ea07ec9475a237fba457ed0b0b8624aebab2b4988df SHA512 33d0297b682f131c50e1eabc3be583211a5abe790301cbca91bf510e43d6714b7564ca39fab7c4bf6f02aa0df6bb394f386a61320f21ddb6bd7aea1372b5e99e -DIST redox_syscall-0.2.16.crate 24012 BLAKE2B 9497a52044458b1435ea16e86ee072e379b6b11ee31602ea72d6b6072a4a99426f409c2e58108a4e9c36dc193fa49c83951e71f4fd4e158eafff18c594dc01ad SHA512 63b5d876baaf99f5cf737679bc6ac7a9e3d8a41aa93f5c59416ce7e3841e2513bff678773553cfe62fb452707f82acc384ea63aec932a31bf94679cd1caddd27 -DIST redox_syscall-0.3.5.crate 23404 BLAKE2B 85aa4299d9816666bf576f523da5cdeae87b3c8fbb2af103e82258d23f73303c068a4b6c3ef4117ad67958cb31e41f836a9f59f2ce1bc52c23605e34399afcf1 SHA512 16f8f4766932bb54e4740cfdb4f0802f76246c0bf88c1d76c69c115949b124b625d8c3b85d8947073c2e9544f425aa16c10f71fabe3c03d29e424c47fe4ccdde DIST redox_syscall-0.4.1.crate 24858 BLAKE2B c3301137a0b84e03b09d28dfa377ab3bea74d574a08cee21d35713b278d8b5b30ca2a1d73a0981baeb4644cbb88c86c8eb15ab3bb2692e38b93e6b35fab4e0da SHA512 073ed9d96090cf46eab9877742277a013c62d8da86d9caf2310b4fa868af306511936553579e01309f27067d344226cc8dc5e3aef01d9b900da2febd33848f8d DIST redox_syscall-0.5.1.crate 22536 BLAKE2B b7766fcf35dd865fc98495f60da54ca9a6b4cff007f4323d1c63de5d1152766aa5517139b5ec50afca39d934360c701a180c4516feccbc2600085d5d72dabd2a SHA512 0952b5f4f79f2cff04b4c21d964df7b56bc0cbff8d8a2a9a7d38ba66fd69cbd0fb004cd3d8ac6feadde8d9590858cd7e1763da7e4a5de840cdef42b1b6f1e460 -DIST redox_users-0.4.4.crate 15438 BLAKE2B 5f44e9ef20f1a6c8b22239838f8f6a6648dbebd5b4386b3a2c417e39add8c4a0dc32e4369b8bb4e0ea17678140f596b9bc981b1d56f06de6a38a503600420481 SHA512 7c208116d1171b1f52f22aedcf8ad00076a3d1f062f4018f4a9f5fb2c38d7ed83258589062d1559f64e43f3e2a9ddf789799f57cf87a49ad8a37463ea09aa269 DIST redox_users-0.4.5.crate 15514 BLAKE2B 9fc9d9c4875ed711efb75fb08f345b5f4f0667717d37710143742e48251a709c53760bcbc31ce13e6432672f9417be429c38c2e77a6b786887841714290a1194 SHA512 7a25cc91c9d1bfe537f20b83255990681d136ced5aaa7aa0cdb1b1fc024ba36aa1fb75c335c768a85ee078019a9ca2460efd911cad8ae6fe8b0385fb171aa4b4 -DIST regex-1.10.3.crate 253101 BLAKE2B 390ebb00bf5430048412883b672d80737e783fd36f40895343cb38ef2e26e2713418c2fb4d66792bfd3be4c990b4518ba120de229a72cbeb7fd5c2af325fbcaf SHA512 d090898465013b0975a6de87fbdcdf76b4896578056f4da83424bd5e7832547a3d8ace643c379c4f14700a0a88dc95950a38645508d1675306c377879a90cf5d -DIST regex-1.10.5.crate 253805 BLAKE2B 9f5418b577209051640c3614a98b15604a1e71144763a6f00caa7757f0ff67fd833a7d14fe9d6acef96386a2a4eb60cf5d490472e73fd62ca8bb0e78d4f9f125 SHA512 177fddb001e14281510e34070f88f8e5167278a46f1d93d9286d9606b7673346f504e4064d7ad53558e6988a400c728e33b663ab398fee12ae23fba7158da5fb DIST regex-1.10.6.crate 253894 BLAKE2B 176cf6a1e86aa8a5004af5ab0d6cd4178135bdae3caeb6a8276b8739858c65e9ebcf23749398a5a91adcfee9cca3667b306c4adb6307acfe61dadba8c6f3eee4 SHA512 ec28961d226c944321d9953c42e43cf2d23b8ca0d72d6412e7b0f572c407aceb079bb82502d124af94d71d67c9e5e0c9f66ab9f31edf6023ff045ec37b770964 DIST regex-automata-0.1.10.crate 114533 BLAKE2B 0e357229f6825f14339b1d7c40730b83e62bba12115d01ed20313320766e769a653a2fcd2c9d19af51a82c38e9e42c1a31d005e1f44f5b6fbb3ead7c9c74027f SHA512 56d64da361afce82c6cb49e70b99ce1fca3e1969c54bba5f9971db135f8544c65f49feb8827789947b3d1dcefc9c49a7a434a7ffe0d09c5900345a1733723c5f -DIST regex-automata-0.4.5.crate 617406 BLAKE2B 21826731ed5439a12cdda5a1ef217dc3239a0884d038170855985bf830f2782bdf4dbfd1b1a8812812db3a2399dadf8c173e75db635dfabc97382fda0561bba3 SHA512 0e9681d5c4529d49ff2555b7b73cf234b1f321a7fc634beccdf76c2bce5094e8501403e8caee2b3a16ac299cbe4701d891f1efa380b54f9dc2d92bbacd4de611 DIST regex-automata-0.4.7.crate 617582 BLAKE2B 6295d866706b623b2025fdc0c407086fec15053229d708713d0ec165bd526ba25e7468d0009625cbbbc21d20345f0af2eea10addf6de633e8e6a02dddced67b8 SHA512 b19d00d64bb8cd833cfb35fabb162b9481716f4b7f6035c1c8f1de4e0f90e00823d006e057aa3505aeda48c9e1802e61173c4a2878891129a3a918727e43b0d3 DIST regex-syntax-0.6.29.crate 299752 BLAKE2B 2408ebfe5f0dd6578c33f18e8ea9a0a7a84388420c5b67adcaedde477f3f67fb3e39ba9fab1f6892c7ae7fff754c4aca51314601529cabc6a8fc43af38a11f88 SHA512 28a58950d15df1f0ac4ff4185c05b535e8f5bf0b75f79fad24e40e17a02570d1c9bd9cfc919eed8756a1069bc489c5fdccfd04f6b8266c83e3412b7b4bdc262e -DIST regex-syntax-0.8.2.crate 347228 BLAKE2B 211fd1c35ad0f28874d4b4d276e0fb0a27e5a1608f2f16ba2333641b154624e378419daf8d1c955f21ff5f40f6d49c89569b7e11ea5649850846d0fe447a675c SHA512 301dde555f300298f2594490ccd8b92033e4917fe9b8671b8a97db6c827793c73969be85a92999964dcaf3177edda51abeb576811ad6cab9772964dc0a77e728 DIST regex-syntax-0.8.4.crate 347577 BLAKE2B 400323cdad2a7daa8d4006e4dd7a7b1234704df0f80ca0f4bb19447f8f1d270053bc8aa613e48291ab3a78c7eb02d7afec57bfc8d966a48b372a4c80de9b120c SHA512 10719c138d9aa304106fcbf77da0b01645d1b6fbc621abb639dbd43ed5fc3dbd22aaad8b86df55a60e7b2b4fc347b6f41419131d7b047273e146073250d892ed -DIST relative-path-1.9.2.crate 22420 BLAKE2B e2fdcef72f1633b2c315e5d2d316d56defe758fa916e872d84a8450ca0223f54489541175940beb43347c3a1759e4ca4d4afbd49410859cfeb6bfc703bc7a8ae SHA512 fa12c9df710fa3b5f9df9ada9efb13cd52cc10b151cdba5ed094fe74c6102cc557a5f38d05c9c0fddf2510aa13604428aecb4ee9b84405d02a98e6ba3177b2be DIST relative-path-1.9.3.crate 22400 BLAKE2B c6bd04b060013de042079a741a864150632c02cdc493ca1cfd746bcc12f6ad903f8f0748ec68261c979d833089c0fc091f7c9da2b2936e8f75dad8d4638a7b10 SHA512 fd5c88d370865870570859a110245e009eba557225e4297783a606227b13b42abf0c7e69a4beb5093a5a9dabac1545afd988f4c831abe912c21ccd8013c30382 -DIST rfc2047-decoder-0.2.2.crate 12045 BLAKE2B c6b43d386cacfec23859ac04f276348efed831028f0454668c5701f79c8f0d6af43b529a9054138ba609a76181bf96583781653b6220e59a1d33e707b8972e93 SHA512 e81b276a7be47962a2591e7c39447d42b0ef52443f6473ccb18d8430b506f087358dca8fcf70daa2e9005d311a7d233e2dcadcf12799e9d6dd9e6da5d1dc559d DIST rfc2047-decoder-1.0.5.crate 14393 BLAKE2B 530a3921f2c4ea59485e30665170c946da5869af50c4de5ca072980e98dc58e6e6a8077a037b99b91fe8bf8c21311cd8c0719a8b3aa22ceb4fddadc6292fd936 SHA512 9cb031b9edcd47ca5dd6154afc99a8050768f98fb915a540b2d3c1aca28894bec8e92044f335ebf1c2fd439cf9c384700037d76d21cc04b5d0a1ac3a3988fa7b -DIST ring-0.17.7.crate 4146482 BLAKE2B e08a879db4b3c8577bf20d79ba9dcc9a6dc906fa65005334be4f79b040200cda506ca5114aa0de12c309e483694f4a7ee9bf44efdeedbe12ac82edf4afdd91c9 SHA512 1b75cdcf51ebaa8684410e753e1766b88f95c27559baf88601db2cb267340fa03d7e4db38a2a91632993238be1913261cd116e0e8d8b541c3c8a6ca811d19b36 DIST ring-0.17.8.crate 4188554 BLAKE2B f531b15cc5cf88f2ef00b1708473a7e98a42dbbd026027ef2c42f2d8bdba0eb1665621fc98db618252f6a131bd54b1493987a0285bf2b9a22eba4c9409ee1cab SHA512 e4966409a4078ee43bfc9cc659d08ad28419effe2a729c8c275361a7fe0620a3c727009bcfb1d0bab265af2bc107b50c19d868a4e80da7a8bb55f97e8b214358 -DIST rstest-0.18.2.crate 28868 BLAKE2B 44368c85da79308277d9cad96659520ecdddd767e55acc5a4f35e246af64a29112867c4ed40bded5dc0f9d3230d828f6ca98a73adbc1067b60a9119b3cbdf369 SHA512 b73b902c761717acf5848adf888c27e5c58fe304f235e91e1e543cdcfb4e678472b8fe9930cb559be525c0f1a037bdfb2d77b7a0632b021d51976b85288f459a -DIST rstest-0.21.0.crate 42620 BLAKE2B 0900551b119cfb9e18ea4beada1459b770ef263591a466a2247f27c443d8eb0d9dd508626b1144442f990a42995b0f980ccfd6175f2651fdbf18958ce7d2815f SHA512 baf52d34f47b9e400f35810dea724715cb66c494c44e08cf70c6372bd16d4826ef11e3e5bc8c56871c02d525595fe5198c7e4cfff8f2d1b355a2411d8996bafd DIST rstest-0.22.0.crate 44425 BLAKE2B 1660650c95cfbe1a0bc5ff5f660481eccbd61cca3a1c36c169fbaac5b243da475af3dedd83c011bf679a8b63223a9f2bc9edb863dd8af14675ebb921f9b10dc0 SHA512 cf0509ba9e2aa638b1e56c75a29ed28bb4b208c19d625d0b4ce339292e1ae3d7dd9edcf7024abd0e0fc53284f936bb69521724099bb2a1c75c58289e2666ac13 -DIST rstest_macros-0.18.2.crate 57534 BLAKE2B d06bb6453eefa572cd784e38ecf9361873a5f3ddd5dc4926728183bc303e28a304030d45304bb287019b42337d78f294d9ae350d4204fee027b68c264272d86a SHA512 614944fbd51de32b5e7ec1b485c12cd68ed9fae6ef296f9a9811de2495bc27887fa5ff8695c619255ac18da5af2b6ef8a557753d96b4c1ec3d711a9036bc7392 -DIST rstest_macros-0.21.0.crate 54797 BLAKE2B c627a310467fbe13b1a91fafe7d7e6011876f3f73bb53016650123dd75a54a0b9b762256f721ba62cf4535b23527074b11a48ae837e1513cf37ee689b8932377 SHA512 8b1ad5feeb4820e14f64af2d1db081ac98d227a0a9096206c32dbb32501b9a59e44cff0abac605fa6c4a670958477dc95c48796a0dd9c83557acf1e7c08dbd87 DIST rstest_macros-0.22.0.crate 58923 BLAKE2B bb4c1d95eabdf3cf25ad455b9f7781c6254c896139bfd408584153ffa43fee35baf101a2c3db691f3a1f0023e6fe4fcac40bc215d070250ff2a9b3137aae3ec2 SHA512 57d96487c8a230e681bad99c1ca379a41119828daee8807b1ad87a90520a4beb3ba319019f0680af577bb07e46f1a30b00e013be7c407e4071667ab33f050080 -DIST rustc_version-0.4.0.crate 12175 BLAKE2B 6fda2ce03eab45d7193fa0d70175cc7ffb56b7be85fb1314092bdcfd3948ea145420569ace3a47218a4a2a6e44a818862cea6dd8cfb945475496f63b591c29da SHA512 f66da7c6efe431db06cd01180d84ba67fcd38f8cd6ef693762957c00ccc2211f23c08079d7f184776e08f28d2d6ca3bdb5f5016f7de245c6193d4722891ba1db DIST rustc_version-0.4.1.crate 12245 BLAKE2B 0ed627c560d88e5ade830cc5f72c62f6ba88be3e30d0f8db34761fcd0b284e5b2fc063c240149aabdfb12c8410ecdbe50cb10a3544500b5a020f95a31cd6709c SHA512 7aa8a487ca7411b6d23cae62f7568fa3474a7b1fd1589621071be3428a550ed3b7c4ad68277a8f86849e5900397d7d0e9d678f5d423742a045dc7c660fa6c598 DIST rustflags-0.1.6.crate 16805 BLAKE2B 2aedada5c0fad93186ad513c526d8cc738daebe1b486a7abca89f0f799139e16f683160005c7f9d692a1576f30c349a70bba250a51b9c14c0310ae2e1b902744 SHA512 6de4bf2d442d7a536ae061232daab3c2f4fc85da1349ddba16d51e030e0714ad027e70200a3ee0356e8b1e7344ed5167896e4aff0e703d63932aa8ec00aadb6d -DIST rustix-0.38.21.crate 358962 BLAKE2B b3e4915385aaa1783e0024caee2c454d9ce66542ffdb9ab0f0ef02f07b6d583a49b29b25a604832903f7909a0362bcd2260958cfe3fe045af4df2ea5c62c1da8 SHA512 f3b147706e1befb9d743bb57c7f8dc0a1ca8f244ed98069dfc757ee9d7281f097531bf7d1028d21ac798ee27bfb07b2ea6ac395dd0bc6caef4647fac88669833 -DIST rustix-0.38.32.crate 376999 BLAKE2B 681ea50f5405b3a749a26a481995d3a85800378067734bb857e32e5d3764687b0da4b3749d227174440e432b374ae9ada154a8288e4353ca2ff1b851698477f4 SHA512 8f028b4df785aa78fc798f3e053d0a4fb9b3c552a47f66f52f1666f4c1324441be6581ed643c4ef0f56d92e1a078c6d3b45be183fc3df0ed1fc89de0d610cad6 DIST rustix-0.38.34.crate 365160 BLAKE2B 02513c2513ac45897b659f0d332a0dc32401d238b8fb64ad4a90ecc4d8952fb042c0bde4bf13d52630cef34e73e96dd32cf772a8601b4f6eb5e2961f0a394add SHA512 717cf26e2ec792b41819ff964888adb265a215d2b6c6e2b7a8ca1f7f793b713b853bba9cf03c2cc88b0f9a5eb1a0478faedbc05526f39bd81583e7b1f764756f DIST rustls-0.22.4.crate 333681 BLAKE2B 01f84b7f44883c807d8651b6058647180d6e9d48deb51fab0e76d7b587ad11face13215170db3bb7d0216505eb108438dcc3bc08ed2080816401f3955f73fbab SHA512 0b62c741b73dd49dd9d5531c9ae749fc8eedd4a396c5b4c02b1b33062d56c84e327e12f5a984b9ca22c7984103896d4ac69899032397dd6eac1b737e0647e2da -DIST rustls-pemfile-2.1.0.crate 24757 BLAKE2B f356e6b29ae360ad55a7d70e78d053982762f190b88fd569cf2d0e9481537ecaf01afd5a1c40a3a840eb0e2a49fca8665c68eb931229afcb39430d7096210b16 SHA512 0a4ba2f275b715bcb13f9afe7c24aba58b8f283cc7fb683c1c338c02eee3aa80aaf0c8133d6f469b1aa2c8c48e0ff616fa4bd1e6d527f99ad984f2facd38fd30 -DIST rustls-pemfile-2.1.2.crate 25928 BLAKE2B 790545dd6347badda8f67bbe67b8d4d7de9f24c134857840d7ba2335f2755cf03c05b26c16c8b1e397b3257cd39a6d3a333103c2c3ea32ccf4118bc3d42995c2 SHA512 35127c68250c31f2fd6924355ec37d5318d8a86ad38da48e68b3ea6e241deeb019eb967c510e95230be6d6c3357b0a85aa022942d21a50423632f8e2496177cb DIST rustls-pemfile-2.1.3.crate 26757 BLAKE2B 421c0e829d28d94fed3356195ad0628f7f79cf8c25a56a5699df6c385d437dbfff2abf6bbf8b63af28658819f225d2728805ea0c7111e572fb2bff0523d31e42 SHA512 94b98d05783ed0920c9ef89259e740ca77f8fecb4ce4ee894b7ba30acb0fe82f41cb2681b5eddedf8e3ba7c68d1dd740132a39028a99ce2e1070d7d88d99d641 -DIST rustls-pki-types-1.3.1.crate 21637 BLAKE2B 7734df5facdf21120d0dba9d6e2c0e30ac36d4368048e89639d53e68d6cb72a03cab08dc64e443f6d5b43c3f25020016bb2010ec8d20c329fb60d6cd93c9134b SHA512 741cf0def113336865320aecde54a56cd5bbc7f3aad6e71dd209b4e38b642f42d0244b6fabf03a55467aa42fc3d1582bfa1fd5fda6402ae2ca11191f21158939 DIST rustls-pki-types-1.7.0.crate 29555 BLAKE2B 9da5d853671e2e33f46434509e7c83edf487a6a940e1bc8937c3ed7900cac590674bf2c5a5edac6055a2bdf763b132d4624a8c51caf0250d5055ce5e8f4bc5eb SHA512 5502795aebd7058084d0e30d6c09befc4182493113207f539a8d42006d4189158e9028245aa627d6943a88514b6292fbd56b5ea1abef8c83a429bf6d641f6f11 -DIST rustls-webpki-0.102.1.crate 196873 BLAKE2B bc0c573369bfca4ddbf3a8f8cd7f62cad3e4f9bd225a4221355697e82f913b11078417167575204523068da1e1b3543e028969d524851dfea31c0a1da8576d0e SHA512 cee1d6b0251bbc554607415142d1cac78e978b6005d375394e8cb09016cf6f14da5e08fca1a8f19f0add505a1129ef81f37ba14f86eb1ff78823290873a9423e DIST rustls-webpki-0.102.4.crate 200657 BLAKE2B 7d6c27ee182e5b92fef74504d9331c476861b1ef6f67df44b31382d3bebe3c2c1ed666fa535b2a213ad602449fdd23d0ad1a7b89332efeb950686ab6065278a7 SHA512 f5fd01401b74ce3bd3fee6228fa01c29f0ad005eff0314ec19ca9cafe401b056270545b239050cbd72fd22b64a5376bb1d1c3cc5e29303c7d502d5983513d8f6 -DIST rustversion-1.0.14.crate 17261 BLAKE2B db30d01914059a893bdb4c448ed0bf04852085c2d948bfbed8819a1d2317c34133cf609abdd806ad628b86974a9c1ab9d09f79743cb8e13257ef32cd444f49c6 SHA512 466d753c28c4899ab3da3e9f3366f7ecc435d484f51e0c07acfa5f3367af0de27ea3bc75efda22159b4990c976b1466a27e7c31c834c72a87d8234318357454b DIST rustversion-1.0.17.crate 17621 BLAKE2B 1f077ca6fd90333724d1ea9df7f5b178f37f895b71a7b2814e9ba8618bffcd2307f9cb4ac2eea25d461a6686a4b5b51eebb80f1b1ccc773d4da1948c47fe8abe SHA512 0565cddecaedae17e7cd99bc34f54cda242d4c29cd4269f8e3b178ff91d49f3682e7ffe66e436bbb138299736c8e55cc143fefb74c076911fefcc41ba98064f3 -DIST ryu-1.0.15.crate 46906 BLAKE2B 6d6949e43aaa27fba0ec6002fa11ba859af8d867f87c90d88413267186abbf6302b817985bca3d577ab3fab2e319e11756f144473a16330dfd8fc7b604cdc4b3 SHA512 4655b5647f919082a9b84b889539ae7fb23a1201057cf280efe79c58cb5f040864efb7812cda5021bf6d34838a15d173ac8bdb0fb9fa2dba85173d3efa5a826b -DIST ryu-1.0.16.crate 47351 BLAKE2B 13c72ec8aa608f6c53cf27c95d06b90839c5bec5e54b0441e9c4f779af3dece30d01a2276c717a733f92406a5a02b09c045b2b5f92714fe492d7263b6c6808e6 SHA512 89e3e18346ae6e4035787766f286a6eb62f5294e39ad902cc29e95c53781c4e5dd629f567f22ecc7e9fe9d1c273323da9b867aadc9cd8a066727c58330b51b10 DIST ryu-1.0.18.crate 47713 BLAKE2B 409cdf4b4e77685394018371e91ad6fdb175ac57e1df9f902871f13208515e5a2ab1daa226fc1e7291278e64448332845be4cc9409bce3b2f3daed409259e104 SHA512 a9b2beac778ec47e6be303148d7512ee681bd2361f6e4ac6db32c8b4baf86a8c5eb5b0d02eacd6131ae88c7b5105c57018c3050676e0b3dd1ed9c4d2fd650e84 DIST same-file-1.0.6.crate 10183 BLAKE2B a320c8343e0b38078ba81c4f0159d886bf47764c74efe0d7cd2b3218426e8341b51e523c00a9e5fbc2ee1057618296bd70b576c68751bd55d6ddb352defaca15 SHA512 3ba35309742c8db63210d9ea78bff4ecd80471d69e6238eb96c7bf0673814f221e2d838fe6311bfc5a0e71b4a7ccba33e07859c0b9cff2171969ff08a4214a7c DIST schannel-0.1.23.crate 41667 BLAKE2B 3f34ecf4cc519f5302f0ab5207907a275c68e6fcbb47630aec4ed5d5f1a1cc7475f6d7a8c22361e9878002f9f54314c1f630ab0c1f77ea309714bdb7ada6c9af SHA512 dfce25e3b8bc09d8dd1fce2783fe02ec83f74697cb24aa212ef9369a628685ba488f821cb3e5f863798e0e59995038c8d748f74b89f7929eb8cfd804d5066b84 -DIST schemars-0.8.16.crate 57072 BLAKE2B 50d4e73d6993b72dcadbb60764cd5e2c663f48aaab5b246d13ae5b5f04eab8ad279ff6d09a77caf8137e7aef746154fb21f44ad195f2148ba4befdf057907a41 SHA512 738022b563bedfc73f2f2899216b8ae4cf0f563c1a6ac91639715d5f36446d7011fadd5554b8a4e9e569dddff836cc136ea2be5e65b72f85613a4a890d355a06 DIST schemars-0.8.21.crate 58475 BLAKE2B dc3e96140728a9aa2a4ec5a4a46e12f016635d818dbd78865dc0281b6f0fc05174fe7dc0ddf085f0ed5fe26d4a4e6b1bfecd6909236cfcd83c9471b876d2d01a SHA512 23a794ec52d83ce045c8b2d633913b3b29e4cfc9d0a29f76aca8cd5b31a9c707ffc04c94390ab719b3c8109f37c11a00dae73ec1719087dfe7b3c4007beb066d -DIST schemars_derive-0.8.16.crate 19064 BLAKE2B 619e94920b9188b683f576285ba718559a517377801fe7b09aee9c1db188de082331c7da8de34adef547a1cd90f46cff2d1f9dc02d8733a26373fb7cfe5e7dbc SHA512 000554c30ea0b8d50752244204d3eeaa76f8b96c9e22f3a40df840cb68308dc94ac072c52fbc8cf25658af88011a69a5fc1b9ebe910c20253a8f5a1162601f46 DIST schemars_derive-0.8.21.crate 18703 BLAKE2B 62cca4add2d8282e0461d52026a3d7b58cf6a8b34819179336648300b8618056c6a1eba49b6bbac098a101d73ddf577bf9e6e8afab225ba67cf519126c6f9d06 SHA512 2e24af9e86aa1c04921608a7ff8a62ac1c3e7971591db9c8488b6e701f289fe56931ad208bd73f2542fc1d95863fdda2cef9561585b7e760eb99e187661ee102 -DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb DIST scroll-0.12.0.crate 24145 BLAKE2B 93f070ad4d0656b6cbbbca78d27269e8fd5895c515bcfd51152bf5ce2756d43ff0bf13dd63201f4f1207feb993bfa853c9567a298a040369dc6be91324570deb SHA512 475a9b3f09d4164a7192c9d2fbc209354b9442e669c3cb318bd3f31d1a407aa328543bfe315c12ddd962bf8518ac378476d6b5677ecea170e6d507c70c4ca935 DIST scroll_derive-0.12.0.crate 4693 BLAKE2B 957aa96820cf40ea49562dbc12a419c7b8b06bd94a759aa5494f4ea4fa08a5f154a7dba8acc3d8bd41c1a2f259bfdd2d3f4b4dfd3dabfc30fffa021b4aee4930 SHA512 db2ede0f6d16783915f5f155174fc0cb700cd054a0ec54fddeb899f74da4dc2ad5acd6f0784701f93a95a42cb04c82e7a7de9680ba0fdaf4dbc51a2358610bc2 DIST security-framework-2.11.0.crate 80191 BLAKE2B 23515556ff935e7a19f282f7dcdb28bcc93ff1b14fae069d1e1be35abd5651a38c7c71594eae085c8385e48b25fb84b6f5fbc44636b5d1badb15e89ec6acfcbc SHA512 7a1a1d1b807cfcc0c87b27a13aa0007d5c29560a45f20963cc84fc705385554b969b4062c7f8b15fe793291ab624fb2a5257c05d140c53200c2eb344547652be -DIST security-framework-2.9.2.crate 79295 BLAKE2B 96be139f2d2b9bc2fec7805c9e90f19f68fb6cf3f09a879f1d5952b502951900fd6889451c6866e53394859a0f8a842b4a674c4bfa82cd71f48195c0af365475 SHA512 fdc58c1c12ff849af3acf34208411caee50f30b9d55e20ef9d3922ee37664c606abcf90c4b415e5c22498dff2116fe2b2f374a0bd382c837ae7d281cd1a0a54a DIST security-framework-sys-2.11.0.crate 18718 BLAKE2B 4fd8e8eabdc910f656cbed6d6f941992eebc2ebe29c1d85e4ee2de5aee2e4840f2952ffa0b0f9ae88329a2b16d66c3575796f476b873c6bb3c3efcc8d119ab6f SHA512 e3848a45391ebd98026ecafb0777852aa826b465613ef184cc33cdbaa75fb91053d46d417dfda6398339abd3b67788a567562e99b3c509b676b7ee5a4372acd8 -DIST security-framework-sys-2.9.1.crate 18284 BLAKE2B f1484b6b691f3616192ab363c81eb3d6279ad0bae6bb7fbc4eadfd9fc6b6bcd5ce42fb8edab1eb8934f40a1d42714eeb8ca3616871e8f80c90318834901e8ca6 SHA512 3118d1e982d94c5fc6e8ad6270ba398da98a042c7a2060eafb3b78a54491091c46529bec30d4f871744431f01b828ba2a795f695cd20d008441839f3c4350462 -DIST semver-1.0.18.crate 29703 BLAKE2B b1867f552ac87968d895c5e49123bcce0f8aa0ad384e421e5ac88bd04ae203ed6b731d5c77fb8488ec6601f1f02a8f2a207a9d21f1cc66d433032628f5d7beda SHA512 698dcd37b354cfd6ee452dce02d16051f23088ce53f0b4d099e1e4ad0f9350996f0b9b2e1c3ac7d5ed258accd92773266892e945fcae28055d4671c7ae5aac02 -DIST semver-1.0.22.crate 30446 BLAKE2B b77a951d959a3685b0373c80b9991a8567f8926d093b23b7b8fab48595b5d565acf7408fbfc8f4d58331f39e316a8068885d28bcd70c1476d1cda436a2dd88b2 SHA512 7dcf9b6a02650d71d6c9ab3c29e44fdef95af296208f26aa7be6fd6e16773e5e5e66418c303a0589d1165df6dbfd46ad6ebf9eb5b3adab25a51f340947b2d949 DIST semver-1.0.23.crate 30622 BLAKE2B af5f7401daa2004ac1fc419ff907a65feb9b11743ad0feca0929bf2409eb81e03637ec5f92ba9f38ea386c4ee5cde72bd3d2042083e2fb0d6fa0b839b1c5093a SHA512 5ea1fa17c08d1280c3a4bc8d28494e88ee05acd5dc969ef6f0c6f91fd3b5a8fbe999c9e8bbd2da383413038b8d29fabf02b87bd5265bbb8333f3fcbe409103ec -DIST serde-1.0.182.crate 77171 BLAKE2B 54e3f0bb182cb1d9389d176ce504d6a2720b3868df0bd810e9eb1e730efe47c0f2035fd0b5c021da2d476d005206e3a44be1813477516c872844ecc00752cb89 SHA512 94a0f0e2eab1820d398647f79ce060d23112ff256722d395252d4225c5bd7bcccd79f944e761241df4e862c44ff94ffc3cfab160733f301545e4ea2cae7fd967 -DIST serde-1.0.183.crate 77210 BLAKE2B 280e3d253a29b664b4e2d17f41397b17fe22af64417facca42d6ca0c839f1def745380a5402d7a87345bb16f4fdacf9a8c01966579b8c08fb06c05f097a87e68 SHA512 3a27efdff92cb1f6b50449a761efde781af91584b8410fbf5ce37b20005e7d46dc4c750fd1730e15468ea22aac7799421c4e60c74243c65ef7916d3cbadd0ef8 -DIST serde-1.0.197.crate 77087 BLAKE2B 4a4e04ededf5fefaabfcc4e17457db823239e8eeee7631a905ed47800ca10d26a93632e3a9d1b784b83f84168d0d649cfa2e6f5f1e68ab15a68e837cd5b6c699 SHA512 69e42825fce6a0a5d109979785daceacfd6afc5641e202fe83da32e2b1f968416557cce97fa014839e873e65f85c27494c8f8e20e6e9e4fbedf20d0291880410 DIST serde-1.0.203.crate 77935 BLAKE2B 3d3dd4f81f7d74b60483d6759879a9f87c0c7d615aec308bad1bc575fac4e2071dc86551c2789e87331dbf8089e923ae56fff82e6f5a9992cf850121b052ce1d SHA512 a8d302589244e41f6f675e8d199b2532b29f62b63e45aee141a93dad96033e4bbb27ed01c11e329ec2266cdcc6f2a40f41dfc7d1b9bada69aea81d35d2d82cec -DIST serde-1.0.204.crate 78253 BLAKE2B 6fdebf3cbcc0327b404caaae43c87ba2b6105374a5ee3eaa34d44866e782132cff535da4c069c007783b7b6468d55cb1ceb6a41da74b9eab03ace7cf4811e09e SHA512 2fefbeed0117bd791fd25dd5ad0c99ed4f60aac5919605b6f642050f748dd472bf9d4d121b78b0cfe8719db30a675559d097bcc7542cb57451d1779dfd8d294f DIST serde-1.0.209.crate 78364 BLAKE2B f6b4c2bd931a8067482ca033211c4e85c0dfd6084cb599c38a9ba666cce30489685a3a6a8a539eb6e41141a52328943dccbfe25dbd857af16665094fdf7c3f45 SHA512 25d2236eedc08fa3b9d078a1971df705c4f428b7a4e6a2d28d9f0f9893c19de745bffffe3fa9f3c08074bf4359aaf09cc28770e4b14c21c66d6a0b9411738f7b DIST serde-1.0.210.crate 78338 BLAKE2B b3621d1313312177a346313e6e384fe9660f74eefb18e6cffa39fc2aadc0ab73be84b9037c59b716e5feafcd73f4f054f83e6d17d82746984b3064bf8d3ed338 SHA512 0d853ca51543ae8b4a0c70204ff4e559a4eec77af3d3bdcfc75c5905c80d4ffd1bd9eb8258ea4f6ecfbdd26477ecac7dd698d84d86759fa32e03a9cce02fa4ae -DIST serde_derive-1.0.182.crate 376750 BLAKE2B 56bff75add8bdcdc7d887eab1d4b0d7d8016a8e6069850e11b07319590aa42bc2fbd57ce69fc4866d62c56768ba236a0642dcae24efa67e2e67be8f9bb2161f5 SHA512 c523b31d92597dc2d80ff0efe491f78fc45663db1f5a86769f8e4d90738ee67c1d7a0f09ae8bd0a9cac2c59c88fe4373bb5e5285ed7227ed983a47aa0f0e6552 -DIST serde_derive-1.0.183.crate 377265 BLAKE2B 041dff0dd5822b3be992cc65c8d789c86f8dda3a42ac77dc1a6c44cad4412c8c9fbb02f7572cc1ec4e4ca731d5f57a765d30f9357827ecf8210ae7f54c26d8f7 SHA512 c19cd2c9665b88b70a12b972c5b30d9ac6c604c77578bda5d7c6c5dbe01f097c1d6d165f1d73c204768427042b7521f43e40ee295c173e685c9ab1b4c23c8fcb -DIST serde_derive-1.0.197.crate 55771 BLAKE2B 73708908b6d1e104af4c63b498bd25c5a728e07e22afdf92f15754c0f17636efe44c0560c1f0df1b9a30708e8e8894a62f1ea57c234b6dd861cb9c8dc044eb4b SHA512 669376e248b76a5ee8b9c93fd9fe6d35372e7267fbabc14730539ef28a94e405ee5e9c2cc2846897d59d6153742cdc6799f9e2c87f20b9dad119bd3a86c28994 DIST serde_derive-1.0.203.crate 55867 BLAKE2B 1bc8aa96328bb83e4e4ff527b1df855bbcefd333f0c43c96d1e0b93f98a46273dd88a21653bccc8f517c4fc06d17b9b44332a963d024796e0a2c18a5bfecc824 SHA512 b2aeeab33395ac11ebdbd922fcdbda29f2592e7a20e78aef250713baf269cacf497271be7aa407f657aba33da132df0e035be046fef070f915f234097d1dd392 -DIST serde_derive-1.0.204.crate 55871 BLAKE2B 8f0cdb244a820712d557a3273e505c4461f4d7db89e8394040b4c66ede787b6b38b4c9923b38959ab4042c9076b8af72008c0dd15ac93a0ecdeb99da8fb526ae SHA512 bbb2b5e60e2af5bc7528b937ffaf0d3ffd433dbd9cb2592c1e07090620309057e4f11cbd6112fc1d2c5557e1bb3c0f4d59eb06ff06fa021ec683ab880997140e DIST serde_derive-1.0.209.crate 56023 BLAKE2B 752bc9f46b880d0ed8a4f7e29ffde1343c63c4be1e9740afb1a28dcbff5bedfe077eb51c7052adecfbdbd9942c30b63a27914deb6401a2ecaf70fef0f64cd80a SHA512 22c4eb76412bd73814d0b86209b110b9e59626f64b41cbc250755144e545ff30fa69972ac93d74f988a3a6a239d9138f4e8a23b283c746a0aa5fcddfbe077cd6 DIST serde_derive-1.0.210.crate 56020 BLAKE2B b346e574c99b6a8b12dfc29b20a4fd2daf8abfabd3714ccfde059a3a1f14a5628d4acf6a03f8076174fd28adfdb7cb9bbdb8ac0d4403aa2f43e917eed4b08028 SHA512 1c54d70a55007c00d3ff3d8c2096f4f9966431ba7bfd9195bcf41932de71b71c4ab934f9a8c5067cb56a042742cf0efab07377dbabf12feb1af6d20399de00b5 -DIST serde_derive_internals-0.26.0.crate 25382 BLAKE2B 7829d9f7efe64b057efea96d60e4a53623757a58fe7fdd53c1225c0a1f1c80338aec9e2a8c4033a1e90f9e18940796601a2ef62f9a423fc39adc00a8b9b6e065 SHA512 acf635d10b41400e2c10d326fc7ca60dbe9094c2d1d94f4f34905e6978b155e014aebe29e0cc2b00587c97751360ab0dfa71b5c6901629bda9322754e2f07890 DIST serde_derive_internals-0.29.1.crate 26189 BLAKE2B 09d2fd10c73ab114efe244749678c166afcc3e6217f2a4c08c01a44e546471c5f7cbb7e79ef908fb306975852fe1ae32b7988e04df3741ca82db1e3a3d6979f8 SHA512 ee7c8a35094b8ee1d8958f4aa177e5c536c6c7706d446e875f1ae1b5249738ecee053a0239e1508114b747797fcd080ee33ed88929ff1f4903988f64f038b771 -DIST serde_json-1.0.104.crate 146130 BLAKE2B 62a613eba9c39bc3f007404995528ac101df3e74d90049e9aca699029f55ce4cee54a1bbfdd9e69cda9ab3e7ba9893fc66f3f9bbbc1eb358d570dd292ae77216 SHA512 06b2f3c818fa5819ff936d2f456fccded743ccc336359bfd1371aecebae9ca2d4f77879f61d1cda510b7a1aaa47b0010688b8e8c656388950e79fa5d007c7f6f -DIST serde_json-1.0.114.crate 146986 BLAKE2B 229f0a8e2c0bc35435b49774fab9d4cec4e2323e85e2f97ccaa2a18277ecfb9cff9e9b165786e782cba043e9ac670717364b0f9c145254eefd74582b728f2186 SHA512 2c35cd0e29ee2af6046ce849b5854b82b90f402b51c04ea86b32ce7d67869736f17a4d028dd8245c31201036bcca7a1d3df11d842a92a45b0eaebd809687d436 DIST serde_json-1.0.118.crate 146962 BLAKE2B b85f17cbef0cb9fcc8af5d8d18a74850804de631f8ac94193bdb0ff8c95d4c8507876e4802005e0bc8fc4745d52c79be153d825e106090b680b620acc5b1add4 SHA512 1fa7e01d849684e3ed6f9bd67ba9862f822dcecdcb9110a43182367225f559416f855d59f2b8bd943756957932710b930244963a1f47a3d7d530be19dd412f20 -DIST serde_json-1.0.120.crate 147062 BLAKE2B 54f93ef2b0f1c9e7c5a8e8797fd298c96513913a20c3e08a21aea39a15ffb5ad0269d5daab10fceea7164ba432e355b89d89dea2985f86bd0e73ac3920f827c5 SHA512 dab44850326f9020d6f6dd3fc8147e22eed693527fe9cac2c6bc8f6a030f461061e8e54d2780382ce32cced63b5a016372a4f9938effdd1631d8f3dc96014e3e DIST serde_json-1.0.127.crate 149465 BLAKE2B da5048f70a0b7594be0112efbfccf8d6575a77b324d59321cbd34d355978aadb2ceea1bbcb182412547587235f58873ddd2232822f020e2db85c1599cb0bca8b SHA512 f14f5eeebe07261daded47c3cbb6d511da4633bfcc46ea1b0600063730dd4211a0c310959e4f8731a688d18d60a46f6dc1c1a1f052f170b6207877b93742a88b DIST serde_json-1.0.128.crate 149520 BLAKE2B 246eb865f64a0f161b79f3d4f783dbadbc930c4a19edb6c0fe8f0c6145c7c47be4b692d3e084b1b500820ece8e94214820978cf898926dd805bd431fb411bbc9 SHA512 9e6290d3a6a971b3c37bbc97097b8179e64c655779b43c7b75303a35ef7030f5401b3a5f62cbc95a7bd5f42ecbefb0b469234d78a76c8c1597726d8e08908a7d -DIST serde_spanned-0.6.5.crate 8349 BLAKE2B f4f8f798ae3a02c0d5178aa12a94bd1bc08fef88b6a81d782ba07ba36fb0d89927ecf621087faf376b6e53de12f6a96e0880ce0cd01ecc31c5dab7dadc6f3ff4 SHA512 bffe2398629ae5a5a5bb6d5fc2fa0f4b94d02c96e25d1be2fb9ad95d8ca2fa9bfdeb3af11049ee9c050e497f3beca108f03020f88f6de29b208063c3898af354 DIST serde_spanned-0.6.6.crate 9120 BLAKE2B 6748b04f30cc63297fe01cacdef743b688aa0777b600d603919d05676913133450c97a179c6cbd4a62534431b74c4bcf63a60c1185ba89cd8266411d3824aff9 SHA512 e07254723645c80d10c1ab9a7282251fcafa0b5144991568b1b1f85e7c8c8bbd82b5992f2ed73fc7a988f6a0175fd79fc927c6b28b7420e83269c3364d7ead4f DIST sha2-0.10.8.crate 26357 BLAKE2B 1d01b381223a931dc631ad3a1191f5378b1d2f3f9f20474c5f020e366624c73b08330ce8dc4bdd3e63b15f647276f533de655b545b77f70fbedc1a1846f44f0a SHA512 3be73133a6b7690e14acaead47914dc92395dca4191fb657a2ea186fefd0ccd94d12a1121d63a26027d9a9c62b775c53202473edc461587b9dcd75472af77785 DIST sharded-slab-0.1.7.crate 58227 BLAKE2B 9b4c4e4849ed324cf48c2b905f21139d1d65aa5ab13e7fb11817cac9a32ad09f8dbb1e50a93d40cafa0aba872792bc92f7bd2e219f62f80695409e949c07978b SHA512 3be7438d4a75debb14463477f34de6db1ac38abe958ada5d5dae7ae8d5993e245da69fcb989d91aaaffda5f2b085d4bcc88d10e07ec567b7f40a21437de6d4cb DIST shell-words-1.1.0.crate 9871 BLAKE2B 7923b36f0ba50c17ac4eebfdda34566b615291253b7b41879b3f64b3fc1325e63948d3d44801e40748b11ddd2ab201b81d238af2a2007c7a57d71f5dcd0667f6 SHA512 05c280a8e1f65b205746560a82e397689a3b5ec934219b558ece3a25efbfdefe903f9172319240e96039b38fb2c4be6e070805aedbdfd10344d9144b9c93de00 DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a -DIST similar-2.4.0.crate 53147 BLAKE2B b30771e3c26300f9ad691566af22faf4592225de44dd55abb1231aa3641a32ca71c83fe9253dfcfb0c438b6f599c77358595fa03125d5f343cc617e99354dfbf SHA512 6c8f1cb194c165ff6ad64298d37deb6bab0abdd51921e29395e1c86268c65db1b4a67ac03ba37dbc69a0ea35c0f3770e894de7253f0e410be7bfc7845a45ce7a DIST similar-2.5.0.crate 51648 BLAKE2B 43515b3014ff75e2a94debb0e40a081d60dfa371bc3bc3b3a7944cfbf2e326a8a56c6aa26ca2b6f9ab6f32929a89da673ec2fd4f037c07f8ff91ca95a77b1fe1 SHA512 7206380b6e4eb496b1dddc4501ac03d716bd6b5228971a35ca71f507940e799410dffad7e50e52c6f8fcd43c570ecef23220962fb057100665343498a5ce118f -DIST siphasher-0.3.10.crate 9889 BLAKE2B e5dd6d265340b4c9e4266ab1ff3a20f1fb87fd493b2d7b5fba32d26421cc858b38929e4ab96941d0c055375b8acebbd04236d994cadca324500ed05064b9bfc9 SHA512 f90425a2cccc9575d377bb92a765d34653ddef1ac12b7c63dc6d700aaa74b525787e11609061c2d3e44ea56fe0e4b8f93f7b13f0279b5de2e0f710c5caffd4ce DIST siphasher-0.3.11.crate 10442 BLAKE2B 771221614bbd56f609b9743da4352dc7a2cbd0f6257952fab0cd052e5e5b258a4c95a0461d6d1b579dec90b72d66a0e58e036899b3db8341ae753a421a4cd4d5 SHA512 601121bd41da896142dc6ccc74a6eec3ebee3e976857ab8b5d21e915fdc8bc6e979af66a489c406371fbbbfc7a13338cc4b3744aa981206e43c53998f3e1699b DIST slab-0.4.9.crate 17108 BLAKE2B 8e5288c4d00efa915e7be27b55f2204850968624f0d8101c091a357131106bceeea7a63c98007420c12f67893dd2228b15d3f23508108c3a0ceaa605474bc7a9 SHA512 b6b5423ae026472920f7c9a4abe0962314140a36dc562c0a9e3fa60725b2b8b7a8b343110d9d4c0e18fb318b0103e14c0ccbc9ae350d5563a5ac80c35f228c40 -DIST smallvec-1.10.0.crate 31564 BLAKE2B e3e46a0781d3a7892a739b001592d462d0704f010363984c439e3fe4f75aecb9720648aa1e9bcc56bb3be848dd40cee578212439f78f07a807c9441c3c3e0147 SHA512 a09110184582dcc01d7a0d3fa8f74c17bf726935126d3654667b8e9c4bc43ad16ccfd8fa94feae7d9b31913aa7ee030fe5936e4b44a36302b6ce5fe37372a7ae -DIST smallvec-1.11.0.crate 34680 BLAKE2B e54d56f6bbffbfa7ce5fe5f04e325b2e5cf19d290e4be278bc00a136e26284625b9c18c7c2b10b7fb8fad0ea7e3770f3cdbcfbaa913f5ac08d0a2f8b4e0de188 SHA512 41bfbecbc2c244497568a41724d65791ec3fd6d8057813d521367cca316c09c2b28fb3973826236b01c1f5d2f905d8d22b0c3c47f957a9ff5d7685591f15ccd7 -DIST smallvec-1.11.1.crate 34831 BLAKE2B bad85ddb1d3a1fcec0cb6aba413f90695e0aa0c16b2b231d6d15095bdd6de1731720ea2b394c3f9a444d6d4763bbf44cff389a01aef3488dc599d2ea63ddbc36 SHA512 d4ed45e8867366072e77f23ebe8b31be96be37e5beed30fc2b5ffea81ab04a2ad2aa34fb4f29724b02a5eb90f8b1d8c40b800ee915453947f90758ce999704b5 -DIST smallvec-1.13.1.crate 34952 BLAKE2B e0dcf1d26883564cd4f5d20a588562404e193075b1ae011f7f7542009a9466e5df3ade7768e1a8feb8806774b2cee5f15d31779928f83714e7d4b6ed46af9ab9 SHA512 1259ef947400470b8c9e74c5582dbc1a49753aa46420883c1f7d66f320f67bebe733a15a23cd57ba461020fad4ff337a5b298de82754602a78f5e6cec969652d DIST smallvec-1.13.2.crate 35216 BLAKE2B 31a268aad595c06cdb078577a97b089dbea156a0df307a3e6aaaf4861bd9a680c5b11921da9dbdb1bcfe17d58c0cbede1ffe6bba3aef59b384fb1b9703c62d27 SHA512 a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679 DIST smawk-0.3.2.crate 13831 BLAKE2B 551ed3406db797765034e2ba53d5aa75eec57cce608097eaf0f1a94fd1df8aa8bd248087a8a3b037d844fc91773f74501686180802a6d75165f771ea1f20ba96 SHA512 39f3cab5a6eaaef6f4e7703a6840ce7a805f6175e02968090a58a12d3420f0a144533e5d6542f1e9ec0e36902046a180386548713ef6148064922ff837fa1602 -DIST snapbox-0.5.7.crate 49447 BLAKE2B 9958ac5a7f5bfe3e3ff523c4774855b60ad94f8d0862cda693397333a8f9d0ca1000e7db01f8a0f55cf9bc88112c52087e3322c506f6cb23e726e3aabe997225 SHA512 d081815dc650b8ec1d565feaed21e88fbd006142bc7de8925d3936b9a80ba7c9e7f2c764f970780d7622107205d8f0414d82f1a7653254d7e1d128dee2913420 -DIST snapbox-0.6.10.crate 53111 BLAKE2B e94b2b5a39d9a994a8301f32131cbbec846911ddaa4224f347368cbf140ffcbd63d8e071cfdb99f7fde9ca0ca8a667026964e5ffcfd12f1182848b866299c4e2 SHA512 55983b0c9bd5d531bf291a071aeb0cc7a2a618480f66a8c852c8ebbdc81aa46554085daf98a2f349f17caee23001b5be73a2ed995c09673cbafa5f4a5281d307 DIST snapbox-0.6.16.crate 54140 BLAKE2B 87e5cbea3a65256bd645127cb7f4c1beb09a25422eb3d043773312f65bd0f079c53c3124778a4ccb0a05b60cae8ae3222b1c28568d464748385d7be708f14f08 SHA512 f00003bd5f166ca3923979d662ed06b25859f5153cfa2ea9dd058b9409fbf3bc0fd0ec4c6b1bf466086f6dc5741f3b4c641d8c9a89ae851d7f5b38c1ce084877 DIST snapbox-macros-0.3.10.crate 7129 BLAKE2B 74bf3d2b0308ecc70dd935bf5a761a9788de2c0da14277117868b892d0ed850018cbc234476a8da9840d5a61be42b29cc8fd51a0d81410f15bbe294a11bdca9d SHA512 560a6d6d236d24cf9e8b59a31d01027cb25beb26080820edc28dac1e6e9392563e3f0fa858c19d47b22919859ac13551266e648d0eb47a434a2008196efde410 -DIST snapbox-macros-0.3.8.crate 6328 BLAKE2B 217515d52debafcda4bbd3cca583c4e029758a54640d726c2c0230062cbbbf4c4b0e97a82fe56a2813a793f799879d8284c62b3cf985ae72e399db7556f317e1 SHA512 a0d4d923a5b64db9794b51c553e011af80ea7f86d797a4af8a81c7ac097808f42c00579225cecace46aea9e818d3b4fe00ebeddaae291c3a4bed61c77e6bbfe4 -DIST snapbox-macros-0.3.9.crate 6453 BLAKE2B a076217e83826add6467dbdc89553d21a779304225ab3b0d3c16bb2504df11700f8c1d45972c0706f737d2aeb30c4fdaddfbed185e400cc9c161c88994179d45 SHA512 afd84441660835b7cb884436f96e68a1c0da695cbeacfc4de5b3e3bae95221bbb7cf861778e2a3f7c20ebdb7df57109b5923a45e2caefe4502590f9072d3bcab DIST socks-0.3.4.crate 13172 BLAKE2B 02fa5e950aae0ae6fadb11f27c455da2ca3ce5db3b63f27ea720bb748e03652038a599c036941240edba0286b61a35699bef8db07716ada851c1077b0592b7dc SHA512 531ab43f277e2dfc6aaefcb584c5fdf910cba51cc5fee73256ef00dae714ace844251cb53ca090fd3e8258115cebbcf65843476913fadba8535cb44166294eb8 DIST spin-0.9.8.crate 38958 BLAKE2B 8648bf2e48fc618758e3de67f0a493bf3cd22a8d18666164b0d850ed7c0d73650f7b0af783019dd361116bd60c61d24895cdd2c579383cd2700de0e32a23cdae SHA512 b15ad66ba9b308937f34ea166b799676fa45c67224e10cb57530fe33d2a8317ff3e3db3223a3249fa2862cc141c964d2130d3f39910a86ac5ef8aaf8ff4bc6ee DIST stacker-0.1.15.crate 14656 BLAKE2B 972e5872b402d0572686a617ad72af69a3a19406f41bfde3990949a86a4410594838b0a1e7929102bbd529dcf74fcf2413ae4f9d1cdb48d1c069b8cb4319c0b3 SHA512 536cf41f4dea57541941dc89c61e82af3008d0d847243238d622d2e64bff595ebbe077368de87b3844ed0f06ced6cf5b03100e07534f6f5dde7219994369c988 DIST static_assertions-1.1.0.crate 18480 BLAKE2B 358dd5ac413d06f62da0388e2016c5fcb8ec68fd7dceb0dbbcb97665c032b7509b7e083c20701648b6a9174485f117c02682ae4bde7ef037e80a85cdf6a0c86e SHA512 46d0e35f77941dee6f60f574c130472248063dc38494c1c4f84f7c048244cc2a58a86fe17c0990e3f0f01406b75ed385a13d00058612b27cf0e867c8d31c92ee -DIST strsim-0.10.0.crate 11355 BLAKE2B bcb25ad0a7284e24e4f17ebe0ccb621bdc4118e499b50b094d98aa7e8fcc0b96716c9953c3516ce7ea78309d41d424892ded595259696a5bbffdcb07802b5c2f SHA512 78b318532addfcf5c1ccc1e14539e258aab9d3cd893cc45d82342549bde838c177d90f13c560671f8f32929af47d0b467db35e6876bd7697d8b3f9e055aeeac1 DIST strsim-0.11.1.crate 14266 BLAKE2B 252a9ede4241b165525486aa8855dece37af77f5b28e0e1858c4a5d2047db9fa958328db10989234aad69463ab51b2303785ec056c63ea8c95bf95e111ddabf2 SHA512 0cebe0155a92640e56db9a599ae62078cbb32e1d2da8bfa67ed0e8f410a7558dfcf7b3c2720ff5913282e291ecf076aed9fe9bf84c8d44e814a642b1bed3335c DIST subtle-2.5.0.crate 13909 BLAKE2B 660c3a472ca54c9843ce3feea74b802e27fd7f62dd37a30e2a4ba82e4b3a71df63562e8865d5fc675d31d0900998a8730503f91a61450884446a3bdd6af0041b SHA512 f150b1e2037554f8cd3213a54ddbc258f8f670cc4f39e7084cdea4b47538dbc58b834bc93b443d58a4b9087224efc003234042aaf366687dbd32b1e7174082a0 DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d -DIST syn-2.0.28.crate 241635 BLAKE2B 5784468a0dd04eb298821ae5a3facf72c5fe5907cc469919b0a0b636bb55bd15e9e3a31c9ceb05b7b0f88e7a53e5891e6874641b61e5fde247a91361ae37047f SHA512 96e83979e70e2e1e46ca2af45d10fb259847d61e327809a51351a988282be9688a8c4942a284504674c8684970082dc15cd9ab9b3584bbfa68ac9716e071f9c5 -DIST syn-2.0.32.crate 242504 BLAKE2B 2c2938c0d711c684c9baf95538e2e76220418646590474b2b654d9242d2818aa7c3e5990208fe231ef64903df17edbbf6cc930e6224c964cad4eae5aeaeae781 SHA512 609f125f8138d17b1185760b1a63f3713079f5214fb56c23012229a56d10ac1c12654466c9ad1ecd6b2aff1126d125abfb0a42bd7f669635e5024b962b0cb0af -DIST syn-2.0.40.crate 245201 BLAKE2B 70876ef8e459f582d8045e46fbee7cc00088693d7d6feef1c07bd14dad3f6a555fa97762b8df018847bddbd2e9ad432a2640153adc6eb0e6d9bac821910c74c1 SHA512 27f9bda7df0549142ac0f732387182d5372f1a49facb2c5f20cfafd9b03afa0ed8c1e35b9b6f2659add33f01f00a2bee24de3b5709bb9238503e0064b791e612 -DIST syn-2.0.48.crate 250566 BLAKE2B e46b0863af76c3116c84d01b654a9820b7edc51f75c9c5301a7967d12284f78da602409f34fc40524728350dc6b998a4d738f08b8868f95236b3e5d24c460580 SHA512 926c0ad55cc743df20f9166b6d71fd44421aeb1f073fd86b6ddb53e13cd508b539c0360ce64b07b65597bb14639c8f33acf7e60951e1e9128624517aa3aee325 -DIST syn-2.0.66.crate 264855 BLAKE2B 5029091b2cfa88e5c739be913a647dc9492696398c09b891f84089350e6f09baafd9935b81e0f3519d5465eff2e1822ef6cdc96c15d6a40d1b6b8dd2f9e7d073 SHA512 60a617bfd37d74c52e4d4d63ef0a27a2f9b982469a6926922f2f6e96754a0c66affb0847b9a44d505c053cbd788b97e998efb8d1e558ea00ae4a0b7f15bed9b0 DIST syn-2.0.68.crate 265035 BLAKE2B 8bc6f68ed286bea617a2cfaf3949bb699d3a0466faeca735314a51596ce950e4ee57eda88154bd562c1728cfaff4cdb5bc1ba701b9d47a9c50d4c4f011bee975 SHA512 7b781f8ea2b0d01c06f47d165da99cd96e3b44a33de1d77c78a2cb37ebe3f8304f426ba3d0d1cf766241dcc0537908774504df7d455d63bf89ec22ac0499d372 DIST syn-2.0.72.crate 267069 BLAKE2B b0b979f78937a10a6db45f96d5d93c595427a4e158d658a2186419d89b219a4a405ade488d88d9ebdbd605ce4b706aba7088ab39a77294f3cf9847bf032d8f91 SHA512 c3d26bf9787555bc6fd8bd789855d252e80ad28a413593e13bad174adf86087ff195a6b4227bdeb6d1a1c87b0af8e965d6f2d04b8d45e7383b6de49990b92e89 DIST syn-2.0.76.crate 268798 BLAKE2B 5446965c6331fbb445a313ca8da9d8e7454e31d9a36c2f595747edc65c0d2a05e9d8e4e9fb6dbb30da8264c7db36b1cea14110201bb06e40bca69b25c3f79f1c SHA512 c633b9f68e67b3cbf2432d3648e42f8d92403877a0128becd22cb108c0cfab9f1bc6b941b9cde225d8b727890e9f86457fad05b544fd07be4c01c2e60a2cdeaa -DIST tar-0.4.40.crate 51844 BLAKE2B b51c771611c2c1bc6a36d25493dd775bcb5891a2e4a8ae918781abe66c0335a3da30c5e44281fa5282dace34c09754fd2df840c0d74e5b0b4624a519fd455a8b SHA512 90bde0dfca91b6c304d5bcd4c93c653c066b76592927f5ed3025752d6d0244c0d5786c44af99df94dd6cc7a417663205d86f406a3b60f7307ca3c1757239bc12 -DIST tar-0.4.41.crate 51871 BLAKE2B 7b24e1d923089cff48e7f5be141838f5a3db78477ba58304b7a076d5d2eb31525f307d674546e0023e78836f992566646724870eee556db50e96d5a0c851cbcb SHA512 547d4a10cca5b593a04e3775bfc175a3a4de27f3c4dede305c6d50b63b4eb38152c6f06280098f14c4fadcca4cc9aa98626ea50aebe9bab2cb7b7f4e0c4d2b92 DIST tar-0.4.42.crate 58998 BLAKE2B e3730ff969052b328abdee9c1413540a6cb7829ae08154e2ffa6105876b459eb610c7e9f1ec51a1b64ef64e4d550d102bdd1a0a1a7526600c92726cd6be3097a SHA512 f7ec32f1d5b5b944159d07c0ff0fdc03efcab07f3874a368dedce2920d53c075df131dd41fbbe1acb315a2093de7a5d9564ee382c19b77c528ebd4c2710f5340 DIST target-lexicon-0.12.11.crate 24594 BLAKE2B cf06720caecb5b5758f05c6375fa600da9260aac04017458060406a042dc578d51a2c5b6f189345d45dacea42ba01fbe46853d07f70d7b37cba17d87aa101f9a SHA512 f38701a8e9dd17b7db591b1b4c82c3b75d317e003262bb7b09b9cabd3afab5ab79c02a7dd524910b6941ada3a8f1378ea9e199b2b5938f8f01ee75bb0eae8718 -DIST target-lexicon-0.12.12.crate 25156 BLAKE2B f3803596c75f6c89438592a1176c3748fc2c0524d7d50a20056de1cd26d40c572b05bafcdf6dd702752864bea37c8b4f28f96dadc12a5b3bb1d279b25e489f85 SHA512 6147295c43ba1b7b087a3c5ab51534b2985e4e77e5e15687978cfb9d07e21c4fd9bc7191576d6cabd268d08a44dc733c4a957e59dba8b948c2055d8bb433aeca DIST target-lexicon-0.12.14.crate 25508 BLAKE2B 5ebb6b49e5c3b0057959557651287d4bf5ffe5b499340019ff64d5fc3b64e780e344982e358c94b1b25a20bf0f526a584aeecc704695b50a55cc268dd65edb97 SHA512 3410ecc0faf854f49c41c99f83972960e67065b1e0e78557a7c4996d996109bfd167d2121a019f5256f996c896cd45af032038ab7918fdcc6ee6311693ce951a -DIST target-lexicon-0.12.15.crate 26384 BLAKE2B d1ba50aa9d50647c6f778df86b35db1a4dee56fad918e6ef216688d9ac716dc5e8b40bff15aa89a99e4874e74d7e2731ad7fd9ea7094652def8abf57b74f9811 SHA512 32cf3e2da1c28003e1b6347abc8ae4d8182bf5b719ef84772271fc871dbaf96ec98c03b555a748cb8ab76584e67e17532757193d1d84b057cc90bed525727fb3 DIST target-lexicon-0.12.16.crate 26488 BLAKE2B e7950e4a302059a1bfc9bc15618a3c1b971a17cffae117a6e8f5f63a0d82fd2bd02680301d15338612d5426d349dd24cfee30ee787a15a7d3187f2a6825e69ce SHA512 092639957c4a0391560b6442b31c47159c04d12e971010f730a6ec9cb5389e4be903ef3d7daa06db95e64dc78b6970731fb647179ebaad2b12e9ed5e9b24da27 -DIST target-lexicon-0.12.7.crate 24402 BLAKE2B 3715b15649566b9f26fe02aad818325a43b54512008e4ea9fcda9ea15a87b8f4baf4ffd7343fc12456c97d8a6b1e121158c4cb61997de0e2d24d1bce93d86850 SHA512 0f3cdbd7515141315934b6ca61c5666f3bf60e259711f68ed3c33468e2bd400cedf824db7158a80fa07e78cc7ac2a0a1eed2df199352176148e9df34b06511a2 -DIST tempfile-3.10.1.crate 33653 BLAKE2B 819b183e7840f70270883ee8b6a91fa09861c3112eaadc65007199885abe099bd593e1cdc4d9ab48c23490a6d484cad9bf0e80cf4e718c369cc2418b72eaf09c SHA512 bac7515b85b0d01ea914b527f0fadd3a4d8e77c9eabe786977d2625d8a3e91decaec502dd15bab4d49a43597fa7cf7660fff4be1b043112d13b542a72443bf39 DIST tempfile-3.11.0.crate 34153 BLAKE2B 3a89580e05600ff2ef5637d2ed76ad8f1a769f6dae40cbd23f7bc2cb9d0807d03713ce1571df54c866c8fd9a4fb073990e4e98cc8ffee33aa4d8343c2d39733c SHA512 47d4c48c4f90d116a2f7d5ebf29ea623fb0a0fbfb1192aaaa53a83218ac910b6c836d6d4d8233b07d06e14de70fbf30d243152b7ac22a03d180905c53b6ad9e6 -DIST tempfile-3.9.0.crate 32182 BLAKE2B 4e802990988aff3ab5173bd96dbd906651a8df46b2619e6a500a3b9e7f4a3cd01dc7ee977791343f7875afdc4793a845000bb363d8c1a6599aeb6b1efcce5d56 SHA512 04e06c966bfa7a1567e7185ebd5c2876b96e46e36af14931bf0eba63795cd20d1c3427b6709a4cab2a68b8d289fdabd5537a50e5407a76e3a9fa0dcc7d3ce6d7 DIST termcolor-1.4.1.crate 18773 BLAKE2B 34676efbde8e242415857d6d40a287ae3459678d8222f5144faefb8c84d635686f640e79588d98635c8f25b7628ec6663a01b16e1e462705b5cba7e8b8e61f44 SHA512 b66aad157c4fa2985f764321d157dfb1f0325fd633811870db7919b5579bf7bc19fefe99e1c706cdfa67504c37dc2ca3d283e11d1bb516edcfaf1eb7747a778a DIST terminal_size-0.3.0.crate 10096 BLAKE2B 097ef50a85945128dcfa36d8ea0fb15f11142c206462a32980dbbba4fe2872abd214823fe3c75e804f3159a97d6e929ec338860e9c89587da509fb9e6da5d339 SHA512 f3bc9144aa8a87556543584a2495df6267ce3bb017f3ed3d00fa43e89b5de783e1285ca62dbad9dd9c3b37e3a476a6f3ab0804eba2411cb594a569bbdb310681 -DIST textwrap-0.16.0.crate 53722 BLAKE2B 44140aa2dfd5076005749449a56e920418e71e34cb92f1d697eb3f3e7f6fe87b0a3861c8a4050a4a62e03187b6cadc4495e4200bee52ee183541431c73e47209 SHA512 97ae8acece5663e1a6b08b827179e96d5ad0ee67d635888cc3d83454b52cf48fce97eb0eba374ba4747834099c74f43d66d9fec868e84be45369a42c1aaec2c3 DIST textwrap-0.16.1.crate 56012 BLAKE2B 9b5a7c76eca64d089f4fab7095f2d35624527ca223e53b03cc807c6bfe913a99b55197b973a3102e3e5c4055bcd6ab580a0c9d67657180b61435bd6eb7631211 SHA512 3a8d2036c8e4b88866d68b8066a2991756f6bd4ac5c726e63fdffbc894fbdc03bf8b6e0ece4b96684c8e1facb6413190768d51a8539094efe47977c120d31f1b -DIST thiserror-1.0.44.crate 18760 BLAKE2B 4afb9d1cae98afff52c2e9cb67b8bd75815092f87d51ab5afcbf3366ee6ae8fde33c0bfab9458c9c452aee3b324894fddce327475ee754afb9b27794fcd9d279 SHA512 3a8e9346e69216510337e2c27e91e08e7a42a8b6b2abaa776df3937ad4dbfd857fcaff26e97d89965dcfb2003df1f1d1ff88eb239d334e62c806e8d637eb149e -DIST thiserror-1.0.57.crate 20993 BLAKE2B 4eb90b8ee027e39102d6c030176db94510180f2bd2966503501ff89ca6b49afd61e6d9e1ebf18c08d374ff9de4e958dfcb3da8740fdfe31cceace5be456bfe4b SHA512 0ff7e48c3696f4f4c6af29f3142f0a7bb88a07b7a9877ec243e3ea15d89c48f1898b731311da5d4a7c88060628cae3eeea6a4eccf25bd851cb3075920cb1a936 DIST thiserror-1.0.61.crate 21264 BLAKE2B 97337830507c009dbb4cad84cdfc02bc097b9d39d0af2fdecfaa63f0c12229e60727244fa4e44c2d54daee67bf8b4e8492d94a5de55d1a90b8eeab8c0d082e80 SHA512 9c08b868eaa47178ee60733aaeeda60dc46d58d2b9c15985ba3dcae4923e8edf02b97556df52f508753b0ff52782f6ca3227e9ef6343066e5d5d3a89e03f3f15 DIST thiserror-1.0.63.crate 21537 BLAKE2B eacab5745d948416bde165d768f55c10c132572052db405ae3dd3e6e3b5ce41f36d574192ae68fecf6002ae5b14fd0aa135fe15e1614f3b51a294d5edc67c9ac SHA512 d5c2360075947cc0fff3253b5532f03f3102d6c9ef52dfeb3b400771116937e466a62ce67ccdf91532bf096f4882322522349a727588fd87b932326c8e758753 DIST thiserror-1.0.64.crate 21574 BLAKE2B d2c7cd7c1a8850dcd3f188aa1af61d4727c4bfc27a069f0e743adf86b7934e6db85d9ee9af14e78c7391e99f4ac828c00277a1354bfe1a47ddf5964211bb2037 SHA512 cff21ebd9d5d37e548c35dd1dc0e6e885a47363cbd8ce3cc8508e8e9b5f844c168b9f3d9ab12ca8d5910a53a9e09b4ddc75a0c32f983e27727fc104e4ff77618 -DIST thiserror-impl-1.0.44.crate 15086 BLAKE2B 664be3bca31bbcdd2bd8170e5e769d25e0a27c135067c84404d94bb51b5ef02daac76538898969281b0b0309c26b5ac4198e7bc819dec457dcec09e65530f75c SHA512 fe9211f50dc922b957ec3b9b5f132f812fc51fc68d23ad39837dfc174220dafb2b29d66822f34b05f1cd27cd473598d43e17979ccd9c70b056d509cd5c5c9ad7 -DIST thiserror-impl-1.0.57.crate 15639 BLAKE2B 2838235c5536fcb16d19382fe286850d6fb882b1d77ca4ade6a62e1d4727ef89f69cf0383cf330996f9e2303226d5fd709557331a45c9a91393db1788fbf4422 SHA512 a850806f09b232546d1e0df5e35cd961a8aa32f1d8ac3b24df360981da53b75325a46dc788c994042c95a5887fdc77234b9f6ee5851242f734a613e579548e3c DIST thiserror-impl-1.0.61.crate 15786 BLAKE2B d63773424aa047c6eed8a6c9bcc8dfcee9841a2d4fdf6fc2c117695c09359371931722198b2e0b2bae32b0c54b6275f964e679b78b8bef1c365ca33aa41562c9 SHA512 b43bd2ba6b751b777e2fc78aac92a3e662a1876f704625c4e894019fc68a6b7628b9c3b7ddfbd2cb15fe6fdc0ff679ff94b0c47e2660a40919000ad2fe1cfeec DIST thiserror-impl-1.0.63.crate 16047 BLAKE2B 290b56ece5c592fdab4d20e9ebcc8dfe3f76b00aa48ed6c216ed0ebcab86b1ab4b4d676d0f52329abaccefae12bd47b4a81966901fdcf4ca5d0632d5021adbb8 SHA512 f93b7f89784d72d8b6e36050c22b88b7fd8de38e9a90fa6fe3f45973ea1566ce8bf82e959951377e3bf584a32afc97812188be25983a028be138b1700bb8c102 DIST thiserror-impl-1.0.64.crate 16073 BLAKE2B 8b0eee3d70f926c2719d084676cd14674dc5cf7c474c72e3e628a3cdda7afadd67a78f76224d2a05f1fe04ac59a178b879e467bac1981fc56c5904073153c88e SHA512 75e55f204a290eb38b2215fcdfa91f9f1cb002b121ffdf56bd5f6d75476614e3ce06360da7d74b870c45f6b107fa9e61f85ce39c0e65e713f8c191d79f96f443 -DIST thread_local-1.1.7.crate 13585 BLAKE2B f497dbcdfaf7dbc8b4b0dd97f77ba93df15b63303e7894c9032c9822a5b8111e0a21db2fa8cfdce5a503f70959ac9cdf48c840b925bdd850dc15e8436ba72379 SHA512 3772452c2a349fb564d29bb06e13c8ae64807db27c3ee217fa04fd0e9847e94adeea582b82ffc2d9116f31ff478eb088550caf1346c263de49b55fa17b431c31 DIST thread_local-1.1.8.crate 13962 BLAKE2B fce2feddaaebde42bdb83d814929868f06387a4fa25d5becc73ff0b983395aabe076268569c6a89e2d90ce6e68d2ebca7c3e0ba1c9159c61b32631ce39289a9f SHA512 6d7e3941f43c43ac091db5d1cf2a8a3892b54b0634d9200426eadeb82015566532f04b6040085dbdcb10580ac724b6ded8416931d764d795a5f923aced66c492 -DIST time-0.3.34.crate 118430 BLAKE2B 6d04a20596c9b0961ca104748d9d360f07b16059719d7410fdf1a7a0d5f2aa02aaebf640999464835964bbded2d3257d79c4b0ca3080fbecf13dd2d0aa6962fc SHA512 3997e1b8d9be2f54184ebc9e1355d4b65f0b7bc9439b2b29e4a4acd86ad3a3aa019261112a24d998d76a7f66b266a86536fa50412279911b14d4d7aa7078c116 DIST time-0.3.36.crate 119805 BLAKE2B d4da96368ab8565373d034edce261e0d8867036f2ba87e84b5e4a506a70ed3b62b93ba10734aecb39847e258cf7008b6ae57f92df8d0e5229cd3fec488d14caf SHA512 83da6e27691d1f0ef37ed276528e927686a06dab4811b6e29d625ef7a0f7c30fbb86896d74a2b087726e7a24a951b0a83aa1f5f22d711ead54f447d36ac47133 DIST time-core-0.1.2.crate 7191 BLAKE2B c477ad3410ff29f3bf4a38fc6ac4a043d49b6d2bdf5cf309ffcd2eec3bb6e4c4b62156ee7f069f0b37ea31c163bc75ccbf35abc1db2833cdd4912135e60ddfc9 SHA512 3861724c23cb806829a01186deb5217ae8252c20af622975264e6670cff528f42155039e4937756a9eb312a5580ffab07949437d5504d684a0e70755046cac52 -DIST time-macros-0.2.17.crate 24443 BLAKE2B 5045af9352961db0c97cae2f6ca3e8d2c4f89a129c7ac2ec1d8d20804292aa9f2901a61f910a564954614b68f39311bd381deeb66fed8bdac423227d077f3d14 SHA512 c81747f0b74e68d3b3f36d378ac5911dece8c6b511e5ac793807f854cc31c812b927d0df941f55ff90d3d67512d0ac6a5f63f2de4322c81b05da42f46b4a661c DIST time-macros-0.2.18.crate 24361 BLAKE2B 09fa325be0b1a5b922285f035484b0de8e339306b49595c87f6374e46459d6777c6db4b12c1a0c6ea9795ae8c741188fbb81208d0499a651760b9f5089323fc7 SHA512 557786115add272290be8305ab79c44f5b4425b64eb698492fe300f15879d9e013c66933cae8aa8faad9c109e2917e7a0e43c8a5eed7f4b0f0fdad092089efe4 -DIST tinyvec-1.6.0.crate 45991 BLAKE2B e9699d4d80a78978f0ebfd049f5b33d7f23d401cf4f4439ccb168e8c0e322473ad0ea7e2ff0ff69e9aac3e5c4c9ae5a7102185533bfbf96dbe77b3526e700bc9 SHA512 e5acaf353c58c60ae5556130a934f1048abb79cf6668ae467d308bac44b689d8a9997227ea879f4b5fe50f29cde8761801b088d7149bcd063b973056c381921c DIST tinyvec-1.7.0.crate 46743 BLAKE2B ec9741aaf6900ed2651c222d80688176353fd2ba99ef54db18059bc527b638fea1e9d0ed03b18a8c2f3a4732f94dcfbdf1411050f1d744da5d88cbab569b88de SHA512 9628e5a8861d01e22f00161b3cee58861a2801cd0c64016872bc0c6fb49899a553abd0bbed61064ed91e3a8fbd93e311b2a622fd21d74345e80ec27c1e2f36db DIST tinyvec_macros-0.1.1.crate 5865 BLAKE2B 2bf4f68ca11dc19c72232951605a4c809b34ff38ee365ee4f592a3c41360e23c9330cfba961e2692a0ad568fef4aaaac51c40808d491178cf7a0c4b5a1c5d484 SHA512 10008c7b3a3d50c94b9c370015b76ee082f5dfb6dcacf014dc2f2dbe92f903618d10d0202b21f48fcf98a94ae76fb712db55a5e8ad353645d378cf0e6ec74f7e DIST toml-0.5.11.crate 54910 BLAKE2B 9ecd5103b33ab47d4be23c897c7095ca381cb79bedcaac4918cddc36fc7cf5d34ab664da52c2273d935f04486e9325241d6b66785d50aac78453c219aab49e1e SHA512 eddb82aeb8fdeb5436579292c6f7a64a90a2c7bb54070beb437bc7890b99795d0505faa8d6451a99e8bcf440f78db8a1b273a697c8ad44275cc4163a9ee49317 -DIST toml-0.8.10.crate 50667 BLAKE2B 815c850d4e2b8f107729c24ff82a6be81160649fff726f07a2c6e2af0283298fd5eadcc5811ba4ef20ce12914ecb43da79fa1840fea8d1572ca59f02f9e2c310 SHA512 24f3b44244d7e91ae50eaf20bde40c177352592aadd2dac697a831a5de9305ac1c93c8dc407579b9bbd8d9984fe34cfdc42c3243cd0057ad83db14bd899bb546 -DIST toml-0.8.14.crate 50645 BLAKE2B 264a757d09f443e9d4d2cd7efa07bec4bfa382d1ca82e59d268c0099114547536858be323e8004fe7add72967b5c193bea176a823b688ad8be2bd71b186607f2 SHA512 31af40bb5d8a172f45b5f0ea7f089862cfec57bc9bcea6559932b045efefe9e8be349df24f55d6ebe536f414fc35950f6545a4703e13a202212eec9fed6ecf62 DIST toml-0.8.15.crate 50652 BLAKE2B e2aa6e1efc9f5d730659d79c9ccbed7e3f6e2150cd2f3e00dceb017e61fa24ba69dc9cf6b9594d89d23791914e4b7016826875644acc523722f3b770aa50c6fb SHA512 3aca72fd693d3d16fba005a03934c2473c72e175425f0214b43f795edc9dd75fc855daecffbe59279608931010948b32aa720a8411f8b6a68a06e27763e4c94c -DIST toml_datetime-0.6.5.crate 10910 BLAKE2B 93a21ab2784e96ee2e6b56c7b4f733f6ac4c68c1e7d7dac3fbd8aceedb3580e25b4a9c7d9c3f9b5ed152560353b3e80906e37824956dc4ea90bc6f039768f6cb SHA512 502bdedbcbd2ac9fbaa5f4b51f2e409af185f3633f01f8845de5e3b007f2400215ddeb82ac588bc915ed5a5f9d7251ccf93fe2a57cd40fca2927f4c0966357e6 DIST toml_datetime-0.6.6.crate 11698 BLAKE2B 8db35da8a3f6fec053bc82995f4abeb8d2855f2e94ed6ef4a4a6f47e956ea2cb6f8d0edd5c1b1cdebf83c7c218d9f2d80f48346e62fa7985532cba925891edd5 SHA512 710182bcca90f0d830423df41ff0f8e7bd10b866fd7ea1f6d37a315c7b4732a3b6fd61cf411b28051959034534010f24e250e10282c4e5a2539c2858f447aca0 DIST toml_edit-0.21.1.crate 101661 BLAKE2B e794b6121ba7e2b1b3f50966cd40eebacee6968b6b28986cfe4cb7312b51ffff19f74826910d8e4ce307f74940f11e71e6afdd768ac196427bddf44595bbc797 SHA512 10cd3b16f763f55294923ce8f166f96fbd67a0acc4a93a46fb3044d8a38148097c592ebb405ced87030d35154abfcc971eacf0172b624ab477a11e616efbaa07 -DIST toml_edit-0.22.14.crate 103761 BLAKE2B 54acbfda77cb071d280790bdf167a9a7a3fc6c8297ef96c5a82d55c93fb036c0ed167fcfd380d558fba3602bfad26080947e6477a6011819795d2debb74e8d14 SHA512 fef6ca35315482f635bfe35c2c6753d09f9bd33681d8f032f448fb9c6f494d30fc5789d96f99657879be9fdd7b35a640d52fce7722fc6ca05d8b9d5ed91903c4 DIST toml_edit-0.22.16.crate 106618 BLAKE2B e461b46de9da1fd443588811ce788875f3318dec3921a048cc84b3ab1a5a75c773918e85578a5185aa3d713d62f6e90c3764a49d184fe48ebc50d6a127d5d8e8 SHA512 338d3aae648a4855503b39f10aecbfecaf63fabc3cd904d42e5859ce22af840f734b29440bc8b72a31fcc3c689f6d8417ee4e3330713d461b5480d30699732a6 -DIST toml_edit-0.22.6.crate 103304 BLAKE2B 93f14ec5e0765673b4621216707605d7c2afef82d0ad9fe1e0c660be62fb65a59e91db3144c7bf04c71cf5848dc970447b3b31255125d3a2be94ababb3d82692 SHA512 9816338008f2727fd53d34164c0be16621b61e22ac4838752839af4bd09e4d361f319bbd188c5732c1af140358d73d645e05faf4d655eb295d6c331293b7f2d2 DIST tracing-0.1.40.crate 79459 BLAKE2B 33693ee71564fe5925a63dca351e838dfd8612b4b1e49a33a70095e56ca63287c13c772661ace0e540d08c92942d7cbdc51ff2cce4f4b372164d9aa20ec05dee SHA512 5622188a45dddc0d6d3a8244a9b12db6221f4180944ce1019d18f4e613e4bd113dae5d45fb57dd0754f6e8e153b047cdf00c8f200782bb2b868bc2d423d99275 DIST tracing-attributes-0.1.27.crate 32241 BLAKE2B a20af0f50a90dcd64e5318e55779142da294ba18d1cd40059a8aa964fd3c92834e03ee563e41caaeef71a30e3f027e5c8d167d90e2844da79e0774b267e179b4 SHA512 7dc59f4234c3bf3434fb352baed2b81db4e931eeb3ed207c4a204e480da734be40847b167b808058d2807b5583815625bcd5153e2bbe79804cfa6f069a74ffa0 DIST tracing-core-0.1.32.crate 61221 BLAKE2B a7815c46af9852ce62498083103c6d359351f4d33609b4291330073b6abf4b63f5e1bb1a7dfed3bbf4d6913ad5217e96999416261af8a70609408a29109e4db6 SHA512 164f79cacfcca533a53b7dbbdc2015aaf851a16e00c72fbc4e5f515b6a6dedfa464e964810009b54f08cbcdc5a314e50245ac7b1b01a71fce4c63db135bf5521 DIST tracing-log-0.2.0.crate 17561 BLAKE2B 701bdadd40f1343f3c4901bd8dd188f1dbc0afcdf50807bd0f6df7539635e239b5095696872103125a4d4cfec24af6336fce6f3931363dd5be4f53a09fa584f2 SHA512 0c1f060e8ffb9ff24cee7b85cc2d7d42c69b2f7623a7faecd7422b23b11ae8d5c7691e4635bae76861d444c369d9701ccb147904668023642b223e442e3c8285 DIST tracing-serde-0.1.3.crate 7329 BLAKE2B 55d924fc3acfd496abca8b42bf3fa4a2511340cf2ebb060fb31bc0b5d81dcbbaa299daef3cddc3647625afd124b9c83efc1ef104f55dc6d4cd4d91e0e667c160 SHA512 3822ac747df404c33573ad2a5c722f9708066a72c2893dbf507563ef29bebcab79cec17515fa87c0fa64be8a08073c38ab57ccc463c74df8caf3df69c72e131b DIST tracing-subscriber-0.3.18.crate 196312 BLAKE2B bc2f04da63b0313d26073eb4a39b549ae37701e4dbf1fe06a2483279a03d9dde981f0efea6ceb5cd441ab313bfe7eaf812971c3ca60dfd4b5d9cf0d2eb7bacd4 SHA512 72f91855637aa476f03077d5f523cbc94989d40b12d7328167f88b081869ed096e6370450831f6cd5f0686cae5628f14eed4696c06a2ec75f56808b64445e0c1 -DIST trycmd-0.15.0.crate 33990 BLAKE2B a206f2adca22972ba59b348db7b62b4beba111c300a7faef80483c9458221b25d2f6dc0f63ae75b0f6fa896dfda6487065374a2312ae493b5b912c099b81639e SHA512 4b63bac98a5c609e17d7bb6cad6b052a512799fe3fb49e68e4e19bb0a031f0098356a6a72582c115de636681b6826ed277ab47547f28bef2da692560c0c95743 -DIST trycmd-0.15.4.crate 32928 BLAKE2B 45944505a676c5d6e452130694955b1409fabf3c796bad054c32abb3f4fe96088b24344dba21986dfc93008b7c914ce419dd56e5ea664325c7860567b97ccd75 SHA512 cd397591721255f24b4d7fc9181f349bf1477480f7ad573939537e9e4f37fbb467b5d34e2049e8c917f8a00a10f25d9973364fc88c15cfc5ecccf31d2a0c00b7 DIST trycmd-0.15.6.crate 33582 BLAKE2B d5d4df13d462bd5eb57d7103a60ef86d4df6f5a9cb7febb73656f0884b29f1bccdfa75201cd7147b565e859102e56025b34745c629dd66fa5b22b0fc86e458b7 SHA512 34fdb36f61f2332540e531485de0d065bb38ef74d1179f652eb71514bcf65a5e0c9258f4cc572cf2afb2f0e7f3e45c7075318ba1c20dd04e9a40d86a72dd2e58 DIST twox-hash-1.6.3.crate 21842 BLAKE2B 67c261b2b0a93293717a4e2e07dc11df2abde09da6fe713b9d04917ace73de1b59b8d4fd9449ab46cb7cf496fad1e440effdfa1fae6f5cae4ca78af8cd019c42 SHA512 f7ce63e6e5ca79ce9330caf40b32578a5d2088c5d8ed371604268760d6e212d447d9e3a95378378a283024155bccdaea47597902c488a94c5d5f79770baec8fc DIST typenum-1.17.0.crate 42849 BLAKE2B a6d1162050679e2c4ab2467f3a77d301f6861882eb7c9749f31d047f383dd5bd2ed5846ad63eed99ccc04d6ac36cc697a305861e1d65880b4d2ef04ee0a79b94 SHA512 99773d5d9f850c0602db4bb67dd062b0ade6f086e155216f1bb2fb6569461ba7e1b7c2f2af81ea8833bc3bfcf3fe5033edecb7c438adae63f59d3e30cf63a508 -DIST unicase-2.6.0.crate 23478 BLAKE2B 6e580108ac81b1cbee70e5bd331f43b12f266dae4f4f758bb8f5f073bd1af61943ee0de34cc27769525b19da8c24f8dea4941d0f5454594ab0cc8b78071ff053 SHA512 7e76a5f344e32c56cf87223585d87a56c79627b52bba0b29eb6de82de874b2964accededa8e9b5741f57944b6750fba5c61e679a50d4fd5a5646f431e2f4f188 DIST unicase-2.7.0.crate 23783 BLAKE2B 2b74b932b45c9d5b984b57bfe8249496c192944e2e66916919177eac81c509e2d7a5d30a85ea58e8cd5a0b47fec746bdb18723f3f14002fc64af3a0d320a9e7d SHA512 c2b05a3bbd8996e1cf65d7458f5ad95de9797c8349484f8db04967bde15c1f057f62b2f7a60e7367871512071ed5076c0da042169dbbdcaf4d6c16cae62da828 DIST unicode-bidi-0.3.15.crate 56811 BLAKE2B 1f1d372c86ec7444f13eb32baf13dfc8699b52156b265a2b53f40c0d771064876405451120fe54739a2679e6991caaf4f63e0644f03729cab814079fef4868c8 SHA512 7a21d5eb05ea8d691dfd54ce4cf7d3693d08067f7a88ef17b8c3044634f46411176b1bde1516c442577910b254007b247f5e40f9932eb601cd96cd574f9d9db8 DIST unicode-ident-1.0.11.crate 42067 BLAKE2B 3c7cac3d2bf1cbf1cf04716a482f130123e8e6940f7a90a17bc62fca44ac0069688165538f5329b95a72f735b594cfb85e3250738393ffd1b53cb0cd95077d89 SHA512 9682bbee339fb987c9d0bb6a54406d37b28b5c3587372d406402e4341900fec97e3234cd03b5c98b90b6378fd533dc452cac3de90d3ade19c4b09657e4abf6df DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920 DIST unicode-ident-1.0.5.crate 35455 BLAKE2B 7e14ce97ac53a88ccec015dea690918a673dc5b49e44de7fdcb5421871da35c4f514c6db9a363d6f4bfcf2e9a61a50a593d345d0b6f388ea882b17a00cd0335d SHA512 d355370daac356d900cd4c0a792d6c0eff114524c4bffce4d7e74469fe2117883ee00bf0e27d950b72e88739473f2045d5f83440a0aedfede97b4d9163b64a6c DIST unicode-linebreak-0.1.5.crate 15324 BLAKE2B dc560d5b36ed01357c22750feb7f09fd0f57fb0ea543180f6e31c0b71b51df4faaa70ac8482f9cd60e5d1faa5bfd4bebfbfd628dd5913c2c4a858ec04beeca3f SHA512 f37be2f7b04b886e95bb7d0f33bd392b78bb940ef9a01cec487062cf31ec0367306650fad7004df556887a324c714eeb28f697044aad9a429ce07b7b7344af60 -DIST unicode-normalization-0.1.22.crate 122604 BLAKE2B 3f3430b279cc0ce1595392c869442ce676ab097154c688779ebcf726e10c497df59be2cd7bb2f84f99499a9df0654760a10ac92224c17d74775aeebe291241e1 SHA512 a5810d5e9cd93dbb80e013997aa9d38e60834619483a6623eb2859ec5d59a5aec3fc4db123dc7f4e2fe9f2b8799cf6af48bdff22d69a00a23707240e8bf3bb3c DIST unicode-normalization-0.1.23.crate 122649 BLAKE2B 22ea5ce3f5a2b371c3c8782321b1bbbee724db1e4d8c1d43af4e6bd8044b99307c227d93631d178d10fda445a941a485882ae0015a6e3d3c347e4bd465bbe1d9 SHA512 539f04010810d73fde7b0ab314faf813f3e7ecd2e51d7975281554b7cba4a8706e2b5523c4b7840568593652360ca59e9db0e1ce342e71c28db635ff55ffb0f5 -DIST unicode-width-0.1.11.crate 19187 BLAKE2B 6baf7f3b32eb838925e591792abfe11968206d177facefb89ef51daf44c18f3fef1e41c19a47b88b81be50667af626af2024ccc540b240fb6e1d83fdea57076f SHA512 ee06f4144525424327a17578642565f396802f0eea539b3bebc8d9627376a8bc6c5376d83a6ee577068e99fe75815bd765e6d49fb9ab9b253d00594bb15a5ffe DIST unicode-width-0.1.13.crate 457228 BLAKE2B 757c4da5fa090369a26130b08440c2348f1cd1c0dfbb6770dd75b65eba797eaa65f5d683f0c2862cced06124d46a89b4825af0d990f6adc2df8709b8ef291665 SHA512 9781d6dab2c6343e8c28ec66b50cb4293261bb2114e122fa80ad2facdb23020f5b621c38030193b918669e58adf143808e5ab4c507c18beb6dc61e97b2e296f4 -DIST unicode-xid-0.2.4.crate 15352 BLAKE2B 80c327b39f3b8f2cdb5747cde968cfa1efe7b65b6bee9136adc881fa19f66aa5b1010d9d08de55a61b322d665b5b0cb0395e9ac471f6333c40d8dca5d97e123c SHA512 e67bd1258e1961807d9d5fe583a89ab5b82b2a529ecd32cadfc79aa5331380eb4a2db9fd96b74c8eace47f2f29021587d69bcdbf79f7e2650e92a25f7839d03c DIST unicode-xid-0.2.6.crate 15744 BLAKE2B b1bad25897717f6346f988d5a7c90c51fb842da113f19aa434a64add8f2e637258d9fab0f7b871fd2aac02e83c68359fc679b326232793cbc804523e2bff5056 SHA512 f68e78484479a5341b14d7e3391e691265851fa00feeca53af745479af6aa9b4ce3570456df785c8362043db9b04e2e57f9bad05d8305946f16af405bc611764 -DIST uniffi-0.27.0.crate 6343 BLAKE2B 713e3a3fa6fcdab71e6b118ccb98a9158e4b84d4f5c2128051fbcbccfd73a82b4dc4aaa9b5d07d97dc64a3fc08da71589b872c9cd85fd451ba7c30419048bbe7 SHA512 3a247646e3461a81a390f197ae1648a4195168bf88763b7fa70c8b2da04266efc28323af7cb2813b9fb13d33eaf13b2434dd08e4fd036f22a645515856b2f1d3 DIST uniffi-0.28.0.crate 7374 BLAKE2B f529dcf02b8a4fb448d89b5b9f0f3659195b2085bf2f736054e859ca2069c075cfc4649ccaad149a48063e09788c9b93e65040ebda2e06dacc907e6ccbebac80 SHA512 b80d3b7a865925cbd68b934bff95a24f412d178bcd2c25e7fa06d6e044c37bfe4d951a12fed7961c0f5e6eb9ffd6b41a0b4a26fe416c115008ad3ad00f52341e DIST uniffi-0.28.1.crate 7793 BLAKE2B bf62cc45811108495aba093e7a1bc6b1fe93c827faff15a52158cdb5e1346e553aee324cf3ce5b01505fc6b976b37b8b4b90a8236e47afc982755f23a8686c29 SHA512 922dd163ed948213ac6523625ffec79bb608d874eac406c4a02b721136f3850df377e8f7ab5cf4faf3855074032ef6996017b218401215d4f2a36a05a21b0319 -DIST uniffi_bindgen-0.27.0.crate 145565 BLAKE2B 42a1afe023c864f88d8e3cc69fe29a7450e8057528a83a18ca9060ff8033df4aeb25468d656077eb6049c0b47d691d9d18d6d71aa86e972571043ceb5cd568a6 SHA512 24f6cbfa569e7196fa129f07a4c987fc51136cd9526dfdc5625d5ae38a0686188fe772241c0036fd00dc2bd6fdda0970ac683bcf831b7a26be5dd12d5d38fae2 DIST uniffi_bindgen-0.28.0.crate 144668 BLAKE2B 28135e0e5acecf891eaa08ec495546c6384dd8146ee523c72dc8f64b73bfbddb4ed472e5c0508084d8b4b1a815d981c90301061978df738b93ee8b0d8ce257cf SHA512 e575a9af4677838b639d13d52ddc356cb2e799be334ef0ea978efe022882ad15d4df0ec47cb638a387012e3999519c817f5e0bd6fb79a1ff1f89351b6471ef98 DIST uniffi_bindgen-0.28.1.crate 148914 BLAKE2B 91fd675b5da48899f0a3ee7ea71a681e6eec48bdb01903cda94f338554cd01711daac84921e28c27685fcaa13b54315bbe7cee20c303248c503e74baffddee1b SHA512 7b1219ce4a53660cddf7bce1e6b659fa7c2bcfdd884f76acece5ba64eb27ae4533b6d8de0d55993f2b1a3a40fffb380e7f9645d9139f97730073af720a388776 -DIST uniffi_build-0.27.0.crate 4088 BLAKE2B a805116ed67a5f0b9cda9c40544097ba62e9df6f9b34e74fb252187045a601a2b3931470c3ec59e9ade75b00364d9989c92536414caf83caa6673d9a7f510cd7 SHA512 9e7a4722cdda5b941fcbcf73dc3ad95ae0c9cb50c0d06da8ff1207049ec183e6ef110cbc7b07fd8797700f7a5e17df22e139a41820f40286b5faff92a4b1fc3d DIST uniffi_build-0.28.0.crate 4084 BLAKE2B 4a2051f0dd729c593dfcb6878fe4eca571aa19d483af5d6579e13d25a89e4e51ecf5d5216efc5341ce907bce64b1465cb225dd112b8b9c6626f4ee83dab71911 SHA512 dc51789a37a736321ee7daab3ef647ceed64f9012cdb6a4a296a1e5599a051692743764f796e10f3b6d592108184a048740d5af9c3c6ed76b950a256306dcefe DIST uniffi_build-0.28.1.crate 4086 BLAKE2B 2e6ff329a09424bf10ea07edfad921336568f10aadd04777dfadd7ae97c249c2c4ea597afc59b872914ffb10c0556d159af1b456f6a454176ce5705545b509f1 SHA512 b1335ef25cb40f975dde506b9f8ddb0100233e6fe65cf92a114b77dc4d16318e1402b681bf9b28e0e7a062ba181e6906236ea0389e9f0c8e76e373fc1373cfb6 -DIST uniffi_checksum_derive-0.27.0.crate 4507 BLAKE2B 57ea01468df52f4cfd7f2fb6d2dd558720586369e69d054c5e3128cda07f03b451444e027aa17e544ebfead8124cef9640a9ef62f4f5611cb7644728fde30334 SHA512 1ccba94c2a2d4f07e203865e22c668db744cf6d643631e2774c6f24a9bfcee6f842ae2e3abf0ce7c0cc309828484cc9ff6e95f83e1221d0379169a2331b54a4b DIST uniffi_checksum_derive-0.28.0.crate 4500 BLAKE2B 7e378de3ccc3f04d2810c6bc4bf4fa1ac0a8363242afa8883340a6c9c4f2f5543933a7d36debb042f1da46954a17619f1f0f9c6f0db49b46795ef4b6b44c8365 SHA512 4dc10c795e90a99216bf80c17566099b7735535d6a6a9b698bed5fa04dbccf333d58f37a4e3a42626da14db0f5a8c00bafa02f008d157663bf51957ab0372d7d DIST uniffi_checksum_derive-0.28.1.crate 4503 BLAKE2B 35aacf396ba1af712f1d55f9cc6b57d334a86372c3bec4b383192459c7a652121369a541d73769dc74b7b5cbe0be9856e52847a9a7853f8022cf3a54121da9fe SHA512 9d355b6768c04c5a7f079d449d72772c465595fc15d88d62d9f86386d0949032656472cac319c1b349b18f097f26f64cdf43f29e62c18bd522f4dcddf20a7766 -DIST uniffi_core-0.27.0.crate 40047 BLAKE2B 61a08b31e386be0d78bc24e223f8b87947bd772937c93cc3c33c4823fee79277499c01d34dc23b4c44c379d321b7d178f406d0049e6ac5a3bdcf29c427f508c5 SHA512 a0b5a56fb67b8c292d27867003aa98adad9decf279746f3d25132921e796cdeaed446ca47466156216558db4f94347760a3798dccec9734b635e9d497edb20da DIST uniffi_core-0.28.0.crate 43726 BLAKE2B 17173aed6344cc537438524d7373cc8c5f437084d171160a03aa45085abc3be90d2b1edddbf02bbf27eb9059f16be5c2af6d4ffb816fdfc7b157eb59198e1427 SHA512 76717aec76027abb394db0bc840b97fc7d03a7f1d3e2094c6593dab75d9e2eaca4ca8f7fad9937494ad08c40fe37e503a5a779a04d0d1bc12fcaebfd6256201b DIST uniffi_core-0.28.1.crate 44316 BLAKE2B b56700df80dda5315dbcd22fb12ce97fcfa38d8f996a3b8651d0c6ace71926eaf70b03fd9723583c1a0e129e156c49a1855e513891ab129858ffb2c534b9ce18 SHA512 baa92c8ad88c093e7838d1e12adc99219b10d40c218ae2d8f4f19c3d1ff05fae2067cd3d155c73fa2d71c5b27be5f59143ddd23cc772f73d3d0bea01009942a9 -DIST uniffi_macros-0.27.0.crate 34883 BLAKE2B 00ae7087a3c7553dc7145d521b5855d6b518451f42cf9fd794948afdadc1795c8ad590c52c7752ef4b75bb261e314cf2b7ff3d8560225d2cede30bb9cb11302c SHA512 9d7a6a419982b2e2508711c38fd65bc7b85a1d94bf8236e06ce1f0c10f3787243427c21086e1501378e44bb39862b722e39ab320861ba75c46aab485f4127dcb DIST uniffi_macros-0.28.0.crate 37378 BLAKE2B 82aeddedd3dad404a5820e181f71d774a5108f4f1da8d412849cb379c06439c0d3d9aaf76c7d535ccb4de5c0263f513fd4d46e08a453c0df945329ca68a383c0 SHA512 55aaf06b96099f48e00e06c75df89d2263e482ee4cffbf5a8fdd02567615a1e08d086eacbb1b3bcf92063813e2f0d89e0f888650c6d2185ffad1b475a0dc5709 DIST uniffi_macros-0.28.1.crate 37594 BLAKE2B 5077599cf61de419219f1a07e5da622a3512355214697cf81678a66d84bfc188a88db10f94167e9fdfc3bdab36d5ee06b3104af641e3761d26ce9eb926e2646e SHA512 946af27628c428dd8a37c93a6fb512af7c6196b000a9b04ef32f770f142f20b3020e85535f1f480fe6f51b15fd5555817d3f6646bdcca5df98d4677c4375dba3 -DIST uniffi_meta-0.27.0.crate 14414 BLAKE2B 24ade4086afe91904aaf0ad377c25369a11a9e60a4f25c15f753b797683a4a9ad87f3035ce0e540c947fe5c9163f9dfed258efff9e972d91133af9e28c20ab50 SHA512 1910f4f6eaf8ddda58597ba02bbb1c53e5921dcceec7eb153c2fa92bb99dabc3b6377a1b56bf072e56e5bdd4fb3507f5fad75e0e20b5f48dc63a198da55a449f DIST uniffi_meta-0.28.0.crate 14621 BLAKE2B 7a0736c6c31097759eb2f8306cde9c0e54765d6115abbbde182c7cf9572c3d70a9d0d6d0c7bd38815c647ee456ba9c4b0deee5971a4019367fffc019e1f02257 SHA512 e90fb97b57137b53be7e5d4865ffd8614907e0a85bf7197065cb17c065f8f687efd3a51476c767732c0d4c7d14e93f79b8bbf1cacae011e76091e086588036f6 DIST uniffi_meta-0.28.1.crate 14882 BLAKE2B bc3421458bcc8b98dbd86532cca0bc8680864e86cf83415ede95a1346b1591bb80747150a934849747f65f166de9dc6fc773784ed6e5bc07cac8c1e278dad37a SHA512 c12107c9cb3bfcc703304c6cebf0803cf5c47ac37cd170c2e8db9118b2189972b190515e296695ffc26b6c647c15759f0d6688d64822d8f84648c9bf058685fb -DIST uniffi_testing-0.27.0.crate 3510 BLAKE2B c1ebae6bcfb6129ee4ac7be825825a51761224c33fcf47b5876a7a6690dbf176a4113d5002d77702c64f261b0a774153df123db2250c9762821e517f790ef759 SHA512 077eb5d8947f4dfa69a106b22ba329c332ca53d9c3ced64a199055fb4734a5651bff8c9e4e6c7a3420b655c35fc27e4693db72b1a1c7b15d5db123dffe7b1d55 DIST uniffi_testing-0.28.0.crate 3511 BLAKE2B c085b0881b8ee451fac887402ceaf91987dd3e37a42b1fa22aa5383820b55d7c9ffd9407c3e3cae46e7037fa5fcd2612fd67d00a49521c711c8aff043d57042c SHA512 0a734773276651bd34e2360d27c356acefd69b29299c4e87c68e57413544a49335c67b2330d139eb0b6c87a3e1099cb725ab133ddc72086817f8cc587b092b78 DIST uniffi_testing-0.28.1.crate 3599 BLAKE2B a2c13937ee50bb57e1feca8a8f50330da45ccd1378707de861e4d0043d611cc7bde63eb6f81f79b3d96a38349c90c503af6f10dac8e94ad5d4ff00445879f96a SHA512 cb52f9714e39db7cbcff8dfa5ad0913a2d9a885987e62a697908703f832cc5e288f4601b58d94af5411e91e0075ad7a935978f0ed41f98e1e0eabd998edf0fc5 -DIST uniffi_udl-0.27.0.crate 21721 BLAKE2B 0d63a2277ca58664fa3a4eaa466f540e3107e1b4657e6f15b3ec37ece0ece1f430796c37050c0f38d22af9f8958b83544ec6b08f1efa7059eda00d520aed8179 SHA512 e3619a371abc04c86185e40acdc772bff03a1a68ea3f4016f60ebb11707b6df484a9d384eab128b348123a1d213088637b632bb47cc0196b824a268b95669cc1 DIST uniffi_udl-0.28.0.crate 21787 BLAKE2B 45860644d211a27813470552ed64828116e3d4fe55f7bddc1fc995eb894dee0ae5652c22ee0cdd5ba0b804c540f78fed6173177548bb81731cc978539a466298 SHA512 a2556fbf015747b4bd2f3187b62a8f583a63ce19af4e1637527bf46e00005e91965adb36cab69f3d3afe3225abc163d86d8d2b30d936fdf5240539c48ce045fe DIST uniffi_udl-0.28.1.crate 22367 BLAKE2B 850035ccf158d310f5d48f8a4f4ff5e7b9fc2d1934e800aadd7c47bba3aa2c96a539c8838ddff5db2b5f838eba6053b693940ea268ff0cb5c0c447b7a0dbfea3 SHA512 aa4f120eca3eea71d8a493f8c7c1122923d6e75fe5dbc6f2806d34363a2fc421f84e628d4e8271b64011f3b499cd9c9d84b37db20457ec925724d9e8fefc51df DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505 DIST unscanny-0.1.0.crate 10338 BLAKE2B fd725928107d4d2ed2686709335ef01136bcd54d34180189906b7c2436e3f77496328484c623dec4920738f4a07e92be7e7581387c4f5b6996fa34c03efd7b0f SHA512 8267e327e4e852d627d416d58ebad5ba937ab6a2477b265fd5f79a98d43ade2d1780e67696b801cae8a4af10da8f7c0c257d2c878289eb6cf7e711dcf357d87c DIST untrusted-0.9.0.crate 14447 BLAKE2B 8e9c3ae09435af0885bc4a6e3c8943805b48cfc00bdae228c7c43093254e1be15d7005d1026561ff369ec37865d8458203f421a9c89ae3db077f655449621aed SHA512 5929e4079c1c2ff933ae8d8f59a2ecc7a424e71a20d1b8821f75925af68bdf82604b024c008e5464b02e25ff093e561a352b685e755b3d0b27e4c30254689416 -DIST ureq-2.9.6.crate 113677 BLAKE2B a795b9a3b0985daf2bb27e489b32387693bbcaf32a126b083d584693a921c8b3dc900987846209497d468b655d30c9b364112905cbad870c6758aec28a5c3268 SHA512 c2c860006e33146589107aa191552530749c143ab93a60ff3fa959dd53bbd03c48d7f4b410ecc4c92c28c2b483ec3c2c720373a6ee54ef8f9c31b069da205f9e DIST ureq-2.9.7.crate 113834 BLAKE2B e80ea64d610ab01d129527a120878ac3eb38248885c772aead6fb983f777b7469f7debd042ce93c0bfb6adeeb7ed476f7dd96c62de386ec2d64dbed28973a829 SHA512 33893aa1df316b5987571ce6b46373c625ed89e452a313f9490d63896f144e56ee0c35c1eaec77eb8d2a66e7726f3dae6e96bd2ee0db7c0604485105fc69bef4 -DIST url-2.5.0.crate 78605 BLAKE2B f3fec3477248cbbe67866577eebb03f517c284a5e5cb783132b11ef3ad156a03524f4730f188d822dec85169d7474e265099296d6bdd4adf5ffaa0a118821617 SHA512 4aedbc48b85bcc2853189f5fe8265a01c76516b5507f4e958d8d0b860fe2590c69c95f0f4b9fd6fac9b8d5911bcb0a5e9ab7f8e8b600f37a12db1438976ee5c3 DIST url-2.5.2.crate 79704 BLAKE2B be3526298a8816fbd88385caf49c2d58aacc7dcbe2d9183478cf501c26fb5f22d7704ef1313ba6d355e849cbf8ab7980310c1aae85e253a2b28d59099e23af29 SHA512 2515903e41c0659cb226f9bb049ef80f2a49d1b609b6ac480e570a84e899088ffe3be4fb58f41a1fa7f5288eb5f97ab513f331aeb6d56979df783d48e2ace28a DIST urlencoding-2.1.3.crate 6538 BLAKE2B 65777b0990aa6b3d27a47f36114da8622026ac8946b5ffb6e04172b666ec7244a55c250a7fb626472bb2b636eb32ee945599cee5ce7351c3cef2322366db15ff SHA512 035848d9243ed6a4528377b56edd7f8bcb5f824381b420dc8f5c4bfc3f1246655c54eaa7de0e4aaa7138e0b08fd796b9ace140ab919aed2d94f6952b577386ac -DIST utf8parse-0.2.1.crate 13435 BLAKE2B a1c111d7ffc60690f2aaa86f034c66ba1abe4e126f1774a4377d41eba3269369862f57515af387ea785d69a8adf46338b5e53761b5ee6f4f4380473f4d9cab0a SHA512 51fba8f1e7eb74b7020fd831e30a67fc8353ac2ee07335c8c3374a5570ac8117f165f6905d4b7f0360095b7b5ed3e739001d02a8cc3c89195baf2cd679136050 DIST utf8parse-0.2.2.crate 13499 BLAKE2B 095b5d219ab8ff04c06fd6303e03d913ae36a57845f0b2ca3217a40e31a54cb0fb5ecedbde165d28f5f60f1553d8252986d7098fa83befc84a7cb20bf3b76144 SHA512 f3dbf78fe924f1dc3cf9498b6e43fb10174699463f31091a7a8136d8f31ec84fc00e80e3d8551b7e86257e8b3573cfddb56fc0de797fdb2cde0e962a8f239266 -DIST uuid-1.7.0.crate 42627 BLAKE2B 493f6a3a643d3493a2bd7e0e92a1ccfb7bd722e3a1fc8deb7df0ddc875a822daead1cdd35dc3ac6f26346844100a671318d71e5ad760c9587471d4f05bbb0c69 SHA512 2ea704d082b725d98717d772e1af84fe743929ee32658ebeb111c6fa2395ff5f44558b7e375087617f91c6f7bc242f2db96e80a631071722de6fe15af845e856 DIST uuid-1.8.0.crate 44043 BLAKE2B 6a5e3008f0399d5606ea4ef51e5932aedf2a02e747b9bee4b4c2c6646cd959a720373c346a734c00554ff0359fe42bdf471dea5029e23a9e70164e20895cacee SHA512 fe254f0bf6b863538ce568405569a4c755b33bce561148661b10985bf4485fa7ee7a6ec650d93656552b3cdead46b2074ebfd45b040edef19cd1648300f68ed5 DIST valuable-0.1.0.crate 27718 BLAKE2B ef5ded994c9a6dd302bed27f0d757447b0c86dfefa499c1ef0d25c3a6745ce61cfa2c926826534c9f605f9b89b4a19f91f06f94ae7c03f1ddc4c58fab3ae58bb SHA512 a97f65db1f1c5049a276dbb0e45e25c6fc6ce9d27ac1fcd77c945324cd8216ef60344065c79799ca04e338455e4f7422c44078eea32d5fc359dd0211ee7eb387 DIST vcpkg-0.2.15.crate 228735 BLAKE2B 6b6bacd9a7fa38919241f45a97f58cae957e58d3aac99df208a26aa718e4f1644f4ccefa31b09151e5c1952288e0e5837c363918b98c7f55079a948a952c1c50 SHA512 7322a21e8811b2fe4e79e09dc321458068ecdf1953f05d36233f3278ecc0b1dfc64194db7010dd46fcf692285f42475beb090c6c6cac0c8f9fe0eb5c770e3172 DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8 DIST version_check-0.9.5.crate 15554 BLAKE2B 131e75cc287518831e142430e2a39b48e4275874f4473780d47a27552294097aa1cddb65c385583e1022478f940b495eb43c24a8b1617b8ac5a24af3340c0d72 SHA512 d11d5a2240ab0c67ea69db56561ce202201edeef9a8e5eda3d9ae7ab7bb5752d8f343fe7f6536d8383de8d55f9024efa84f66a0c21e69563b7a38c4a628014db -DIST versions-5.0.1.crate 15850 BLAKE2B bad495d74d67d1dc60e2b3d62ed765ade0dae63e99a10b9f28c456deea555ff20e2a28ab28730ee5150266757da54cb3f237506ccdf4ca960f2c89a8a8035e1c SHA512 2b2c4b60b53b7b4e6f69a36a798f74353fe75b952dad5d3fc3f83ac353ad5545332f34d81cb43fef48020dd6e8e0ff4c0fd8b69e262d67ba38e80c1311fff5ab DIST versions-6.2.0.crate 19968 BLAKE2B 5e4129f4acb53b21aebcfafbc568425aa6d004deefc1f3a22b6aa56349852bf8a88ff0ae2db4c39554405099b705d61f7041f216928269f62cf7db7d71b14ecb SHA512 c1289b03f5b453c3298ef74b34b6a2f5fc392f2791763c711ae9d2abab74e904906d40d7f2da45c371c66fac93e6334accba1298e2567afb3f9a73ec8b037c31 DIST wait-timeout-0.2.0.crate 12441 BLAKE2B a99d3f57bc6e784ac06167f98b2dc2841f730dfab4fb9772b15e67707f756d6ba7daeb3e992d32291bed3daa85eaa8a8ddde64db5e1acf1cc4031fc9bdc82212 SHA512 db3b7aa2acfd44e64451042b8ba98eecab77a82aa5c58ed08dadb119ab36dee4e26d62baad7978ed56d5ad03019c96be5021455362290f56043981137bac8066 -DIST walkdir-2.4.0.crate 23550 BLAKE2B b4298c01cb38be0479b7ddfee627af01f889b6b6ff432e368bb67f65134c3958a4fe271a5a7dd61b19259ae88f5680e5ce8e12e50a872b05fcba68f59b7073ec SHA512 09e1bc852c01b452c95b26a369831a97bc5c9e0ada3111c73774570dd73bb5b9e4735317d5572304fb48dca44ce7b9f77bbd17c418b6b047b2ab17b8bb42d9d9 DIST walkdir-2.5.0.crate 23951 BLAKE2B a2d3a973f206e94699adec0263dd5e211347722cf3ab82536295019268b3125084da5dbcad818070bfdcb6a5de08da4eb483475bc225a829f58a1e3e040b5fba SHA512 da36a121dc6656942dc9cd9887fcf4f6eea7750354ef3f59c7c25d836e7afe06f33260b4d55d0d99421104ed4ce56ef2a1f0f4c3b713766fff90548c21793fad DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f -DIST webpki-roots-0.26.0.crate 251778 BLAKE2B ca16fd806c1904a91aa0a3758c0cc96600877c3ed50680f57d85b3fd6b0336b02a70c1e582bc05ea768519bb1459bf642f99ba660ad41e1c9289fda45dafa1c2 SHA512 56b21f5be94d9e34b50f01a4baa647f3d2ecd60a61b8a97edb45d625d0393a4460bcde29b889bdb52c3f44bf3f25ee875730e133c21a65fea68b1b3d106d0a77 DIST webpki-roots-0.26.2.crate 250806 BLAKE2B 7b236f9131044d53eeaa1b3b3cb8937c52ec9bb60b18a49500cd5a7a5b093a30dc8b7a92a697fe60a1bdba9c11fa59b7f593ada683ab32c0a0de28a2a0132ec1 SHA512 393869b21ed8afbd17a5764395c803dc896c696419c06cb2de4ccb2480ebbaa3219a00cd98b714e123b53497338b01698c956bcfe5c22a833ba5f889d384f467 DIST weedle2-5.0.0.crate 17777 BLAKE2B f31cf97f698008ac978a93dbd746c9094bd726bf976a9a68d6702c31b11d5cd3dce148d4cda1a5dbbc0ffce3c3704444e81e691880347021a575530142e1aa1a SHA512 29d722cd3d210dcfdaecc4f430cb115ec3a73cccfb860c98f784b4ef91b07bb33ebc02a7a31f67fb13c9bfff836cf85f183a5f24fb60d963607738c386fbc4c0 DIST which-5.0.0.crate 16635 BLAKE2B 5319f2effea2b86ed865be31efbb66035670cb80245f212268a9d3b4798b97fb658ef02b4db3ba85aaf82007e0498e98f35f67128bd9a6796accbbb37161fadd SHA512 cf2b6ec2f156f4d6af0bdb8b468965784000158bc7ab8f76fa1b1d7a1a2c732a7392c8ea09d3cc79259411e3ed7ed2d448a6aa94fe7c2fae077186086b0f826a -DIST which-6.0.0.crate 16751 BLAKE2B f681600f2e2af626273e4b189d43dee9ca5c09f1808870c49aa0974d56ea1f944e83a0078656ef519d6c172c0b22a56f5d0adba21ef640afb2665bf9b58a0d54 SHA512 f0da2731701a33a07704672490e53e3b1476f3b06856e7b9e00aecf92dde5b6ae13199780ffe202a19205cc61ba1eeacd519f6a132307d8d2d07d0577cb73b50 -DIST which-6.0.1.crate 16542 BLAKE2B 20fc6e56405a9774569f315703b2d8f20029c225e7839ad620121aca7e1e0ee3a0295e402b6a0f504d18774f3266b98b56ffcafbda153321b1947f44205ae51e SHA512 6a80b7bf46a7fde1fd4ec6cddb7bafdf9b9878a493fc5fb6ed425827206100bb45850541b42113be43aa7b336a30f98e14a5fa20d09a6411e3f420b96f7273af DIST which-6.0.3.crate 16937 BLAKE2B c4916ce80625b8b869cbf43844d689c62545964cb60f9741851393540a241d1d440dd64517949f3a64a4e9256584393fff84e3cea5f75773c9afd8b7ef580333 SHA512 82048af7dee4bd274f977530a19c2e2c86ac12936b7d814b2a86f13b2063e1a3d7092846d1ab66e3f653bf7ebbf5eae8bbce061a970c5ddb30b151234dd0593d DIST wild-2.2.1.crate 8080 BLAKE2B 489a2a625aa8091fdef9f4d49747db7816d82c01384672bd12ff9e4c906f3418fa5a5fa8951b625f6d22a9c1977c523f1b54d7c4252c241413ef6f63d327cb29 SHA512 8f92b83cb2568fed7841ad372111138d9ea5806c21a0affaecc639f0556ab879ca42fe205fe3c1e55a1b5c1c4fb0b705a5566b06bad5c119a1d41df9c01ed2c9 DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97 DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2 -DIST winapi-util-0.1.6.crate 12234 BLAKE2B b8db8ec9d7ada5532a22a2d070320174c32ece1f48890e9b028708e194fe72a04287b11910dc2ddc7f9c9674a9d8d39449b3e100725e1f59e59e3047a7e3650b SHA512 b1c949f9bcd34c1949a9d3a7bde6ce62fcf3d2cb66df60af41fe67a9d1acb24e571cdd5ac721be9f1ee4b3af5ef5149b5724ad6e02b558e124ef2a4412d12db9 DIST winapi-util-0.1.8.crate 12416 BLAKE2B 5b48c27dfbb5db5c332f7e248138327b35ceec0909788b940168e7f6fe1402800da5e7690b2b1654da6c510b5c720330a92da16dff53ef15821f37fef6f335e3 SHA512 e186111398f9f0f0686e791ad0d72c39205e5f246b6e020df413e477ee07f32e91d09405c61dc92752f061f54fd7533435545c1a151477b40e2d68acc94a57fd DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513 -DIST windows-sys-0.36.1.crate 3347053 BLAKE2B 818f7812bd9a55a4e95b3d461fa5fcc14569a159882f950d20fd5a6b7d2a2841f082c0bccaab657f5830549e6286a37d9f8fdf825a42403f543b51e35b2d20d4 SHA512 80973e461bef3be0d0d0c13d02b2129aeb0d0700768d637544315654126f101b39f980738035fe325bd96f549493a2245bd7b82511f833efa7bbcb2f62266001 DIST windows-sys-0.48.0.crate 2628884 BLAKE2B 551e900de4f67187ef034b60df9fd0e0d8f82a3100ef28e1eabd543ac129d882dc86ffcc1714071aba09e4cb2ae2d2f07ace1a32b99fd989ce525cf05991edab SHA512 bdf534bcf3face31e9ebe11427a911a53f89f4ff5eaea8cccd094e139bfe14b2aec602b1cab1df774794d999477439d9adc6b627a8e33c20334fc348ba2c47ed DIST windows-sys-0.52.0.crate 2576877 BLAKE2B 69d6b560ccfc8f679e2678663ba606060d71fa28efa82c8aef8cceaa2c63b06f2052764d60163964f939649a26bbec6361ee4b094555e941fae92070db566980 SHA512 24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03 -DIST windows-targets-0.48.1.crate 6902 BLAKE2B 8e6cd47dea52131c66983cbf4982e88f7bd30416dfae4e380f7afb39f67ee0ac88d40769668dd5aba40d4415f9f00cbc2ac98d598506fed26029f5ec4df3a2c5 SHA512 e48179620cce528292167f1d5ee2deea0659569c996dc90eb4ab62b9ea8baee6c0bea3ab739e06d8793c9690bfc895545ed0039cb633ca39293de79c42ea9de2 DIST windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709 -DIST windows-targets-0.52.0.crate 6229 BLAKE2B 4b1efdd32202f112d3782b586ce60667f5d3b6f97ccae0d7da833aee2ae81ceece88b5ef4126db2448c9019de3f77e4fe66ed4286bb6275d9a5e8ab74725b804 SHA512 0ea09552d89b802ec0d419b640fa02d0af7af602704a0e88ba10f81d123dee0c907460f6ec91224177ec9a948970abd7414740eb219148a4d66c269c2362740e DIST windows-targets-0.52.5.crate 6376 BLAKE2B 1d39fd86380ab086c536d88e67b60956410b345790ccea62a25e6a700757b2a9cfa6dfeb7b86934cf47b981ea2e5f42dddf49780ad9829a551dc507fcf108641 SHA512 d00d7bc7eec3c10272e803ee5c9ea0d9b07c43311124dae975b4f5aae7408c5f2ccb2fe6e68228ea3d4e70b6b658382cac6992ea177f43a9cba2ef95c4fda0ee DIST windows-targets-0.52.6.crate 6403 BLAKE2B eb98d0a8daeed5fe76e7fa8edb2743e2a3e77dfb9c4ea68605a6ab10532cb7cfc43bc1cea0180869445bd940be762a40136500e26b84ca88b5e0c502004c7a4c SHA512 d6d2dbd96096c6c396dba141a9817e377c35877f3b2fe58b2553280c7cfcb1ed6ee75bd4d62c9b882662de67ddaf0c1049b91530d29c94dd709c230e08eb895f -DIST windows_aarch64_gnullvm-0.48.0.crate 366543 BLAKE2B 9b10f65089fe6da3ff38a1061783f635644ae84f567f891eaced280af68f7ff3919b34289e8850aa34554bb0346903273ff0a7fa743ca8794c2d23a9f1b0185f SHA512 80c5aa74c5669f7acff3882a8e7575f15e8d7cc58c11a1cb731ff423eb9cc9ba43cc6b80e52803c0d44e6a9001655ba87de6f43a9fe858da6d6e3a5c983a2711 DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996 -DIST windows_aarch64_gnullvm-0.52.0.crate 430182 BLAKE2B f23370c62c4ab3fd885e3ee22e8ec2fb5a3a837a57044c1df3f9986dd4e7e9d0a44ec58be1648a41e1ea4d037afa3077f0f03de0204199a82fb8395731815a4a SHA512 b7c3fe0a2ad5149be0df48fc7a4d15879eb130bd9441c58c25fc71b8a91483f0b553fb1bf29a9302acd348e9083a547430a840b059b0cfe19867ecaffcae986f DIST windows_aarch64_gnullvm-0.52.5.crate 433266 BLAKE2B dee1b69cdf1fbd4143136909e4df3adaa7b80d7630a01ca9a42fc5ad0d5a4d9a9e2873b43c6d8e55de59f237d9199fad0768c4e1cda3b1e5354847bd70d4c79e SHA512 b4cf511025458fe30d5b11368af285610e1654a8986ea9f78fa81b8bb87d38a00c4869441c62692534df66d06baf14c8a4d17f8eb06468eb260b99e2fda6439d DIST windows_aarch64_gnullvm-0.52.6.crate 435718 BLAKE2B 8b12ae02892cb69401329034bbca671d13bd268a112120b56b90504707cef89decfbd2560492844a9f0588fab62dc1476ab7e931126b939015d25a8cc91ca334 SHA512 f62b2d942bdb3a9353465b07d47b93de179bb706511aa497e4addd74cff95e689a9b633e7801ce786e73b5ae5f30b506b6faa199c5ab86eefdc1d94652df79c5 -DIST windows_aarch64_msvc-0.36.1.crate 661960 BLAKE2B d503150a05c4aa6ec376d1094ad24a7a4b3579d8f60cae65f4a98adfe830dd776c8996d5c3acfbfca1a69598475b918b5de2a162e3253b0b28cd6aa17de2dc13 SHA512 d0c352c78caec9c71bbaa1a688baab8f39a33c903c0492b19398c76e08194183e254ecd3a8b24af3e7e5e1d9d97373dcbab54499236829898a4fd153cfde2ccf -DIST windows_aarch64_msvc-0.48.0.crate 671479 BLAKE2B 0c80f210437628e1d878d1d14e884fea532c7539b3030aa76d46f27d02372c715c6e33d7efdbbd770666472b44a66c30711a33d819ede9cdcd51c96355802d45 SHA512 617e47a7202f1db4dbd3ecea509682135ccd85e3a458c0331b9bc7aa1d84e5756b59c881cb098d5c6d4c951248d13c8253a8e8a50938e1997bd19ceba77262df DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff -DIST windows_aarch64_msvc-0.52.0.crate 821663 BLAKE2B e6f772858205f7cd871722136aec4d00daea4793ff9dcae53e6311e74526c46aa11c2b3df7a85e6c577757254cbfa5a713e68c694625ca274b64e7a1c5532c23 SHA512 8446bfe5b9fe538415762c8129ab3bf2fe45482e045bce367475747786602ad4ae1187c6e508dd9d7b6be81bfc8d430e0db9c624e35c7cc52e823023e46f5cf1 DIST windows_aarch64_msvc-0.52.5.crate 827944 BLAKE2B 3bcb16d527be1dfdf18a9105ab259a064f00e949937ca423c8dcd1d2b90090d85aa7e42ca6ccc50c9baeee1aa144123d0a04643f9ff1147e62b2fce28b8a697b SHA512 c8974f81e37a43d92c4a8b142705e36b7acc58d9150d80ffa3997433da878044c467a2d9167ba792d37a183a0082d912500fea8c8fed743f395b63ca62a5758d DIST windows_aarch64_msvc-0.52.6.crate 832615 BLAKE2B adc8ff61b6dc96d39c92c7d4221ae6aa0575edfc016cfcd046067ca5d8fcfd56d10e8e227be1c038ce34684be22c7ccaf5f18cd5a7638d28fbff4ba15b48b90b SHA512 a3e21305ad0e6de38f5b5ed5d37ee5825b7521064163bcdf31d63341cd87983f54377865d2daf3bb480d2d0aa66d6f598fa09540ec1d71baea74569c86bd213b -DIST windows_i686_gnu-0.36.1.crate 818115 BLAKE2B fdb78cf88e1049d1ed6c474f870dfd1ff37b48bc24726d754cfec5b3e77075162f291f93aa709c07c9fa38ccb21a6c31cb5149dabc2cc8ad8a85c03408384a0b SHA512 e2c60e6639beb879472a06ed4462667eb4a78385df6bcde1ca579af759cf2b4ac70e84f7dd7b736e7fbd1b129061555671fed4b83bcd81a6083cc013963194a5 -DIST windows_i686_gnu-0.48.0.crate 741490 BLAKE2B 5a4a584f8d8ee5bbd2d4c5b6749a66f2d43fc9e4ef90faab2227709b270f0d46fc26578c029edd96877c71309316ddb32d91c39f46d88f9a484c614f866e3dbe SHA512 15149fdd48b61b6d993acd392dbd353d0280d984ea88745217e4207937174bb90cdd9701f69ff0fe06a842f03607cbb57937d20d79ab577181e605a8a8fadc68 DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a -DIST windows_i686_gnu-0.52.0.crate 870285 BLAKE2B a7688062a128a1b1394b3978210334e4e2aaa10dce131457c4a11ce0cb3f551e7f4962d1ece1846d8e9526983ced0e0a3ee8c933858e9314b62e76381e086ef9 SHA512 fe993f5bb6e039c257be9b35337e0221f718d23866818bfd19c76aaae236aafc2de4bb5014fcdf919563b5901cdaa14a2136cd086eeed3c83e46a5d02f6aa77e DIST windows_i686_gnu-0.52.5.crate 875699 BLAKE2B 528ea431d080c5326e4c6ed316d9ea3e38b40c2e1322a12a432506a2c11555a94537661a0941e90c20eff4a9ce42c12539876dae6e77a1df18b522529928b309 SHA512 cc3e0362fb62dd5e8a855bda3be0177708ec8629ee9685f1f9aaac3f71a8cb082387388bdf49b09d3f5ee24a636b0b4f933d2c8bb75db434ee0192c8ce0547d2 DIST windows_i686_gnu-0.52.6.crate 880402 BLAKE2B 5aab8ee07132eccb7695807eb44811beeb0657aadfb672c54e99b6ae39c067ba9b93e38fc69bb5b9b14a9759f263ccd5e301597d2727d83b31b49a409b6bd405 SHA512 a1f6b5dd23d17ec3567bc9d11a4be6f35e196eee21ca342e9b88dbaa6a5f7c46e439c834b77e724f32ac22c0d81573746b3b513a6c944a221b92b2c76fe98822 DIST windows_i686_gnullvm-0.52.5.crate 473064 BLAKE2B abe41ee330c05ee1366b3a835d15c6db3964ffd7b340ee69d215056b0d4b65c67f2782b0c04a55db64001098de87c93e2d447e25ef2a27f2cfa6685b8cf20c88 SHA512 da45c882248070911bf55698f62c245cb081a23254cdcf578df053905adb9117454235e52dcf1dd97c0d2248f92ff1d2fd3e18844a7be8d93ba08590c1eca22b DIST windows_i686_gnullvm-0.52.6.crate 475940 BLAKE2B fec4fda8bb2bf319a501a22372fa642ae682e4dee3235b258a028190ee73220bfc55b3142f06249bb4579b17e5fde662bb2b121aefe18544653350d7d0fe7d8e SHA512 95f13af855d530acc0b856214478d4b11b8dbab3f8f79dd223d0b009790c0e46d096fc1773e0277997deb2d5b96c704f17f23c7df11411524629f75415dec99f -DIST windows_i686_msvc-0.36.1.crate 724575 BLAKE2B cf964bec007d8432e2009644cf7f89ea7d910ccf9512c067b7bf5c6c825208ce4a36e9864c0cbca137f523983eb46e58e4bd01054cecd7ac7126d2ba9f67ac0c SHA512 02bb1507981229422498ce29f6c777d5e412358040128f84b09d948ccddf0461b078a0a20cc7f6ab7da8595121bb369453ae9ea1f0506aab715662e8c631e737 -DIST windows_i686_msvc-0.48.0.crate 730056 BLAKE2B 4e4ad6ed94948145199c2ed50fc65e4af08455a0fd058bb0f763d481f30b029f99a2b8dbac087b29e762500a19270f6683baf62ba99d141eb002a5b0b5c8ea05 SHA512 11a50800e709712dbea907275bc0faa46d2eb2969118445ed5b932d9c5957a09592a5b26a40e554c1f5fd56c6d074a07637e6f88eedd2224e1001e62df7b469b DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e -DIST windows_i686_msvc-0.52.0.crate 888693 BLAKE2B 7a6e9d03e503c8f543e80a8c7bcf3f50cfa7eed462e487ae7b581746d7cc4d871b33e307110d3a3a75226d88e837f9452ac56bf3baf71b66cfab2626cc15558a SHA512 817ac796fd00bed51d80133ec873cf3d3d582ba41fec8a6f6407fbd7544f198e928aa5d710f70c13bbf74a1dde4c91c54e65eb9d3b7518a7f011ea42725eb671 DIST windows_i686_msvc-0.52.5.crate 895404 BLAKE2B 02555169f8c5b944231a877de8693fc871ea0d7d33f52f60e164bacb35cec13d463af07c57fec4667948047cc222d8bda7f6a0be01a07e7184b69e4adc2b4577 SHA512 08c96f8e9385ac121549bae8ed228741b32004be20b2955d163a98d4b62af464f1682cb813681fa22823d20646f19335cf0a66203a876b105e119e05a4db0634 DIST windows_i686_msvc-0.52.6.crate 901163 BLAKE2B 99ed34e052db5ba77bab240ed5d38ce450be347a794d63ec39b719304c32722c9999b540ab40abe0216318900b7412970df99dfb36d1516a9517cae0c77d1bdc SHA512 ca97913ce202d73266cf55947b868bea7e964a4516b6a096a81aeab6a60ee73867171032ced35e3afccff741ddfb2def7468343b6eceb95253e4d4f349efbf96 -DIST windows_x86_64_gnu-0.36.1.crate 790934 BLAKE2B 9dec5d966bdc89efbc81989acca242d519f51676ec37487df2bfacd6bfbc5a8de2871be72c5b96a073a899c666e3a39aa60d493e7df39fa90efe869fb744a332 SHA512 598b69e4f2cd3d68f910d526a66dadb465ff30a8c261c9a4455aa1c5b952d23c04f8edaa063cd16fb43564c116a13f06d607f3a0a9c7495054b8bfe1c04d1865 -DIST windows_x86_64_gnu-0.48.0.crate 703595 BLAKE2B b227efb78a99c43d0538cceadada3fa1840df29adc665787fdcf845b73e77d782da8a9f9aa602e1da61401b550d0107176feb6c397c922a6240b38cc8f04a180 SHA512 38eff1164fb37dbd2bbe53404b20cba92de84cbbd5e4eb9ad60d51fb43d6fdb8b87a1488e2c88ebd4b3ff3b708f93fdc05df4b14a285d3ff11c33ff0d9828602 DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74 -DIST windows_x86_64_gnu-0.52.0.crate 826213 BLAKE2B 3ca03285ef289fc844261142154e710e996c29940b1c0a7dc3016906ff6452fa50b24f8668fce0ca44bf169ab1228c217fece9f7bddac9ab8bdc54fddafaf8a8 SHA512 2d81af56ad0bc9536f6e066776642a546ce6c6d99551edc0603ffcafe6db15d5d5a32a642b204bbfadf34231daa3894ad7897a9c0c575c2b6bc1e3e58a9a3eb7 DIST windows_x86_64_gnu-0.52.5.crate 831539 BLAKE2B 54f84c19988addeb7cbbbddb940e430e7345944589419592b99addf9b83bf6d801b18f4e80399b85bbb0b0ccf4608e36d9a50b79d8b1d6ce2b93745856e06eba SHA512 d9bf91765d02d2727344e42081f4bcfa73be97991495126f7e633f27e56a261ada3a8b865a559cfe71f9bc9aed5b14504f89138796766937b3521009726dfab8 DIST windows_x86_64_gnu-0.52.6.crate 836363 BLAKE2B e2335829155cdbd4a55cc9f9babc237e14e32aab97f6f91afabcdf80d2aee37d6fb4b8669aaf433ff532c85dba59b3d366c7d41b61a2f29b96f960169c900687 SHA512 c4086bb0280042f2bef9b556283b67f8a5cacddd209e1c5fabec63decec6d4fd2d6a7071407973981b98ae0c0cf7034fc612f9e70dc6d3eed9acdec771ae31cb -DIST windows_x86_64_gnullvm-0.48.0.crate 366536 BLAKE2B 295dc3aef18c604d1579978045f4058b1a315083a8ab842bddf5800ec3460b1530ad88c3464acab712a229290aca235810de8a3b6a253859a354d9fa97277e58 SHA512 8d82fad4c8445030844708aa026a62f1ca43362b8e15f14b0d226c7e9cda04ffa0715087b6a025dbb738e8891de24fcc4a2df071a532917cf03c4a46f934f396 DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa -DIST windows_x86_64_gnullvm-0.52.0.crate 430165 BLAKE2B af9345a1f6e0ed1392ca1534c68d23f3be0fbb6a42b3c5518cee14373e645038526da15e849d14abe45c53766a30c6c2042a626482ba4a05409f325eb6aa36b1 SHA512 e88af35fd1c694dc189783e5c81aafa61aeffbddce4d7130e1125d0ce3d932fafeb345990ffd98477c41b578b7f5090f4f9c0457b02146309b95549c9f8f44f0 DIST windows_x86_64_gnullvm-0.52.5.crate 433246 BLAKE2B f34328a6d100e092ecb34a6305daedf4fecd71840432f104e8707f049b60d784584ce4f02fabdd0281fdb8bc7ebed34b38fdacf3be9c8abd60084e9a4ee9fd56 SHA512 22a978c40df9705cd94e4c52f2b706e477e667b564c608d0adb144b38cb486c279c09d1eb1dd2d6c7bd3401b75a2dc5eafe0f7d642ffe6453f394d1f59483a08 DIST windows_x86_64_gnullvm-0.52.6.crate 435707 BLAKE2B ab77dccd06328cdb00175f41cdbc120594050a9678b7f9820444391fb50aada3911a91ea00f3a6db2b4fa1820fd23bc9a007dfbe65ad41417c26ee1137ef9b96 SHA512 67681f5859e249c56b0183181811f6212cc7008d6471dad78aecc7ebe3d027686b19210b8aa9014c554410f69f913d21ce2aca928eea905eab779bea26464cbd -DIST windows_x86_64_msvc-0.36.1.crate 661999 BLAKE2B 4cf967f10d4ce148bac967598168752d1996b4ddf5278a8fca53360566c37c1a014bfb4dfdc0ae2d96e01196c42eb4906ea80d8e9dd23b9e9f3163631c9e253e SHA512 89c22ed51a74f531662d80ae0fa5e0215728db1e6caf3c13eaeba95a93548b43c00b8474f52553ac866ac83c203b6c22dc44fbc870e882a4c9c97ba54b87c631 -DIST windows_x86_64_msvc-0.48.0.crate 671422 BLAKE2B abb063610dcc38581657133182b7d9efeed5553df67bd2bd6f30f1668a645186e4824f9ef556a5abc84ace10b1b437b6325bbda6df5a64ce880d7dcb743ac786 SHA512 6e598b8e3ac54912a8ebac01b0dd2c58fd282072527d7fedc7f6ebecdfb7dcb09ae46c22293bc0117849437f8b053db5e90406e7a38276f0f0afd06be3966795 DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0 -DIST windows_x86_64_msvc-0.52.0.crate 821600 BLAKE2B cc448b65f98fc0fc4949ae622b7020d2dae927ae45310649f6ef71809740eda9d3db0fc035676c201fd9ab9639e9e7f21e2e992b4c789542f12b419d2c752179 SHA512 3aaee31533a1a48a6ab5cd15b3cadfbd906a93a153e53919d0aa74e440d11e29830554e4e014c215f5b88a475bb733fa8ba4ce9d773d3e23a40ea9ad37ddd0a7 DIST windows_x86_64_msvc-0.52.5.crate 827905 BLAKE2B fd5dac198bfbf29878cb461a7338c289c9af16ea80b3e5fa567980d2a6a5ea6a1cd83729ce6fd67e4da171873083dbeb1d6e16a287620f0245201f9cb29c29b4 SHA512 81176090dc725d7fe3867e6322fdc4a4065168580847b35e6f8da345f685c4f66a81e35cd1880dbaabdd4cdc82446dde9d6a0e583cf0b7fe47dda8bc8002f1c6 DIST windows_x86_64_msvc-0.52.6.crate 832564 BLAKE2B 8e9a3044654c6de99a9153e7cacd575474e7a8a3d883c67b02132af5d3fc99d03cd5f7a4dd666a3947451d11218e6acc6eb5e2526f012481106cc13453839719 SHA512 21944cd8e3a481b514509e73ae3f62722fe7ed380d37ea0c25f8fbdeba79174dd52ff65d898838da5df4197894b74e00f45d47489418e978753b4e55c7e623e7 DIST winnow-0.5.40.crate 159316 BLAKE2B aae5076d59b3459c901d918d8aaa97ba8bfcc993b8484344f52e45f1f37deb96d6cd3a1663a67f3c367be2b05d633286f270274c621bda9f3ab72b98bb652cc2 SHA512 525156f08514b0110697360be6e331a68d08f0cb65ee4ba3ac9d101dd2d42a8c89601e7409bdb5652c5b05145626506651010f58a854c47712065334c61ff39c DIST winnow-0.6.13.crate 162649 BLAKE2B f088396ccdc6e96e56b822c20ea483eaead57794e101bff3df6ea35fe039fa2dcf2eac98dabebc3decb4129c200490633f05ba5dd4325cec29d28c78887c3de1 SHA512 a8a94c26afc4cc4db6ec2e65e7bff325fbe6816d4a80fb97e2014e202af0f549a77518f0435157985822aa9fd8642b95258b6cf87a9e695f4b9a11b5fe514d86 -DIST winnow-0.6.2.crate 157140 BLAKE2B 2cb9e63875403fe525739e2e20d4351f51b6f52dc03928af6de4531f388ec5cd0af7e21ef2f621330f7c91b01eb644fafd0618a246ce3c3dfe61d801e8f8e0e3 SHA512 dd54d69f7ce91f7ac2503ec79bf5bc3e45d2e8b0a3fc593487af33396f819c9df145eacd5ab43ecedca592a89ef259351314335de3fe740a05af5889f24fa8a5 DIST winsafe-0.0.19.crate 492820 BLAKE2B 4eba26861f85f668e134b08c60e9522b698aed61eaa5e6d4e89ef31c1b97953fa08a5157add52d9a306075df4ad97e9aaf1767eea4208b72401ec0bc1c3eb0e9 SHA512 0555ec74c5acbb69ab08e54d920094e806258079bffaff3f90297bb94a000c7da36d6eba0eae445d425c781465235dd70a198437cf83a1f113438bfd9baf4c21 DIST xattr-1.3.1.crate 12580 BLAKE2B 25c414d761a7fcd23bbe057add62c6da971cf33149066aa024320ab80e0ec8e8e8d5d3d0506e8de954b8f8c178d34c52a00a5fa9aa109510678098a3e3564b7f SHA512 4047abda42b949cf58f820e15ee99850de483857bbaaef737eeee48e1a2132972470f15bb2ddda56438f6a934918be96607a8de518a5a3dcec7c8ee6c00ad280 -DIST xwin-0.5.0.crate 65006 BLAKE2B 8b4f979120ecfe1e1b38830b2230b1e195a88a91cb1b56c43da211dfa9f7b41ca48aa3dda12b65ba1b3b7e3bfec989433f7b743875c780dfee49c1d2cf38cea9 SHA512 1268bb25e7ae98f97a608acb23997799fbd84a097be35f403b4f2c5a55058960852c8d3e96a509f0022ee7ff79f8671c563a93e8f0fa699d461c5faf41c17730 DIST xwin-0.5.1.crate 65009 BLAKE2B 91403c2d890b2ab48a94356eab78f3bae08d18d98746824be64c9be6f6af5e1856ab7c7ba1faaf3ef4a2e92e4767cb45ed69c3d24bf668082db22ca988adb805 SHA512 2bbd5336155f7a4dca1671f5018965f875c26eb71b34806664d9a2051d875886eaaaa9b9a989fbca6d22b4a29bf8acaa453b006724102717d2c57c1636ab972e -DIST yansi-0.5.1.crate 16525 BLAKE2B 3b5a93b98293daae72f53bf3f13bfc05feba8d5b27921f79595f7448fbcb9a0dfa6cd70f467c5735b914c46b7d3592e6cce080c540a458a904308525eb3aa839 SHA512 7b33005a066cc612408a65df6533e8718d1de43efc0fd57416a19dc2b811497570e6e18f100fb26073565e395e711518c27de7d644ae64777713f1a102eb16d2 DIST yansi-1.0.1.crate 75497 BLAKE2B c0d396c93a733ed6ec12aca3385d816f39b1f1fbed75da460f491f0cbfc30ba462842ebd1627fa8e5d2b7c0f37913a23747e5f5e23df1cb7c85d965e6c37159b SHA512 182c8c6c60a30a727d8f8b90bbf0527d91fa8ae9d8eb20e5414614b43ee6dc532f4b19241adbfb9299cb0004b39fe627036269b60b0c3860d9e1ea4413aca541 -DIST zerocopy-0.7.32.crate 151096 BLAKE2B 12c7c329ec0e0865467af08306ff4b55ce1e39fd77b094ee48ed9c6e266dfa807bda9ea72a3f7ea989916327f4d9e803d8868995728bfe2fb1c2dc1e5ecff78e SHA512 6729b05eb88029555b88c75feff4f8bc28ad9675edb02b07486381f775c8650c95e2e59612906bd9c34c5e390fd339857ca91573ee9f9ca7948572cff4171c82 DIST zerocopy-0.7.34.crate 151177 BLAKE2B 30b65131370dfa4f41d3c2705d3b75da9b76f2a4ed723dec66345939de8bafe2c181ab6c98036c25a30739cae1720d927e27e5fa5587442d5cfb7f39a7018c8f SHA512 4d27b1230ebcea4e9d4c15f38a979aa3fe8b23833e95df781a0a67054e920637642b89345596fe331907edc27abab83c766967f2a04399a6fe0a4e89fa0dd148 -DIST zerocopy-derive-0.7.32.crate 37623 BLAKE2B 8b583d39d7bf9c3dbbba578120751c664f87363c5ba3fc45f6506a4059b9e599c43d9fc7bd498a257ff7c9d872af77d39bebdb0e65fb8009eaa2ae9903dece46 SHA512 3ce8528871fd18d6abe92b98503927451d25791c9c4af0ba39a3b6ba2006030bdc137084d080e9b1ac8b5ddf5f2121e0a3ef34bb2033a040f2c72c8149a9fc0d DIST zerocopy-derive-0.7.34.crate 37907 BLAKE2B 23a698c3c892187307007cbc76c9338dbe163e4f14d4ea73969ba834f5c6732d16f5bc26e2e85c5e3df2100b28e6e72ae6473b2159f5160ee19befdef3615f98 SHA512 1bd93062b0d2c699066f8a991326b4470426aae0517d33748a8f0e52b009fc46e6b0b238abe97462a2e13c870fa3d0d070615870e6dbbf8b6991c0e3fb5c3e63 -DIST zeroize-1.7.0.crate 19039 BLAKE2B 2f94a5025f409bd2b96a456d2f78a34c6b05b5554abe7ef3fad2a55a8fcff8a6a1b971be660aa4c2954ab7d6e89bebc431036e349edef74711292f9f64b1dbae SHA512 9d31e3e76e8c861309a3579c21f6da5fd6b056c7d7a350427445a1a832e8827204804783f7f9b808acaa2148efef883d9078bf84943b1db55526bba5bf5a2756 DIST zeroize-1.8.1.crate 20029 BLAKE2B 092eba034cd35ec47290020e0c2b213177ff5dbe14ab9e7f0b4ef3cb1ecbc42fbec2b951414e26ab00bc65aaddc2c93eddd5a1963b27c6cd613ac71c65d5cc24 SHA512 dd40ebe98b98fd742608d4066b5ab66caba94b2e679428fcaff9fe547d8cd6ff2360dc85d671ee9183e32fb79cb554d00d6aef9eb8f3d8ad0ec92d0435aa4ebe DIST zip-0.6.6.crate 65789 BLAKE2B acefc076297468d72cb20d8c6234fe5406875056fbf78fc0eac3ac430af78f320ed839f8683bd96fa1a03c457d6ac568d42bd703a902bc37bd126791d8b4c709 SHA512 affd46c17ceaa0545a155250dfd16756f8706dda43bae8a322ec0481dbfb41e4cf3166bf9662fc139ef9d0ab3b0f9f158535b21d2a61b21d38b8b2407813eeef -DIST zip-1.1.4.crate 77910 BLAKE2B 1c6a0e14becbb43faa9510d303ab254486e97730bc741c1fa3c7a88327da0b1e8815026e319abdbeb9e6c9e0ec713d83dbb3a0ae83a32ed2d197923afa803866 SHA512 18c8e7c9246049c7be4ade2bee501da2ff7cfe45aaab88e20650246833ae3f7b492644c0f4a43aa93a7ef7bf95413c9b27d0f5f8d099f19131a682b92a6d3fc4 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.6.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.6.0.ebuild deleted file mode 100644 index 74050422364..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.6.0.ebuild +++ /dev/null @@ -1,576 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - adler@1.0.2 - ahash@0.8.7 - aho-corasick@1.1.2 - allocator-api2@0.2.16 - anstream@0.6.11 - anstyle-parse@0.2.3 - anstyle-query@1.0.2 - anstyle-wincon@3.0.2 - anstyle@1.0.4 - anyhow@1.0.80 - autocfg@1.1.0 - base64@0.13.1 - base64@0.21.7 - bitflags@1.3.2 - bitflags@2.4.2 - block-buffer@0.10.4 - bstr@1.9.0 - byteorder@1.5.0 - bytesize@1.3.0 - bytes@1.5.0 - bzip2-sys@0.1.11+1.0.8 - bzip2@0.4.4 - cab@0.4.1 - camino@1.1.6 - cargo-config2@0.1.24 - cargo-options@0.7.4 - cargo-platform@0.1.6 - cargo-xwin@0.16.4 - cargo-zigbuild@0.18.4 - cargo_metadata@0.18.1 - cbindgen@0.26.0 - cc@1.0.88 - cfb@0.9.0 - cfg-if@1.0.0 - charset@0.1.3 - chumsky@0.9.3 - clap@4.4.18 - clap_builder@4.4.18 - clap_complete@4.4.9 - clap_complete_command@0.5.1 - clap_complete_nushell@0.1.11 - clap_derive@4.4.7 - clap_lex@0.6.0 - cli-table@0.4.7 - colorchoice@1.0.0 - configparser@3.0.4 - console@0.15.8 - content_inspector@0.2.4 - core-foundation-sys@0.8.6 - core-foundation@0.9.4 - cpufeatures@0.2.12 - crc32fast@1.3.2 - crossbeam-channel@0.5.11 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-utils@0.8.19 - crypto-common@0.1.6 - data-encoding@2.5.0 - deranged@0.3.11 - derivative@2.2.0 - dialoguer@0.11.0 - diff@0.1.13 - digest@0.10.7 - dirs-sys@0.4.1 - dirs@5.0.1 - dissimilar@1.0.7 - dunce@1.0.4 - dyn-clone@1.0.17 - either@1.9.0 - encode_unicode@0.3.6 - encoding_rs@0.8.33 - equivalent@1.0.1 - errno@0.3.8 - expect-test@1.4.1 - fastrand@2.0.1 - fat-macho@0.4.8 - filetime@0.2.23 - flate2@1.0.28 - fnv@1.0.7 - foreign-types-shared@0.1.1 - foreign-types@0.3.2 - form_urlencoded@1.2.1 - fs-err@2.11.0 - futures-channel@0.3.30 - futures-core@0.3.30 - futures-executor@0.3.30 - futures-io@0.3.30 - futures-macro@0.3.30 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-timer@3.0.3 - futures-util@0.3.30 - futures@0.3.30 - generic-array@0.14.7 - getrandom@0.2.12 - globset@0.4.14 - glob@0.3.1 - goblin@0.8.0 - hashbrown@0.12.3 - hashbrown@0.14.3 - heck@0.4.1 - home@0.5.9 - humantime-serde@1.1.1 - humantime@2.1.0 - idna@0.5.0 - ignore@0.4.22 - indexmap@1.9.3 - indexmap@2.2.3 - indicatif@0.17.7 - indoc@2.0.4 - instant@0.1.12 - itertools@0.11.0 - itertools@0.12.1 - itoa@1.0.10 - keyring@2.3.2 - lazy_static@1.4.0 - lddtree@0.3.4 - libc@0.2.153 - libredox@0.0.1 - linux-keyutils@0.2.4 - linux-raw-sys@0.4.13 - lock_api@0.4.11 - log@0.4.20 - lzxd@0.1.4 - mailparse@0.14.1 - matchers@0.1.0 - memchr@2.7.1 - mime@0.3.17 - mime_guess@2.0.4 - minijinja@1.0.12 - minimal-lexical@0.2.1 - miniz_oxide@0.7.1 - msi@0.7.0 - multipart@0.18.0 - native-tls@0.2.11 - nom@7.1.3 - normalize-line-endings@0.3.0 - normpath@1.1.1 - number_prefix@0.4.0 - num-conv@0.1.0 - nu-ansi-term@0.46.0 - once_cell@1.19.0 - openssl-macros@0.1.1 - openssl-probe@0.1.5 - openssl-sys@0.9.99 - openssl@0.10.63 - option-ext@0.2.0 - os_pipe@1.1.5 - overload@0.1.1 - parking_lot@0.12.1 - parking_lot_core@0.9.9 - paste@1.0.14 - path-slash@0.2.1 - pep440_rs@0.5.0 - pep508_rs@0.4.2 - percent-encoding@2.3.1 - pin-project-lite@0.2.13 - pin-utils@0.1.0 - pkg-config@0.3.29 - plain@0.2.3 - platform-info@2.0.2 - portable-atomic@1.6.0 - powerfmt@0.2.0 - ppv-lite86@0.2.17 - pretty_assertions@1.4.0 - proc-macro2@1.0.78 - psm@0.1.21 - pyproject-toml@0.10.0 - python-pkginfo@0.6.0 - quoted_printable@0.4.8 - quoted_printable@0.5.0 - quote@1.0.35 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rayon-core@1.12.1 - rayon@1.8.1 - redox_syscall@0.4.1 - redox_users@0.4.4 - regex-automata@0.1.10 - regex-automata@0.4.5 - regex-syntax@0.6.29 - regex-syntax@0.8.2 - regex@1.10.3 - relative-path@1.9.2 - rfc2047-decoder@0.2.2 - ring@0.17.7 - rstest@0.18.2 - rstest_macros@0.18.2 - rustc_version@0.4.0 - rustix@0.38.32 - rustls-pemfile@2.1.0 - rustls-pki-types@1.3.1 - rustls-webpki@0.102.1 - rustls@0.22.4 - rustversion@1.0.14 - ryu@1.0.16 - same-file@1.0.6 - schannel@0.1.23 - schemars@0.8.16 - schemars_derive@0.8.16 - scopeguard@1.2.0 - scroll@0.12.0 - scroll_derive@0.12.0 - security-framework-sys@2.9.1 - security-framework@2.9.2 - semver@1.0.22 - serde@1.0.197 - serde_derive@1.0.197 - serde_derive_internals@0.26.0 - serde_json@1.0.114 - serde_spanned@0.6.5 - sha2@0.10.8 - sharded-slab@0.1.7 - shell-words@1.1.0 - shlex@1.3.0 - similar@2.4.0 - slab@0.4.9 - smallvec@1.13.1 - smawk@0.3.2 - snapbox-macros@0.3.8 - snapbox@0.5.7 - socks@0.3.4 - spin@0.9.8 - stacker@0.1.15 - static_assertions@1.1.0 - strsim@0.10.0 - subtle@2.5.0 - syn@1.0.109 - syn@2.0.48 - target-lexicon@0.12.14 - tar@0.4.40 - tempfile@3.9.0 - termcolor@1.4.1 - terminal_size@0.3.0 - textwrap@0.16.1 - thiserror-impl@1.0.57 - thiserror@1.0.57 - thread_local@1.1.7 - time-core@0.1.2 - time-macros@0.2.17 - time@0.3.34 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - toml@0.5.11 - toml@0.8.10 - toml_datetime@0.6.5 - toml_edit@0.22.6 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing-log@0.2.0 - tracing-serde@0.1.3 - tracing-subscriber@0.3.18 - tracing@0.1.40 - trycmd@0.15.0 - twox-hash@1.6.3 - typenum@1.17.0 - unicase@2.7.0 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-linebreak@0.1.5 - unicode-normalization@0.1.22 - unicode-width@0.1.11 - unicode-xid@0.2.4 - unscanny@0.1.0 - untrusted@0.9.0 - ureq@2.9.6 - urlencoding@2.1.3 - url@2.5.0 - utf8parse@0.2.1 - uuid@1.7.0 - valuable@0.1.0 - vcpkg@0.2.15 - versions@5.0.1 - version_check@0.9.4 - wait-timeout@0.2.0 - walkdir@2.4.0 - wasi@0.11.0+wasi-snapshot-preview1 - webpki-roots@0.26.0 - which@5.0.0 - which@6.0.0 - wild@2.2.1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.6 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-sys@0.48.0 - windows-sys@0.52.0 - windows-targets@0.48.5 - windows-targets@0.52.0 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.0 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.0 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.0 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.0 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.0 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.0 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.0 - winnow@0.6.2 - xattr@1.3.1 - xwin@0.5.0 - yansi@0.5.1 - zerocopy-derive@0.7.32 - zerocopy@0.7.32 - zeroize@1.7.0 - zip@0.6.6 -" -# additional crates used by test-crates/* test packages, -# `grep test-crates tests/run.rs` to see which are needed -CRATES_TEST=" - anstream@0.3.2 - anstyle-parse@0.2.1 - anstyle-query@1.0.0 - anstyle-wincon@1.0.2 - anstyle@1.0.1 - anyhow@1.0.72 - askama@0.12.0 - askama_derive@0.12.1 - askama_escape@0.10.3 - basic-toml@0.1.4 - bincode@1.3.3 - bitflags@2.4.0 - bytes@1.4.0 - cargo-platform@0.1.3 - cargo_metadata@0.15.4 - cc@1.0.73 - cc@1.0.81 - cc@1.0.82 - cc@1.0.83 - clap@4.3.21 - clap_builder@4.3.21 - clap_derive@4.3.12 - clap_lex@0.5.0 - errno-dragonfly@0.1.2 - errno@0.3.2 - fs-err@2.9.0 - getrandom@0.2.10 - hermit-abi@0.3.2 - is-terminal@0.4.9 - itoa@1.0.9 - libc@0.2.134 - libc@0.2.147 - libc@0.2.149 - linux-raw-sys@0.4.10 - lock_api@0.4.9 - lock_api@0.4.10 - log@0.4.19 - memchr@2.5.0 - memoffset@0.9.0 - once_cell@1.15.0 - once_cell@1.18.0 - oneshot-uniffi@0.1.6 - parking_lot_core@0.9.3 - parking_lot_core@0.9.8 - proc-macro2@1.0.66 - proc-macro2@1.0.69 - proc-macro2@1.0.70 - pyo3-build-config@0.18.3 - pyo3-build-config@0.21.0 - pyo3-ffi@0.18.3 - pyo3-ffi@0.21.0 - pyo3-macros-backend@0.21.0 - pyo3-macros@0.21.0 - pyo3@0.21.0 - python3-dll-a@0.2.6 - python3-dll-a@0.2.9 - quote@1.0.32 - quote@1.0.33 - redox_syscall@0.2.16 - redox_syscall@0.3.5 - rustix@0.38.21 - ryu@1.0.15 - scopeguard@1.1.0 - semver@1.0.18 - serde@1.0.182 - serde@1.0.183 - serde_derive@1.0.182 - serde_derive@1.0.183 - serde_json@1.0.104 - siphasher@0.3.10 - smallvec@1.10.0 - smallvec@1.11.0 - smallvec@1.11.1 - syn@2.0.28 - syn@2.0.32 - syn@2.0.40 - target-lexicon@0.12.7 - target-lexicon@0.12.11 - target-lexicon@0.12.12 - textwrap@0.16.0 - thiserror-impl@1.0.44 - thiserror@1.0.44 - unicase@2.6.0 - unicode-ident@1.0.5 - unicode-ident@1.0.11 - uniffi@0.27.0 - uniffi_bindgen@0.27.0 - uniffi_build@0.27.0 - uniffi_checksum_derive@0.27.0 - uniffi_core@0.27.0 - uniffi_macros@0.27.0 - uniffi_meta@0.27.0 - uniffi_testing@0.27.0 - uniffi_udl@0.27.0 - unindent@0.2.3 - weedle2@5.0.0 - windows-sys@0.36.1 - windows-targets@0.48.1 - windows_aarch64_gnullvm@0.48.0 - windows_aarch64_msvc@0.36.1 - windows_aarch64_msvc@0.48.0 - windows_i686_gnu@0.36.1 - windows_i686_gnu@0.48.0 - windows_i686_msvc@0.36.1 - windows_i686_msvc@0.48.0 - windows_x86_64_gnullvm@0.48.0 - windows_x86_64_gnu@0.36.1 - windows_x86_64_gnu@0.48.0 - windows_x86_64_msvc@0.36.1 - windows_x86_64_msvc@0.48.0 -" -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( pypy3 python3_{10..13} ) -inherit cargo distutils-r1 flag-o-matic shell-completion toolchain-funcs - -DESCRIPTION="Build and publish crates with pyo3, rust-cpython and cffi bindings" -HOMEPAGE="https://www.maturin.rs/" -SRC_URI=" - https://github.com/PyO3/maturin/archive/refs/tags/v${PV}.tar.gz - -> ${P}.gh.tar.gz - ${CARGO_CRATE_URIS} - test? ( $(cargo_crate_uris ${CRATES_TEST}) ) -" - -# note: ring is unused, so openssl license can be skipped -LICENSE="|| ( Apache-2.0 MIT ) doc? ( CC-BY-4.0 OFL-1.1 )" -LICENSE+=" - 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT MPL-2.0 - Unicode-DFS-2016 -" # crates -SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86" -IUSE="doc +ssl test" -RESTRICT="!test? ( test )" - -RDEPEND="$(python_gen_cond_dep 'dev-python/tomli[${PYTHON_USEDEP}]' 3.10)" -DEPEND="ssl? ( dev-libs/openssl:= )" -BDEPEND=" - virtual/pkgconfig - doc? ( app-text/mdbook ) - test? ( - ${RDEPEND} - $(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]' 'python*') - dev-python/boltons[${PYTHON_USEDEP}] - dev-python/virtualenv[${PYTHON_USEDEP}] - dev-vcs/git - elibc_musl? ( dev-util/patchelf ) - ) -" -RDEPEND+=" ${DEPEND}" - -QA_FLAGS_IGNORED="usr/bin/${PN}" - -src_prepare() { - distutils-r1_src_prepare - - # we build the Rust executable (just once) via cargo_src_compile - sed -i -e '/setuptools_rust/d' -e '/rust_extensions/d' setup.py || die - - if use test; then - # used to prevent use of network during tests, and silence pip - # if it finds unrelated issues with system packages (bug #913613) - cat > "${T}"/pip.conf <<-EOF || die - [global] - quiet = 2 - - [install] - no-index = yes - no-dependencies = yes - EOF - - # used by *git_sdist_generator tests - git init -q || die - git config --global user.email "larry@gentoo.org" || die - git config --global user.name "Larry the Cow" || die - git add . || die - git commit -qm init || die - fi -} - -src_configure() { - export OPENSSL_NO_VENDOR=1 - - # bug #938847 (TODO?: should probably be an eclass default for musl) - use elibc_musl && RUSTFLAGS+=" -C target-feature=-crt-static" - - # https://github.com/rust-lang/stacker/issues/79 - use s390 && ! is-flagq '-march=*' && - append-cflags $(test-flags-CC -march=z10) - - local myfeatures=( - # like release.yml + native-tls for better platform support than rustls - full - password-storage - $(usev ssl native-tls) - ) - - cargo_src_configure --no-default-features -} - -python_compile_all() { - cargo_src_compile - - use !doc || mdbook build -d html guide || die - - if ! tc-is-cross-compiler; then - local maturin=$(cargo_target_dir)/maturin - ${maturin} completions bash > "${T}"/${PN} || die - ${maturin} completions fish > "${T}"/${PN}.fish || die - ${maturin} completions zsh > "${T}"/_${PN} || die - else - ewarn "shell completion files were skipped due to cross-compilation" - fi -} - -python_test() { - local -x MATURIN_TEST_PYTHON=${EPYTHON} - local -x PIP_CONFIG_FILE=${T}/pip.conf - local -x VIRTUALENV_SYSTEM_SITE_PACKAGES=1 - - # need this for (new) python versions not yet recognized by pyo3 - local -x PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 - - local skip=( - # picky cli output test that easily benignly fail (bug #937992) - --skip cli_tests - # avoid need for wasm over a single hello world test - --skip integration_wasm_hello_world - # fragile depending on rust version, also wants libpypy*-c.so for pypy - --skip pyo3_no_extension_module - # unimportant tests that use uv, and it does not seem to be able - # to find the system's dev-python/uv (not worth the trouble) - --skip develop_hello_world::case_2 - --skip develop_pyo3_ffi_pure::case_2 - # fails on sparc since rust-1.74 (bug #934573), skip for now given - # should not affect the pep517 backend which is all we need on sparc - $(usev sparc '--skip build_context::test::test_macosx_deployment_target') - ) - - cargo_src_test -- "${skip[@]}" -} - -python_install_all() { - cargo_src_install - - dodoc Changelog.md README.md - use doc && dodoc -r guide/html - - if ! tc-is-cross-compiler; then - dobashcomp "${T}"/${PN} - dofishcomp "${T}"/${PN}.fish - dozshcomp "${T}"/_${PN} - fi -} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.7.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.7.1.ebuild deleted file mode 100644 index 43313529f45..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.7.1.ebuild +++ /dev/null @@ -1,541 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - adler@1.0.2 - ahash@0.8.11 - aho-corasick@1.1.3 - allocator-api2@0.2.18 - anstream@0.6.14 - anstyle-parse@0.2.4 - anstyle-query@1.1.0 - anstyle-wincon@3.0.3 - anstyle@1.0.7 - anyhow@1.0.86 - arbitrary@1.3.2 - autocfg@1.3.0 - automod@1.0.14 - base64@0.13.1 - base64@0.21.7 - base64@0.22.1 - bitflags@1.3.2 - bitflags@2.5.0 - block-buffer@0.10.4 - bstr@1.9.1 - byteorder@1.5.0 - bytesize@1.3.0 - bytes@1.6.0 - bzip2-sys@0.1.11+1.0.8 - bzip2@0.4.4 - cab@0.5.0 - camino@1.1.7 - cargo-config2@0.1.26 - cargo-options@0.7.4 - cargo-platform@0.1.8 - cargo-xwin@0.16.5 - cargo-zigbuild@0.18.4 - cargo_metadata@0.18.1 - cbindgen@0.26.0 - cc@1.1.6 - cfb@0.9.0 - cfg-if@1.0.0 - charset@0.1.3 - chumsky@0.9.3 - clap@4.5.7 - clap_builder@4.5.7 - clap_complete@4.5.5 - clap_complete_command@0.6.1 - clap_complete_nushell@4.5.2 - clap_derive@4.5.5 - clap_lex@0.7.1 - cli-table@0.4.7 - colorchoice@1.0.1 - configparser@3.1.0 - console@0.15.8 - content_inspector@0.2.4 - core-foundation-sys@0.8.6 - core-foundation@0.9.4 - cpufeatures@0.2.12 - crc32fast@1.4.2 - crossbeam-channel@0.5.13 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-utils@0.8.20 - crypto-common@0.1.6 - data-encoding@2.6.0 - deranged@0.3.11 - derivative@2.2.0 - derive_arbitrary@1.3.2 - dialoguer@0.11.0 - diff@0.1.13 - digest@0.10.7 - dirs-sys@0.4.1 - dirs@5.0.1 - displaydoc@0.2.4 - dissimilar@1.0.9 - dunce@1.0.4 - dyn-clone@1.0.17 - either@1.12.0 - encode_unicode@0.3.6 - encoding_rs@0.8.34 - equivalent@1.0.1 - errno@0.3.9 - expect-test@1.5.0 - fastrand@2.1.0 - fat-macho@0.4.8 - filetime@0.2.23 - flate2@1.0.30 - fnv@1.0.7 - foreign-types-shared@0.1.1 - foreign-types@0.3.2 - form_urlencoded@1.2.1 - fs-err@2.11.0 - futures-channel@0.3.30 - futures-core@0.3.30 - futures-executor@0.3.30 - futures-io@0.3.30 - futures-macro@0.3.30 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-timer@3.0.3 - futures-util@0.3.30 - futures@0.3.30 - generic-array@0.14.7 - getrandom@0.2.15 - globset@0.4.14 - glob@0.3.1 - goblin@0.8.2 - hashbrown@0.12.3 - hashbrown@0.14.5 - heck@0.4.1 - heck@0.5.0 - home@0.5.9 - humantime-serde@1.1.1 - humantime@2.1.0 - idna@0.5.0 - ignore@0.4.22 - indexmap@1.9.3 - indexmap@2.2.6 - indicatif@0.17.8 - indoc@2.0.5 - instant@0.1.13 - is_terminal_polyfill@1.70.0 - itertools@0.12.1 - itoa@1.0.11 - keyring@2.3.3 - lazy_static@1.4.0 - lddtree@0.3.5 - libc@0.2.155 - libmimalloc-sys@0.1.38 - libredox@0.1.3 - linux-keyutils@0.2.4 - linux-raw-sys@0.4.14 - lock_api@0.4.12 - log@0.4.21 - lzxd@0.2.5 - mailparse@0.15.0 - matchers@0.1.0 - memchr@2.7.2 - mimalloc@0.1.42 - mime@0.3.17 - mime_guess@2.0.4 - minijinja@1.0.21 - minimal-lexical@0.2.1 - miniz_oxide@0.7.3 - msi@0.7.0 - multipart@0.18.0 - native-tls@0.2.12 - nom@7.1.3 - normalize-line-endings@0.3.0 - normpath@1.2.0 - number_prefix@0.4.0 - num-conv@0.1.0 - num_enum@0.7.2 - num_enum_derive@0.7.2 - nu-ansi-term@0.46.0 - once_cell@1.19.0 - openssl-macros@0.1.1 - openssl-probe@0.1.5 - openssl-sys@0.9.103 - openssl@0.10.66 - option-ext@0.2.0 - os_pipe@1.2.0 - overload@0.1.1 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - paste@1.0.15 - path-slash@0.2.1 - pep440_rs@0.6.0 - pep508_rs@0.6.0 - percent-encoding@2.3.1 - pin-project-lite@0.2.14 - pin-utils@0.1.0 - pkg-config@0.3.30 - plain@0.2.3 - platform-info@2.0.3 - portable-atomic@1.6.0 - powerfmt@0.2.0 - ppv-lite86@0.2.17 - pretty_assertions@1.4.0 - proc-macro2@1.0.85 - proc-macro-crate@3.1.0 - psm@0.1.21 - pyproject-toml@0.11.0 - python-pkginfo@0.6.2 - quoted_printable@0.5.0 - quote@1.0.36 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rayon-core@1.12.1 - rayon@1.10.0 - redox_syscall@0.4.1 - redox_syscall@0.5.1 - redox_users@0.4.5 - regex-automata@0.1.10 - regex-automata@0.4.7 - regex-syntax@0.6.29 - regex-syntax@0.8.4 - regex@1.10.5 - relative-path@1.9.3 - rfc2047-decoder@1.0.5 - ring@0.17.8 - rstest@0.21.0 - rstest_macros@0.21.0 - rustc_version@0.4.0 - rustix@0.38.34 - rustls-pemfile@2.1.2 - rustls-pki-types@1.7.0 - rustls-webpki@0.102.4 - rustls@0.22.4 - rustversion@1.0.17 - ryu@1.0.18 - same-file@1.0.6 - schannel@0.1.23 - schemars@0.8.21 - schemars_derive@0.8.21 - scopeguard@1.2.0 - scroll@0.12.0 - scroll_derive@0.12.0 - security-framework-sys@2.11.0 - security-framework@2.11.0 - semver@1.0.23 - serde@1.0.204 - serde_derive@1.0.204 - serde_derive_internals@0.29.1 - serde_json@1.0.120 - serde_spanned@0.6.6 - sha2@0.10.8 - sharded-slab@0.1.7 - shell-words@1.1.0 - shlex@1.3.0 - similar@2.5.0 - slab@0.4.9 - smallvec@1.13.2 - smawk@0.3.2 - snapbox-macros@0.3.9 - snapbox@0.6.10 - socks@0.3.4 - spin@0.9.8 - stacker@0.1.15 - static_assertions@1.1.0 - strsim@0.11.1 - subtle@2.5.0 - syn@1.0.109 - syn@2.0.66 - target-lexicon@0.12.15 - tar@0.4.41 - tempfile@3.10.1 - termcolor@1.4.1 - terminal_size@0.3.0 - textwrap@0.16.1 - thiserror-impl@1.0.61 - thiserror@1.0.61 - thread_local@1.1.8 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tinyvec@1.7.0 - tinyvec_macros@0.1.1 - toml@0.5.11 - toml@0.8.14 - toml_datetime@0.6.6 - toml_edit@0.21.1 - toml_edit@0.22.14 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing-log@0.2.0 - tracing-serde@0.1.3 - tracing-subscriber@0.3.18 - tracing@0.1.40 - trycmd@0.15.4 - twox-hash@1.6.3 - typenum@1.17.0 - unicase@2.7.0 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-linebreak@0.1.5 - unicode-normalization@0.1.23 - unicode-width@0.1.13 - unicode-xid@0.2.4 - unscanny@0.1.0 - untrusted@0.9.0 - ureq@2.9.7 - urlencoding@2.1.3 - url@2.5.2 - utf8parse@0.2.2 - uuid@1.8.0 - valuable@0.1.0 - vcpkg@0.2.15 - versions@6.2.0 - version_check@0.9.4 - wait-timeout@0.2.0 - walkdir@2.5.0 - wasi@0.11.0+wasi-snapshot-preview1 - webpki-roots@0.26.2 - which@5.0.0 - which@6.0.1 - wild@2.2.1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.8 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-sys@0.48.0 - windows-sys@0.52.0 - windows-targets@0.48.5 - windows-targets@0.52.5 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.5 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.5 - windows_i686_gnullvm@0.52.5 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.5 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.5 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.5 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.5 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.5 - winnow@0.5.40 - winnow@0.6.13 - winsafe@0.0.19 - xattr@1.3.1 - xwin@0.5.1 - yansi@0.5.1 - zerocopy-derive@0.7.34 - zerocopy@0.7.34 - zeroize@1.8.1 - zip@0.6.6 - zip@1.1.4 -" -# additional crates used by test-crates/* test packages, -# `grep test-crates tests/run.rs` to see which are needed -CRATES_TEST=" - askama@0.12.1 - askama_derive@0.12.5 - askama_escape@0.10.3 - askama_parser@0.2.1 - autocfg@1.1.0 - basic-toml@0.1.9 - bincode@1.3.3 - cargo_metadata@0.15.4 - cc@1.0.73 - cc@1.0.81 - cc@1.0.83 - getrandom@0.2.10 - indoc@2.0.4 - libc@0.2.134 - libc@0.2.147 - libc@0.2.149 - memchr@2.7.4 - memoffset@0.9.0 - memoffset@0.9.1 - once_cell@1.15.0 - once_cell@1.18.0 - portable-atomic@1.7.0 - proc-macro2@1.0.86 - pyo3-build-config@0.18.3 - pyo3-build-config@0.22.0 - pyo3-build-config@0.22.2 - pyo3-ffi@0.18.3 - pyo3-ffi@0.22.0 - pyo3-ffi@0.22.2 - pyo3-macros-backend@0.22.0 - pyo3-macros-backend@0.22.2 - pyo3-macros@0.22.0 - pyo3-macros@0.22.2 - pyo3@0.22.0 - pyo3@0.22.2 - python3-dll-a@0.2.6 - python3-dll-a@0.2.9 - serde@1.0.203 - serde_derive@1.0.203 - serde_json@1.0.118 - siphasher@0.3.11 - syn@2.0.68 - syn@2.0.72 - target-lexicon@0.12.11 - target-lexicon@0.12.14 - target-lexicon@0.12.16 - unicode-ident@1.0.5 - unicode-ident@1.0.11 - uniffi@0.28.0 - uniffi_bindgen@0.28.0 - uniffi_build@0.28.0 - uniffi_checksum_derive@0.28.0 - uniffi_core@0.28.0 - uniffi_macros@0.28.0 - uniffi_meta@0.28.0 - uniffi_testing@0.28.0 - uniffi_udl@0.28.0 - unindent@0.2.3 - weedle2@5.0.0 -" -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( pypy3 python3_{10..13} ) -inherit cargo distutils-r1 flag-o-matic shell-completion toolchain-funcs - -DESCRIPTION="Build and publish crates with pyo3, rust-cpython and cffi bindings" -HOMEPAGE="https://www.maturin.rs/" -SRC_URI=" - https://github.com/PyO3/maturin/archive/refs/tags/v${PV}.tar.gz - -> ${P}.gh.tar.gz - ${CARGO_CRATE_URIS} - test? ( $(cargo_crate_uris ${CRATES_TEST}) ) -" - -# note: rustls+ring is unused, so openssl license can be skipped -LICENSE="|| ( Apache-2.0 MIT ) doc? ( CC-BY-4.0 OFL-1.1 )" -LICENSE+=" - 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT MPL-2.0 - Unicode-DFS-2016 -" # crates -SLOT="0" -KEYWORDS="amd64 arm ~arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" -IUSE="doc +ssl test" -RESTRICT="!test? ( test )" - -RDEPEND="$(python_gen_cond_dep 'dev-python/tomli[${PYTHON_USEDEP}]' 3.10)" -DEPEND="ssl? ( dev-libs/openssl:= )" -BDEPEND=" - virtual/pkgconfig - doc? ( app-text/mdbook ) - test? ( - ${RDEPEND} - $(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]' 'python*') - dev-python/boltons[${PYTHON_USEDEP}] - dev-python/virtualenv[${PYTHON_USEDEP}] - dev-vcs/git - elibc_musl? ( dev-util/patchelf ) - ) -" -RDEPEND+=" ${DEPEND}" - -QA_FLAGS_IGNORED="usr/bin/${PN}" - -src_prepare() { - distutils-r1_src_prepare - - # we build the Rust executable (just once) via cargo_src_compile - sed -i -e '/setuptools_rust/d' -e '/rust_extensions/d' setup.py || die - - if use test; then - # used to prevent use of network during tests, and silence pip - # if it finds unrelated issues with system packages (bug #913613) - cat > "${T}"/pip.conf <<-EOF || die - [global] - quiet = 2 - - [install] - no-index = yes - no-dependencies = yes - EOF - - # used by *git_sdist_generator tests - git init -q || die - git config --global user.email "larry@gentoo.org" || die - git config --global user.name "Larry the Cow" || die - git add . || die - git commit -qm init || die - fi -} - -src_configure() { - export OPENSSL_NO_VENDOR=1 - - # bug #938847 (TODO?: should probably be an eclass default for musl) - use elibc_musl && RUSTFLAGS+=" -C target-feature=-crt-static" - - # https://github.com/rust-lang/stacker/issues/79 - use s390 && ! is-flagq '-march=*' && - append-cflags $(test-flags-CC -march=z10) - - local myfeatures=( - # like release.yml + native-tls for better platform support than rustls - full - password-storage - $(usev ssl native-tls) - ) - - cargo_src_configure --no-default-features -} - -python_compile_all() { - cargo_src_compile - - use !doc || mdbook build -d html guide || die - - if ! tc-is-cross-compiler; then - local maturin=$(cargo_target_dir)/maturin - "${maturin}" completions bash > "${T}"/${PN} || die - "${maturin}" completions fish > "${T}"/${PN}.fish || die - "${maturin}" completions zsh > "${T}"/_${PN} || die - else - ewarn "shell completion files were skipped due to cross-compilation" - fi -} - -python_test() { - local -x MATURIN_TEST_PYTHON=${EPYTHON} - local -x PIP_CONFIG_FILE=${T}/pip.conf - local -x VIRTUALENV_SYSTEM_SITE_PACKAGES=1 - - # need this for (new) python versions not yet recognized by pyo3 - local -x PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 - - local skip=( - # picky cli output test that easily benignly fail (bug #937992) - --skip cli_tests - # avoid need for wasm over a single hello world test - --skip integration_wasm_hello_world - # fragile depending on rust version, also wants libpypy*-c.so for pypy - --skip pyo3_no_extension_module - # unimportant tests that use uv, and it does not seem to be able - # to find the system's dev-python/uv (not worth the trouble) - --skip develop_hello_world::case_2 - --skip develop_pyo3_ffi_pure::case_2 - # fails on sparc since rust-1.74 (bug #934573), skip for now given - # should not affect the pep517 backend which is all we need on sparc - $(usev sparc '--skip build_context::test::test_macosx_deployment_target') - ) - - cargo_src_test -- "${skip[@]}" -} - -python_install_all() { - cargo_src_install - - dodoc Changelog.md README.md - use doc && dodoc -r guide/html - - if ! tc-is-cross-compiler; then - dobashcomp "${T}"/${PN} - dofishcomp "${T}"/${PN}.fish - dozshcomp "${T}"/_${PN} - fi -} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.7.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.7.4-r1.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.7.4.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.7.4-r1.ebuild index ce5b3ed2b42..6a734528a1e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.7.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.7.4-r1.ebuild @@ -436,6 +436,8 @@ CRATES_TEST=" " DISTUTILS_USE_PEP517=setuptools PYTHON_COMPAT=( pypy3 python3_{10..13} ) +RUST_MIN_VER="1.74.0" + inherit cargo distutils-r1 flag-o-matic shell-completion toolchain-funcs DESCRIPTION="Build and publish crates with pyo3, rust-cpython and cffi bindings" @@ -454,7 +456,7 @@ LICENSE+=" Unicode-DFS-2016 " # crates SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" IUSE="doc +ssl test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.45.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.45.2.ebuild index 923073195df..08be9a55009 100644 --- a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.45.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.45.2.ebuild @@ -50,7 +50,7 @@ if [[ ${PV} != *9999 ]]; then SRC_URI+=" doc? ( ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} )" if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~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 ~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/eclass/cargo.eclass b/sdk_container/src/third_party/portage-stable/eclass/cargo.eclass index 499fe5498c9..95ff317e1f2 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/cargo.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/cargo.eclass @@ -8,6 +8,7 @@ # Doug Goldstein # Georgy Yakovlev # @SUPPORTED_EAPIS: 8 +# @PROVIDES: rust # @BLURB: common functions and variables for cargo builds case ${EAPI} in @@ -18,25 +19,34 @@ esac if [[ -z ${_CARGO_ECLASS} ]]; then _CARGO_ECLASS=1 -# check and document RUST_DEPEND and options we need below in case conditions. +if [[ -n ${RUST_NEEDS_LLVM} ]]; then + inherit llvm-r1 +fi + +if [[ -n ${CARGO_OPTIONAL} ]]; then + RUST_OPTIONAL=1 +fi + +# Either the lowest slot supported by rust.eclass _or_ +# reference the changelog for a particular feature requirement # https://github.com/rust-lang/cargo/blob/master/CHANGELOG.md -RUST_DEPEND="virtual/rust" +_CARGO_ECLASS_RUST_MIN_VER="1.71.1" case ${EAPI} in 8) - # 1.39 added --workspace - # 1.46 added --target dir - # 1.48 added term.progress config option - # 1.51 added split-debuginfo profile option - # 1.52 may need setting RUSTC_BOOTSTRAP envvar for some crates - # 1.53 added cargo update --offline, can be used to update vulnerable crates from pre-fetched registry without editing toml - RUST_DEPEND=">=virtual/rust-1.53" + if [[ -n ${RUST_MIN_VER} ]]; then + # This is _very_ unlikely given that we leverage the rust eclass but just in case cargo requires a newer version + # than the oldest in-tree in future. + if ver_test "${RUST_MIN_VER}" -lt "${_CARGO_ECLASS_RUST_MIN_VER}"; then + die "RUST_MIN_VERSION must be at least ${_CARGO_ECLASS_RUST_MIN_VER}" + fi + else + RUST_MIN_VER="${_CARGO_ECLASS_RUST_MIN_VER}" + fi ;; esac -inherit flag-o-matic multiprocessing rust-toolchain toolchain-funcs - -[[ ! ${CARGO_OPTIONAL} ]] && BDEPEND="${RUST_DEPEND}" +inherit flag-o-matic multiprocessing rust rust-toolchain toolchain-funcs IUSE="${IUSE} debug" @@ -107,9 +117,8 @@ ECARGO_VENDOR="${ECARGO_HOME}/gentoo" # be considered optional. No dependencies will be added and no phase # functions will be exported. # -# If you enable CARGO_OPTIONAL, you have to set BDEPEND on virtual/rust -# for your package and call at least cargo_gen_config manually before using -# other src_functions or cargo_env of this eclass. +# If you enable CARGO_OPTIONAL call at least cargo_gen_config manually +# before using other src_functions or cargo_env of this eclass. # Note that cargo_gen_config is automatically called by cargo_src_unpack. # @ECLASS_VARIABLE: myfeatures @@ -129,6 +138,11 @@ ECARGO_VENDOR="${ECARGO_HOME}/gentoo" # } # @CODE +# @ECLASS_VARIABLE: ECARGO_HOME +# @OUTPUT_VARIABLE +# @DESCRIPTION: +# Location of the cargo home directory. + # @ECLASS_VARIABLE: ECARGO_REGISTRY_DIR # @USER_VARIABLE # @DEFAULT_UNSET @@ -148,6 +162,11 @@ ECARGO_VENDOR="${ECARGO_HOME}/gentoo" # cargo_live_src_unpack. # Inherits value of EVCS_OFFLINE if not set explicitly. +# @ECLASS_VARIABLE: ECARGO_VENDOR +# @OUTPUT_VARIABLE +# @DESCRIPTION: +# Location of the cargo vendor directory. + # @ECLASS_VARIABLE: EVCS_UMASK # @USER_VARIABLE # @DEFAULT_UNSET @@ -531,6 +550,8 @@ cargo_src_configure() { # take affect due to Cargo limitations, so add these to your ebuild's RUSTFLAGS # if they seem important. cargo_env() { + debug-print-function ${FUNCNAME} "$@" + [[ ${_CARGO_GEN_CONFIG_HAS_RUN} ]] || \ die "FATAL: please call cargo_gen_config before using ${FUNCNAME}" @@ -604,7 +625,11 @@ cargo_env() { cargo_src_compile() { debug-print-function ${FUNCNAME} "$@" - set -- cargo build $(usex debug "" --release) ${ECARGO_ARGS[@]} "$@" + if [[ -z "${CARGO}" ]]; then + die "CARGO is not set; was rust_pkg_setup run?" + fi + + set -- "${CARGO}" build $(usex debug "" --release) ${ECARGO_ARGS[@]} "$@" einfo "${@}" cargo_env "${@}" || die "cargo build failed" } @@ -618,7 +643,11 @@ cargo_src_compile() { cargo_src_install() { debug-print-function ${FUNCNAME} "$@" - set -- cargo install $(has --path ${@} || echo --path ./) \ + if [[ -z "${CARGO}" ]]; then + die "CARGO is not set; was rust_pkg_setup run?" + fi + + set -- "${CARGO}" install $(has --path ${@} || echo --path ./) \ --root "${ED}/usr" \ ${GIT_CRATES[@]:+--frozen} \ $(usex debug --debug "") \ @@ -636,7 +665,11 @@ cargo_src_install() { cargo_src_test() { debug-print-function ${FUNCNAME} "$@" - set -- cargo test $(usex debug "" --release) ${ECARGO_ARGS[@]} "$@" + if [[ -z "${CARGO}" ]]; then + die "CARGO is not set; was rust_pkg_setup run?" + fi + + set -- "${CARGO}" test $(usex debug "" --release) ${ECARGO_ARGS[@]} "$@" einfo "${@}" cargo_env "${@}" || die "cargo test failed" } diff --git a/sdk_container/src/third_party/portage-stable/eclass/eapi7-ver.eclass b/sdk_container/src/third_party/portage-stable/eclass/eapi7-ver.eclass deleted file mode 100644 index 85c0856f73b..00000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/eapi7-ver.eclass +++ /dev/null @@ -1,309 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# @DEAD -# @ECLASS: eapi7-ver.eclass -# @MAINTAINER: -# PMS team -# @AUTHOR: -# Ulrich Müller -# Michał Górny -# @SUPPORTED_EAPIS: 0 1 2 3 4 5 6 -# @BLURB: Testing implementation of EAPI 7 version manipulators -# @DESCRIPTION: -# A stand-alone implementation of the version manipulation functions -# aimed for EAPI 7. Intended to be used for wider testing of -# the proposed functions and to allow ebuilds to switch to the new -# model early, with minimal change needed for actual EAPI 7. -# -# https://bugs.gentoo.org/482170 -# -# @SUBSECTION Version strings -# -# The functions support arbitrary version strings consisting of version -# components interspersed with (possibly empty) version separators. -# -# A version component can either consist purely of digits ([0-9]+) -# or purely of uppercase and lowercase letters ([A-Za-z]+). A version -# separator is either a string of any other characters ([^A-Za-z0-9]+), -# or it occurs at the transition between a sequence of letters -# and a sequence of digits, or vice versa. In the latter case, -# the version separator is an empty string. -# -# The version is processed left-to-right, and each successive component -# is assigned numbers starting with 1. The components are either split -# on version separators or on boundaries between digits and letters -# (in which case the separator between the components is empty). -# Version separators are assigned numbers starting with 1 for -# the separator between 1st and 2nd components. As a special case, -# if the version string starts with a separator, it is assigned index 0. -# -# Examples: -# -# @CODE -# 1.2b-alpha4 -> 1 . 2 '' b - alpha '' 4 -# c s c s c s c s c -# 1 1 2 2 3 3 4 4 5 -# -# .11. -> . 11 . -# s c s -# 0 1 1 -# @CODE -# -# @SUBSECTION Ranges -# -# A range can be specified as 'm' for m-th version component, 'm-' -# for all components starting with m-th or 'm-n' for components starting -# at m-th and ending at n-th (inclusive). If the range spans outside -# the version string, it is truncated silently. - -case ${EAPI:-0} in - 0|1|2|3|4|5|6) ;; - 7|8) die "${ECLASS}: EAPI=${EAPI} includes all functions from this eclass" ;; - *) die "${ECLASS}: EAPI=${EAPI} unknown" ;; -esac - -# @FUNCTION: _ver_parse_range -# @USAGE: -# @INTERNAL -# @DESCRIPTION: -# Parse the range string , setting 'start' and 'end' variables -# to the appropriate bounds. specifies the appropriate upper -# bound for the range; the user-specified value is truncated to this. -_ver_parse_range() { - local range=${1} - local max=${2} - - [[ ${range} == [0-9]* ]] \ - || die "${FUNCNAME}: range must start with a number" - start=${range%-*} - [[ ${range} == *-* ]] && end=${range#*-} || end=${start} - if [[ ${end} ]]; then - [[ ${start} -le ${end} ]] \ - || die "${FUNCNAME}: end of range must be >= start" - [[ ${end} -le ${max} ]] || end=${max} - else - end=${max} - fi -} - -# @FUNCTION: _ver_split -# @USAGE: -# @INTERNAL -# @DESCRIPTION: -# Split the version string into separator-component array. -# Sets 'comp' to an array of the form: ( s_0 c_1 s_1 c_2 s_2 c_3... ) -# where s_i are separators and c_i are components. -_ver_split() { - local v=${1} LC_ALL=C - - comp=() - - # get separators and components - local s c - while [[ ${v} ]]; do - # cut the separator - s=${v%%[a-zA-Z0-9]*} - v=${v:${#s}} - # cut the next component; it can be either digits or letters - [[ ${v} == [0-9]* ]] && c=${v%%[^0-9]*} || c=${v%%[^a-zA-Z]*} - v=${v:${#c}} - - comp+=( "${s}" "${c}" ) - done -} - -# @FUNCTION: ver_cut -# @USAGE: [] -# @DESCRIPTION: -# Print the substring of the version string containing components -# defined by the and the version separators between them. -# Processes if specified, ${PV} otherwise. -# -# For the syntax of versions and ranges, please see the eclass -# description. -ver_cut() { - local range=${1} - local v=${2:-${PV}} - local start end - local -a comp - - _ver_split "${v}" - local max=$((${#comp[@]}/2)) - _ver_parse_range "${range}" "${max}" - - if [[ ${start} -gt 0 ]]; then - start=$(( start*2 - 1 )) - fi - # Work around a bug in bash-3.2, where "${comp[*]:start:end*2-start}" - # inserts stray 0x7f characters for empty array elements - printf "%s" "${comp[@]:start:end*2-start}" $'\n' -} - -# @FUNCTION: ver_rs -# @USAGE: [ ...] [] -# @DESCRIPTION: -# Print the version string after substituting the specified version -# separators at with (string). Multiple ' ' -# pairs can be specified. Processes if specified, -# ${PV} otherwise. -# -# For the syntax of versions and ranges, please see the eclass -# description. -ver_rs() { - local v - (( ${#} & 1 )) && v=${@: -1} || v=${PV} - local start end i - local -a comp - - _ver_split "${v}" - local max=$((${#comp[@]}/2 - 1)) - - while [[ ${#} -ge 2 ]]; do - _ver_parse_range "${1}" "${max}" - for (( i = start*2; i <= end*2; i+=2 )); do - [[ ${i} -eq 0 && -z ${comp[i]} ]] && continue - comp[i]=${2} - done - shift 2 - done - - local IFS= - echo "${comp[*]}" -} - -# @FUNCTION: _ver_compare_int -# @USAGE: -# @RETURN: 0 if -eq , 1 if -lt , 3 if -gt -# @INTERNAL -# @DESCRIPTION: -# Compare two non-negative integers and , of arbitrary length. -# If is equal to, less than, or greater than , return 0, 1, or 3 -# as exit status, respectively. -_ver_compare_int() { - local a=$1 b=$2 d=$(( ${#1}-${#2} )) - - # Zero-pad to equal length if necessary. - if [[ ${d} -gt 0 ]]; then - printf -v b "%0${d}d%s" 0 "${b}" - elif [[ ${d} -lt 0 ]]; then - printf -v a "%0$(( -d ))d%s" 0 "${a}" - fi - - [[ ${a} > ${b} ]] && return 3 - [[ ${a} == "${b}" ]] -} - -# @FUNCTION: _ver_compare -# @USAGE: -# @RETURN: 1 if < , 2 if = , 3 if > -# @INTERNAL -# @DESCRIPTION: -# Compare two versions and . If is less than, equal to, -# or greater than , return 1, 2, or 3 as exit status, respectively. -_ver_compare() { - local va=${1} vb=${2} a an al as ar b bn bl bs br re LC_ALL=C - - re="^([0-9]+(\.[0-9]+)*)([a-z]?)((_(alpha|beta|pre|rc|p)[0-9]*)*)(-r[0-9]+)?$" - - [[ ${va} =~ ${re} ]] || die "${FUNCNAME}: invalid version: ${va}" - an=${BASH_REMATCH[1]} - al=${BASH_REMATCH[3]} - as=${BASH_REMATCH[4]} - ar=${BASH_REMATCH[7]} - - [[ ${vb} =~ ${re} ]] || die "${FUNCNAME}: invalid version: ${vb}" - bn=${BASH_REMATCH[1]} - bl=${BASH_REMATCH[3]} - bs=${BASH_REMATCH[4]} - br=${BASH_REMATCH[7]} - - # Compare numeric components (PMS algorithm 3.2) - # First component - _ver_compare_int "${an%%.*}" "${bn%%.*}" || return - - while [[ ${an} == *.* && ${bn} == *.* ]]; do - # Other components (PMS algorithm 3.3) - an=${an#*.} - bn=${bn#*.} - a=${an%%.*} - b=${bn%%.*} - if [[ ${a} == 0* || ${b} == 0* ]]; then - # Remove any trailing zeros - [[ ${a} =~ 0+$ ]] && a=${a%"${BASH_REMATCH[0]}"} - [[ ${b} =~ 0+$ ]] && b=${b%"${BASH_REMATCH[0]}"} - [[ ${a} > ${b} ]] && return 3 - [[ ${a} < ${b} ]] && return 1 - else - _ver_compare_int "${a}" "${b}" || return - fi - done - [[ ${an} == *.* ]] && return 3 - [[ ${bn} == *.* ]] && return 1 - - # Compare letter components (PMS algorithm 3.4) - [[ ${al} > ${bl} ]] && return 3 - [[ ${al} < ${bl} ]] && return 1 - - # Compare suffixes (PMS algorithm 3.5) - as=${as#_}${as:+_} - bs=${bs#_}${bs:+_} - while [[ -n ${as} && -n ${bs} ]]; do - # Compare each suffix (PMS algorithm 3.6) - a=${as%%_*} - b=${bs%%_*} - if [[ ${a%%[0-9]*} == "${b%%[0-9]*}" ]]; then - _ver_compare_int "${a##*[a-z]}" "${b##*[a-z]}" || return - else - # Check for p first - [[ ${a%%[0-9]*} == p ]] && return 3 - [[ ${b%%[0-9]*} == p ]] && return 1 - # Hack: Use that alpha < beta < pre < rc alphabetically - [[ ${a} > ${b} ]] && return 3 || return 1 - fi - as=${as#*_} - bs=${bs#*_} - done - if [[ -n ${as} ]]; then - [[ ${as} == p[_0-9]* ]] && return 3 || return 1 - elif [[ -n ${bs} ]]; then - [[ ${bs} == p[_0-9]* ]] && return 1 || return 3 - fi - - # Compare revision components (PMS algorithm 3.7) - _ver_compare_int "${ar#-r}" "${br#-r}" || return - - return 2 -} - -# @FUNCTION: ver_test -# @USAGE: [] -# @DESCRIPTION: -# Check if the relation is true. If is not specified, -# default to ${PVR}. can be -gt, -ge, -eq, -ne, -le, -lt. -# Both versions must conform to the PMS version syntax (with optional -# revision parts), and the comparison is performed according to -# the algorithm specified in the PMS. -ver_test() { - local va op vb - - if [[ $# -eq 3 ]]; then - va=${1} - shift - else - va=${PVR} - fi - - [[ $# -eq 2 ]] || die "${FUNCNAME}: bad number of arguments" - - op=${1} - vb=${2} - - case ${op} in - -eq|-ne|-lt|-le|-gt|-ge) ;; - *) die "${FUNCNAME}: invalid operator: ${op}" ;; - esac - - _ver_compare "${va}" "${vb}" - test $? "${op}" 2 -} diff --git a/sdk_container/src/third_party/portage-stable/eclass/eqawarn.eclass b/sdk_container/src/third_party/portage-stable/eclass/eqawarn.eclass deleted file mode 100644 index df6b13151d7..00000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/eqawarn.eclass +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# @DEAD -# @ECLASS: eqawarn.eclass -# @MAINTAINER: -# base-system@gentoo.org -# @SUPPORTED_EAPIS: 6 -# @BLURB: output a QA warning - -case ${EAPI} in - 6) ;; - *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; -esac - -# @FUNCTION: eqawarn -# @USAGE: [message] -# @DESCRIPTION: -# Proxy to ewarn for package managers that don't provide eqawarn and -# use the PM implementation if available. Reuses PORTAGE_ELOG_CLASSES -# as set by the dev profile. -if ! declare -F eqawarn >/dev/null ; then - eqawarn() { - has qa ${PORTAGE_ELOG_CLASSES} && ewarn "$@" - : - } -fi diff --git a/sdk_container/src/third_party/portage-stable/eclass/java-utils-2.eclass b/sdk_container/src/third_party/portage-stable/eclass/java-utils-2.eclass index 8d9ef40b357..c0a900b35a0 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/java-utils-2.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/java-utils-2.eclass @@ -1636,10 +1636,6 @@ java-pkg_is-vm-version-ge() { fi } -java-pkg_set-current-vm() { - export GENTOO_VM=${1} -} - # @FUNCTION: java-pkg_current-vm-matches # @USAGE: [ [...]] # @RETURN: 0: the current vm matches any of the provided strings @@ -2033,25 +2029,6 @@ java-utils-2_pkg_preinst() { eant() { debug-print-function ${FUNCNAME} $* - if [[ ${!JAVA_PKG_BSFIX*} ]] \ - || [[ ${JAVA_ANT_BSFIX_EXTRA_ARGS} ]] \ - || [[ ${JAVA_ANT_CLASSPATH_TAGS} ]] \ - || [[ ${JAVA_ANT_JAVADOC_INPUT_DIRS} ]] \ - || [[ ${JAVA_ANT_REWRITE_CLASSPATH} ]] \ - || [[ ${EANT_BUILD_XML} ]] \ - || [[ ${!EANT_GENTOO_CLASSPATH*} ]] \ - || [[ ${EANT_TEST_GENTOO_CLASSPATH} ]] - then - if [[ ${EBUILD_PHASE} = compile ]]; then - java-ant-2_src_configure - fi - - if ! has java-ant-2 ${INHERITED}; then - local msg="You should inherit java-ant-2 when using eant" - java-pkg_announce-qa-violation "${msg}" - fi - fi - local antflags="-Dnoget=true -Dmaven.mode.offline=true -Dbuild.sysclasspath=ignore" java-pkg_init-compiler_ diff --git a/sdk_container/src/third_party/portage-stable/eclass/rust.eclass b/sdk_container/src/third_party/portage-stable/eclass/rust.eclass new file mode 100644 index 00000000000..f293e96d7ce --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/eclass/rust.eclass @@ -0,0 +1,466 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# @ECLASS: rust.eclass +# @MAINTAINER: +# Matt Jolly +# @AUTHOR: +# Matt Jolly +# @SUPPORTED_EAPIS: 8 +# @BLURB: Utility functions to build against slotted Rust +# @DESCRIPTION: +# An eclass to reliably depend on a Rust or Rust/LLVM combination for +# a given Rust slot. To use the eclass: +# +# 1. If required, set RUST_{MAX,MIN}_SLOT to the range of supported slots. +# 2. If rust is optional, set RUST_OPTIONAL to a non-empty value then +# appropriately gate ${RUST_DEPEND} +# 3. Use rust_pkg_setup, get_rust_prefix or RUST_SLOT. + +# Example use for a package supporting Rust 1.72.0 to 1.82.0: +# @CODE +# +# RUST_MAX_VER="1.82.0" +# RUST_MIN_VER="1.72.0" +# +# inherit meson rust +# +# # only if you need to define one explicitly +# pkg_setup() { +# rust_pkg_setup +# do-something-else +# } +# @CODE +# +# Example for a package needing Rust w/ a specific target: +# @CODE +# RUST_REQ_USE='clippy' +# RUST_MULTILIB=1 +# +# inherit multilib-minimal meson rust +# +# @CODE + +case ${EAPI} in + 8) ;; + *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; +esac + +if [[ -z ${_RUST_ECLASS} ]]; then +_RUST_ECLASS=1 + +if [[ -n ${RUST_NEEDS_LLVM} ]]; then + inherit llvm-r1 +fi + +if [[ -n ${RUST_MULTILIB} ]]; then + inherit multilib-build + RUST_REQ_USE="${RUST_REQ_USE+${RUST_REQ_USE},}${MULTILIB_USEDEP}" +fi + +# == internal control knobs == + +# @ECLASS_VARIABLE: _RUST_LLVM_MAP +# @INTERNAL +# @DESCRIPTION: +# Definitive list of Rust slots and the associated LLVM slot, newest first. +declare -A -g -r _RUST_LLVM_MAP=( + ["1.82.0"]=19 + ["1.81.0"]=18 + ["1.80.1"]=18 + ["1.79.0"]=18 + ["1.77.1"]=17 + ["1.75.0"]=17 + ["1.74.1"]=17 + ["1.71.1"]=16 +) + +# @ECLASS_VARIABLE: _RUST_SLOTS_ORDERED +# @INTERNAL +# @DESCRIPTION: +# Array of Rust slots, newest first. +# While _RUST_LLVM_MAP stores useful info about the relationship between Rust and LLVM slots, +# this array is used to store the Rust slots in a more convenient order for iteration. +declare -a -g -r _RUST_SLOTS_ORDERED=( + "1.82.0" + "1.81.0" + "1.80.1" + "1.79.0" + "1.77.1" + "1.75.0" + "1.74.1" + "1.71.1" +) + +# == control variables == + +# @ECLASS_VARIABLE: RUST_MAX_VER +# @DEFAULT_UNSET +# @DESCRIPTION: +# Highest Rust slot supported by the package. Needs to be set before +# rust_pkg_setup is called. If unset, no upper bound is assumed. + +# @ECLASS_VARIABLE: RUST_MIN_VER +# @DEFAULT_UNSET +# @DESCRIPTION: +# Lowest Rust slot supported by the package. Needs to be set before +# rust_pkg_setup is called. If unset, no lower bound is assumed. + +# @eclass-variable: RUST_NEEDS_LLVM +# @DEFAULT_UNSET +# @DESCRIPTION: +# If set to a non-empty value generate a llvm_slot_${llvm_slot}? gated +# dependency block for rust slots in LLVM_COMPAT. This is useful for +# packages that need a tight coupling between Rust and LLVM but don't +# really care _which_ version of Rust is selected. Combine with +# RUST_MAX_VER and RUST_MIN_VER to limit the range of Rust versions +# that are acceptable. Will `die` if llvm-r1 is not inherited or +# an invalid combination of RUST and LLVM slots is detected; this probably +# means that a LLVM slot in LLVM_COMPAT has had all of its Rust slots filtered. + +# @eclass-variable: RUST_MULTILIB +# @DEFAULT_UNSET +# @DESCRIPTION: +# If set to a non-empty value insert MULTILIB_USEDEP into the generated +# Rust dependency. For this to be useful inherit a multilib eclass and +# configure the appropriate phase functions. + +# @ECLASS_VARIABLE: RUST_DEPEND +# @OUTPUT_VARIABLE +# @DESCRIPTION: +# This is an eclass-generated Rust dependency string, filtered by +# RUST_MAX_VER and RUST_MIN_VER. If RUST_NEEDS_LLVM is set, this +# is grouped and gated by an appropriate `llvm_slot_x` USE for all +# implementations listed in LLVM_COMPAT. + +# @ECLASS_VARIABLE: RUST_OPTIONAL +# @DEFAULT_UNSET +# @DESCRIPTION: +# If set to a non-empty value, the Rust dependency will not be added +# to BDEPEND. This is useful for where packages need to gate rust behind +# certain USE themselves. + +# @ECLASS_VARIABLE: RUST_REQ_USE +# @DEFAULT_UNSET +# @DESCRIPTION: +# Additional USE-dependencies to be added to the Rust dependency. +# This is useful for packages that need to depend on specific Rust +# features, like clippy or rustfmt. The variable is expanded before +# being used in the Rust dependency. + +# == global metadata == + +_rust_set_globals() { + debug-print-function ${FUNCNAME} "$@" + + # If RUST_MIN_VER is older than our oldest slot we'll just set it to that + # internally so we don't have to worry about it later. + if ver_test "${_RUST_SLOTS_ORDERED[-1]}" -gt "${RUST_MIN_VER:-0}"; then + RUST_MIN_VER="${_RUST_SLOTS_ORDERED[-1]}" + fi + + # and if it falls between slots we'll set it to the next highest slot + # We can skip this we match a slot exactly. + if [[ "${_RUST_SLOTS_ORDERED[@]}" != *"${RUST_MIN_VER}"* ]]; then + local i + for (( i=${#_RUST_SLOTS_ORDERED[@]}-1 ; i>=0 ; i-- )); do + if ver_test "${_RUST_SLOTS_ORDERED[$i]}" -gt "${RUST_MIN_VER}"; then + RUST_MIN_VER="${_RUST_SLOTS_ORDERED[$i]}" + break + fi + done + fi + + if [[ -n "${RUST_MAX_VER}" && -n "${RUST_MIN_VER}" ]]; then + if ! ver_test "${RUST_MAX_VER}" -ge "${RUST_MIN_VER}"; then + die "RUST_MAX_VER must not be older than RUST_MIN_VER" + fi + fi + + local slot + # Try to keep this in order of newest to oldest + for slot in "${_RUST_SLOTS_ORDERED[@]}"; do + if ver_test "${slot}" -le "${RUST_MAX_VER:-9999}" && + ver_test "${slot}" -ge "${RUST_MIN_VER:-0}" + then + _RUST_SLOTS+=( "${slot}" ) + fi + done + + _RUST_SLOTS=( "${_RUST_SLOTS[@]}" ) + readonly _RUST_SLOTS + + local rust_dep=() + local llvm_slot + local rust_slot + local usedep="${RUST_REQ_USE+[${RUST_REQ_USE}]}" + + # If we're not using LLVM, we can just generate a simple Rust dependency + # In time we need to implement trivial dependencies + # (>=RUST_MIN_VER) where RUST_MAX_VER isnt't set, + # however the previous attempt to do this ran into issues + # where `emerge ... --keep-going` ate legacy non-slotted + # Rust blockers resutling in the non-slotted version never + # being removed and breaking builds. #943206 #943143 + if [[ -z "${RUST_NEEDS_LLVM}" ]]; then + rust_dep=( "|| (" ) + # depend on each slot between RUST_MIN_VER and RUST_MAX_VER; it's a bit specific but + # won't hurt as we only ever add newer Rust slots. + for slot in "${_RUST_SLOTS[@]}"; do + rust_dep+=( + "dev-lang/rust-bin:${slot}${usedep}" + "dev-lang/rust:${slot}${usedep}" + ) + done + rust_dep+=( ")" ) + RUST_DEPEND="${rust_dep[*]}" + else + for llvm_slot in "${LLVM_COMPAT[@]}"; do + # Quick sanity check to make sure that the llvm slot is valid for Rust. + if [[ "${_RUST_LLVM_MAP[@]}" == *"${llvm_slot}"* ]]; then + # We're working a bit backwards here; iterate over _RUST_LLVM_MAP, check the + # LLVM slot, and if it matches add this to a new array because it may (and likely will) + # match multiple Rust slots. We already filtered Rust max/min slots. + # We always have a usedep for the LLVM slot, append `,RUST_REQ_USE` if it's set + usedep="[llvm_slot_${llvm_slot}${RUST_REQ_USE+,${RUST_REQ_USE}}]" + local slot_dep_content=() + for rust_slot in "${_RUST_SLOTS[@]}"; do + if [[ "${_RUST_LLVM_MAP[${rust_slot}]}" == "${llvm_slot}" ]]; then + slot_dep_content+=( + "dev-lang/rust-bin:${rust_slot}${usedep}" + "dev-lang/rust:${rust_slot}${usedep}" + ) + fi + done + if [[ "${#slot_dep_content[@]}" -ne 0 ]]; then + rust_dep+=( "llvm_slot_${llvm_slot}? ( || ( ${slot_dep_content[*]} ) )" ) + else + die "${FUNCNAME}: no Rust slots found for LLVM slot ${llvm_slot}" + fi + fi + done + RUST_DEPEND="${rust_dep[*]}" + fi + + readonly RUST_DEPEND + if [[ -z ${RUST_OPTIONAL} ]]; then + BDEPEND="${RUST_DEPEND}" + fi +} +_rust_set_globals +unset -f _rust_set_globals + +# == ebuild helpers == + +# @FUNCTION: _get_rust_slot +# @USAGE: [-b|-d] +# @DESCRIPTION: +# Find the newest Rust install that is acceptable for the package, +# and print its version number (i.e. SLOT) and type (source or bin[ary]). +# +# If -b is specified, the checks are performed relative to BROOT, +# and BROOT-path is returned. -b is the default. +# +# If -d is specified, the checks are performed relative to ESYSROOT, +# and ESYSROOT-path is returned. +# +# If RUST_M{AX,IN}_SLOT is non-zero, then only Rust versions that +# are not newer or older than the specified slot(s) will be considered. +# Otherwise, all Rust versions are be considered acceptable. +# +# If the `rust_check_deps()` function is defined within the ebuild, it +# will be called to verify whether a particular slot is accepable. +# Within the function scope, RUST_SLOT and LLVM_SLOT will be defined. +# +# The function should return a true status if the slot is acceptable, +# false otherwise. If rust_check_deps() is not defined, the function +# defaults to checking whether a suitable Rust package is installed. +_get_rust_slot() { + debug-print-function ${FUNCNAME} "$@" + + local hv_switch=-b + while [[ ${1} == -* ]]; do + case ${1} in + -b|-d) hv_switch="${1}";; + *) break;; + esac + shift + done + + local max_slot + if [[ -z "${RUST_MAX_VER}" ]]; then + max_slot= + else + max_slot="${RUST_MAX_VER}" + fi + local slot + local llvm_slot + + if [[ -n "${RUST_NEEDS_LLVM}" ]]; then + local unique_slots=() + local llvm_r1_slot + # Associative array keys are unique, so let's use that to our advantage + for llvm_slot in "${_RUST_LLVM_MAP[@]}"; do + unique_slots["${llvm_slot}"]="1" + done + for llvm_slot in "${!unique_slots[@]}"; do + if [[ "${LLVM_COMPAT[@]}" == *"${llvm_slot}"* ]]; then + # We can check for the USE + use "llvm_slot_${llvm_slot}" && llvm_r1_slot="${llvm_slot}" + fi + done + if [[ -z "${llvm_r1_slot}" ]]; then + die "${FUNCNAME}: no LLVM slot found" + fi + fi + + # iterate over known slots, newest first + for slot in "${_RUST_SLOTS_ORDERED[@]}"; do + llvm_slot="${_RUST_LLVM_MAP[${slot}]}" + # skip higher slots + if [[ -n "${max_slot}" ]]; then + if ver_test "${slot}" -eq "${max_slot}"; then + max_slot= + elif ver_test "${slot}" -gt "${max_slot}"; then + continue + fi + fi + + # If we're in LLVM mode we can skip any slots that don't match the selected USE + if [[ -n "${RUST_NEEDS_LLVM}" ]]; then + if [[ "${llvm_slot}" != "${llvm_r1_slot}" ]]; then + continue + fi + fi + + if declare -f rust_check_deps >/dev/null; then + local RUST_SLOT="${slot}" + local LLVM_SLOT="${_RUST_LLVM_MAP[${slot}]}" + rust_check_deps && return + else + local usedep="${RUST_REQ_USE+[${RUST_REQ_USE}]}" + # When checking for installed packages prefer the non `-bin` package + # if effort was put into building it we should use it. + local rust_pkgs=( + "dev-lang/rust:${slot}${usedep}" + "dev-lang/rust-bin:${slot}${usedep}" + ) + local _pkg + for _pkg in "${rust_pkgs[@]}"; do + if has_version "${hv_switch}" "${_pkg}"; then + if [[ "${_pkg}" == "dev-lang/rust:${slot}${usedep}" ]]; then + echo "${slot} source" + else + echo "${slot} binary" + fi + return + fi + done + fi + + # We want to process the slot before escaping the loop if we've hit the minimum slot + if ver_test "${slot}" -eq "${RUST_MIN_VER}"; then + break + fi + done + + # max_slot should have been unset in the iteration + if [[ -n "${max_slot}" ]]; then + die "${FUNCNAME}: invalid max_slot=${max_slot}" + fi + + die "No Rust slot${1:+ <= ${1}} satisfying the package's dependencies found installed!" +} + +# @FUNCTION: get_rust_path +# @USAGE: prefix slot rust_type +# @DESCRIPTION: +# Given argument of slot and rust_type, return an appropriate path +# for the Rust install. The rust_type should be either "source" +# or "binary". If the rust_type is not one of these, the function +# will die. +get_rust_path() { + debug-print-function ${FUNCNAME} "$@" + + local prefix="${1}" + local slot="${2}" + local rust_type="${3}" + + if [[ ${#} -ne 3 ]]; then + die "${FUNCNAME}: invalid number of arguments" + fi + + case ${rust_type} in + source) echo "${prefix}/usr/lib/rust/${slot}/";; + binary) echo "${prefix}/opt/rust-bin-${slot}/";; + *) die "${FUNCNAME}: invalid rust_type=${rust_type}";; + esac +} + +# @FUNCTION: get_rust_prefix +# @USAGE: [-b|-d] +# @DESCRIPTION: +# Find the newest Rust install that is acceptable for the package, +# and print an absolute path to it. If both -bin and regular Rust +# are installed, the regular Rust is preferred. +# +# The options and behavior are the same as get_rust_slot. +get_rust_prefix() { + debug-print-function ${FUNCNAME} "$@" + + local prefix=${BROOT} + [[ ${1} == -d ]] && prefix=${ESYSROOT} + + local slot rust_type + read -r slot rust_type <<< $(_get_rust_slot "$@") + get_rust_path "${prefix}" "${slot}" "${rust_type}" +} + +# @FUNCTION: rust_prepend_path +# @USAGE: +# @DESCRIPTION: +# Prepend the path to the specified Rust to PATH and re-export it. +rust_prepend_path() { + debug-print-function ${FUNCNAME} "$@" + + [[ ${#} -ne 2 ]] && die "Usage: ${FUNCNAME} " + export PATH="$(get_rust_path "${BROOT}" "$@")/bin:${PATH}" +} + +# @FUNCTION: rust_pkg_setup +# @DESCRIPTION: +# Prepend the appropriate executable directory for the newest +# acceptable Rust slot to the PATH. If used with LLVM, an appropriate +# `llvm-r1_pkg_setup` call should be made in addition to this function. +# For path determination logic, please see the get_rust_prefix documentation. +# +# The highest acceptable Rust slot can be set in RUST_MAX_VER variable. +# If it is unset or empty, any slot is acceptable. +# +# The lowest acceptable Rust slot can be set in RUST_MIN_VER variable. +# If it is unset or empty, any slot is acceptable. +# +# `CARGO` and `RUSTC` variables are set for the selected slot and exported. +# +# The PATH manipulation is only done for source builds. The function +# is a no-op when installing a binary package. +# +# If any other behavior is desired, the contents of the function +# should be inlined into the ebuild and modified as necessary. +rust_pkg_setup() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${MERGE_TYPE} != binary ]]; then + read -r RUST_SLOT RUST_TYPE <<< $(_get_rust_slot -b) + rust_prepend_path "${RUST_SLOT}" "${RUST_TYPE}" + local prefix=$(get_rust_path "${BROOT}" "${RUST_SLOT}" "${RUST_TYPE}") + CARGO="${prefix}bin/cargo" + RUSTC="${prefix}bin/rustc" + export CARGO RUSTC + einfo "Using Rust ${RUST_SLOT} (${RUST_TYPE})" + fi +} + +fi + +EXPORT_FUNCTIONS pkg_setup diff --git a/sdk_container/src/third_party/portage-stable/eclass/secureboot.eclass b/sdk_container/src/third_party/portage-stable/eclass/secureboot.eclass index 52a7a636ddd..a854061719a 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/secureboot.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/secureboot.eclass @@ -3,9 +3,9 @@ # @ECLASS: secureboot.eclass # @MAINTAINER: -# Andrew Ammerlaan +# Nowa Ammerlaan # @AUTHOR: -# Author: Andrew Ammerlaan +# Author: Nowa Ammerlaan # @SUPPORTED_EAPIS: 7 8 # @BLURB: A small eclass to sign efi files for Secure Boot # @DESCRIPTION: diff --git a/sdk_container/src/third_party/portage-stable/eclass/shell-completion.eclass b/sdk_container/src/third_party/portage-stable/eclass/shell-completion.eclass index d582028847b..caccdee7b19 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/shell-completion.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/shell-completion.eclass @@ -1,4 +1,4 @@ -# Copyright 2023 Gentoo Authors +# Copyright 2023-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: shell-completion.eclass @@ -20,7 +20,7 @@ case ${EAPI} in *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" esac -if [[ ! ${_SHELL_COMPLETION_ECLASS} ]]; then +if [[ -z ${_SHELL_COMPLETION_ECLASS} ]]; then _SHELL_COMPLETION_ECLASS=1 # Extend bash-completion-r1 @@ -43,7 +43,7 @@ _shell-completion_get_zshcompdir() { # @FUNCTION: get_fishcompdir # @RETURN: the fish completions directory (with EPREFIX) get_fishcompdir() { - debug-print-function ${FUNCNAME} "${@}" + debug-print-function ${FUNCNAME} "$@" echo "${EPREFIX}$(_shell-completion_get_fishcompdir)" } @@ -51,7 +51,7 @@ get_fishcompdir() { # @FUNCTION: get_zshcompdir # @RETURN: the zsh completions directory (with EPREFIX) get_zshcompdir() { - debug-print-function ${FUNCNAME} "${@}" + debug-print-function ${FUNCNAME} "$@" echo "${EPREFIX}$(_shell-completion_get_zshcompdir)" } @@ -61,7 +61,7 @@ get_zshcompdir() { # @DESCRIPTION: # Install fish completion files passed as args. dofishcomp() { - debug-print-function ${FUNCNAME} "${@}" + debug-print-function ${FUNCNAME} "$@" ( insopts -m 0644 @@ -75,7 +75,7 @@ dofishcomp() { # @DESCRIPTION: # Install zsh completion files passed as args. dozshcomp() { - debug-print-function ${FUNCNAME} "${@}" + debug-print-function ${FUNCNAME} "$@" ( insopts -m 0644 @@ -89,7 +89,7 @@ dozshcomp() { # @DESCRIPTION: # Install fish file under a new name. newfishcomp() { - debug-print-function ${FUNCNAME} "${@}" + debug-print-function ${FUNCNAME} "$@" ( insopts -m 0644 @@ -103,7 +103,7 @@ newfishcomp() { # @DESCRIPTION: # Install zsh file under a new name. newzshcomp() { - debug-print-function ${FUNCNAME} "${@}" + debug-print-function ${FUNCNAME} "$@" ( insopts -m 0644 diff --git a/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass b/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass index 6bad1def19f..1f043de0b54 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass @@ -14,6 +14,8 @@ if [[ -z ${_TOOLCHAIN_ECLASS} ]]; then _TOOLCHAIN_ECLASS=1 +RUST_OPTIONAL="1" + case ${EAPI} in 7|8) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; @@ -22,7 +24,7 @@ esac DESCRIPTION="The GNU Compiler Collection" HOMEPAGE="https://gcc.gnu.org/" -inherit edo flag-o-matic gnuconfig libtool multilib pax-utils toolchain-funcs prefix +inherit edo flag-o-matic gnuconfig libtool multilib pax-utils rust toolchain-funcs prefix [[ -n ${TOOLCHAIN_HAS_TESTS} ]] && inherit python-any-r1 @@ -330,6 +332,7 @@ if [[ ${PN} != kgcc64 && ${PN} != gcc-* ]] ; then # and https://rust-gcc.github.io/2023/04/24/gccrs-and-gcc13-release.html for why # it was disabled in 13. tc_version_is_at_least 14.0.0_pre20230423 ${PV} && IUSE+=" rust" TC_FEATURES+=( rust ) + tc_version_is_at_least 14.2.1_p20241026 ${PV} && IUSE+=" time64" fi if tc_version_is_at_least 10; then @@ -426,7 +429,7 @@ fi if tc_has_feature rust && tc_version_is_at_least 14.0.0_pre20230421 ; then # This was added upstream in r14-9968-g3e1e73fc995844 as a temporary measure. # See https://inbox.sourceware.org/gcc/34fec7ea-8762-4cac-a1c8-ff54e20e31ed@embecosm.com/ - BDEPEND+=" rust? ( virtual/rust )" + BDEPEND+=" rust? ( ${RUST_DEPEND} )" fi PDEPEND=">=sys-devel/gcc-config-2.11" @@ -592,6 +595,8 @@ toolchain_pkg_setup() { MAKEOPTS="--output-sync=line ${MAKEOPTS}" [[ -n ${TOOLCHAIN_HAS_TESTS} ]] && use test && python-any-r1_pkg_setup + + _tc_use_if_iuse rust && rust_pkg_setup } #---->> src_unpack <<---- @@ -1060,6 +1065,9 @@ toolchain_src_configure() { downgrade_arch_flags gcc_do_filter_flags + if tc_version_is_at_least 14.2.1_p20241026 ${PV}; then + append-cppflags "-D_GENTOO_TIME64_FORCE=$(usex time64 1 0)" + fi if ! tc_version_is_at_least 11 && [[ $(gcc-major-version) -ge 12 ]] ; then # https://gcc.gnu.org/PR105695 (bug #849359) @@ -1244,7 +1252,10 @@ toolchain_src_configure() { # ;; # esac - ### Cross-compiler options + ### Cross-compiler option + # + # Note that 'newlib' here doesn't have to mean genuine newlib. + # See https://gcc.gnu.org/pipermail/gcc/2014-January/211653.html. if is_crosscompile ; then # Enable build warnings by default with cross-compilers when system # paths are included (e.g. via -I flags). @@ -1575,7 +1586,6 @@ toolchain_src_configure() { fi } - enable_cet_for 'i[34567]86' 'linux' 'cet' enable_cet_for 'x86_64' 'gnu' 'cet' enable_cet_for 'aarch64' 'gnu' 'standard-branch-protection' fi @@ -1944,6 +1954,15 @@ gcc_do_filter_flags() { filter-flags -Walloc-size fi + if ver_test -lt 15.1 ; then + filter-flags -fdiagnostics-explain-harder -fdiagnostics-details + fi + + if is_d ; then + # bug #940750 + filter-flags -Warray-bounds + fi + # Please use USE=lto instead (bug #906007). filter-lto @@ -2963,18 +2982,21 @@ XGCC() { get_make_var GCC_FOR_TARGET ; } has toolchain_death_notice ${EBUILD_DEATH_HOOKS} || EBUILD_DEATH_HOOKS+=" toolchain_death_notice" toolchain_death_notice() { - if [[ -e "${WORKDIR}"/build ]] ; then - pushd "${WORKDIR}"/build >/dev/null - (echo '' | $(tc-getCC ${CTARGET}) ${CFLAGS} -v -E - 2>&1) > gccinfo.log - [[ -e "${T}"/build.log ]] && cp "${T}"/build.log . - tar -acf "${WORKDIR}"/gcc-build-logs.tar.xz \ - gccinfo.log build.log $(find -name config.log) - rm gccinfo.log build.log - eerror - eerror "Please include ${WORKDIR}/gcc-build-logs.tar.xz in your bug report." - eerror - popd >/dev/null - fi + local dir + for dir in "${WORKDIR}"/build-jit "${WORKDIR}"/build ; do + if [[ -e "${dir}" ]] ; then + pushd "${WORKDIR}" >/dev/null + (echo '' | $(tc-getCC ${CTARGET}) ${CFLAGS} -v -E - 2>&1) > "${dir}"/gccinfo.log + [[ -e "${T}"/build.log ]] && cp "${T}"/build.log "${dir}" + tar -arf "${WORKDIR}"/gcc-build-logs.tar.xz \ + "${dir#${WORKDIR}/}"/gccinfo.log "${dir#${WORKDIR}/}"/build.log $(find -name "${dir}"/config.log) + rm "${dir}"/gccinfo.log "${dir}"/build.log + eerror + eerror "Please include ${WORKDIR}/gcc-build-logs.tar.xz in your bug report." + eerror + popd >/dev/null + fi + done } fi diff --git a/sdk_container/src/third_party/portage-stable/eclass/versionator.eclass b/sdk_container/src/third_party/portage-stable/eclass/versionator.eclass deleted file mode 100644 index 1e491860b6c..00000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/versionator.eclass +++ /dev/null @@ -1,519 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# @DEAD -# @ECLASS: versionator.eclass -# @MAINTAINER: -# Jonathan Callen -# base-system@gentoo.org -# @SUPPORTED_EAPIS: 0 1 2 3 4 5 6 -# @BLURB: functions which simplify manipulation of ${PV} and similar version strings -# @DEPRECATED: ver_* functions from EAPI 7 -# @DESCRIPTION: -# This eclass provides functions which simplify manipulating $PV and similar -# variables. Most functions default to working with $PV, although other -# values can be used. -# @EXAMPLE: -# Simple Example 1: $PV is 1.2.3b, we want 1_2.3b: -# MY_PV=$(replace_version_separator 1 '_' ) -# -# Simple Example 2: $PV is 1.4.5, we want 1: -# MY_MAJORV=$(get_major_version ) -# -# Rather than being a number, the index parameter can be a separator character -# such as '-', '.' or '_'. In this case, the first separator of this kind is -# selected. -# -# There's also: -# version_is_at_least want have -# which may be buggy, so use with caution. - -if [[ -z ${_VERSIONATOR_ECLASS} ]]; then -_VERSIONATOR_ECLASS=1 - -case ${EAPI:-0} in - 0|1|2|3|4|5|6) - ;; - *) - die "${ECLASS}: banned in EAPI=${EAPI}; use ver_* instead";; -esac - -inherit estack - -# @FUNCTION: get_all_version_components -# @USAGE: [version] -# @DESCRIPTION: -# Split up a version string into its component parts. If no parameter is -# supplied, defaults to $PV. -# 0.8.3 -> 0 . 8 . 3 -# 7c -> 7 c -# 3.0_p2 -> 3 . 0 _ p2 -# 20040905 -> 20040905 -# 3.0c-r1 -> 3 . 0 c - r1 -get_all_version_components() { - eshopts_push -s extglob - local ver_str=${1:-${PV}} result - result=() - - # sneaky cache trick cache to avoid having to parse the same thing several - # times. - if [[ ${VERSIONATOR_CACHE_VER_STR} == ${ver_str} ]] ; then - echo ${VERSIONATOR_CACHE_RESULT} - eshopts_pop - return - fi - export VERSIONATOR_CACHE_VER_STR=${ver_str} - - while [[ -n $ver_str ]] ; do - case "${ver_str::1}" in - # number: parse whilst we have a number - [[:digit:]]) - result+=("${ver_str%%[^[:digit:]]*}") - ver_str=${ver_str##+([[:digit:]])} - ;; - - # separator: single character - [-_.]) - result+=("${ver_str::1}") - ver_str=${ver_str:1} - ;; - - # letter: grab the letters plus any following numbers - [[:alpha:]]) - local not_match=${ver_str##+([[:alpha:]])*([[:digit:]])} - # Can't say "${ver_str::-${#not_match}}" in Bash 3.2 - result+=("${ver_str::${#ver_str} - ${#not_match}}") - ver_str=${not_match} - ;; - - # huh? - *) - result+=("${ver_str::1}") - ver_str=${ver_str:1} - ;; - esac - done - - export VERSIONATOR_CACHE_RESULT=${result[*]} - echo ${result[@]} - eshopts_pop -} - -# @FUNCTION: get_version_components -# @USAGE: [version] -# @DESCRIPTION: -# Get the important version components, excluding '.', '-' and '_'. Defaults to -# $PV if no parameter is supplied. -# 0.8.3 -> 0 8 3 -# 7c -> 7 c -# 3.0_p2 -> 3 0 p2 -# 20040905 -> 20040905 -# 3.0c-r1 -> 3 0 c r1 -get_version_components() { - local c=$(get_all_version_components "${1:-${PV}}") - echo ${c//[-._]/ } -} - -# @FUNCTION: get_major_version -# @USAGE: [version] -# @DESCRIPTION: -# Get the major version of a value. Defaults to $PV if no parameter is supplied. -# 0.8.3 -> 0 -# 7c -> 7 -# 3.0_p2 -> 3 -# 20040905 -> 20040905 -# 3.0c-r1 -> 3 -get_major_version() { - local c=($(get_all_version_components "${1:-${PV}}")) - echo ${c[0]} -} - -# @FUNCTION: get_version_component_range -# @USAGE: [version] -# @DESCRIPTION: -# Get a particular component or range of components from the version. If no -# version parameter is supplied, defaults to $PV. -# 1 1.2.3 -> 1 -# 1-2 1.2.3 -> 1.2 -# 2- 1.2.3 -> 2.3 -get_version_component_range() { - eshopts_push -s extglob - local c v="${2:-${PV}}" range="${1}" range_start range_end - local -i i=-1 j=0 - c=($(get_all_version_components "${v}")) - range_start=${range%-*}; range_start=${range_start:-1} - range_end=${range#*-} ; range_end=${range_end:-${#c[@]}} - - while ((j < range_start)); do - i+=1 - ((i > ${#c[@]})) && eshopts_pop && return - [[ -n "${c[i]//[-._]}" ]] && j+=1 - done - - while ((j <= range_end)); do - echo -n ${c[i]} - ((i > ${#c[@]})) && eshopts_pop && return - [[ -n "${c[i]//[-._]}" ]] && j+=1 - i+=1 - done - eshopts_pop -} - -# @FUNCTION: get_after_major_version -# @USAGE: [version] -# @DESCRIPTION: -# Get everything after the major version and its separator (if present) of a -# value. Defaults to $PV if no parameter is supplied. -# 0.8.3 -> 8.3 -# 7c -> c -# 3.0_p2 -> 0_p2 -# 20040905 -> (empty string) -# 3.0c-r1 -> 0c-r1 -get_after_major_version() { - echo $(get_version_component_range 2- "${1:-${PV}}") -} - -# @FUNCTION: replace_version_separator -# @USAGE: [subject] -# @DESCRIPTION: -# Replace the $1th separator with $2 in $3 (defaults to $PV if $3 is not -# supplied). If there are fewer than $1 separators, don't change anything. -# 1 '_' 1.2.3 -> 1_2.3 -# 2 '_' 1.2.3 -> 1.2_3 -# 1 '_' 1b-2.3 -> 1b_2.3 -# Rather than being a number, $1 can be a separator character such as '-', '.' -# or '_'. In this case, the first separator of this kind is selected. -replace_version_separator() { - eshopts_push -s extglob - local w c v="${3:-${PV}}" - declare -i i found=0 - w=${1:-1} - c=($(get_all_version_components ${v})) - if [[ ${w} != *[[:digit:]]* ]] ; then - # it's a character, not an index - for ((i = 0; i < ${#c[@]}; i++)); do - if [[ ${c[i]} == ${w} ]]; then - c[i]=${2} - break - fi - done - else - for ((i = 0; i < ${#c[@]}; i++)); do - if [[ -n "${c[i]//[^-._]}" ]]; then - found+=1 - if ((found == w)); then - c[i]=${2} - break - fi - fi - done - fi - c=${c[*]} - echo ${c// } - eshopts_pop -} - -# @FUNCTION: replace_all_version_separators -# @USAGE: [subject] -# @DESCRIPTION: -# Replace all version separators in $2 (defaults to $PV) with $1. -# '_' 1b.2.3 -> 1b_2_3 -replace_all_version_separators() { - local c=($(get_all_version_components "${2:-${PV}}")) - c=${c[@]//[-._]/$1} - echo ${c// } -} - -# @FUNCTION: delete_version_separator -# @USAGE: [subject] -# @DESCRIPTION: -# Delete the $1th separator in $2 (defaults to $PV if $2 is not supplied). If -# there are fewer than $1 separators, don't change anything. -# 1 1.2.3 -> 12.3 -# 2 1.2.3 -> 1.23 -# 1 1b-2.3 -> 1b2.3 -# Rather than being a number, $1 can be a separator character such as '-', '.' -# or '_'. In this case, the first separator of this kind is deleted. -delete_version_separator() { - replace_version_separator "${1}" "" "${2}" -} - -# @FUNCTION: delete_all_version_separators -# @USAGE: [subject] -# @DESCRIPTION: -# Delete all version separators in $1 (defaults to $PV). -# 1b.2.3 -> 1b23 -delete_all_version_separators() { - replace_all_version_separators "" "${1}" -} - -# @FUNCTION: get_version_component_count -# @USAGE: [version] -# @DESCRIPTION: -# How many version components are there in $1 (defaults to $PV)? -# 1.0.1 -> 3 -# 3.0c-r1 -> 4 -get_version_component_count() { - local a=($(get_version_components "${1:-${PV}}")) - echo ${#a[@]} -} - -# @FUNCTION: get_last_version_component_index -# @USAGE: [version] -# @DESCRIPTION: -# What is the index of the last version component in $1 (defaults to $PV)? -# Equivalent to get_version_component_count - 1. -# 1.0.1 -> 2 -# 3.0c-r1 -> 3 -get_last_version_component_index() { - echo $(($(get_version_component_count "${1:-${PV}}" ) - 1)) -} - -# @FUNCTION: version_is_at_least -# @USAGE: [have] -# @DESCRIPTION: -# Is $2 (defaults to $PVR) at least version $1? Intended for use in eclasses -# only. May not be reliable, be sure to do very careful testing before actually -# using this. -version_is_at_least() { - local want_s="$1" have_s="${2:-${PVR}}" r - version_compare "${want_s}" "${have_s}" - r=$? - case $r in - 1|2) - return 0 - ;; - 3) - return 1 - ;; - *) - die "versionator compare bug [atleast, ${want_s}, ${have_s}, ${r}]" - ;; - esac -} - -# @FUNCTION: version_compare -# @USAGE: -# @DESCRIPTION: -# Takes two parameters (A, B) which are versions. If A is an earlier version -# than B, returns 1. If A is identical to B, return 2. If A is later than B, -# return 3. You probably want version_is_at_least rather than this function. -# May not be very reliable. Test carefully before using this. -version_compare() { - eshopts_push -s extglob - local ver_a=${1} ver_b=${2} parts_a parts_b - local cur_tok_a cur_tok_b num_part_a num_part_b - local -i cur_idx_a=0 cur_idx_b=0 prev_idx_a prev_idx_b - parts_a=( $(get_all_version_components "${ver_a}" ) ) - parts_b=( $(get_all_version_components "${ver_b}" ) ) - - ### compare number parts. - local -i inf_loop=0 - while true; do - inf_loop+=1 - ((inf_loop > 20)) && \ - die "versionator compare bug [numbers, ${ver_a}, ${ver_b}]" - - # Store the current index to test later - prev_idx_a=cur_idx_a - prev_idx_b=cur_idx_b - - # grab the current number components - cur_tok_a=${parts_a[cur_idx_a]} - cur_tok_b=${parts_b[cur_idx_b]} - - # number? - if [[ -n ${cur_tok_a} ]] && [[ -z ${cur_tok_a//[[:digit:]]} ]] ; then - cur_idx_a+=1 - [[ ${parts_a[cur_idx_a]} == . ]] \ - && cur_idx_a+=1 - else - cur_tok_a= - fi - - if [[ -n ${cur_tok_b} ]] && [[ -z ${cur_tok_b//[[:digit:]]} ]] ; then - cur_idx_b+=1 - [[ ${parts_b[cur_idx_b]} == . ]] \ - && cur_idx_b+=1 - else - cur_tok_b= - fi - - # done with number components? - [[ -z ${cur_tok_a} && -z ${cur_tok_b} ]] && break - - # if a component is blank, then it is the lesser value - [[ -z ${cur_tok_a} ]] && eshopts_pop && return 1 - [[ -z ${cur_tok_b} ]] && eshopts_pop && return 3 - - # According to PMS, if we are *not* in the first number part, and either - # token begins with "0", then we use a different algorithm (that - # effectively does floating point comparison) - if (( prev_idx_a != 0 && prev_idx_b != 0 )) \ - && [[ ${cur_tok_a} == 0* || ${cur_tok_b} == 0* ]] ; then - - # strip trailing zeros - cur_tok_a=${cur_tok_a%%+(0)} - cur_tok_b=${cur_tok_b%%+(0)} - - # do a *string* comparison of the resulting values: 2 > 11 - [[ ${cur_tok_a} < ${cur_tok_b} ]] && eshopts_pop && return 1 - [[ ${cur_tok_a} > ${cur_tok_b} ]] && eshopts_pop && return 3 - else - # to avoid going into octal mode, strip any leading zeros. otherwise - # bash will throw a hissy fit on versions like 6.3.068. - cur_tok_a=${cur_tok_a##+(0)} - cur_tok_b=${cur_tok_b##+(0)} - - # now if a component is blank, it was originally 0 -- make it so - : ${cur_tok_a:=0} - : ${cur_tok_b:=0} - - # compare - ((cur_tok_a < cur_tok_b)) && eshopts_pop && return 1 - ((cur_tok_a > cur_tok_b)) && eshopts_pop && return 3 - fi - done - - ### number parts equal. compare letter parts. - local letter_a= - letter_a=${parts_a[cur_idx_a]} - if [[ ${#letter_a} -eq 1 && -z ${letter_a/[a-z]} ]] ; then - cur_idx_a+=1 - else - letter_a=@ - fi - - local letter_b= - letter_b=${parts_b[cur_idx_b]} - if [[ ${#letter_b} -eq 1 && -z ${letter_b/[a-z]} ]] ; then - cur_idx_b+=1 - else - letter_b=@ - fi - - # compare - [[ ${letter_a} < ${letter_b} ]] && eshopts_pop && return 1 - [[ ${letter_a} > ${letter_b} ]] && eshopts_pop && return 3 - - ### letter parts equal. compare suffixes in order. - inf_loop=0 - while true ; do - inf_loop+=1 - ((inf_loop > 20)) && \ - die "versionator compare bug [numbers, ${ver_a}, ${ver_b}]" - [[ ${parts_a[cur_idx_a]} == _ ]] && ((cur_idx_a++)) - [[ ${parts_b[cur_idx_b]} == _ ]] && ((cur_idx_b++)) - - cur_tok_a=${parts_a[cur_idx_a]} - cur_tok_b=${parts_b[cur_idx_b]} - num_part_a=0 - num_part_b=0 - - if has ${cur_tok_a%%+([0-9])} "alpha" "beta" "pre" "rc" "p"; then - cur_idx_a+=1 - num_part_a=${cur_tok_a##+([a-z])} - # I don't like octal - num_part_a=${num_part_a##+(0)} - : ${num_part_a:=0} - cur_tok_a=${cur_tok_a%%+([0-9])} - else - cur_tok_a= - fi - - if has ${cur_tok_b%%+([0-9])} alpha beta pre rc p; then - cur_idx_b+=1 - num_part_b=${cur_tok_b##+([a-z])} - # I still don't like octal - num_part_b=${num_part_b##+(0)} - : ${num_part_b:=0} - cur_tok_b=${cur_tok_b%%+([0-9])} - else - cur_tok_b= - fi - - if [[ ${cur_tok_a} != ${cur_tok_b} ]]; then - local suffix - for suffix in alpha beta pre rc "" p; do - [[ ${cur_tok_a} == ${suffix} ]] && eshopts_pop && return 1 - [[ ${cur_tok_b} == ${suffix} ]] && eshopts_pop && return 3 - done - elif [[ -z ${cur_tok_a} && -z ${cur_tok_b} ]]; then - break - else - ((num_part_a < num_part_b)) && eshopts_pop && return 1 - ((num_part_a > num_part_b)) && eshopts_pop && return 3 - fi - done - - # At this point, the only thing that should be left is the -r# part - [[ ${parts_a[cur_idx_a]} == - ]] && ((cur_idx_a++)) - [[ ${parts_b[cur_idx_b]} == - ]] && ((cur_idx_b++)) - - # Sanity check - if [[ ${parts_a[cur_idx_a]/r+([0-9])} || ${parts_b[cur_idx_b]/r+([0-9])} ]]; then - die "versionator compare bug [revisions, ${ver_a}, ${ver_b}]" - fi - - num_part_a=${parts_a[cur_idx_a]#r} - num_part_a=${num_part_a##+(0)} - : ${num_part_a:=0} - num_part_b=${parts_b[cur_idx_b]#r} - num_part_b=${num_part_b##+(0)} - : ${num_part_b:=0} - - ((num_part_a < num_part_b)) && eshopts_pop && return 1 - ((num_part_a > num_part_b)) && eshopts_pop && return 3 - - ### no differences. - eshopts_pop - return 2 -} - -# @FUNCTION: version_sort -# @USAGE: [more versions...] -# @DESCRIPTION: -# Returns its parameters sorted, highest version last. We're using a quadratic -# algorithm for simplicity, so don't call it with more than a few dozen items. -# Uses version_compare, so be careful. -version_sort() { - eshopts_push -s extglob - local items= - local -i left=0 - items=("$@") - while ((left < ${#items[@]})); do - local -i lowest_idx=left - local -i idx=lowest_idx+1 - while ((idx < ${#items[@]})); do - version_compare "${items[lowest_idx]}" "${items[idx]}" - [[ $? -eq 3 ]] && lowest_idx=idx - idx+=1 - done - local tmp=${items[lowest_idx]} - items[lowest_idx]=${items[left]} - items[left]=${tmp} - left+=1 - done - echo ${items[@]} - eshopts_pop -} - -# @FUNCTION: version_format_string -# @USAGE: [version] -# @DESCRIPTION: -# Reformat complicated version strings. The first argument is the string -# to reformat with while the rest of the args are passed on to the -# get_version_components function. You should make sure to single quote -# the first argument since it'll have variables that get delayed expansions. -# @EXAMPLE: -# P="cow-hat-1.2.3_p4" -# MY_P=$(version_format_string '${PN}_source_$1_$2-$3_$4') -# Now MY_P will be: cow-hat_source_1_2-3_p4 -version_format_string() { - local fstr=$1 - shift - set -- $(get_version_components "$@") - eval echo "${fstr}" -} - -fi diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind-tools/bind-tools-9.16.48.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/bind-tools/bind-tools-9.16.48.ebuild deleted file mode 100644 index 211061187c9..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-dns/bind-tools/bind-tools-9.16.48.ebuild +++ /dev/null @@ -1,170 +0,0 @@ -# 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/isc.asc -inherit autotools flag-o-matic multiprocessing toolchain-funcs verify-sig - -MY_PN=${PN//-tools} -MY_PV=${PV/_p/-P} -MY_PV=${MY_PV/_rc/rc} -MY_P="${MY_PN}-${MY_PV}" - -DESCRIPTION="bind tools: dig, nslookup, host, nsupdate, dnssec-keygen" -HOMEPAGE="https://www.isc.org/software/bind https://gitlab.isc.org/isc-projects/bind9" -SRC_URI=" - https://downloads.isc.org/isc/bind9/${PV}/${MY_P}.tar.xz - verify-sig? ( https://downloads.isc.org/isc/bind9/${PV}/${MY_P}.tar.xz.asc ) -" -S="${WORKDIR}/${MY_P}" - -LICENSE="Apache-2.0 BSD BSD-2 GPL-2 HPND ISC MPL-2.0" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="+caps doc gssapi idn libedit readline test xml" -# no PKCS11 currently as it requires OpenSSL to be patched, also see bug #409687 -RESTRICT="!test? ( test )" - -# libuv lower bound should be the highest value seen at -# https://gitlab.isc.org/isc-projects/bind9/-/blob/bind-9.16/lib/isc/netmgr/netmgr.c?ref_type=heads#L244 -# to avoid issues with matching stable/testing, etc -RDEPEND=" - >=dev-libs/libuv-1.42.0:= - dev-libs/openssl:= - caps? ( sys-libs/libcap ) - xml? ( dev-libs/libxml2 ) - idn? ( net-dns/libidn2:= ) - gssapi? ( virtual/krb5 ) - libedit? ( dev-libs/libedit ) - !libedit? ( - readline? ( sys-libs/readline:= ) - ) -" -DEPEND="${RDEPEND}" -# sphinx required for man-page and html creation -BDEPEND=" - virtual/pkgconfig - doc? ( dev-python/sphinx ) - test? ( - dev-util/cmocka - dev-util/kyua - ) - verify-sig? ( sec-keys/openpgp-keys-isc ) -" - -src_prepare() { - default - - # Do not disable thread local storage on Solaris, it works with our - # toolchain, and it breaks further configure checks - sed -i -e '/LDFLAGS=/s/-zrelax=transtls//' configure.ac configure || die - - # Slow tests - sed -i "s/{name='mem_test'}/{name='mem_test',timeout=900}/" "lib/isc/tests/Kyuafile" || die - sed -i "s/{name='timer_test'}/{name='timer_test',timeout=900}/" "lib/isc/tests/Kyuafile" || die - - # Conditionally broken - use sparc && ( sed -i "/{name='netmgr_test'}/d" "lib/isc/tests/Kyuafile" || die ) - - # bug #220361 - rm aclocal.m4 || die - rm -rf libtool.m4/ || die - - eautoreconf -} - -src_configure() { - local myeconfargs=( - # localstatedir for nsupdate -l, bug #395785 - --localstatedir="${EPREFIX}"/var - --without-python - --without-libjson - --without-zlib - --without-lmdb - --without-maxminddb - --disable-geoip - --with-openssl="${ESYSROOT}"/usr - $(use_with idn libidn2 "${ESYSROOT}"/usr) - $(use_with xml libxml2) - $(use_with gssapi) - $(use_with readline) - $(use_enable caps linux-caps) - AR="$(type -P $(tc-getAR))" - ) - - # bug #607400 - if use libedit ; then - myeconfargs+=( --with-readline=-ledit ) - elif use readline ; then - myeconfargs+=( --with-readline=-lreadline ) - else - myeconfargs+=( --without-readline ) - fi - - # bug #344029 - append-cflags "-DDIG_SIGCHASE" - - append-ldflags "-L${ESYSROOT}/usr/$(get_libdir)" - - # to expose CMSG_* macros from sys/sockets.h - [[ ${CHOST} == *-solaris* ]] && append-cflags "-D_XOPEN_SOURCE=600" - - tc-export BUILD_CC - econf "${myeconfargs[@]}" - - # bug #151839 - echo '#undef SO_BSDCOMPAT' >> config.h || die -} - -src_compile() { - local AR="$(tc-getAR)" - - emake AR="${AR}" -C lib/ - emake AR="${AR}" -C bin/delv/ - emake AR="${AR}" -C bin/dig/ - emake AR="${AR}" -C bin/nsupdate/ - emake AR="${AR}" -C bin/dnssec/ - emake -C doc/man/ man $(usev doc) -} - -src_test() { - # system tests ('emake test') require network configuration for IPs etc - # so we run the unit tests instead. - TEST_PARALLEL_JOBS="$(makeopts_jobs)" emake -Onone unit -} - -src_install() { - local man_dir="${S}/doc/man" - local html_dir="${man_dir}/_build/html" - - dodoc README CHANGES - - cd "${S}"/bin/delv || die - dobin delv - doman ${man_dir}/delv.1 - - cd "${S}"/bin/dig || die - dobin dig host nslookup - doman ${man_dir}/{dig,host,nslookup}.1 - - cd "${S}"/bin/nsupdate || die - dobin nsupdate - doman ${man_dir}/nsupdate.1 - if use doc; then - docinto html - dodoc ${html_dir}/nsupdate.html - fi - - cd "${S}"/bin/dnssec || die - local tool - for tool in dsfromkey importkey keyfromlabel keygen \ - revoke settime signzone verify; do - dobin dnssec-"${tool}" - doman ${man_dir}/dnssec-"${tool}".8 - if use doc; then - docinto html - dodoc ${html_dir}/dnssec-"${tool}".html - fi - done -} diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind-tools/bind-tools-9.16.50.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/bind-tools/bind-tools-9.16.50.ebuild deleted file mode 100644 index 122defbfea9..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-dns/bind-tools/bind-tools-9.16.50.ebuild +++ /dev/null @@ -1,170 +0,0 @@ -# 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/isc.asc -inherit autotools flag-o-matic multiprocessing toolchain-funcs verify-sig - -MY_PN=${PN//-tools} -MY_PV=${PV/_p/-P} -MY_PV=${MY_PV/_rc/rc} -MY_P="${MY_PN}-${MY_PV}" - -DESCRIPTION="bind tools: dig, nslookup, host, nsupdate, dnssec-keygen" -HOMEPAGE="https://www.isc.org/software/bind https://gitlab.isc.org/isc-projects/bind9" -SRC_URI=" - https://downloads.isc.org/isc/bind9/${PV}/${MY_P}.tar.xz - verify-sig? ( https://downloads.isc.org/isc/bind9/${PV}/${MY_P}.tar.xz.asc ) -" -S="${WORKDIR}/${MY_P}" - -LICENSE="Apache-2.0 BSD BSD-2 GPL-2 HPND ISC MPL-2.0" -SLOT="0" -KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="+caps doc gssapi idn libedit readline test xml" -# no PKCS11 currently as it requires OpenSSL to be patched, also see bug #409687 -RESTRICT="!test? ( test )" - -# libuv lower bound should be the highest value seen at -# https://gitlab.isc.org/isc-projects/bind9/-/blob/bind-9.16/lib/isc/netmgr/netmgr.c?ref_type=heads#L244 -# to avoid issues with matching stable/testing, etc -RDEPEND=" - >=dev-libs/libuv-1.42.0:= - dev-libs/openssl:= - caps? ( sys-libs/libcap ) - xml? ( dev-libs/libxml2 ) - idn? ( net-dns/libidn2:= ) - gssapi? ( virtual/krb5 ) - libedit? ( dev-libs/libedit ) - !libedit? ( - readline? ( sys-libs/readline:= ) - ) -" -DEPEND="${RDEPEND}" -# sphinx required for man-page and html creation -BDEPEND=" - virtual/pkgconfig - doc? ( dev-python/sphinx ) - test? ( - dev-util/cmocka - dev-util/kyua - ) - verify-sig? ( sec-keys/openpgp-keys-isc ) -" - -src_prepare() { - default - - # Do not disable thread local storage on Solaris, it works with our - # toolchain, and it breaks further configure checks - sed -i -e '/LDFLAGS=/s/-zrelax=transtls//' configure.ac configure || die - - # Slow tests - sed -i "s/{name='mem_test'}/{name='mem_test',timeout=900}/" "lib/isc/tests/Kyuafile" || die - sed -i "s/{name='timer_test'}/{name='timer_test',timeout=900}/" "lib/isc/tests/Kyuafile" || die - - # Conditionally broken - use sparc && ( sed -i "/{name='netmgr_test'}/d" "lib/isc/tests/Kyuafile" || die ) - - # bug #220361 - rm aclocal.m4 || die - rm -rf libtool.m4/ || die - - eautoreconf -} - -src_configure() { - local myeconfargs=( - # localstatedir for nsupdate -l, bug #395785 - --localstatedir="${EPREFIX}"/var - --without-python - --without-libjson - --without-zlib - --without-lmdb - --without-maxminddb - --disable-geoip - --with-openssl="${ESYSROOT}"/usr - $(use_with idn libidn2 "${ESYSROOT}"/usr) - $(use_with xml libxml2) - $(use_with gssapi) - $(use_with readline) - $(use_enable caps linux-caps) - AR="$(type -P $(tc-getAR))" - ) - - # bug #607400 - if use libedit ; then - myeconfargs+=( --with-readline=-ledit ) - elif use readline ; then - myeconfargs+=( --with-readline=-lreadline ) - else - myeconfargs+=( --without-readline ) - fi - - # bug #344029 - append-cflags "-DDIG_SIGCHASE" - - append-ldflags "-L${ESYSROOT}/usr/$(get_libdir)" - - # to expose CMSG_* macros from sys/sockets.h - [[ ${CHOST} == *-solaris* ]] && append-cflags "-D_XOPEN_SOURCE=600" - - tc-export BUILD_CC - econf "${myeconfargs[@]}" - - # bug #151839 - echo '#undef SO_BSDCOMPAT' >> config.h || die -} - -src_compile() { - local AR="$(tc-getAR)" - - emake AR="${AR}" -C lib/ - emake AR="${AR}" -C bin/delv/ - emake AR="${AR}" -C bin/dig/ - emake AR="${AR}" -C bin/nsupdate/ - emake AR="${AR}" -C bin/dnssec/ - emake -C doc/man/ man $(usev doc) -} - -src_test() { - # system tests ('emake test') require network configuration for IPs etc - # so we run the unit tests instead. - TEST_PARALLEL_JOBS="$(makeopts_jobs)" emake -Onone unit -} - -src_install() { - local man_dir="${S}/doc/man" - local html_dir="${man_dir}/_build/html" - - dodoc README CHANGES - - cd "${S}"/bin/delv || die - dobin delv - doman ${man_dir}/delv.1 - - cd "${S}"/bin/dig || die - dobin dig host nslookup - doman ${man_dir}/{dig,host,nslookup}.1 - - cd "${S}"/bin/nsupdate || die - dobin nsupdate - doman ${man_dir}/nsupdate.1 - if use doc; then - docinto html - dodoc ${html_dir}/nsupdate.html - fi - - cd "${S}"/bin/dnssec || die - local tool - for tool in dsfromkey importkey keyfromlabel keygen \ - revoke settime signzone verify; do - dobin dnssec-"${tool}" - doman ${man_dir}/dnssec-"${tool}".8 - if use doc; then - docinto html - dodoc ${html_dir}/dnssec-"${tool}".html - fi - done -} diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind-tools/bind-tools-9.18.0.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/bind-tools/bind-tools-9.18.0.ebuild deleted file mode 100644 index d9d59421542..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-dns/bind-tools/bind-tools-9.18.0.ebuild +++ /dev/null @@ -1,14 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DESCRIPTION="bind tools: dig, nslookup, host, nsupdate, dnssec-keygen" -HOMEPAGE="https://www.isc.org/software/bind https://gitlab.isc.org/isc-projects/bind9" - -LICENSE="Apache-2.0 BSD BSD-2 GPL-2 HPND ISC MPL-2.0" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="+caps doc gssapi idn libedit readline xml" - -RDEPEND=">=net-dns/bind-9.18.0[caps?,doc?,gssapi?,idn?,xml?]" diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind-tools/Manifest b/sdk_container/src/third_party/portage-stable/net-dns/bind/Manifest similarity index 57% rename from sdk_container/src/third_party/portage-stable/net-dns/bind-tools/Manifest rename to sdk_container/src/third_party/portage-stable/net-dns/bind/Manifest index 10de77f9f9a..2a2ee793501 100644 --- a/sdk_container/src/third_party/portage-stable/net-dns/bind-tools/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/Manifest @@ -2,3 +2,6 @@ DIST bind-9.16.48.tar.xz 5131176 BLAKE2B 4a503b45df412c435cb0f75b54ee1270140cccc DIST bind-9.16.48.tar.xz.asc 833 BLAKE2B 740ed58863ed3a7dee6ada4edd03cad5378ea0aa53cd6f071ca1911bb2d6b285ed292f32846790d42b97e8d9bb72588f1cd30c4e10557ac1e9f1df545923a9b1 SHA512 7bd813b5ab6f9677fc4ef21e0c3930f6319fa6c49d6869570794bc28212fe8935b72f9f217cfce692a2dec9ec29994f345d1b1145cef1ca976c5361f6ce0f75d DIST bind-9.16.50.tar.xz 5134620 BLAKE2B 0464d1e246d0a5c39e20faf733b7f4ee21d192cc0ccce5bba2a22ae4303c82005ccfb319fe2da51872c7258852a747984d7327c70dec08414ab2d194c412199b SHA512 7627e0606ac389343046fa9d1ca789ed732b3c8d99e83ba6f59593f816cebc0b2ebd319c2812ac1f604c68f5115bbc281d432036c0d31bbe489ee2d678374213 DIST bind-9.16.50.tar.xz.asc 833 BLAKE2B 7eabf67b96d1fc94ec096adf1b4d075c370b603b7225522fe5b97d04c519f68f017fe0ccaf7ddeff029d17c0b4c3932a09f009376553f987671ba21f6b9cdb7d SHA512 0650ad5d55da2d9fe848d68aa59b16998b781152209ebcaabaea68144dab75ff9f4cfcceaa87a6b6da4f2f98fcf6f9eddd16d19ddf958fef242d93da03516dbc +DIST bind-9.18.29.tar.xz 5562720 BLAKE2B f3e7de6936362bcce4993e401ed8fdd9d597459e82ad908a918fff1da619f91ef4896595ea210b43f2b492d763d7be2b71105495858da55431b60874c7fd2312 SHA512 6c2676e2e2cb90f3bd73afb367813c54d1c961e12df1e12e41b9d0ee5a1d5cdf368d81410469753eaef37e43358b56796f078f3b2f20c3b247c4bef91d56c716 +DIST bind-9.18.31.tar.xz 5385812 BLAKE2B e069ab3caab887a87220b54804e5b19a4c21b8d3e4e8f1bc6a7135b3990a228d6c48b1ca4a22c75242485275eff1de145a9aff89addf81124e7dfcafd8ab30cf SHA512 e51873484be3ee367eb1e601b8e0adc45abcdb16df04021ea42ffcc51b99821f8b30f67b2a693a90ad3efa51698a651c8da9d7947ee8fa19680f627afe1f7034 +DIST dyndns-samples.tbz2 22866 BLAKE2B 409890653c6536cb9c0e3ba809d2bfde0e0ae73a2a101b4f229b46c01568466bc022bbbc37712171adbd08c572733e93630feab95a0fcd1ac50a7d37da1d1108 SHA512 83b0bf99f8e9ff709e8e9336d8c5231b98a4b5f0c60c10792f34931e32cc638d261967dfa5a83151ec3740977d94ddd6e21e9ce91267b3e279b88affdbc18cac diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.16.48.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.16.48.ebuild new file mode 100644 index 00000000000..ecea29f9b86 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.16.48.ebuild @@ -0,0 +1,398 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Re dlz/mysql and threads, needs to be verified.. +# MySQL uses thread local storage in its C api. Thus MySQL +# requires that each thread of an application execute a MySQL +# thread initialization to setup the thread local storage. +# This is impossible to do safely while staying within the DLZ +# driver API. This is a limitation caused by MySQL, and not the DLZ API. +# Because of this BIND MUST only run with a single thread when +# using the MySQL driver. + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/isc.asc +inherit python-r1 autotools multiprocessing toolchain-funcs flag-o-matic db-use systemd tmpfiles verify-sig + +MY_PV="${PV/_p/-P}" +MY_PV="${MY_PV/_rc/rc}" +MY_P="${PN}-${MY_PV}" + +SDB_LDAP_VER="1.1.0-fc14" + +RRL_PV="${MY_PV}" + +# SDB-LDAP: http://bind9-ldap.bayour.com/ + +DESCRIPTION="Berkeley Internet Name Domain - Name Server" +HOMEPAGE="https://www.isc.org/software/bind https://gitlab.isc.org/isc-projects/bind9" +SRC_URI=" + https://downloads.isc.org/isc/bind9/${PV}/${P}.tar.xz + doc? ( mirror://gentoo/dyndns-samples.tbz2 ) + verify-sig? ( https://downloads.isc.org/isc/bind9/${PV}/${P}.tar.xz.asc ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="Apache-2.0 BSD BSD-2 GPL-2 HPND ISC MPL-2.0" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" +# -berkdb by default re bug #602682 +IUSE="berkdb +caps +dlz dnstap doc dnsrps fixed-rrset geoip geoip2 gssapi" +IUSE+=" json ldap lmdb mysql odbc postgres python selinux static-libs test xml +zlib" +# sdb-ldap - patch broken +# no PKCS11 currently as it requires OpenSSL to be patched, also see bug #409687 +RESTRICT="!test? ( test )" + +# Upstream dropped the old geoip library, but the BIND configuration for using +# GeoIP remained the same. +REQUIRED_USE=" + postgres? ( dlz ) + berkdb? ( dlz ) + mysql? ( dlz ) + odbc? ( dlz ) + ldap? ( dlz ) + dnsrps? ( dlz ) + python? ( ${PYTHON_REQUIRED_USE} ) +" + +DEPEND=" + acct-group/named + acct-user/named + dev-libs/libuv:= + berkdb? ( sys-libs/db:= ) + dev-libs/openssl:=[-bindist(-)] + mysql? ( dev-db/mysql-connector-c:0= ) + odbc? ( >=dev-db/unixODBC-2.2.6 ) + ldap? ( net-nds/openldap:= ) + postgres? ( dev-db/postgresql:= ) + caps? ( >=sys-libs/libcap-2.1.0 ) + xml? ( dev-libs/libxml2 ) + geoip? ( dev-libs/libmaxminddb:= ) + geoip2? ( dev-libs/libmaxminddb:= ) + gssapi? ( virtual/krb5 ) + json? ( dev-libs/json-c:= ) + lmdb? ( dev-db/lmdb:= ) + zlib? ( sys-libs/zlib ) + dnstap? ( dev-libs/fstrm dev-libs/protobuf-c:= ) + python? ( + ${PYTHON_DEPS} + dev-python/ply[${PYTHON_USEDEP}] + ) +" +RDEPEND=" + ${DEPEND} + sys-process/psmisc + selinux? ( sec-policy/selinux-bind ) +" +BDEPEND=" + test? ( + dev-util/cmocka + dev-util/kyua + ) + verify-sig? ( sec-keys/openpgp-keys-isc ) +" + +PATCHES=( + "${FILESDIR}/ldap-library-path-on-multilib-machines.patch" +) + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + default + + # Should be installed by bind-tools + sed -i -r -e "s:(nsupdate|dig|delv) ::g" bin/Makefile.in || die + + # Slow tests + sed -i "s/{name='mem_test'}/{name='mem_test',timeout=900}/" "lib/isc/tests/Kyuafile" || die + sed -i "s/{name='timer_test'}/{name='timer_test',timeout=900}/" "lib/isc/tests/Kyuafile" || die + + # Conditionally broken + use sparc && ( sed -i "/{name='netmgr_test'}/d" "lib/isc/tests/Kyuafile" || die ) + + # bug #220361 + rm aclocal.m4 || die + rm -rf libtool.m4/ || die + eautoreconf + + use python && python_copy_sources +} + +src_configure() { + bind_configure --without-python + use python && python_foreach_impl python_configure +} + +bind_configure() { + local myeconfargs=( + AR="$(type -P $(tc-getAR))" + --prefix="${EPREFIX}"/usr + --sysconfdir=/etc/bind + --localstatedir=/var + --with-libtool + --enable-full-report + --without-readline + --with-openssl="${ESYSROOT}"/usr + $(use_with test cmocka) + # Removed in 9.17, drags in libunwind dependency too + --disable-backtrace + $(use_enable caps linux-caps) + $(use_enable dnsrps) + $(use_enable dnstap) + $(use_enable fixed-rrset) + $(use_with berkdb dlz-bdb "${ESYSROOT}"/usr) + $(use_with dlz dlopen) + $(use_with dlz dlz-filesystem) + $(use_with dlz dlz-stub) + $(use_with gssapi) + $(use_with json json-c) + $(use_with ldap dlz-ldap) + $(use_with mysql dlz-mysql) + $(use_with odbc dlz-odbc) + $(use_with postgres dlz-postgres) + $(use_with lmdb) + $(use_with xml libxml2) + $(use_with zlib) + "${@}" + ) + + # This is for users to start to migrate back to USE=geoip, rather than + # USE=geoip2 + if use geoip ; then + myeconfargs+=( $(use_with geoip maxminddb) --enable-geoip ) + elif use geoip2 ; then + # Added 2020/09/30 + # Remove USE=geoip2 support after 2020/03/01 + ewarn "USE=geoip2 is deprecated; update your USE flags!" + myeconfargs+=( $(use_with geoip2 maxminddb) --enable-geoip ) + else + myeconfargs+=( --without-maxminddb --disable-geoip ) + fi + + # bug #158664 + #gcc-specs-ssp && replace-flags -O[23s] -O + + # To include db.h from proper path + use berkdb && append-flags "-I$(db_includedir)" + + export BUILD_CC=$(tc-getBUILD_CC) + econf "${myeconfargs[@]}" + + # bug #151839 + echo '#undef SO_BSDCOMPAT' >> config.h || die +} + +python_configure() { + pushd "${BUILD_DIR}" >/dev/null || die + bind_configure --with-python + popd >/dev/null || die +} + +src_compile() { + default + use python && python_foreach_impl python_compile +} + +python_compile() { + emake -C "${BUILD_DIR}"/bin/python +} + +src_test() { + # system tests ('emake test') require network configuration for IPs etc + # so we run the unit tests instead. + TEST_PARALLEL_JOBS="$(makeopts_jobs)" emake -Onone unit +} + +src_install() { + default + + dodoc CHANGES README + + if use doc; then + docinto misc + dodoc -r doc/misc/ + + # might a 'html' useflag make sense? + docinto html + dodoc -r doc/arm/ + + docinto contrib + dodoc contrib/scripts/{nanny.pl,named-bootconf.sh} + + # some handy-dandy dynamic dns examples + pushd "${ED}"/usr/share/doc/${PF} 1>/dev/null || die + tar xf "${DISTDIR}"/dyndns-samples.tbz2 || die + popd 1>/dev/null || die + fi + + insinto /etc/bind + newins "${FILESDIR}"/named.conf-r8 named.conf + + # ftp://ftp.rs.internic.net/domain/named.cache: + insinto /var/bind + newins "${FILESDIR}"/named.cache-r4 named.cache + + insinto /var/bind/pri + newins "${FILESDIR}"/localhost.zone-r3 localhost.zone + + newinitd "${FILESDIR}"/named.init-r14 named + newconfd "${FILESDIR}"/named.confd-r7 named + + newenvd "${FILESDIR}"/10bind.env 10bind + + # Let's get rid of those tools and their manpages since they're provided by bind-tools + rm -f "${ED}"/usr/share/man/man1/{dig,host,nslookup,delv,nsupdate}.1* || die + rm -f "${ED}"/usr/share/man/man8/nsupdate.8* || die + rm -f "${ED}"/usr/bin/{dig,host,nslookup,nsupdate} || die + rm -f "${ED}"/usr/sbin/{dig,host,nslookup,nsupdate} || die + for tool in dsfromkey importkey keyfromlabel keygen \ + revoke settime signzone verify; do + rm -f "${ED}"/usr/{,s}bin/dnssec-"${tool}" || die + rm -f "${ED}"/usr/share/man/man8/dnssec-"${tool}".8* || die + done + + # bug 405251, library archives aren't properly handled by --enable/disable-static + if ! use static-libs; then + find "${ED}" -type f -name '*.a' -delete || die + fi + + # bug 405251 + find "${ED}" -type f -name '*.la' -delete || die + + use python && python_foreach_impl python_install + + # bug 450406 + dosym named.cache /var/bind/root.cache + + dosym ../../var/bind/pri /etc/bind/pri + dosym ../../var/bind/sec /etc/bind/sec + dosym ../../var/bind/dyn /etc/bind/dyn + keepdir /var/bind/{pri,sec,dyn} /var/log/named + + fowners root:named /{etc,var}/bind /var/log/named /var/bind/{sec,pri,dyn} + fowners root:named /var/bind/named.cache /var/bind/pri/localhost.zone /etc/bind/{bind.keys,named.conf} + fperms 0640 /var/bind/named.cache /var/bind/pri/localhost.zone /etc/bind/{bind.keys,named.conf} + fperms 0750 /etc/bind /var/bind/pri + fperms 0770 /var/log/named /var/bind/{,sec,dyn} + + systemd_newunit "${FILESDIR}/named.service-r1" named.service + dotmpfiles "${FILESDIR}"/named.conf + exeinto /usr/libexec + doexe "${FILESDIR}/generate-rndc-key.sh" +} + +python_install() { + pushd "${BUILD_DIR}"/bin/python >/dev/null || die + emake DESTDIR="${D}" install + python_scriptinto /usr/sbin + python_doscript dnssec-{checkds,coverage} + python_optimize + popd >/dev/null || die +} + +pkg_postinst() { + tmpfiles_process named.conf + + if [[ ! -f '/etc/bind/rndc.key' && ! -f '/etc/bind/rndc.conf' ]]; then + einfo "Using /dev/urandom for generating rndc.key" + /usr/sbin/rndc-confgen -a + chown root:named /etc/bind/rndc.key || die + chmod 0640 /etc/bind/rndc.key || die + fi + + einfo + einfo "You can edit /etc/conf.d/named to customize named settings" + einfo + use mysql || use postgres || use ldap && { + elog "If your named depends on MySQL/PostgreSQL or LDAP," + elog "uncomment the specified rc_named_* lines in your" + elog "/etc/conf.d/named config to ensure they'll start before bind" + einfo + } + einfo "If you'd like to run bind in a chroot AND this is a new" + einfo "install OR your bind doesn't already run in a chroot:" + einfo "1) Uncomment and set the CHROOT variable in /etc/conf.d/named." + einfo "2) Run \`emerge --config '=${CATEGORY}/${PF}'\`" + einfo + + CHROOT=$(source /etc/conf.d/named 2>/dev/null; echo ${CHROOT}) + if [[ -n ${CHROOT} ]]; then + elog "NOTE: As of net-dns/bind-9.4.3_p5-r1 the chroot part of the init-script got some major changes!" + elog "To enable the old behaviour (without using mount) uncomment the" + elog "CHROOT_NOMOUNT option in your /etc/conf.d/named config." + elog "If you decide to use the new/default method, ensure to make backup" + elog "first and merge your existing configs/zones to /etc/bind and" + elog "/var/bind because bind will now mount the needed directories into" + elog "the chroot dir." + fi +} + +pkg_config() { + CHROOT=$(source /etc/conf.d/named; echo ${CHROOT}) + CHROOT_NOMOUNT=$(source /etc/conf.d/named; echo ${CHROOT_NOMOUNT}) + CHROOT_GEOIP=$(source /etc/conf.d/named; echo ${CHROOT_GEOIP}) + + if [[ -z "${CHROOT}" ]]; then + eerror "This config script is designed to automate setting up" + eerror "a chrooted bind/named. To do so, please first uncomment" + eerror "and set the CHROOT variable in '/etc/conf.d/named'." + die "Unset CHROOT" + fi + if [[ -d "${CHROOT}" ]]; then + ewarn "NOTE: As of net-dns/bind-9.4.3_p5-r1 the chroot part of the init-script got some major changes!" + ewarn "To enable the old behaviour (without using mount) uncomment the" + ewarn "CHROOT_NOMOUNT option in your /etc/conf.d/named config." + ewarn + ewarn "${CHROOT} already exists... some things might become overridden" + ewarn "press CTRL+C if you don't want to continue" + sleep 10 + fi + + echo; einfo "Setting up the chroot directory..." + + mkdir -m 0750 -p ${CHROOT} || die + mkdir -m 0755 -p ${CHROOT}/{dev,etc,var/log,run} || die + mkdir -m 0750 -p ${CHROOT}/etc/bind || die + mkdir -m 0770 -p ${CHROOT}/var/{bind,log/named} ${CHROOT}/run/named/ || die + + chown root:named \ + ${CHROOT} \ + ${CHROOT}/var/{bind,log/named} \ + ${CHROOT}/run/named/ \ + ${CHROOT}/etc/bind \ + || die + + mknod ${CHROOT}/dev/null c 1 3 || die + chmod 0666 ${CHROOT}/dev/null || die + + mknod ${CHROOT}/dev/zero c 1 5 || die + chmod 0666 ${CHROOT}/dev/zero || die + + mknod ${CHROOT}/dev/urandom c 1 9 || die + chmod 0666 ${CHROOT}/dev/urandom || die + + if [ "${CHROOT_NOMOUNT:-0}" -ne 0 ]; then + cp -a /etc/bind ${CHROOT}/etc/ || die + cp -a /var/bind ${CHROOT}/var/ || die + fi + + if [ "${CHROOT_GEOIP:-0}" -eq 1 ]; then + if use geoip; then + mkdir -m 0755 -p ${CHROOT}/usr/share/GeoIP || die + elif use geoip2; then + mkdir -m 0755 -p ${CHROOT}/usr/share/GeoIP2 || die + fi + fi + + elog "You may need to add the following line to your syslog-ng.conf:" + elog "source jail { unix-stream(\"${CHROOT}/dev/log\"); };" +} diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.16.50.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.16.50.ebuild new file mode 100644 index 00000000000..aba19425fc4 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.16.50.ebuild @@ -0,0 +1,398 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Re dlz/mysql and threads, needs to be verified.. +# MySQL uses thread local storage in its C api. Thus MySQL +# requires that each thread of an application execute a MySQL +# thread initialization to setup the thread local storage. +# This is impossible to do safely while staying within the DLZ +# driver API. This is a limitation caused by MySQL, and not the DLZ API. +# Because of this BIND MUST only run with a single thread when +# using the MySQL driver. + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/isc.asc +inherit python-r1 autotools multiprocessing toolchain-funcs flag-o-matic db-use systemd tmpfiles verify-sig + +MY_PV="${PV/_p/-P}" +MY_PV="${MY_PV/_rc/rc}" +MY_P="${PN}-${MY_PV}" + +SDB_LDAP_VER="1.1.0-fc14" + +RRL_PV="${MY_PV}" + +# SDB-LDAP: http://bind9-ldap.bayour.com/ + +DESCRIPTION="Berkeley Internet Name Domain - Name Server" +HOMEPAGE="https://www.isc.org/software/bind https://gitlab.isc.org/isc-projects/bind9" +SRC_URI=" + https://downloads.isc.org/isc/bind9/${PV}/${P}.tar.xz + doc? ( mirror://gentoo/dyndns-samples.tbz2 ) + verify-sig? ( https://downloads.isc.org/isc/bind9/${PV}/${P}.tar.xz.asc ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="Apache-2.0 BSD BSD-2 GPL-2 HPND ISC MPL-2.0" +SLOT="0" +KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~mips ~ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +# -berkdb by default re bug #602682 +IUSE="berkdb +caps +dlz dnstap doc dnsrps fixed-rrset geoip geoip2 gssapi" +IUSE+=" json ldap lmdb mysql odbc postgres python selinux static-libs test xml +zlib" +# sdb-ldap - patch broken +# no PKCS11 currently as it requires OpenSSL to be patched, also see bug #409687 +RESTRICT="!test? ( test )" + +# Upstream dropped the old geoip library, but the BIND configuration for using +# GeoIP remained the same. +REQUIRED_USE=" + postgres? ( dlz ) + berkdb? ( dlz ) + mysql? ( dlz ) + odbc? ( dlz ) + ldap? ( dlz ) + dnsrps? ( dlz ) + python? ( ${PYTHON_REQUIRED_USE} ) +" + +DEPEND=" + acct-group/named + acct-user/named + dev-libs/libuv:= + berkdb? ( sys-libs/db:= ) + dev-libs/openssl:=[-bindist(-)] + mysql? ( dev-db/mysql-connector-c:0= ) + odbc? ( >=dev-db/unixODBC-2.2.6 ) + ldap? ( net-nds/openldap:= ) + postgres? ( dev-db/postgresql:= ) + caps? ( >=sys-libs/libcap-2.1.0 ) + xml? ( dev-libs/libxml2 ) + geoip? ( dev-libs/libmaxminddb:= ) + geoip2? ( dev-libs/libmaxminddb:= ) + gssapi? ( virtual/krb5 ) + json? ( dev-libs/json-c:= ) + lmdb? ( dev-db/lmdb:= ) + zlib? ( sys-libs/zlib ) + dnstap? ( dev-libs/fstrm dev-libs/protobuf-c:= ) + python? ( + ${PYTHON_DEPS} + dev-python/ply[${PYTHON_USEDEP}] + ) +" +RDEPEND=" + ${DEPEND} + sys-process/psmisc + selinux? ( sec-policy/selinux-bind ) +" +BDEPEND=" + test? ( + dev-util/cmocka + dev-util/kyua + ) + verify-sig? ( sec-keys/openpgp-keys-isc ) +" + +PATCHES=( + "${FILESDIR}/ldap-library-path-on-multilib-machines.patch" +) + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + default + + # Should be installed by bind-tools + sed -i -r -e "s:(nsupdate|dig|delv) ::g" bin/Makefile.in || die + + # Slow tests + sed -i "s/{name='mem_test'}/{name='mem_test',timeout=900}/" "lib/isc/tests/Kyuafile" || die + sed -i "s/{name='timer_test'}/{name='timer_test',timeout=900}/" "lib/isc/tests/Kyuafile" || die + + # Conditionally broken + use sparc && ( sed -i "/{name='netmgr_test'}/d" "lib/isc/tests/Kyuafile" || die ) + + # bug #220361 + rm aclocal.m4 || die + rm -rf libtool.m4/ || die + eautoreconf + + use python && python_copy_sources +} + +src_configure() { + bind_configure --without-python + use python && python_foreach_impl python_configure +} + +bind_configure() { + local myeconfargs=( + AR="$(type -P $(tc-getAR))" + --prefix="${EPREFIX}"/usr + --sysconfdir=/etc/bind + --localstatedir=/var + --with-libtool + --enable-full-report + --without-readline + --with-openssl="${ESYSROOT}"/usr + $(use_with test cmocka) + # Removed in 9.17, drags in libunwind dependency too + --disable-backtrace + $(use_enable caps linux-caps) + $(use_enable dnsrps) + $(use_enable dnstap) + $(use_enable fixed-rrset) + $(use_with berkdb dlz-bdb "${ESYSROOT}"/usr) + $(use_with dlz dlopen) + $(use_with dlz dlz-filesystem) + $(use_with dlz dlz-stub) + $(use_with gssapi) + $(use_with json json-c) + $(use_with ldap dlz-ldap) + $(use_with mysql dlz-mysql) + $(use_with odbc dlz-odbc) + $(use_with postgres dlz-postgres) + $(use_with lmdb) + $(use_with xml libxml2) + $(use_with zlib) + "${@}" + ) + + # This is for users to start to migrate back to USE=geoip, rather than + # USE=geoip2 + if use geoip ; then + myeconfargs+=( $(use_with geoip maxminddb) --enable-geoip ) + elif use geoip2 ; then + # Added 2020/09/30 + # Remove USE=geoip2 support after 2020/03/01 + ewarn "USE=geoip2 is deprecated; update your USE flags!" + myeconfargs+=( $(use_with geoip2 maxminddb) --enable-geoip ) + else + myeconfargs+=( --without-maxminddb --disable-geoip ) + fi + + # bug #158664 + #gcc-specs-ssp && replace-flags -O[23s] -O + + # To include db.h from proper path + use berkdb && append-flags "-I$(db_includedir)" + + export BUILD_CC=$(tc-getBUILD_CC) + econf "${myeconfargs[@]}" + + # bug #151839 + echo '#undef SO_BSDCOMPAT' >> config.h || die +} + +python_configure() { + pushd "${BUILD_DIR}" >/dev/null || die + bind_configure --with-python + popd >/dev/null || die +} + +src_compile() { + default + use python && python_foreach_impl python_compile +} + +python_compile() { + emake -C "${BUILD_DIR}"/bin/python +} + +src_test() { + # system tests ('emake test') require network configuration for IPs etc + # so we run the unit tests instead. + TEST_PARALLEL_JOBS="$(makeopts_jobs)" emake -Onone unit +} + +src_install() { + default + + dodoc CHANGES README + + if use doc; then + docinto misc + dodoc -r doc/misc/ + + # might a 'html' useflag make sense? + docinto html + dodoc -r doc/arm/ + + docinto contrib + dodoc contrib/scripts/{nanny.pl,named-bootconf.sh} + + # some handy-dandy dynamic dns examples + pushd "${ED}"/usr/share/doc/${PF} 1>/dev/null || die + tar xf "${DISTDIR}"/dyndns-samples.tbz2 || die + popd 1>/dev/null || die + fi + + insinto /etc/bind + newins "${FILESDIR}"/named.conf-r8 named.conf + + # ftp://ftp.rs.internic.net/domain/named.cache: + insinto /var/bind + newins "${FILESDIR}"/named.cache-r4 named.cache + + insinto /var/bind/pri + newins "${FILESDIR}"/localhost.zone-r3 localhost.zone + + newinitd "${FILESDIR}"/named.init-r14 named + newconfd "${FILESDIR}"/named.confd-r7 named + + newenvd "${FILESDIR}"/10bind.env 10bind + + # Let's get rid of those tools and their manpages since they're provided by bind-tools + rm -f "${ED}"/usr/share/man/man1/{dig,host,nslookup,delv,nsupdate}.1* || die + rm -f "${ED}"/usr/share/man/man8/nsupdate.8* || die + rm -f "${ED}"/usr/bin/{dig,host,nslookup,nsupdate} || die + rm -f "${ED}"/usr/sbin/{dig,host,nslookup,nsupdate} || die + for tool in dsfromkey importkey keyfromlabel keygen \ + revoke settime signzone verify; do + rm -f "${ED}"/usr/{,s}bin/dnssec-"${tool}" || die + rm -f "${ED}"/usr/share/man/man8/dnssec-"${tool}".8* || die + done + + # bug 405251, library archives aren't properly handled by --enable/disable-static + if ! use static-libs; then + find "${ED}" -type f -name '*.a' -delete || die + fi + + # bug 405251 + find "${ED}" -type f -name '*.la' -delete || die + + use python && python_foreach_impl python_install + + # bug 450406 + dosym named.cache /var/bind/root.cache + + dosym ../../var/bind/pri /etc/bind/pri + dosym ../../var/bind/sec /etc/bind/sec + dosym ../../var/bind/dyn /etc/bind/dyn + keepdir /var/bind/{pri,sec,dyn} /var/log/named + + fowners root:named /{etc,var}/bind /var/log/named /var/bind/{sec,pri,dyn} + fowners root:named /var/bind/named.cache /var/bind/pri/localhost.zone /etc/bind/{bind.keys,named.conf} + fperms 0640 /var/bind/named.cache /var/bind/pri/localhost.zone /etc/bind/{bind.keys,named.conf} + fperms 0750 /etc/bind /var/bind/pri + fperms 0770 /var/log/named /var/bind/{,sec,dyn} + + systemd_newunit "${FILESDIR}/named.service-r1" named.service + dotmpfiles "${FILESDIR}"/named.conf + exeinto /usr/libexec + doexe "${FILESDIR}/generate-rndc-key.sh" +} + +python_install() { + pushd "${BUILD_DIR}"/bin/python >/dev/null || die + emake DESTDIR="${D}" install + python_scriptinto /usr/sbin + python_doscript dnssec-{checkds,coverage} + python_optimize + popd >/dev/null || die +} + +pkg_postinst() { + tmpfiles_process named.conf + + if [[ ! -f '/etc/bind/rndc.key' && ! -f '/etc/bind/rndc.conf' ]]; then + einfo "Using /dev/urandom for generating rndc.key" + /usr/sbin/rndc-confgen -a + chown root:named /etc/bind/rndc.key || die + chmod 0640 /etc/bind/rndc.key || die + fi + + einfo + einfo "You can edit /etc/conf.d/named to customize named settings" + einfo + use mysql || use postgres || use ldap && { + elog "If your named depends on MySQL/PostgreSQL or LDAP," + elog "uncomment the specified rc_named_* lines in your" + elog "/etc/conf.d/named config to ensure they'll start before bind" + einfo + } + einfo "If you'd like to run bind in a chroot AND this is a new" + einfo "install OR your bind doesn't already run in a chroot:" + einfo "1) Uncomment and set the CHROOT variable in /etc/conf.d/named." + einfo "2) Run \`emerge --config '=${CATEGORY}/${PF}'\`" + einfo + + CHROOT=$(source /etc/conf.d/named 2>/dev/null; echo ${CHROOT}) + if [[ -n ${CHROOT} ]]; then + elog "NOTE: As of net-dns/bind-9.4.3_p5-r1 the chroot part of the init-script got some major changes!" + elog "To enable the old behaviour (without using mount) uncomment the" + elog "CHROOT_NOMOUNT option in your /etc/conf.d/named config." + elog "If you decide to use the new/default method, ensure to make backup" + elog "first and merge your existing configs/zones to /etc/bind and" + elog "/var/bind because bind will now mount the needed directories into" + elog "the chroot dir." + fi +} + +pkg_config() { + CHROOT=$(source /etc/conf.d/named; echo ${CHROOT}) + CHROOT_NOMOUNT=$(source /etc/conf.d/named; echo ${CHROOT_NOMOUNT}) + CHROOT_GEOIP=$(source /etc/conf.d/named; echo ${CHROOT_GEOIP}) + + if [[ -z "${CHROOT}" ]]; then + eerror "This config script is designed to automate setting up" + eerror "a chrooted bind/named. To do so, please first uncomment" + eerror "and set the CHROOT variable in '/etc/conf.d/named'." + die "Unset CHROOT" + fi + if [[ -d "${CHROOT}" ]]; then + ewarn "NOTE: As of net-dns/bind-9.4.3_p5-r1 the chroot part of the init-script got some major changes!" + ewarn "To enable the old behaviour (without using mount) uncomment the" + ewarn "CHROOT_NOMOUNT option in your /etc/conf.d/named config." + ewarn + ewarn "${CHROOT} already exists... some things might become overridden" + ewarn "press CTRL+C if you don't want to continue" + sleep 10 + fi + + echo; einfo "Setting up the chroot directory..." + + mkdir -m 0750 -p ${CHROOT} || die + mkdir -m 0755 -p ${CHROOT}/{dev,etc,var/log,run} || die + mkdir -m 0750 -p ${CHROOT}/etc/bind || die + mkdir -m 0770 -p ${CHROOT}/var/{bind,log/named} ${CHROOT}/run/named/ || die + + chown root:named \ + ${CHROOT} \ + ${CHROOT}/var/{bind,log/named} \ + ${CHROOT}/run/named/ \ + ${CHROOT}/etc/bind \ + || die + + mknod ${CHROOT}/dev/null c 1 3 || die + chmod 0666 ${CHROOT}/dev/null || die + + mknod ${CHROOT}/dev/zero c 1 5 || die + chmod 0666 ${CHROOT}/dev/zero || die + + mknod ${CHROOT}/dev/urandom c 1 9 || die + chmod 0666 ${CHROOT}/dev/urandom || die + + if [ "${CHROOT_NOMOUNT:-0}" -ne 0 ]; then + cp -a /etc/bind ${CHROOT}/etc/ || die + cp -a /var/bind ${CHROOT}/var/ || die + fi + + if [ "${CHROOT_GEOIP:-0}" -eq 1 ]; then + if use geoip; then + mkdir -m 0755 -p ${CHROOT}/usr/share/GeoIP || die + elif use geoip2; then + mkdir -m 0755 -p ${CHROOT}/usr/share/GeoIP2 || die + fi + fi + + elog "You may need to add the following line to your syslog-ng.conf:" + elog "source jail { unix-stream(\"${CHROOT}/dev/log\"); };" +} diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.29-r2.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.29-r2.ebuild new file mode 100644 index 00000000000..61873bd17aa --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.29-r2.ebuild @@ -0,0 +1,275 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit systemd tmpfiles + +MY_PV="${PV/_p/-P}" +MY_PV="${MY_PV/_rc/rc}" + +DESCRIPTION="Berkeley Internet Name Domain - Name Server" +HOMEPAGE="https://www.isc.org/software/bind" +SRC_URI="https://downloads.isc.org/isc/bind9/${PV}/${P}.tar.xz" +S="${WORKDIR}/${PN}-${MY_PV}" + +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="+caps dnsrps dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux static-libs test xml" +RESTRICT="!test? ( test )" + +DEPEND=" + acct-group/named + acct-user/named + dev-libs/json-c:= + >=dev-libs/libuv-1.37.0:= + sys-libs/zlib:= + dev-libs/openssl:=[-bindist(-)] + caps? ( >=sys-libs/libcap-2.1.0 ) + dnstap? ( + dev-libs/fstrm + dev-libs/protobuf-c + ) + doh? ( net-libs/nghttp2:= ) + geoip? ( dev-libs/libmaxminddb ) + gssapi? ( virtual/krb5 ) + idn? ( net-dns/libidn2 ) + jemalloc? ( dev-libs/jemalloc:= ) + lmdb? ( dev-db/lmdb ) + xml? ( dev-libs/libxml2 ) +" +RDEPEND=" + ${DEPEND} + selinux? ( sec-policy/selinux-bind ) + sys-process/psmisc + !/dev/null; echo ${CHROOT}) + if [[ -n ${CHROOT} ]]; then + elog "NOTE: As of net-dns/bind-9.4.3_p5-r1 the chroot part of the init-script got some major changes!" + elog "To enable the old behaviour (without using mount) uncomment the" + elog "CHROOT_NOMOUNT option in your /etc/conf.d/named config." + elog "If you decide to use the new/default method, ensure to make backup" + elog "first and merge your existing configs/zones to /etc/bind and" + elog "/var/bind because bind will now mount the needed directories into" + elog "the chroot dir." + fi + + # show only when upgrading to 9.18 + if [[ -n "${REPLACING_VERSIONS}" ]] && ver_test "${REPLACING_VERSIONS}" -lt 9.18; then + elog "As this is a major bind version upgrade, please read:" + elog " https://kb.isc.org/docs/changes-to-be-aware-of-when-moving-from-bind-916-to-918" + elog "for differences in functionality." + elog "" + ewarn "In particular, please note that bind-9.18 does not need a root hints file anymore" + ewarn "and we only ship with one as a stop-gap. If your current configuration specifies a" + ewarn "root hints file - usually called named.cache - bind will not start as it will not be able" + ewarn "to find the specified file. Best practice is to delete the offending lines that" + ewarn "reference named.cache file from your configuration." + fi +} + +pkg_config() { + CHROOT=$(source /etc/conf.d/named; echo ${CHROOT}) + CHROOT_NOMOUNT=$(source /etc/conf.d/named; echo ${CHROOT_NOMOUNT}) + CHROOT_GEOIP=$(source /etc/conf.d/named; echo ${CHROOT_GEOIP}) + + if [[ -z "${CHROOT}" ]]; then + eerror "This config script is designed to automate setting up" + eerror "a chrooted bind/named. To do so, please first uncomment" + eerror "and set the CHROOT variable in '/etc/conf.d/named'." + die "Unset CHROOT" + fi + + if [[ -d "${CHROOT}" ]]; then + ewarn "NOTE: As of net-dns/bind-9.4.3_p5-r1 the chroot part of the init-script got some major changes!" + ewarn "To enable the old behaviour (without using mount) uncomment the" + ewarn "CHROOT_NOMOUNT option in your /etc/conf.d/named config." + ewarn + ewarn "${CHROOT} already exists... some things might become overridden" + ewarn "press CTRL+C if you don't want to continue" + sleep 10 + fi + + echo; einfo "Setting up the chroot directory..." + + mkdir -m 0750 -p ${CHROOT} || die + mkdir -m 0755 -p ${CHROOT}/{dev,etc,var/log,run} || die + mkdir -m 0750 -p ${CHROOT}/etc/bind || die + mkdir -m 0770 -p ${CHROOT}/var/{bind,log/named} ${CHROOT}/run/named/ || die + + chown root:named \ + ${CHROOT} \ + ${CHROOT}/var/{bind,log/named} \ + ${CHROOT}/run/named/ \ + ${CHROOT}/etc/bind \ + || die + + mknod ${CHROOT}/dev/null c 1 3 || die + chmod 0666 ${CHROOT}/dev/null || die + + mknod ${CHROOT}/dev/zero c 1 5 || die + chmod 0666 ${CHROOT}/dev/zero || die + + if [[ "${CHROOT_NOMOUNT:-0}" -ne 0 ]]; then + cp -a /etc/bind ${CHROOT}/etc/ || die + cp -a /var/bind ${CHROOT}/var/ || die + fi + + if [[ "${CHROOT_GEOIP:-0}" -eq 1 ]]; then + if use geoip; then + mkdir -m 0755 -p ${CHROOT}/usr/share/GeoIP || die + elif use geoip2; then + mkdir -m 0755 -p ${CHROOT}/usr/share/GeoIP2 || die + fi + fi + + elog "You may need to add the following line to your syslog-ng.conf:" + elog "source jail { unix-stream(\"${CHROOT}/dev/log\"); };" +} diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.31-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.31-r1.ebuild new file mode 100644 index 00000000000..f10b1e16697 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.18.31-r1.ebuild @@ -0,0 +1,275 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit systemd tmpfiles + +MY_PV="${PV/_p/-P}" +MY_PV="${MY_PV/_rc/rc}" + +DESCRIPTION="Berkeley Internet Name Domain - Name Server" +HOMEPAGE="https://www.isc.org/software/bind" +SRC_URI="https://downloads.isc.org/isc/bind9/${PV}/${P}.tar.xz" +S="${WORKDIR}/${PN}-${MY_PV}" + +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="+caps dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux static-libs test xml" +RESTRICT="!test? ( test )" + +DEPEND=" + acct-group/named + acct-user/named + dev-libs/json-c:= + >=dev-libs/libuv-1.37.0:= + sys-libs/zlib:= + dev-libs/openssl:=[-bindist(-)] + caps? ( >=sys-libs/libcap-2.1.0 ) + dnstap? ( + dev-libs/fstrm + dev-libs/protobuf-c + ) + doh? ( net-libs/nghttp2:= ) + geoip? ( dev-libs/libmaxminddb ) + gssapi? ( virtual/krb5 ) + idn? ( net-dns/libidn2 ) + jemalloc? ( dev-libs/jemalloc:= ) + lmdb? ( dev-db/lmdb ) + xml? ( dev-libs/libxml2 ) +" +RDEPEND=" + ${DEPEND} + selinux? ( sec-policy/selinux-bind ) + sys-process/psmisc + !/dev/null; echo ${CHROOT}) + if [[ -n ${CHROOT} ]]; then + elog "NOTE: As of net-dns/bind-9.4.3_p5-r1 the chroot part of the init-script got some major changes!" + elog "To enable the old behaviour (without using mount) uncomment the" + elog "CHROOT_NOMOUNT option in your /etc/conf.d/named config." + elog "If you decide to use the new/default method, ensure to make backup" + elog "first and merge your existing configs/zones to /etc/bind and" + elog "/var/bind because bind will now mount the needed directories into" + elog "the chroot dir." + fi + + # show only when upgrading to 9.18 + if [[ -n "${REPLACING_VERSIONS}" ]] && ver_test "${REPLACING_VERSIONS}" -lt 9.18; then + elog "As this is a major bind version upgrade, please read:" + elog " https://kb.isc.org/docs/changes-to-be-aware-of-when-moving-from-bind-916-to-918" + elog "for differences in functionality." + elog "" + ewarn "In particular, please note that bind-9.18 does not need a root hints file anymore" + ewarn "and we only ship with one as a stop-gap. If your current configuration specifies a" + ewarn "root hints file - usually called named.cache - bind will not start as it will not be able" + ewarn "to find the specified file. Best practice is to delete the offending lines that" + ewarn "reference named.cache file from your configuration." + fi +} + +pkg_config() { + CHROOT=$(source "${EROOT}"/etc/conf.d/named; echo ${CHROOT}) + CHROOT_NOMOUNT=$(source "${EROOT}"/etc/conf.d/named; echo ${CHROOT_NOMOUNT}) + CHROOT_GEOIP=$(source "${EROOT}"/etc/conf.d/named; echo ${CHROOT_GEOIP}) + + if [[ -z "${CHROOT}" ]]; then + eerror "This config script is designed to automate setting up" + eerror "a chrooted bind/named. To do so, please first uncomment" + eerror "and set the CHROOT variable in '/etc/conf.d/named'." + die "Unset CHROOT" + fi + + if [[ -d "${CHROOT}" ]]; then + ewarn "NOTE: As of net-dns/bind-9.4.3_p5-r1 the chroot part of the init-script got some major changes!" + ewarn "To enable the old behaviour (without using mount) uncomment the" + ewarn "CHROOT_NOMOUNT option in your /etc/conf.d/named config." + ewarn + ewarn "${CHROOT} already exists... some things might become overridden" + ewarn "press CTRL+C if you don't want to continue" + sleep 10 + fi + + echo; einfo "Setting up the chroot directory..." + + mkdir -m 0750 -p "${CHROOT}" || die + mkdir -m 0755 -p "${CHROOT}"/{dev,etc,var/log,run} || die + mkdir -m 0750 -p "${CHROOT}"/etc/bind || die + mkdir -m 0770 -p "${CHROOT}"/var/{bind,log/named} "${CHROOT}"/run/named/ || die + + chown root:named \ + "${CHROOT}" \ + "${CHROOT}"/var/{bind,log/named} \ + "${CHROOT}"/run/named/ \ + "${CHROOT}"/etc/bind \ + || die + + mknod "${CHROOT}"/dev/null c 1 3 || die + chmod 0666 "${CHROOT}"/dev/null || die + + mknod "${CHROOT}"/dev/zero c 1 5 || die + chmod 0666 "${CHROOT}"/dev/zero || die + + if [[ "${CHROOT_NOMOUNT:-0}" -ne 0 ]]; then + cp -a /etc/bind "${CHROOT}"/etc/ || die + cp -a /var/bind "${CHROOT}"/var/ || die + fi + + if [[ "${CHROOT_GEOIP:-0}" -eq 1 ]]; then + if use geoip; then + mkdir -m 0755 -p "${CHROOT}"/usr/share/GeoIP || die + elif use geoip2; then + mkdir -m 0755 -p "${CHROOT}"/usr/share/GeoIP2 || die + fi + fi + + elog "You may need to add the following line to your syslog-ng.conf:" + elog "source jail { unix-stream(\"${CHROOT}/dev/log\"); };" +} diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/files/10bind.env b/sdk_container/src/third_party/portage-stable/net-dns/bind/files/10bind.env new file mode 100644 index 00000000000..13c7910b2c6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/files/10bind.env @@ -0,0 +1 @@ +CONFIG_PROTECT="/var/bind" diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/files/generate-rndc-key.sh b/sdk_container/src/third_party/portage-stable/net-dns/bind/files/generate-rndc-key.sh new file mode 100644 index 00000000000..8314d77cd68 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/files/generate-rndc-key.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +if [ ! -s /etc/bind/rndc.key ]; then + /usr/sbin/rndc-confgen -a > /dev/null 2>&1 || exit 1 + chmod 640 /etc/bind/rndc.key + chown root.named /etc/bind/rndc.key +fi diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/files/ldap-library-path-on-multilib-machines.patch b/sdk_container/src/third_party/portage-stable/net-dns/bind/files/ldap-library-path-on-multilib-machines.patch new file mode 100644 index 00000000000..5286c72f11b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/files/ldap-library-path-on-multilib-machines.patch @@ -0,0 +1,13 @@ +diff --git a/contrib/dlz/config.dlz.in b/contrib/dlz/config.dlz.in +index f769cf1..721d480 100644 +--- a/contrib/dlz/config.dlz.in ++++ b/contrib/dlz/config.dlz.in +@@ -396,7 +396,7 @@ case "$use_dlz_ldap" in + *) + DLZ_ADD_DRIVER(LDAP, dlz_ldap_driver, + [-I$use_dlz_ldap/include], +- [-L$use_dlz_ldap/lib -lldap -llber]) ++ [-lldap -llber]) + + AC_MSG_RESULT( + [using LDAP from $use_dlz_ldap/lib and $use_dlz_ldap/include]) diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/files/localhost.zone-r3 b/sdk_container/src/third_party/portage-stable/net-dns/bind/files/localhost.zone-r3 new file mode 100644 index 00000000000..2e7a5912b97 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/files/localhost.zone-r3 @@ -0,0 +1,11 @@ +$TTL 1W +@ IN SOA localhost. root.localhost. ( + 2008122601 ; Serial + 28800 ; Refresh + 14400 ; Retry + 604800 ; Expire - 1 week + 86400 ) ; Minimum +@ IN NS localhost. +@ IN A 127.0.0.1 + +@ IN AAAA ::1 diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/files/named.cache-r4 b/sdk_container/src/third_party/portage-stable/net-dns/bind/files/named.cache-r4 new file mode 100644 index 00000000000..860b808e119 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/files/named.cache-r4 @@ -0,0 +1,92 @@ +; This file holds the information on root name servers needed to +; initialize cache of Internet domain name servers +; (e.g. reference this file in the "cache . " +; configuration file of BIND domain name servers). +; +; This file is made available by InterNIC +; under anonymous FTP as +; file /domain/named.cache +; on server FTP.INTERNIC.NET +; -OR- RS.INTERNIC.NET +; +; last update: January 24, 2024 +; related version of root zone: 2024012401 +; +; FORMERLY NS.INTERNIC.NET +; +. 3600000 NS A.ROOT-SERVERS.NET. +A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4 +A.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:ba3e::2:30 +; +; FORMERLY NS1.ISI.EDU +; +. 3600000 NS B.ROOT-SERVERS.NET. +B.ROOT-SERVERS.NET. 3600000 A 170.247.170.2 +B.ROOT-SERVERS.NET. 3600000 AAAA 2801:1b8:10::b +; +; FORMERLY C.PSI.NET +; +. 3600000 NS C.ROOT-SERVERS.NET. +C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12 +C.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2::c +; +; FORMERLY TERP.UMD.EDU +; +. 3600000 NS D.ROOT-SERVERS.NET. +D.ROOT-SERVERS.NET. 3600000 A 199.7.91.13 +D.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2d::d +; +; FORMERLY NS.NASA.GOV +; +. 3600000 NS E.ROOT-SERVERS.NET. +E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10 +E.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:a8::e +; +; FORMERLY NS.ISC.ORG +; +. 3600000 NS F.ROOT-SERVERS.NET. +F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241 +F.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2f::f +; +; FORMERLY NS.NIC.DDN.MIL +; +. 3600000 NS G.ROOT-SERVERS.NET. +G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4 +G.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:12::d0d +; +; FORMERLY AOS.ARL.ARMY.MIL +; +. 3600000 NS H.ROOT-SERVERS.NET. +H.ROOT-SERVERS.NET. 3600000 A 198.97.190.53 +H.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:1::53 +; +; FORMERLY NIC.NORDU.NET +; +. 3600000 NS I.ROOT-SERVERS.NET. +I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17 +I.ROOT-SERVERS.NET. 3600000 AAAA 2001:7fe::53 +; +; OPERATED BY VERISIGN, INC. +; +. 3600000 NS J.ROOT-SERVERS.NET. +J.ROOT-SERVERS.NET. 3600000 A 192.58.128.30 +J.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:c27::2:30 +; +; OPERATED BY RIPE NCC +; +. 3600000 NS K.ROOT-SERVERS.NET. +K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129 +K.ROOT-SERVERS.NET. 3600000 AAAA 2001:7fd::1 +; +; OPERATED BY ICANN +; +. 3600000 NS L.ROOT-SERVERS.NET. +L.ROOT-SERVERS.NET. 3600000 A 199.7.83.42 +L.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:9f::42 +; +; OPERATED BY WIDE +; +. 3600000 NS M.ROOT-SERVERS.NET. +M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33 +M.ROOT-SERVERS.NET. 3600000 AAAA 2001:dc3::35 +; End of file \ No newline at end of file diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/files/named.conf b/sdk_container/src/third_party/portage-stable/net-dns/bind/files/named.conf new file mode 100644 index 00000000000..1cfc82d08e7 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/files/named.conf @@ -0,0 +1 @@ +d /run/named 0750 named named - diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/files/named.conf-r8 b/sdk_container/src/third_party/portage-stable/net-dns/bind/files/named.conf-r8 new file mode 100644 index 00000000000..39f9be267f3 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/files/named.conf-r8 @@ -0,0 +1,166 @@ +/* + * Refer to the named.conf(5) and named(8) man pages, and the documentation + * in /usr/share/doc/bind-* for more details. + * Online versions of the documentation can be found here: + * https://kb.isc.org/article/AA-01031 + * + * If you are going to set up an authoritative server, make sure you + * understand the hairy details of how DNS works. Even with simple mistakes, + * you can break connectivity for affected parties, or cause huge amounts of + * useless Internet traffic. + */ + +acl "xfer" { + /* Deny transfers by default except for the listed hosts. + * If we have other name servers, place them here. + */ + none; +}; + +/* + * You might put in here some ips which are allowed to use the cache or + * recursive queries + */ +acl "trusted" { + 127.0.0.0/8; + ::1/128; +}; + +options { + directory "/var/bind"; + pid-file "/run/named/named.pid"; + + /* https://www.isc.org/solutions/dlv >=bind-9.7.x only */ + //bindkeys-file "/etc/bind/bind.keys"; + + listen-on-v6 { ::1; }; + listen-on { 127.0.0.1; }; + + allow-query { + /* + * Accept queries from our "trusted" ACL. We will + * allow anyone to query our master zones below. + * This prevents us from becoming a free DNS server + * to the masses. + */ + trusted; + }; + + allow-query-cache { + /* Use the cache for the "trusted" ACL. */ + trusted; + }; + + allow-recursion { + /* Only trusted addresses are allowed to use recursion. */ + trusted; + }; + + allow-transfer { + /* Zone tranfers are denied by default. */ + none; + }; + + allow-update { + /* Don't allow updates, e.g. via nsupdate. */ + none; + }; + + /* + * If you've got a DNS server around at your upstream provider, enter its + * IP address here, and enable the line below. This will make you benefit + * from its cache, thus reduce overall DNS traffic in the Internet. + * + * Uncomment the following lines to turn on DNS forwarding, and change + * and/or update the forwarding ip address(es): + */ +/* + forward first; + forwarders { + // 123.123.123.123; // Your ISP NS + // 124.124.124.124; // Your ISP NS + // 4.2.2.1; // Level3 Public DNS + // 4.2.2.2; // Level3 Public DNS + 8.8.8.8; // Google Open DNS + 8.8.4.4; // Google Open DNS + }; + +*/ + + dnssec-enable yes; + //dnssec-validation yes; + + /* + * As of bind 9.8.0: + * "If the root key provided has expired, + * named will log the expiration and validation will not work." + */ + dnssec-validation auto; + + /* if you have problems and are behind a firewall: */ + //query-source address * port 53; +}; + +/* +logging { + channel default_log { + file "/var/log/named/named.log" versions 5 size 50M; + print-time yes; + print-severity yes; + print-category yes; + }; + + category default { default_log; }; + category general { default_log; }; +}; +*/ + +include "/etc/bind/rndc.key"; +controls { + inet 127.0.0.1 port 953 allow { 127.0.0.1/32; ::1/128; } keys { "rndc-key"; }; +}; + +zone "." in { + type hint; + file "/var/bind/named.cache"; +}; + +zone "localhost" IN { + type master; + file "pri/localhost.zone"; + notify no; +}; + +/* + * Briefly, a zone which has been declared delegation-only will be effectively + * limited to containing NS RRs for subdomains, but no actual data beyond its + * own apex (for example, its SOA RR and apex NS RRset). This can be used to + * filter out "wildcard" or "synthesized" data from NAT boxes or from + * authoritative name servers whose undelegated (in-zone) data is of no + * interest. + * See http://www.isc.org/software/bind/delegation-only for more info + */ + +//zone "COM" { type delegation-only; }; +//zone "NET" { type delegation-only; }; + +//zone "YOUR-DOMAIN.TLD" { +// type master; +// file "/var/bind/pri/YOUR-DOMAIN.TLD.zone"; +// allow-query { any; }; +// allow-transfer { xfer; }; +//}; + +//zone "YOUR-SLAVE.TLD" { +// type slave; +// file "/var/bind/sec/YOUR-SLAVE.TLD.zone"; +// masters { ; }; + + /* Anybody is allowed to query but transfer should be controlled by the master. */ +// allow-query { any; }; +// allow-transfer { none; }; + + /* The master should be the only one who notifies the slaves, shouldn't it? */ +// allow-notify { ; }; +// notify no; +//}; diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/files/named.conf.auth b/sdk_container/src/third_party/portage-stable/net-dns/bind/files/named.conf.auth new file mode 100644 index 00000000000..373a77b9601 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/files/named.conf.auth @@ -0,0 +1,33 @@ +//http local { +// endpoints { "/dns-query"; }; +//}; + +options { + directory "/var/cache/bind"; + pid-file "/run/named/named.pid"; + + listen-on { 127.0.0.1; }; + listen-on-v6 { ::1; }; + // dns-over-tls + listen-on port 853 tls ephemeral { 127.0.0.1; }; + listen-on-v6 port 853 tls ephemeral { ::1; }; + // dns-over-https + //listen-on port 443 tls ephemeral http local { 127.0.0.1; }; + //listen-on-v6 port 443 tls ephemeral http local { ::1; }; + + allow-recursion { + none; + }; + allow-transfer { + none; + }; + allow-update { + none; + }; +}; + +zone "example.com." { + type primary; + file "/var/bind/pri/db.example.com"; + notify explicit; +}; diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/files/named.confd-r7 b/sdk_container/src/third_party/portage-stable/net-dns/bind/files/named.confd-r7 new file mode 100644 index 00000000000..477a4806151 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/files/named.confd-r7 @@ -0,0 +1,48 @@ +# Set various named options here. +# +#OPTIONS="" + +# Set this to the number of processors you want bind to use. +# Leave this unchanged if you want bind to automatically detect the number +#CPU="1" + +# If you wish to run bind in a chroot: +# 1) un-comment the CHROOT= assignment, below. You may use +# a different chroot directory but MAKE SURE it's empty. +# 2) run: emerge --config = +# +#CHROOT="/chroot/dns" + +# Uncomment to enable binmount of /usr/share/GeoIP +#CHROOT_GEOIP="1" + +# Uncomment the line below to avoid that the init script mounts the needed paths +# into the chroot directory. +# You have to copy all needed config files by hand if you say CHROOT_NOMOUNT="1". +#CHROOT_NOMOUNT="1" + +# Uncomment this option if you have setup your own chroot environment and you +# don't want/need the chroot consistency check +#CHROOT_NOCHECK=1 + +# Default pid file location +PIDFILE="${CHROOT}/run/named/named.pid" + +# Scheduling priority: 19 is the lowest and -20 is the highest. +# Default: 0 +#NAMED_NICELEVEL="0" + +# Uncomment rc_named_use/rc_named_after for the database you need. +# Its necessary to ensure the database backend will be started before named. + +# MySQL +#rc_named_use="mysql" +#rc_named_after="mysql" + +# PostgreSQL +#rc_named_use="pg_autovacuum postgresql" +#rc_named_after="pg_autovacuum postgresql" + +# LDAP +#rc_named_use="ldap" +#rc_named_after="ldap" diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/files/named.confd-r8 b/sdk_container/src/third_party/portage-stable/net-dns/bind/files/named.confd-r8 new file mode 100644 index 00000000000..2d2ef4b868f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/files/named.confd-r8 @@ -0,0 +1,37 @@ +# Set various named options here. +# +#OPTIONS="" + +# config file path +NAMED_CONF="/etc/bind/named.conf" + +# Set this to the number of processors you want bind to use. +# Leave this unchanged if you want bind to automatically detect the number +#CPU="1" + +# If you wish to run bind in a chroot: +# 1) un-comment the CHROOT= assignment, below. You may use +# a different chroot directory but MAKE SURE it's empty. +# 2) run: emerge --config = +# +#CHROOT="/chroot/dns" + +# Uncomment to enable binmount of /usr/share/GeoIP +#CHROOT_GEOIP="1" + +# Uncomment the line below to avoid that the init script mounts the needed paths +# into the chroot directory. +# You have to copy all needed config files by hand if you say CHROOT_NOMOUNT="1". +#CHROOT_NOMOUNT="1" + +# Uncomment this option if you have setup your own chroot environment and you +# don't want/need the chroot consistency check +#CHROOT_NOCHECK=1 + +# Default pid file location +# use named.conf to specify pid-file location + +# Scheduling priority: 19 is the lowest and -20 is the highest. +# Default: 0 +#NAMED_NICELEVEL="0" + diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/files/named.init-r14 b/sdk_container/src/third_party/portage-stable/net-dns/bind/files/named.init-r14 new file mode 100644 index 00000000000..ff6ab216abc --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/files/named.init-r14 @@ -0,0 +1,252 @@ +#!/sbin/openrc-run +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +extra_commands="checkconfig checkzones" +extra_started_commands="reload" + +depend() { + need net + use logger + provide dns +} + +NAMED_CONF=${CHROOT}/etc/bind/named.conf + +OPENSSL_LIBGOST=${OPENSSL_LIBGOST:-0} +MOUNT_CHECK_TIMEOUT=${MOUNT_CHECK_TIMEOUT:-60} + +_mount() { + local from + local to + local opts + local ret=0 + + if [ "${#}" -lt 3 ]; then + eerror "_mount(): to few arguments" + return 1 + fi + + from=$1 + to=$2 + shift 2 + + opts="${*}" + shift $# + + if [ -z "$(awk "\$2 == \"${to}\" { print \$2 }" /proc/mounts)" ]; then + einfo "mounting ${from} to ${to}" + mount ${from} ${to} ${opts} + ret=$? + + eend $ret + return $ret + fi + + return 0 +} + +_umount() { + local dir=$1 + local ret=0 + + if [ -n "$(awk "\$2 == \"${dir}\" { print \$2 }" /proc/mounts)" ]; then + ebegin "umounting ${dir}" + umount ${dir} + ret=$? + + eend $ret + return $ret + fi + + return 0 +} + +_get_pidfile() { + # as suggested in bug #107724, bug 335398#c17 + [ -n "${PIDFILE}" ] || PIDFILE=${CHROOT}$(\ + /usr/sbin/named-checkconf -p ${CHROOT:+-t} ${CHROOT} ${NAMED_CONF#${CHROOT}} | grep 'pid-file' | cut -d\" -f2) + [ -z "${PIDFILE}" ] && PIDFILE=${CHROOT}/run/named/named.pid +} + +check_chroot() { + if [ -n "${CHROOT}" ]; then + [ ! -d "${CHROOT}" ] && return 1 + [ ! -d "${CHROOT}/dev" ] || [ ! -d "${CHROOT}/etc" ] || [ ! -d "${CHROOT}/var" ] && return 1 + [ ! -d "${CHROOT}/run" ] || [ ! -d "${CHROOT}/var/log" ] && return 1 + [ ! -d "${CHROOT}/etc/bind" ] || [ ! -d "${CHROOT}/var/bind" ] && return 1 + [ ! -d "${CHROOT}/var/log/named" ] && return 1 + [ ! -c "${CHROOT}/dev/null" ] || [ ! -c "${CHROOT}/dev/zero" ] && return 1 + [ ! -c "${CHROOT}/dev/urandom" ] && return 1 + [ "${CHROOT_GEOIP:-0}" -eq 1 ] && [ ! -d "${CHROOT}/usr/share/GeoIP" ] && return 1 + if [ ${OPENSSL_LIBGOST:-0} -eq 1 ]; then + if [ -d "/usr/lib64" ]; then + [ ! -d "${CHROOT}/usr/lib64/engines" ] && return 1 + elif [ -d "/usr/lib" ]; then + [ ! -d "${CHROOT}/usr/lib/engines" ] && return 1 + fi + fi + fi + + return 0 +} + +checkconfig() { + ebegin "Checking named configuration" + + if [ ! -f "${NAMED_CONF}" ] ; then + eerror "No ${NAMED_CONF} file exists!" + return 1 + fi + + /usr/sbin/named-checkconf ${CHROOT:+-t} ${CHROOT} ${NAMED_CONF#${CHROOT}} || { + eerror "named-checkconf failed! Please fix your config first." + return 1 + } + + eend 0 + return 0 +} + +checkzones() { + ebegin "Checking named configuration and zones" + /usr/sbin/named-checkconf -z -j ${CHROOT:+-t} ${CHROOT} ${NAMED_CONF#${CHROOT}} + eend $? +} + +start() { + local piddir + + ebegin "Starting ${CHROOT:+chrooted }named" + + if [ -n "${CHROOT}" ]; then + if [ ${CHROOT_NOCHECK:-0} -eq 0 ]; then + check_chroot || { + eend 1 + eerror "Your chroot dir ${CHROOT} is inconsistent, please run 'emerge --config net-dns/bind' first" + return 1 + } + fi + + if [ ${OPENSSL_LIBGOST:-0} -eq 1 ]; then + if [ ! -e /usr/lib/engines/libgost.so ]; then + eend 1 + eerror "Couldn't find /usr/lib/engines/libgost.so but bind has been built with openssl and libgost support" + return 1 + fi + cp -Lp /usr/lib/engines/libgost.so "${CHROOT}/usr/lib/engines/libgost.so" || { + eend 1 + eerror "Couldn't copy /usr/lib/engines/libgost.so into '${CHROOT}/usr/lib/engines/'" + return 1 + } + fi + cp -Lp /etc/localtime "${CHROOT}/etc/localtime" + + if [ "${CHROOT_NOMOUNT:-0}" -eq 0 ]; then + einfo "Mounting chroot dirs" + _mount /etc/bind ${CHROOT}/etc/bind -o bind + _mount /var/bind ${CHROOT}/var/bind -o bind + _mount /var/log/named ${CHROOT}/var/log/named -o bind + if [ "${CHROOT_GEOIP:-0}" -eq 1 ]; then + _mount /usr/share/GeoIP ${CHROOT}/usr/share/GeoIP -o bind + fi + fi + + # On initial startup, if piddir inside the chroot /var/run/named + # Then the .../var/run part might not exist yet + checkpath -q -d -o root:root -m 0755 "${piddir}/.." + fi + + checkconfig || { eend 1; return 1; } + + # create piddir (usually /run/named) if necessary, bug 334535 + _get_pidfile + piddir="${PIDFILE%/*}" + checkpath -q -d -o root:named -m 0770 "${piddir}" || { + eerror "Failed to create PID directory at $piddir" + eend 1 + return 1 + } + + # In case someone have $CPU set in /etc/conf.d/named + if [ -n "${CPU}" ] && [ "${CPU}" -gt 0 ]; then + CPU="-n ${CPU}" + fi + + start-stop-daemon --start --pidfile ${PIDFILE} \ + --nicelevel ${NAMED_NICELEVEL:-0} \ + --exec /usr/sbin/named \ + -- -u named ${CPU} ${OPTIONS} ${CHROOT:+-t} ${CHROOT} + eend $? +} + +stop() { + local reported=0 + + ebegin "Stopping ${CHROOT:+chrooted }named" + + # Workaround for now, until openrc's restart has been fixed. + # openrc doesn't care about a restart() function in init scripts. + if [ "${RC_CMD}" = "restart" ]; then + if [ -n "${CHROOT}" -a ${CHROOT_NOCHECK:-0} -eq 0 ]; then + check_chroot || { + eend 1 + eerror "Your chroot dir ${CHROOT} is inconsistent, please run 'emerge --config net-dns/bind' first" + return 1 + } + fi + + checkconfig || { eend 1; return 1; } + fi + + # -R 10, bug 335398 + _get_pidfile + start-stop-daemon --stop --retry 10 --pidfile $PIDFILE \ + --exec /usr/sbin/named + + if [ -n "${CHROOT}" ] && [ "${CHROOT_NOMOUNT:-0}" -eq 0 ]; then + ebegin "Umounting chroot dirs" + + # just to be sure everything gets clean + while fuser -s ${CHROOT} 2>/dev/null; do + if [ "${reported}" -eq 0 ]; then + einfo "Waiting until all named processes are stopped (max. ${MOUNT_CHECK_TIMEOUT} seconds)" + elif [ "${reported}" -eq "${MOUNT_CHECK_TIMEOUT}" ]; then + eerror "Waiting until all named processes are stopped failed!" + eend 1 + break + fi + sleep 1 + reported=$((reported+1)) + done + + [ "${CHROOT_GEOIP:-0}" -eq 1 ] && _umount ${CHROOT}/usr/share/GeoIP + _umount ${CHROOT}/etc/bind + _umount ${CHROOT}/var/log/named + _umount ${CHROOT}/var/bind + fi + + eend $? +} + +reload() { + local ret + + ebegin "Reloading named.conf and zone files" + + checkconfig || { eend 1; return 1; } + + _get_pidfile + if [ -n "${PIDFILE}" ]; then + start-stop-daemon --pidfile $PIDFILE --signal HUP + ret=$? + else + ewarn "Unable to determine the pidfile... this is" + ewarn "a fallback mode. Please check your installation!" + + $RC_SERVICE restart + ret=$? + fi + + eend $ret +} diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/files/named.init-r15 b/sdk_container/src/third_party/portage-stable/net-dns/bind/files/named.init-r15 new file mode 100644 index 00000000000..2bd52a77320 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/files/named.init-r15 @@ -0,0 +1,251 @@ +#!/sbin/openrc-run +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +extra_commands="checkconfig checkzones" +extra_started_commands="reload" + +depend() { + need net + use logger + provide dns +} + +NAMED_CONF=${NAMED_CONF:-${CHROOT}/etc/bind/named.conf} + +OPENSSL_LIBGOST=${OPENSSL_LIBGOST:-0} +MOUNT_CHECK_TIMEOUT=${MOUNT_CHECK_TIMEOUT:-60} + +_mount() { + local from + local to + local opts + local ret=0 + + if [ "${#}" -lt 3 ]; then + eerror "_mount(): to few arguments" + return 1 + fi + + from=$1 + to=$2 + shift 2 + + opts="${*}" + shift $# + + if [ -z "$(awk "\$2 == \"${to}\" { print \$2 }" /proc/mounts)" ]; then + einfo "mounting ${from} to ${to}" + mount ${from} ${to} ${opts} + ret=$? + + eend $ret + return $ret + fi + + return 0 +} + +_umount() { + local dir=$1 + local ret=0 + + if [ -n "$(awk "\$2 == \"${dir}\" { print \$2 }" /proc/mounts)" ]; then + ebegin "umounting ${dir}" + umount ${dir} + ret=$? + + eend $ret + return $ret + fi + + return 0 +} + +_get_pidfile() { + # as suggested in bug #107724, bug 335398#c17 + [ -n "${PIDFILE}" ] || PIDFILE=${CHROOT}$(\ + /usr/bin/named-checkconf -p ${CHROOT:+-t} ${CHROOT} ${NAMED_CONF#${CHROOT}} | grep 'pid-file' | cut -d\" -f2) + [ -z "${PIDFILE}" ] && PIDFILE=${CHROOT}/run/named/named.pid +} + +check_chroot() { + if [ -n "${CHROOT}" ]; then + [ ! -d "${CHROOT}" ] && return 1 + [ ! -d "${CHROOT}/dev" ] || [ ! -d "${CHROOT}/etc" ] || [ ! -d "${CHROOT}/var" ] && return 1 + [ ! -d "${CHROOT}/run" ] || [ ! -d "${CHROOT}/var/log" ] && return 1 + [ ! -d "${CHROOT}/etc/bind" ] || [ ! -d "${CHROOT}/var/bind" ] && return 1 + [ ! -d "${CHROOT}/var/log/named" ] && return 1 + [ ! -c "${CHROOT}/dev/null" ] || [ ! -c "${CHROOT}/dev/zero" ] && return 1 + [ "${CHROOT_GEOIP:-0}" -eq 1 ] && [ ! -d "${CHROOT}/usr/share/GeoIP" ] && return 1 + if [ ${OPENSSL_LIBGOST:-0} -eq 1 ]; then + if [ -d "/usr/lib64" ]; then + [ ! -d "${CHROOT}/usr/lib64/engines" ] && return 1 + elif [ -d "/usr/lib" ]; then + [ ! -d "${CHROOT}/usr/lib/engines" ] && return 1 + fi + fi + fi + + return 0 +} + +checkconfig() { + ebegin "Checking named configuration" + + if [ ! -f "${NAMED_CONF}" ] ; then + eerror "No ${NAMED_CONF} file exists!" + return 1 + fi + + /usr/bin/named-checkconf ${CHROOT:+-t} ${CHROOT} ${NAMED_CONF#${CHROOT}} || { + eerror "named-checkconf failed! Please fix your config first." + return 1 + } + + eend 0 + return 0 +} + +checkzones() { + ebegin "Checking named configuration and zones" + /usr/bin/named-checkconf -z -j ${CHROOT:+-t} ${CHROOT} ${NAMED_CONF#${CHROOT}} + eend $? +} + +start() { + local piddir + + ebegin "Starting ${CHROOT:+chrooted }named" + + if [ -n "${CHROOT}" ]; then + if [ ${CHROOT_NOCHECK:-0} -eq 0 ]; then + check_chroot || { + eend 1 + eerror "Your chroot dir ${CHROOT} is inconsistent, please run 'emerge --config net-dns/bind' first" + return 1 + } + fi + + if [ ${OPENSSL_LIBGOST:-0} -eq 1 ]; then + if [ ! -e /usr/lib/engines/libgost.so ]; then + eend 1 + eerror "Couldn't find /usr/lib/engines/libgost.so but bind has been built with openssl and libgost support" + return 1 + fi + cp -Lp /usr/lib/engines/libgost.so "${CHROOT}/usr/lib/engines/libgost.so" || { + eend 1 + eerror "Couldn't copy /usr/lib/engines/libgost.so into '${CHROOT}/usr/lib/engines/'" + return 1 + } + fi + cp -Lp /etc/localtime "${CHROOT}/etc/localtime" + + if [ "${CHROOT_NOMOUNT:-0}" -eq 0 ]; then + einfo "Mounting chroot dirs" + _mount /etc/bind ${CHROOT}/etc/bind -o bind + _mount /var/bind ${CHROOT}/var/bind -o bind + _mount /var/log/named ${CHROOT}/var/log/named -o bind + if [ "${CHROOT_GEOIP:-0}" -eq 1 ]; then + _mount /usr/share/GeoIP ${CHROOT}/usr/share/GeoIP -o bind + fi + fi + + # On initial startup, if piddir inside the chroot /var/run/named + # Then the .../var/run part might not exist yet + checkpath -q -d -o root:root -m 0755 "${piddir}/.." + fi + + checkconfig || { eend 1; return 1; } + + # create piddir (usually /run/named) if necessary, bug 334535 + _get_pidfile + piddir="${PIDFILE%/*}" + checkpath -q -d -o root:named -m 0770 "${piddir}" || { + eerror "Failed to create PID directory at $piddir" + eend 1 + return 1 + } + + # In case someone have $CPU set in /etc/conf.d/named + if [ -n "${CPU}" ] && [ "${CPU}" -gt 0 ]; then + CPU="-n ${CPU}" + fi + + start-stop-daemon --start --pidfile ${PIDFILE} \ + --nicelevel ${NAMED_NICELEVEL:-0} \ + --exec /usr/sbin/named \ + -- -u named ${CPU} ${OPTIONS} ${CHROOT:+-t} ${CHROOT} + eend $? +} + +stop() { + local reported=0 + + ebegin "Stopping ${CHROOT:+chrooted }named" + + # Workaround for now, until openrc's restart has been fixed. + # openrc doesn't care about a restart() function in init scripts. + if [ "${RC_CMD}" = "restart" ]; then + if [ -n "${CHROOT}" -a ${CHROOT_NOCHECK:-0} -eq 0 ]; then + check_chroot || { + eend 1 + eerror "Your chroot dir ${CHROOT} is inconsistent, please run 'emerge --config net-dns/bind' first" + return 1 + } + fi + + checkconfig || { eend 1; return 1; } + fi + + # -R 10, bug 335398 + _get_pidfile + start-stop-daemon --stop --retry 10 --pidfile $PIDFILE \ + --exec /usr/sbin/named + + if [ -n "${CHROOT}" ] && [ "${CHROOT_NOMOUNT:-0}" -eq 0 ]; then + ebegin "Umounting chroot dirs" + + # just to be sure everything gets clean + while fuser -s ${CHROOT} 2>/dev/null; do + if [ "${reported}" -eq 0 ]; then + einfo "Waiting until all named processes are stopped (max. ${MOUNT_CHECK_TIMEOUT} seconds)" + elif [ "${reported}" -eq "${MOUNT_CHECK_TIMEOUT}" ]; then + eerror "Waiting until all named processes are stopped failed!" + eend 1 + break + fi + sleep 1 + reported=$((reported+1)) + done + + [ "${CHROOT_GEOIP:-0}" -eq 1 ] && _umount ${CHROOT}/usr/share/GeoIP + _umount ${CHROOT}/etc/bind + _umount ${CHROOT}/var/log/named + _umount ${CHROOT}/var/bind + fi + + eend $? +} + +reload() { + local ret + + ebegin "Reloading named.conf and zone files" + + checkconfig || { eend 1; return 1; } + + _get_pidfile + if [ -n "${PIDFILE}" ]; then + start-stop-daemon --pidfile $PIDFILE --signal HUP + ret=$? + else + ewarn "Unable to determine the pidfile... this is" + ewarn "a fallback mode. Please check your installation!" + + $RC_SERVICE restart + ret=$? + fi + + eend $ret +} diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/files/named.service-r1 b/sdk_container/src/third_party/portage-stable/net-dns/bind/files/named.service-r1 new file mode 100644 index 00000000000..65fbdb941ca --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/files/named.service-r1 @@ -0,0 +1,13 @@ +[Unit] +Description=Internet domain name server +After=network.target + +[Service] +ExecStartPre=/usr/libexec/generate-rndc-key.sh +ExecStartPre=/usr/sbin/named-checkconf -z /etc/bind/named.conf +ExecStart=/usr/sbin/named -f -u named +ExecReload=/usr/sbin/rndc reload +ExecStop=/usr/sbin/rndc stop + +[Install] +WantedBy=multi-user.target diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/files/named.service-r2 b/sdk_container/src/third_party/portage-stable/net-dns/bind/files/named.service-r2 new file mode 100644 index 00000000000..4ca34544fe6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/files/named.service-r2 @@ -0,0 +1,13 @@ +[Unit] +Description=Internet domain name server +After=network.target + +[Service] +ExecStartPre=/usr/libexec/generate-rndc-key.sh +ExecStartPre=/usr/bin/named-checkconf -z /etc/bind/named.conf +ExecStart=/usr/sbin/named -f -u named +ExecReload=/usr/sbin/rndc reload +ExecStop=/usr/sbin/rndc stop + +[Install] +WantedBy=multi-user.target diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/metadata.xml b/sdk_container/src/third_party/portage-stable/net-dns/bind/metadata.xml new file mode 100644 index 00000000000..aa2583bf554 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/metadata.xml @@ -0,0 +1,19 @@ + + + + + chutzpah@gentoo.org + Patrick McLean + + + Enables dnstap packet logging + Enable the DNS Response Policy Service (DNSRPS) API, a mechanism to allow an external response policy provider + Enables dynamic loaded zones, 3rd party extension + Enables dns-over-https + Enables fixed rrset-order option + Enable GeoIP2 API from MaxMind + Enable gssapi support + Enable JSON statistics channel + Enable LMDB support to store configuration for 'addzone' zones + + diff --git a/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/cifs-utils-7.0.ebuild b/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/cifs-utils-7.0.ebuild deleted file mode 100644 index 13b3bb12190..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/cifs-utils-7.0.ebuild +++ /dev/null @@ -1,145 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{9..12} ) - -inherit autotools bash-completion-r1 flag-o-matic linux-info pam python-single-r1 - -DESCRIPTION="Tools for Managing Linux CIFS Client Filesystems" -HOMEPAGE="https://wiki.samba.org/index.php/LinuxCIFS_utils https://git.samba.org/cifs-utils.git/?p=cifs-utils.git" -SRC_URI="https://ftp.samba.org/pub/linux-cifs/${PN}/${P}.tar.bz2" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~x86-linux" -IUSE="+acl +ads +caps creds pam +python systemd" - -RDEPEND=" - ads? ( - sys-apps/keyutils:= - sys-libs/talloc - virtual/krb5 - ) - caps? ( sys-libs/libcap-ng ) - creds? ( sys-apps/keyutils:= ) - pam? ( - sys-apps/keyutils:= - sys-libs/pam - ) - python? ( ${PYTHON_DEPS} ) -" -DEPEND="${RDEPEND}" -BDEPEND="dev-python/docutils" -PDEPEND=" - acl? ( >=net-fs/samba-4.0.0_alpha1 ) -" - -REQUIRED_USE=" - acl? ( ads ) - python? ( ${PYTHON_REQUIRED_USE} ) -" - -DOCS="doc/linux-cifs-client-guide.odt" - -PATCHES=( - "${FILESDIR}/${PN}-6.12-ln_in_destdir.patch" #766594 - "${FILESDIR}/${PN}-6.15-musl.patch" -) - -pkg_setup() { - linux-info_pkg_setup - - if ! linux_config_exists || ! linux_chkconfig_present CIFS; then - ewarn "You must enable CIFS support in your kernel config, " - ewarn "to be able to mount samba shares. You can find it at" - ewarn - ewarn " File systems" - ewarn " Network File Systems" - ewarn " CIFS support" - ewarn - ewarn "and recompile your kernel ..." - fi - - use python && python-single-r1_pkg_setup -} - -src_prepare() { - default - - if has_version app-crypt/heimdal ; then - # https://bugs.gentoo.org/612584 - eapply "${FILESDIR}/${PN}-6.7-heimdal.patch" - fi - - eautoreconf -} - -src_configure() { - # bug #927809 - filter-flags -fno-semantic-interposition - - local myeconfargs=( - --enable-man - --enable-smbinfo - $(use_enable acl cifsacl cifsidmap) - $(use_enable ads cifsupcall) - $(use_with caps libcap) - $(use_enable creds cifscreds) - $(use_enable pam) - $(use_with pam pamdir $(getpam_mod_dir)) - $(use_enable python pythontools) - # mount.cifs can get passwords from systemd - $(use_enable systemd) - ) - ROOTSBINDIR="${EPREFIX}"/sbin \ - econf "${myeconfargs[@]}" -} - -src_install() { - default - - # remove empty directories - find "${ED}" -type d -empty -delete || die - - if use acl ; then - dodir /etc/cifs-utils - dosym ../../usr/$(get_libdir)/cifs-utils/idmapwb.so \ - /etc/cifs-utils/idmap-plugin - dodir /etc/request-key.d - echo 'create cifs.idmap * * /usr/sbin/cifs.idmap %k' \ - > "${ED}/etc/request-key.d/cifs.idmap.conf" - fi - - if use ads ; then - dodir /etc/request-key.d - echo 'create dns_resolver * * /usr/sbin/cifs.upcall %k' \ - > "${ED}/etc/request-key.d/cifs.upcall.conf" - echo 'create cifs.spnego * * /usr/sbin/cifs.upcall %k' \ - > "${ED}/etc/request-key.d/cifs.spnego.conf" - fi - - dobashcomp bash-completion/smbinfo - use python && python_fix_shebang "${ED}" -} - -pkg_postinst() { - # Inform about set-user-ID bit of mount.cifs - ewarn "setuid use flag was dropped due to multiple security implications" - ewarn "such as CVE-2009-2948, CVE-2011-3585 and CVE-2012-1586" - ewarn "You are free to set setuid flags by yourself" - - # Inform about upcall usage - if use acl ; then - einfo "The cifs.idmap utility has been enabled by creating the" - einfo "configuration file /etc/request-key.d/cifs.idmap.conf" - einfo "This enables you to get and set CIFS acls." - fi - - if use ads ; then - einfo "The cifs.upcall utility has been enabled by creating the" - einfo "configuration file /etc/request-key.d/cifs.upcall.conf" - einfo "This enables you to mount DFS shares." - fi -} diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libpcap/libpcap-1.10.5.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/libpcap/libpcap-1.10.5.ebuild index ca98e6dab18..a49fc0c8c94 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/libpcap/libpcap-1.10.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/libpcap/libpcap-1.10.5.ebuild @@ -18,7 +18,7 @@ else SRC_URI="https://www.tcpdump.org/release/${P}.tar.gz" SRC_URI+=" verify-sig? ( https://www.tcpdump.org/release/${P}.tar.gz.sig )" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" fi # The project itself has COPYING with BSD, but the files used for diff --git a/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/Manifest b/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/Manifest index 497c5ffbf84..5e463bc86bd 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/Manifest @@ -2,3 +2,4 @@ DIST nghttp2-1.61.0.tar.xz 1645808 BLAKE2B e78fb94cc9234260447f0d3610e58e22f9ead DIST nghttp2-1.62.0.tar.xz 1646596 BLAKE2B 156fe3cd401e89cb9416c3281318f955abe86909d249108781f8eaeb0ff3df791f083ae6fc7bfe04350b91ffeaf8d8799d138d9d7cc9f5121a344f69f7473915 SHA512 1674e269dcf1067312056e5ea0e7108a48a177888fbaae5a194bddcc9640babc996d86e74e3160cd0dc4a360f0440441116259f3b44a3ca5fea081cdff7e7c88 DIST nghttp2-1.62.1.tar.xz 1606084 BLAKE2B 460152f08b4ebd98453b95b737e0729648b95e808e845114a47a23e39fb3c68bf5d165d71467fbca8069fd5e64a63eeedd025919af4e2186da083caa21b93130 SHA512 d5d6b068712e9b467547b0e5380465b8540317134f3f26c2b0c60eb9c604be2f37b4517a98b371d5f5fb668ce2ee35603ddd944224f11e96382aa541a6a17b4c DIST nghttp2-1.63.0.tar.xz 1606480 BLAKE2B 8c4158b8855b3b4b0a576f5cc894f77f88bab35bbb995809c7494bd73030d50d0189153ef5434a3071267bc6f198ea3ff5d7e3bd8bac4299fb8fbf3be91e11c7 SHA512 ac5005f33664981e194730223881f4207c9570cb8d9bba51b5592a3e7eb59455ebe25bf190211811513c64497a1b42ec7a82cc7f810059f46c99a83dd2d6cef9 +DIST nghttp2-1.64.0.tar.xz 1676124 BLAKE2B e2cad95fbe8447e99728af3ad7656d4dd2d1f51f31294bd38b6c69ee07e6e8e6302c124d47e6274a9a1531257a90bcc5833de390ac704b4b3adf435b9ce38fc9 SHA512 b544196c3b7a55faacd11700d11e2fe4f16a7418282c9abb24a668544a15293580fd1a2cc5f93367c8a17c7ee45335c6d2f5c68a72dd176d516fd033f203eeec diff --git a/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-1.62.1.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-1.62.1.ebuild index de99fb77a66..ea8616811ed 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-1.62.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-1.62.1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/nghttp2/nghttp2/releases/download/v${PV}/${P}.tar.xz LICENSE="MIT" SLOT="0/1.14" # 1. -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="debug hpack-tools jemalloc static-libs systemd test utils xml" REQUIRED_USE="test? ( static-libs )" diff --git a/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-1.64.0.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-1.64.0.ebuild new file mode 100644 index 00000000000..040b77645d7 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-1.64.0.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake-multilib + +DESCRIPTION="HTTP/2 C Library" +HOMEPAGE="https://nghttp2.org/" +SRC_URI="https://github.com/nghttp2/nghttp2/releases/download/v${PV}/${P}.tar.xz" + +LICENSE="MIT" +SLOT="0/1.14" # 1. +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="debug hpack-tools jemalloc static-libs systemd test utils xml" + +REQUIRED_USE="test? ( static-libs )" +RESTRICT="!test? ( test )" + +SSL_DEPEND=" + >=dev-libs/openssl-1.0.2:0=[-bindist(-),${MULTILIB_USEDEP}] +" +RDEPEND=" + hpack-tools? ( >=dev-libs/jansson-2.5:= ) + jemalloc? ( dev-libs/jemalloc:=[${MULTILIB_USEDEP}] ) + utils? ( + ${SSL_DEPEND} + >=dev-libs/libev-4.15[${MULTILIB_USEDEP}] + >=sys-libs/zlib-1.2.3[${MULTILIB_USEDEP}] + net-dns/c-ares:=[${MULTILIB_USEDEP}] + ) + systemd? ( >=sys-apps/systemd-209 ) + xml? ( >=dev-libs/libxml2-2.7.7:2[${MULTILIB_USEDEP}] )" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +multilib_src_configure() { + #TODO: enable HTTP3 + #requires quictls/openssl, libngtcp2, libngtcp2_crypto_quictls, libnghttp3 + local mycmakeargs=( + -DENABLE_EXAMPLES=OFF + -DENABLE_FAILMALLOC=OFF + -DENABLE_HTTP3=OFF + -DENABLE_WERROR=OFF + -DENABLE_THREADS=ON + -DENABLE_DEBUG=$(usex debug) + -DENABLE_HPACK_TOOLS=$(multilib_native_usex hpack-tools) + $(cmake_use_find_package hpack-tools Jansson) + -DWITH_JEMALLOC=$(multilib_native_usex jemalloc) + -DBUILD_STATIC_LIBS=$(usex static-libs) + -DBUILD_TESTING=$(usex test) + $(cmake_use_find_package systemd Systemd) + -DENABLE_APP=$(multilib_native_usex utils) + -DWITH_LIBXML2=$(multilib_native_usex xml) + ) + cmake_src_configure +} + +multilib_src_test() { + eninja check +} 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 2af18d12b1e..e33e867ea9c 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 @@ -40,8 +40,6 @@ REQUIRED_USE=" DEPEND=" caps? ( - acct-group/ntp - acct-user/ntp sys-libs/libcap ) libtomcrypt? ( dev-libs/libtomcrypt:= ) @@ -54,9 +52,17 @@ DEPEND=" " RDEPEND=" ${DEPEND} + caps? ( + acct-group/ntp + acct-user/ntp + ) selinux? ( sec-policy/selinux-chronyd ) " BDEPEND=" + caps? ( + acct-group/ntp + acct-user/ntp + ) html? ( dev-ruby/asciidoctor ) nts? ( virtual/pkgconfig ) sechash? ( diff --git a/sdk_container/src/third_party/portage-stable/net-misc/chrony/chrony-4.6.1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/chrony/chrony-4.6.1.ebuild index b331e0bd29f..7805861241c 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/chrony/chrony-4.6.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/chrony/chrony-4.6.1.ebuild @@ -40,8 +40,6 @@ REQUIRED_USE=" DEPEND=" caps? ( - acct-group/ntp - acct-user/ntp sys-libs/libcap ) libtomcrypt? ( dev-libs/libtomcrypt:= ) @@ -54,9 +52,17 @@ DEPEND=" " RDEPEND=" ${DEPEND} + caps? ( + acct-group/ntp + acct-user/ntp + ) selinux? ( sec-policy/selinux-chronyd ) " BDEPEND=" + caps? ( + acct-group/ntp + acct-user/ntp + ) html? ( dev-ruby/asciidoctor ) nts? ( virtual/pkgconfig ) sechash? ( diff --git a/sdk_container/src/third_party/portage-stable/net-misc/chrony/chrony-4.6.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/chrony/chrony-4.6.ebuild index 2af18d12b1e..e33e867ea9c 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/chrony/chrony-4.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/chrony/chrony-4.6.ebuild @@ -40,8 +40,6 @@ REQUIRED_USE=" DEPEND=" caps? ( - acct-group/ntp - acct-user/ntp sys-libs/libcap ) libtomcrypt? ( dev-libs/libtomcrypt:= ) @@ -54,9 +52,17 @@ DEPEND=" " RDEPEND=" ${DEPEND} + caps? ( + acct-group/ntp + acct-user/ntp + ) selinux? ( sec-policy/selinux-chronyd ) " BDEPEND=" + caps? ( + acct-group/ntp + acct-user/ntp + ) html? ( dev-ruby/asciidoctor ) nts? ( virtual/pkgconfig ) sechash? ( 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 b331e0bd29f..7805861241c 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 @@ -40,8 +40,6 @@ REQUIRED_USE=" DEPEND=" caps? ( - acct-group/ntp - acct-user/ntp sys-libs/libcap ) libtomcrypt? ( dev-libs/libtomcrypt:= ) @@ -54,9 +52,17 @@ DEPEND=" " RDEPEND=" ${DEPEND} + caps? ( + acct-group/ntp + acct-user/ntp + ) selinux? ( sec-policy/selinux-chronyd ) " BDEPEND=" + caps? ( + acct-group/ntp + acct-user/ntp + ) html? ( dev-ruby/asciidoctor ) nts? ( virtual/pkgconfig ) sechash? ( diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/Manifest b/sdk_container/src/third_party/portage-stable/net-misc/curl/Manifest index 792b00ecc0b..fc18ac50a87 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/Manifest @@ -1,5 +1,7 @@ DIST curl-8.10.1.tar.xz 2726748 BLAKE2B bfdfa24f6d652884044c5e8eea5d70daad651b46255c99c9df502f9595a2dcbf8c4034446becf9e87f8e8a3f397a8fda29ab3e0d6020ac0dae62dd42b8136b78 SHA512 f1c7a12492dcfb8ba08be69b96a83ce9074592cbaa6b95c72b3c16fc58ad35e9f9deec7b72baca7d360d013b0b1c7ea38bd4edae464903ac67aa3c76238d8c6c DIST curl-8.10.1.tar.xz.asc 488 BLAKE2B 8e8f2b628d4e8964a76c1c43c5557aacbfc2d2dbc51be8a0fa1b157c257f15f29aedba842cba7cb270c4adcf0b4a5d9c8b0b3d49633c48b061fb3e1472303d66 SHA512 21d6d560c027efc9e3e5db182a77501d6376442221ba910df817e2ec980bee44a9fe2afc698205f8d5e8313ae47915a341d60206a46b46e816d73ee357a894ac +DIST curl-8.11.0.tar.xz 2750684 BLAKE2B 3db13ed558bee332e07e1eab878b5ecae14cd049c115eea3a25fcb78cf28aadfe577dc224df75b62844529994ec478a9a74fed5c9bae338f809d231420ae5d0a SHA512 3a642d421e0a5c09ecb681bea18498f2c6124e9af4d8afdc074dfb85a9b0211d8972ade9cf00ab44b5dfed9303262cd83551dd3b5e0976d11fc19da3c4a0987e +DIST curl-8.11.0.tar.xz.asc 488 BLAKE2B 5d91dc654d6a62c66e344ca92676b42e7a49f437e14f9fb714f7ae64a266d24d9bb7006b4512fc323459072ff0d9e05f627e494f34f845eadbedbd83acacc2ce SHA512 71073dde48e8f0013e392eb88bf70f6b8a4a4f0c955a3fb56db98e74aa10acc1004e2a0483f30be082e61b59a76fa75ae1d90545ace7c6b07bca8164078375f0 DIST curl-8.7.1.tar.xz 2707016 BLAKE2B a2a9f48d0b69c0d92fcbbda535ce55082a5243abe3ab2db80d6fa3f32fb2c98b65026d69fc45c94e966398cf9ba8d9c95b6b91f4768b54749ed3275dd21838ef SHA512 5bbde9d5648e9226f5490fa951690aaf159149345f3a315df2ba58b2468f3e59ca32e8a49734338afc861803a4f81caac6d642a4699b72c6310ebfb1f618aad2 DIST curl-8.7.1.tar.xz.asc 488 BLAKE2B 1c91d116aecc8e98d8ec3aad68b7c96f11151e6c2716f531e5d2989e9b6b1199e180603673891d7967cdcdaee1d6b5e15160ccabe9b51590e2887022db03c2ed SHA512 f98c393997c4a32f545a8982226e8cd612395210915a4576c2ce227d0f650cff341be7bf15e989d1789abf32ac4fd9c190b9250b81e650b569e8532048746b37 DIST curl-8.8.0.tar.xz 2748860 BLAKE2B c14903bad4cbd1752a5335afa6bcc78be1a484692fce0e0a6c2061963e0e6b4e56defb8332cef32d0dbddb481ad0443b71faf3a52a6e9d945c89ecbce373d2a3 SHA512 9d2c0d3a0d8f6c31ba4fabe48f801910f886fde43dc198dc4213708d6967ed5e040a1bb7348aa1cb126577ee508a3ec36fe65256d027d861d6ffb70f6383967a diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.10.1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.10.1-r1.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.10.1.ebuild rename to sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.10.1-r1.ebuild index 8aa5f19b3d9..15453a09b46 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.10.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.10.1-r1.ebuild @@ -21,7 +21,7 @@ else https://curl.se/download/${P}.tar.xz verify-sig? ( https://curl.se/download/${P}.tar.xz.asc ) " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi LICENSE="BSD curl ISC test? ( BSD-4 )" @@ -112,7 +112,7 @@ RDEPEND=" >=dev-libs/openssl-0.9.7:=[sslv3(-)=,static-libs?,${MULTILIB_USEDEP}] ) rustls? ( - >=net-libs/rustls-ffi-0.13.0:=[${MULTILIB_USEDEP}] + >=net-libs/rustls-ffi-0.14.0:=[${MULTILIB_USEDEP}] ) ) zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.11.0.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.11.0.ebuild new file mode 100644 index 00000000000..35717336263 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.11.0.ebuild @@ -0,0 +1,390 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintainers should subscribe to the 'curl-distros' ML for backports etc +# https://daniel.haxx.se/blog/2024/03/25/curl-distro-report/ +# https://lists.haxx.se/listinfo/curl-distros + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/danielstenberg.asc +inherit autotools multilib-minimal multiprocessing prefix toolchain-funcs verify-sig + +DESCRIPTION="A Client that groks URLs" +HOMEPAGE="https://curl.se/" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/curl/curl.git" +else + SRC_URI=" + https://curl.se/download/${P}.tar.xz + verify-sig? ( https://curl.se/download/${P}.tar.xz.asc ) + " + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +fi + +LICENSE="BSD curl ISC test? ( BSD-4 )" +SLOT="0" +IUSE="+adns +alt-svc brotli debug +ftp gnutls gopher +hsts +http2 +http3 idn +imap kerberos ldap mbedtls +openssl +pop3" +IUSE+=" +psl +progress-meter +quic rtmp rustls samba +smtp ssh ssl sslv3 static-libs test telnet +tftp +websockets zstd" +# These select the default tls implementation / which quic impl to use +IUSE+=" +curl_quic_openssl curl_quic_ngtcp2 curl_ssl_gnutls curl_ssl_mbedtls +curl_ssl_openssl curl_ssl_rustls" +RESTRICT="!test? ( test )" + +# Only one default ssl / quic provider can be enabled +# The default provider needs its USE satisfied +# HTTP/3 and MultiSSL are mutually exclusive; it's not clear if MultiSSL offers any benefit at all in the modern day. +# https://github.com/curl/curl/commit/65ece771f4602107d9cdd339dff4b420280a2c2e +REQUIRED_USE=" + quic? ( + ^^ ( + curl_quic_openssl + curl_quic_ngtcp2 + ) + http3 + ssl + ) + ssl? ( + ^^ ( + curl_ssl_gnutls + curl_ssl_mbedtls + curl_ssl_openssl + curl_ssl_rustls + ) + ) + curl_quic_openssl? ( + curl_ssl_openssl + quic + !gnutls + !mbedtls + !rustls + ) + curl_quic_ngtcp2? ( + curl_ssl_gnutls + quic + !mbedtls + !openssl + !rustls + ) + curl_ssl_gnutls? ( gnutls ) + curl_ssl_mbedtls? ( mbedtls ) + curl_ssl_openssl? ( openssl ) + curl_ssl_rustls? ( rustls ) + http3? ( alt-svc quic ) +" + +# cURL's docs and CI/CD are great resources for confirming supported versions +# particulary for fast-moving targets like HTTP/2 and TCP/2 e.g.: +# - https://github.com/curl/curl/blob/master/docs/INTERNALS.md (core dependencies + minimum versions) +# - https://github.com/curl/curl/blob/master/docs/HTTP3.md (example of a feature that moves quickly) +# - https://github.com/curl/curl/blob/master/.github/workflows/http3-linux.yml (CI/CD for TCP/2) +# However 'supported' vs 'works' are two entirely different things; be sane but +# don't be afraid to require a later version. +# ngtcp2 = https://bugs.gentoo.org/912029 - can only build with one tls backend at a time. +RDEPEND=" + >=sys-libs/zlib-1.1.4[${MULTILIB_USEDEP}] + adns? ( >=net-dns/c-ares-1.16.0:=[${MULTILIB_USEDEP}] ) + brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] ) + http2? ( >=net-libs/nghttp2-1.15.0:=[${MULTILIB_USEDEP}] ) + http3? ( >=net-libs/nghttp3-1.1.0[${MULTILIB_USEDEP}] ) + idn? ( >=net-dns/libidn2-2.0.0:=[static-libs?,${MULTILIB_USEDEP}] ) + kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] ) + ldap? ( >=net-nds/openldap-2.0.0:=[static-libs?,${MULTILIB_USEDEP}] ) + psl? ( net-libs/libpsl[${MULTILIB_USEDEP}] ) + quic? ( + curl_quic_openssl? ( >=dev-libs/openssl-3.3.0:=[quic,${MULTILIB_USEDEP}] ) + curl_quic_ngtcp2? ( >=net-libs/ngtcp2-1.2.0[gnutls,ssl,-openssl,${MULTILIB_USEDEP}] ) + ) + rtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] ) + ssh? ( >=net-libs/libssh2-1.0.0[${MULTILIB_USEDEP}] ) + ssl? ( + gnutls? ( + app-misc/ca-certificates + >=net-libs/gnutls-3.1.10:=[static-libs?,${MULTILIB_USEDEP}] + dev-libs/nettle:=[${MULTILIB_USEDEP}] + ) + mbedtls? ( + app-misc/ca-certificates + net-libs/mbedtls:=[${MULTILIB_USEDEP}] + ) + openssl? ( + >=dev-libs/openssl-0.9.7:=[sslv3(-)=,static-libs?,${MULTILIB_USEDEP}] + ) + rustls? ( + >=net-libs/rustls-ffi-0.14.0:=[${MULTILIB_USEDEP}] + ) + ) + zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) +" + +DEPEND="${RDEPEND}" + +BDEPEND=" + dev-lang/perl + virtual/pkgconfig + test? ( + sys-apps/diffutils + http2? ( >=net-libs/nghttp2-1.15.0:=[utils,${MULTILIB_USEDEP}] ) + http3? ( net-libs/nghttp2:=[utils,${MULTILIB_USEDEP}] ) + ) + verify-sig? ( sec-keys/openpgp-keys-danielstenberg ) +" + +DOCS=( README docs/{FEATURES.md,INTERNALS.md,FAQ,BUGS.md,CONTRIBUTE.md} ) + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/curl/curlbuild.h +) + +MULTILIB_CHOST_TOOLS=( + /usr/bin/curl-config +) + +QA_CONFIG_IMPL_DECL_SKIP=( + __builtin_available + closesocket + CloseSocket + getpass_r + ioctlsocket + IoctlSocket + mach_absolute_time + setmode + _fseeki64 + # custom AC_LINK_IFELSE code fails to link even without -Werror + OSSL_QUIC_client_method +) + +PATCHES=( + "${FILESDIR}/${PN}-prefix-3.patch" + "${FILESDIR}/${PN}-respect-cflags-3.patch" + "${FILESDIR}/${P}-cmdline-ech-docs.patch" + "${FILESDIR}/${P}-curl-libssh-ipv6-brackets.patch" + "${FILESDIR}/${P}-mbedtls-global-init.patch" + "${FILESDIR}/${P}-setopt-http_content_decoding.patch" + "${FILESDIR}/${P}-cookie-case-sensitive.patch" + "${FILESDIR}/${P}-duphandle-init-netrc.patch" + "${FILESDIR}/${P}-netrc-large-file.patch" +) + +src_prepare() { + default + + eprefixify curl-config.in + eautoreconf +} + +multilib_src_configure() { + # We make use of the fact that later flags override earlier ones + # So start with all ssl providers off until proven otherwise + # TODO: in the future, we may want to add wolfssl (https://www.wolfssl.com/) + local myconf=() + + myconf+=( --without-ca-fallback --with-ca-bundle="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt ) + if use ssl; then + myconf+=( --without-gnutls --without-mbedtls --without-rustls ) + + if use gnutls; then + multilib_is_native_abi && einfo "SSL provided by gnutls" + myconf+=( --with-gnutls ) + fi + if use mbedtls; then + multilib_is_native_abi && einfo "SSL provided by mbedtls" + myconf+=( --with-mbedtls ) + fi + if use openssl; then + multilib_is_native_abi && einfo "SSL provided by openssl" + myconf+=( --with-ssl --with-ca-path="${EPREFIX}"/etc/ssl/certs ) + fi + if use rustls; then + multilib_is_native_abi && einfo "SSL provided by rustls" + myconf+=( --with-rustls ) + fi + if use curl_ssl_gnutls; then + multilib_is_native_abi && einfo "Default SSL provided by gnutls" + myconf+=( --with-default-ssl-backend=gnutls ) + elif use curl_ssl_mbedtls; then + multilib_is_native_abi && einfo "Default SSL provided by mbedtls" + myconf+=( --with-default-ssl-backend=mbedtls ) + elif use curl_ssl_openssl; then + multilib_is_native_abi && einfo "Default SSL provided by openssl" + myconf+=( --with-default-ssl-backend=openssl ) + elif use curl_ssl_rustls; then + multilib_is_native_abi && einfo "Default SSL provided by rustls" + myconf+=( --with-default-ssl-backend=rustls ) + else + eerror "We can't be here because of REQUIRED_USE." + die "Please file a bug, hit impossible condition w/ USE=ssl handling." + fi + + else + myconf+=( --without-ssl ) + einfo "SSL disabled" + fi + + # These configuration options are organized alphabetically + # within each category. This should make it easier if we + # ever decide to make any of them contingent on USE flags: + # 1) protocols first. To see them all do + # 'grep SUPPORT_PROTOCOLS configure.ac' + # 2) --enable/disable options second. + # 'grep -- --enable configure | grep Check | awk '{ print $4 }' | sort + # 3) --with/without options third. + # grep -- --with configure | grep Check | awk '{ print $4 }' | sort + + myconf+=( + $(use_enable alt-svc) + --enable-basic-auth + --enable-bearer-auth + --enable-digest-auth + --enable-kerberos-auth + --enable-negotiate-auth + --enable-aws + --enable-dict + --disable-ech + --enable-file + $(use_enable ftp) + $(use_enable gopher) + $(use_enable hsts) + --enable-http + $(use_enable imap) + $(use_enable ldap) + $(use_enable ldap ldaps) + --enable-ntlm + $(use_enable pop3) + --enable-rt + --enable-rtsp + $(use_enable samba smb) + $(use_with ssh libssh2) + $(use_enable smtp) + $(use_enable telnet) + $(use_enable tftp) + --enable-tls-srp + $(use_enable adns ares) + --enable-cookies + --enable-dateparse + --enable-dnsshuffle + --enable-doh + --enable-symbol-hiding + --enable-http-auth + --enable-ipv6 + --enable-largefile + --enable-manual + --enable-mime + --enable-netrc + $(use_enable progress-meter) + --enable-proxy + --enable-socketpair + --disable-sspi + $(use_enable static-libs static) + --enable-pthreads + --enable-threaded-resolver + --disable-versioned-symbols + --without-amissl + --without-bearssl + $(use_with brotli) + --with-fish-functions-dir="${EPREFIX}"/usr/share/fish/vendor_completions.d + $(use_with http2 nghttp2) + --without-hyper + $(use_with idn libidn2) + $(use_with kerberos gssapi "${EPREFIX}"/usr) + --without-libgsasl + $(use_with psl libpsl) + --without-msh3 + $(use_with http3 nghttp3) + $(use_with curl_quic_ngtcp2 ngtcp2) + $(use_with curl_quic_openssl openssl-quic) + --without-quiche + $(use_with rtmp librtmp) + --without-schannel + --without-secure-transport + --without-test-caddy + --without-test-httpd + --without-test-nghttpx + $(use_enable websockets) + --without-winidn + --without-wolfssl + --with-zlib + $(use_with zstd) + --with-zsh-functions-dir="${EPREFIX}"/usr/share/zsh/site-functions + ) + + if use debug; then + myconf+=( + --enable-debug + ) + fi + + if use test && multilib_is_native_abi && ( use http2 || use http3 ); then + myconf+=( + --with-test-nghttpx="${BROOT}/usr/bin/nghttpx" + ) + fi + + if [[ ${CHOST} == *mingw* ]] ; then + myconf+=( + --disable-pthreads + ) + fi + + ECONF_SOURCE="${S}" econf "${myconf[@]}" + + if ! multilib_is_native_abi; then + # Avoid building the client (we just want libcurl for multilib) + sed -i -e '/SUBDIRS/s:src::' Makefile || die + sed -i -e '/SUBDIRS/s:scripts::' Makefile || die + fi + +} + +multilib_src_compile() { + default + + if multilib_is_native_abi; then + # Shell completions + ! tc-is-cross-compiler && emake -C scripts + fi +} + +# There is also a pytest harness that tests for bugs in some very specific +# situations; we can rely on upstream for this rather than adding additional test deps. +multilib_src_test() { + # See https://github.com/curl/curl/blob/master/tests/runtests.pl#L5721 + # -n: no valgrind (unreliable in sandbox and doesn't work correctly on all arches) + # -v: verbose + # -a: keep going on failure (so we see everything that breaks, not just 1st test) + # -k: keep test files after completion + # -am: automake style TAP output + # -p: print logs if test fails + # Note: if needed, we can skip specific tests. See e.g. Fedora's packaging + # or just read https://github.com/curl/curl/tree/master/tests#run. + # Note: we don't run the testsuite for cross-compilation. + # Upstream recommend 7*nproc as a starting point for parallel tests, but + # this ends up breaking when nproc is huge (like -j80). + # The network sandbox causes tests 241 and 1083 to fail; these are typically skipped + # as most gentoo users don't have an 'ip6-localhost' + multilib_is_native_abi && emake test TFLAGS="-n -v -a -k -am -p -j$((2*$(makeopts_jobs))) !241 !1083" +} + +multilib_src_install() { + emake DESTDIR="${D}" install + + if multilib_is_native_abi; then + # Shell completions + ! tc-is-cross-compiler && emake -C scripts DESTDIR="${D}" install + fi +} + +multilib_src_install_all() { + einstalldocs + find "${ED}" -type f -name '*.la' -delete || die + rm -rf "${ED}"/etc/ || die +} + +pkg_postinst() { + if use debug; then + ewarn "USE=debug has been selected, enabling debug codepaths and making cURL extra verbose." + ewarn "Use this _only_ for testing. Debug builds should _not_ be used in anger." + ewarn "hic sunt dracones; you have been warned." + fi +} diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.8.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.8.0-r1.ebuild index 485b1a721f0..71a852bab33 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.8.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.8.0-r1.ebuild @@ -21,7 +21,7 @@ else https://curl.se/download/${P}.tar.xz verify-sig? ( https://curl.se/download/${P}.tar.xz.asc ) " - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi LICENSE="BSD curl ISC test? ( BSD-4 )" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.9.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.9.1-r1.ebuild index 8e993f5f023..6f36295d739 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.9.1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.9.1-r1.ebuild @@ -21,7 +21,7 @@ else https://curl.se/download/${P}.tar.xz verify-sig? ( https://curl.se/download/${P}.tar.xz.asc ) " - KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~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 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi LICENSE="BSD curl ISC test? ( BSD-4 )" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-9999.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-9999.ebuild index 8aa5f19b3d9..09179eadd2f 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-9999.ebuild @@ -112,7 +112,7 @@ RDEPEND=" >=dev-libs/openssl-0.9.7:=[sslv3(-)=,static-libs?,${MULTILIB_USEDEP}] ) rustls? ( - >=net-libs/rustls-ffi-0.13.0:=[${MULTILIB_USEDEP}] + >=net-libs/rustls-ffi-0.14.0:=[${MULTILIB_USEDEP}] ) ) zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) @@ -156,8 +156,8 @@ QA_CONFIG_IMPL_DECL_SKIP=( ) PATCHES=( - "${FILESDIR}"/${PN}-prefix-2.patch - "${FILESDIR}"/${PN}-respect-cflags-3.patch + "${FILESDIR}/${PN}-prefix-3.patch" + "${FILESDIR}/${PN}-respect-cflags-3.patch" ) src_prepare() { diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.11.0-cmdline-ech-docs.patch b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.11.0-cmdline-ech-docs.patch new file mode 100644 index 00000000000..e6cd10937b0 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.11.0-cmdline-ech-docs.patch @@ -0,0 +1,59 @@ +https://github.com/curl/curl/commit/f4ee7bafda8d451255e935a3c585220dd3cf58c4 +From: Daniel Stenberg +Date: Thu, 7 Nov 2024 23:21:14 +0100 +Subject: [PATCH] cmdline/ech.md: formatting cleanups + +Reported-by: Samuel Henrique +Fixes #15506 +Closes #15517 +--- a/docs/cmdline-opts/ech.md ++++ b/docs/cmdline-opts/ech.md +@@ -20,35 +20,33 @@ Specifies how to do ECH (Encrypted Client Hello). + + The values allowed for \ can be: + +-## "false" (default) ++## `false` + +-Do not attempt ECH ++Do not attempt ECH. The is the default. + +-## "grease" ++## `grease` + + Send a GREASE ECH extension + +-## "true" ++## `true` + + Attempt ECH if possible, but do not fail if ECH is not attempted. + (The connection fails if ECH is attempted but fails.) + +-## "hard" ++## `hard` + +-Attempt ECH and fail if that is not possible. +-ECH only works with TLS 1.3 and also requires using +-DoH or providing an ECHConfigList on the command line. ++Attempt ECH and fail if that is not possible. ECH only works with TLS 1.3 and ++also requires using DoH or providing an ECHConfigList on the command line. + +-## "ecl:" ++## `ecl:` + + A base64 encoded ECHConfigList that is used for ECH. + +-## "pn:" ++## `pn:` + +-A name to use to over-ride the `public_name` field of an ECHConfigList +-(only available with OpenSSL TLS support) ++A name to use to over-ride the `public_name` field of an ECHConfigList (only ++available with OpenSSL TLS support) + +-## Errors ++## + +-Most errors cause error +-*CURLE_ECH_REQUIRED* (101). ++Most ECH related errors cause error *CURLE_ECH_REQUIRED* (101). diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.11.0-cookie-case-sensitive.patch b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.11.0-cookie-case-sensitive.patch new file mode 100644 index 00000000000..d906aab7e90 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.11.0-cookie-case-sensitive.patch @@ -0,0 +1,56 @@ +https://github.com/curl/curl/commit/9919149aef67014150e2a1c75a7aa2c79204e30d +From: Daniel Stenberg +Date: Wed, 6 Nov 2024 11:26:25 +0100 +Subject: [PATCH] cookie: treat cookie name case sensitively + +Extend test 31 to verify + +Reported-by: delogicsreal on github +Fixes #15492 +Closes #15493 +--- a/lib/cookie.c ++++ b/lib/cookie.c +@@ -989,7 +989,7 @@ replace_existing(struct Curl_easy *data, + size_t myhash = cookiehash(co->domain); + for(n = Curl_llist_head(&ci->cookielist[myhash]); n; n = Curl_node_next(n)) { + struct Cookie *clist = Curl_node_elem(n); +- if(strcasecompare(clist->name, co->name)) { ++ if(!strcmp(clist->name, co->name)) { + /* the names are identical */ + bool matching_domains = FALSE; + +@@ -1029,7 +1029,7 @@ replace_existing(struct Curl_easy *data, + } + } + +- if(!replace_n && strcasecompare(clist->name, co->name)) { ++ if(!replace_n && !strcmp(clist->name, co->name)) { + /* the names are identical */ + + if(clist->domain && co->domain) { +--- a/tests/data/test31 ++++ b/tests/data/test31 +@@ -26,6 +26,7 @@ Set-Cookie: blankdomain=sure; domain=; path=/ + %if !hyper + Set-Cookie: foobar=name; domain=anything.com; path=/ ; secure + Set-Cookie:ismatch=this ; domain=test31.curl; path=/silly/ ++Set-Cookie:ISMATCH=this ; domain=test31.curl; path=/silly/ + Set-Cookie: overwrite=this ; domain=test31.curl; path=/overwrite/ + Set-Cookie: overwrite=this2 ; domain=test31.curl; path=/overwrite + Set-Cookie: sec1value=secure1 ; domain=test31.curl; path=/secure1/ ; secure +@@ -75,6 +76,7 @@ Set-Cookie: securewithspace=after ; secure = + %else + Set-Cookie: foobar=name; domain=anything.com; path=/ ; secure + Set-Cookie: ismatch=this ; domain=test31.curl; path=/silly/ ++Set-Cookie:ISMATCH=this ; domain=test31.curl; path=/silly/ + Set-Cookie: overwrite=this ; domain=test31.curl; path=/overwrite/ + Set-Cookie: overwrite=this2 ; domain=test31.curl; path=/overwrite + Set-Cookie: sec1value=secure1 ; domain=test31.curl; path=/secure1/ ; secure +@@ -181,6 +183,7 @@ test31.curl FALSE /we/want/ FALSE 2118138987 nodomain value + #HttpOnly_.test31.curl TRUE /p2/ FALSE 0 httpo2 value2 + #HttpOnly_.test31.curl TRUE /p1/ FALSE 0 httpo1 value1 + .test31.curl TRUE /overwrite FALSE 0 overwrite this2 ++.test31.curl TRUE /silly/ FALSE 0 ISMATCH this + .test31.curl TRUE /silly/ FALSE 0 ismatch this + test31.curl FALSE / FALSE 0 blankdomain sure + diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.11.0-curl-libssh-ipv6-brackets.patch b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.11.0-curl-libssh-ipv6-brackets.patch new file mode 100644 index 00000000000..6e1ecc0dd09 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.11.0-curl-libssh-ipv6-brackets.patch @@ -0,0 +1,26 @@ +https://github.com/curl/curl/commit/93c65c00e52c4c8cdc09b2d9194ce63763c7349e +From: Daniel Stenberg +Date: Fri, 8 Nov 2024 16:31:41 +0100 +Subject: [PATCH] libssh: when using IPv6 numerical address, add brackets + +Reported-by: henrikjehgmti on github +Fixes #15522 +Closes #15524 +--- a/lib/vssh/libssh.c ++++ b/lib/vssh/libssh.c +@@ -2191,7 +2191,14 @@ static CURLcode myssh_connect(struct Curl_easy *data, bool *done) + return CURLE_FAILED_INIT; + } + +- rc = ssh_options_set(ssh->ssh_session, SSH_OPTIONS_HOST, conn->host.name); ++ if(conn->bits.ipv6_ip) { ++ char ipv6[MAX_IPADR_LEN]; ++ msnprintf(ipv6, sizeof(ipv6), "[%s]", conn->host.name); ++ rc = ssh_options_set(ssh->ssh_session, SSH_OPTIONS_HOST, ipv6); ++ } ++ else ++ rc = ssh_options_set(ssh->ssh_session, SSH_OPTIONS_HOST, conn->host.name); ++ + if(rc != SSH_OK) { + failf(data, "Could not set remote host"); + return CURLE_FAILED_INIT; diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.11.0-duphandle-init-netrc.patch b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.11.0-duphandle-init-netrc.patch new file mode 100644 index 00000000000..4a3e82a477f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.11.0-duphandle-init-netrc.patch @@ -0,0 +1,195 @@ +https://github.com/curl/curl/commit/f5c616930b5cf148b1b2632da4f5963ff48bdf88 +From: Daniel Stenberg +Date: Thu, 7 Nov 2024 08:52:38 +0100 +Subject: [PATCH] duphandle: also init netrc + +The netrc init was only done in the Curl_open, meaning that a duplicated +handle would not get inited properly. + +Added test 2309 to verify. It does netrc auth with a duplicated handle. + +Regression from 3b43a05e000aa8f65bda513f733a + +Reported-by: tranzystorekk on github +Fixes #15496 +Closes #15503 +--- a/lib/easy.c ++++ b/lib/easy.c +@@ -940,6 +940,7 @@ CURL *curl_easy_duphandle(CURL *d) + goto fail; + + Curl_dyn_init(&outcurl->state.headerb, CURL_MAX_HTTP_HEADER); ++ Curl_netrc_init(&outcurl->state.netrc); + + /* the connection pool is setup on demand */ + outcurl->state.lastconnect_id = -1; +--- a/tests/data/Makefile.am ++++ b/tests/data/Makefile.am +@@ -255,7 +255,7 @@ test2100 \ + test2200 test2201 test2202 test2203 test2204 test2205 \ + \ + test2300 test2301 test2302 test2303 test2304 test2305 test2306 test2307 \ +-test2308 \ ++test2308 test2309 \ + \ + test2400 test2401 test2402 test2403 test2404 test2405 test2406 \ + \ +--- /dev/null ++++ b/tests/data/test2309 +@@ -0,0 +1,66 @@ ++ ++ ++ ++netrc ++HTTP ++ ++ ++# ++# Server-side ++ ++ ++HTTP/1.1 200 OK ++Date: Tue, 09 Nov 2010 14:49:00 GMT ++Server: test-server/fake ++Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT ++ETag: "21025-dc7-39462498" ++Accept-Ranges: bytes ++Content-Length: 6 ++Connection: close ++Content-Type: text/html ++Funny-head: yesyes ++ ++-foo- ++ ++ ++ ++# ++# Client-side ++ ++ ++http ++ ++ ++proxy ++ ++ ++# Reproducing issue 15496 ++ ++HTTP with .netrc using duped easy handle ++ ++ ++lib%TESTNUMBER ++ ++ ++http://github.com %LOGDIR/netrc%TESTNUMBER http://%HOSTIP:%HTTPPORT/ ++ ++ ++ ++machine github.com ++ ++login daniel ++password $y$j9T$WUVjiVvDbRAWafDLs6cab1$01NX.oaZKf5lw8MR2Nk9Yaxv4CqbE0IaDF.GpGxPul1 ++ ++ ++ ++ ++ ++GET http://github.com/ HTTP/1.1 ++Host: github.com ++Authorization: Basic %b64[daniel:$y$j9T$WUVjiVvDbRAWafDLs6cab1$01NX.oaZKf5lw8MR2Nk9Yaxv4CqbE0IaDF.GpGxPul1]b64% ++Accept: */* ++Proxy-Connection: Keep-Alive ++ ++ ++ ++ +--- a/tests/libtest/Makefile.inc ++++ b/tests/libtest/Makefile.inc +@@ -77,7 +77,7 @@ LIBTESTPROGS = libauthretry libntlmconnect libprereq \ + lib1945 lib1946 lib1947 lib1948 lib1955 lib1956 lib1957 lib1958 lib1959 \ + lib1960 lib1964 \ + lib1970 lib1971 lib1972 lib1973 lib1974 lib1975 \ +- lib2301 lib2302 lib2304 lib2305 lib2306 lib2308 \ ++ lib2301 lib2302 lib2304 lib2305 lib2306 lib2308 lib2309 \ + lib2402 lib2404 lib2405 \ + lib2502 \ + lib3010 lib3025 lib3026 lib3027 \ +@@ -683,6 +683,9 @@ lib2306_LDADD = $(TESTUTIL_LIBS) + lib2308_SOURCES = lib2308.c $(SUPPORTFILES) + lib2308_LDADD = $(TESTUTIL_LIBS) + ++lib2309_SOURCES = lib2309.c $(SUPPORTFILES) ++lib2309_LDADD = $(TESTUTIL_LIBS) ++ + lib2402_SOURCES = lib2402.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) + lib2402_LDADD = $(TESTUTIL_LIBS) + +--- /dev/null ++++ b/tests/libtest/lib2309.c +@@ -0,0 +1,66 @@ ++/*************************************************************************** ++ * _ _ ____ _ ++ * Project ___| | | | _ \| | ++ * / __| | | | |_) | | ++ * | (__| |_| | _ <| |___ ++ * \___|\___/|_| \_\_____| ++ * ++ * Copyright (C) Daniel Stenberg, , et al. ++ * ++ * This software is licensed as described in the file COPYING, which ++ * you should have received as part of this distribution. The terms ++ * are also available at https://curl.se/docs/copyright.html. ++ * ++ * You may opt to use, copy, modify, merge, publish, distribute and/or sell ++ * copies of the Software, and permit persons to whom the Software is ++ * furnished to do so, under the terms of the COPYING file. ++ * ++ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY ++ * KIND, either express or implied. ++ * ++ * SPDX-License-Identifier: curl ++ * ++ ***************************************************************************/ ++ ++#include "test.h" ++#include "testtrace.h" ++ ++#include ++ ++static size_t cb_ignore(char *buffer, size_t size, size_t nmemb, void *userp) ++{ ++ (void)buffer; ++ (void)size; ++ (void)nmemb; ++ (void)userp; ++ return CURL_WRITEFUNC_ERROR; ++} ++ ++CURLcode test(char *URL) ++{ ++ CURL *curl; ++ CURL *curldupe; ++ CURLcode res = CURLE_OK; ++ ++ global_init(CURL_GLOBAL_ALL); ++ curl = curl_easy_init(); ++ if(curl) { ++ curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, cb_ignore); ++ curl_easy_setopt(curl, CURLOPT_URL, URL); ++ curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); ++ curl_easy_setopt(curl, CURLOPT_PROXY, libtest_arg3); ++ curl_easy_setopt(curl, CURLOPT_NETRC, (long)CURL_NETRC_REQUIRED); ++ curl_easy_setopt(curl, CURLOPT_NETRC_FILE, libtest_arg2); ++ ++ curldupe = curl_easy_duphandle(curl); ++ if(curldupe) { ++ res = curl_easy_perform(curldupe); ++ printf("Returned %d, should be %d.\n", res, CURLE_WRITE_ERROR); ++ fflush(stdout); ++ curl_easy_cleanup(curldupe); ++ } ++ curl_easy_cleanup(curl); ++ } ++ curl_global_cleanup(); ++ return CURLE_OK; ++} diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.11.0-mbedtls-global-init.patch b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.11.0-mbedtls-global-init.patch new file mode 100644 index 00000000000..2c60da8ca6c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.11.0-mbedtls-global-init.patch @@ -0,0 +1,71 @@ +https://github.com/curl/curl/commit/bcf8a848818ca0ca8d292c51c0ddeb93fa17fe62 +From: Stefan Eissing +Date: Thu, 7 Nov 2024 10:26:03 +0100 +Subject: [PATCH] mbedtls: call psa_crypt_init() in global init + +Run mbedtls' psa_crypt_init() in the general global init, optionally +protected by mbedtls locks when available. + +CI: when building mbedtls, enabled thread safety + +Reported-by: wxiaoguang on github +Fixes #15500 +Closes #15505 +--- a/lib/vtls/mbedtls.c ++++ b/lib/vtls/mbedtls.c +@@ -54,7 +54,7 @@ + # ifdef MBEDTLS_DEBUG + # include + # endif +-#endif ++#endif /* MBEDTLS_VERSION_MAJOR >= 2 */ + + #include "cipher_suite.h" + #include "strcase.h" +@@ -122,7 +122,7 @@ struct mbed_ssl_backend_data { + #define HAS_SESSION_TICKETS + #endif + +-#if defined(THREADING_SUPPORT) ++#ifdef THREADING_SUPPORT + static mbedtls_entropy_context ts_entropy; + + static int entropy_init_initialized = 0; +@@ -585,16 +585,6 @@ mbed_connect_step1(struct Curl_cfilter *cf, struct Curl_easy *data) + return CURLE_NOT_BUILT_IN; + } + +-#ifdef TLS13_SUPPORT +- ret = psa_crypto_init(); +- if(ret != PSA_SUCCESS) { +- mbedtls_strerror(ret, errorbuf, sizeof(errorbuf)); +- failf(data, "mbedTLS psa_crypto_init returned (-0x%04X) %s", +- -ret, errorbuf); +- return CURLE_SSL_CONNECT_ERROR; +- } +-#endif /* TLS13_SUPPORT */ +- + #ifdef THREADING_SUPPORT + mbedtls_ctr_drbg_init(&backend->ctr_drbg); + +@@ -1571,6 +1561,20 @@ static int mbedtls_init(void) + #ifdef THREADING_SUPPORT + entropy_init_mutex(&ts_entropy); + #endif ++#ifdef TLS13_SUPPORT ++ { ++ int ret; ++#ifdef THREADING_SUPPORT ++ Curl_mbedtlsthreadlock_lock_function(0); ++#endif ++ ret = psa_crypto_init(); ++#ifdef THREADING_SUPPORT ++ Curl_mbedtlsthreadlock_unlock_function(0); ++#endif ++ if(ret != PSA_SUCCESS) ++ return 0; ++ } ++#endif /* TLS13_SUPPORT */ + return 1; + } + diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.11.0-netrc-large-file.patch b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.11.0-netrc-large-file.patch new file mode 100644 index 00000000000..ba0e4514064 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.11.0-netrc-large-file.patch @@ -0,0 +1,25 @@ +https://github.com/curl/curl/commit/0cdde0fdfbeb8c35420f6d03fa4b77ed73497694 +From: Daniel Stenberg +Date: Thu, 7 Nov 2024 17:03:54 +0100 +Subject: [PATCH] netrc: support large file, longer lines, longer tokens + +Regression from 3b43a05e000aa8f6 (shipped in 8.11.0) + +Reported-by: Moritz +Fixes #15513 +Closes #15514 +--- a/lib/netrc.c ++++ b/lib/netrc.c +@@ -58,9 +58,9 @@ enum found_state { + #define NETRC_FAILED -1 + #define NETRC_SUCCESS 0 + +-#define MAX_NETRC_LINE 4096 +-#define MAX_NETRC_FILE (64*1024) +-#define MAX_NETRC_TOKEN 128 ++#define MAX_NETRC_LINE 16384 ++#define MAX_NETRC_FILE (128*1024) ++#define MAX_NETRC_TOKEN 4096 + + static CURLcode file2memory(const char *filename, struct dynbuf *filebuf) + { diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.11.0-setopt-http_content_decoding.patch b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.11.0-setopt-http_content_decoding.patch new file mode 100644 index 00000000000..68621e85ba0 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.11.0-setopt-http_content_decoding.patch @@ -0,0 +1,20 @@ +https://github.com/curl/curl/commit/878bc429f26c27294787dc59d7b53345d9edc5aa +From: Jesus Malo Poyatos +Date: Thu, 7 Nov 2024 14:00:53 +0100 +Subject: [PATCH] setopt: fix CURLOPT_HTTP_CONTENT_DECODING + +Regression from 30da1f5974d34841b30c4f (shipped in 8.11.0) + +Fixes #15511 +Closes #15510 +--- a/lib/setopt.c ++++ b/lib/setopt.c +@@ -1146,7 +1146,7 @@ static CURLcode setopt_long(struct Curl_easy *data, CURLoption option, + /* + * raw data passed to the application when content encoding is used + */ +- data->set.http_ce_skip = enabled; ++ data->set.http_ce_skip = !enabled; /* reversed */ + break; + + #if !defined(CURL_DISABLE_FTP) || defined(USE_SSH) diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-prefix-3.patch b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-prefix-3.patch new file mode 100644 index 00000000000..cebca0bbfa9 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-prefix-3.patch @@ -0,0 +1,34 @@ +From 6927ecf38cf3372d539c88479e97707d855de07e Mon Sep 17 00:00:00 2001 +From: Matt Jolly +Date: Sun, 10 Nov 2024 08:51:02 +1000 +Subject: [PATCH] Update prefix patch for 8.11.0 + +--- + curl-config.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/curl-config.in b/curl-config.in +index 2dc40ed..1876d6c 100644 +--- a/curl-config.in ++++ b/curl-config.in +@@ -147,7 +147,7 @@ while test "$#" -gt 0; do + else + CPPFLAG_CURL_STATICLIB='' + fi +- if test "X@includedir@" = 'X/usr/include'; then ++ if test "X@includedir@" = "X@GENTOO_PORTAGE_EPREFIX@/usr/include"; then + echo "${CPPFLAG_CURL_STATICLIB}" + else + echo "${CPPFLAG_CURL_STATICLIB}-I@includedir@" +@@ -155,7 +155,7 @@ while test "$#" -gt 0; do + ;; + + --libs) +- if test "X@libdir@" != 'X/usr/lib' -a "X@libdir@" != 'X/usr/lib64'; then ++ if test "X@libdir@" != "X@GENTOO_PORTAGE_EPREFIX@/usr/lib" -a "X@libdir@" != "X@GENTOO_PORTAGE_EPREFIX@/usr/lib64"; then + CURLLIBDIR="-L@libdir@ " + else + CURLLIBDIR='' +-- +2.47.0 + diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/Manifest b/sdk_container/src/third_party/portage-stable/net-misc/openssh/Manifest index a99ea426fb9..6417c6188e0 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/openssh/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-misc/openssh/Manifest @@ -1,6 +1,6 @@ -DIST openssh-9.6p1.tar.gz 1857862 BLAKE2B dd7f6747fe89f7b386be4faaf7fc43398a9bf439e45608ae61c2126cf8743c64ef7b5af45c75e9007b0bda525f8809261ca0f2fc47ce60177ba769a5324719dd SHA512 0ebf81e39914c3a90d7777a001ec7376a94b37e6024baf3e972c58f0982b7ddef942315f5e01d56c00ff95603b4a20ee561ab918ecc55511df007ac138160509 -DIST openssh-9.6p1.tar.gz.asc 833 BLAKE2B 9363d02f85457aa90069020827306a2f49d8406e32f5ee1d231844648dd2ffa02fa9b7325b8677a11e46a0ba0d9ffc86d9c989435d691a02f5354a956c49f9f9 SHA512 aec5a5bd6ce480a8e5b5879dc55f8186aec90fe61f085aa92ad7d07f324574aa781be09c83b7443a32848d091fd44fb12c1842d49cee77afc351e550ffcc096d DIST openssh-9.7p1.tar.gz 1848766 BLAKE2B 520859fcbdf678808fc8515b64585ab9a90a8055fa869df6fbba3083cb7f73ddb81ed9ea981e131520736a8aed838f85ae68ca63406a410df61039913c5cb48b SHA512 0cafc17d22851605a4a5495a1d82c2b3fbbe6643760aad226dbf2a25b5f49d4375c3172833706ea3cb6c05d5d02a40feb9a7e790eae5c4570dd344a43e94ca55 DIST openssh-9.7p1.tar.gz.asc 833 BLAKE2B a95e952be48bd55a07d0a95a49dc06c326816c67b8b5d40bd3f64c28aa43122253817b8a088e7a3b8a190375ea39f9fc3400b22d035561f9643c1d32b5caef27 SHA512 e028978e4266de9ad513626b13d70249e4166923fc15f38751178e2b3522ff6ebb9a7ca7dc32d1bb42d42fb92adf9903dba1b734bec083010ed7323aadad8baf DIST openssh-9.8p1.tar.gz 1910393 BLAKE2B 3bf983c4ef5358054ed0104cd51d3e0069fbc2b80d8522d0df644d5508ec1d26a67bf061b1b5698d1cdf0d2cbba16b4cdca12a4ce30da24429094576a075e192 SHA512 95dec2f18e58eb47994f3de4430253e0665e185564b65088ca5f4108870e05feddef8cda8d3c0a4b75f18b98cc2c024df0e27de53b48c1a16da8da483cb8292a DIST openssh-9.8p1.tar.gz.asc 833 BLAKE2B 5291e8c03ab9a75acb44285cd7fc010f4a33551f142499624165dac708fc05a6d077df81555aa41037b45f6301e4e5db3161a7a23404473f8a233a877fc55cc3 SHA512 4df1f1be2c6ab7f3aebaedd0a773b0e8c8929abb30cd3415873ad55d012cfa113f792e888e5e772dd468c394aeb7e35d62893a514dbc0ab1a03acd79918657f7 +DIST openssh-9.9p1.tar.gz 1964864 BLAKE2B 817d267e42b8be74a13e0cfd7999bdb4dab6355c7f62c1a4dd89adad310c5fb7fe3f17109ce1a36cd269a3639c1b8f1d18330c615ab3b419253ec027cfa20997 SHA512 3cc0ed97f3e29ecbd882eca79239f02eb5a1606fce4f3119ddc3c5e86128aa3ff12dc85000879fccc87b60e7d651cfe37376607ac66075fede2118deaa685d6d +DIST openssh-9.9p1.tar.gz.asc 833 BLAKE2B 0e19668eb5cadea0e7b06caf2bc2f4cee7e7656a780a128090dcdf2acc25c6e0e0fc7c4c83c95ffcd567cd03941ec772b0f5b273e6f79ff4e440e1d9f22bcdb7 SHA512 916e975c54eb68c0b2f0b0006522b241cbe54c4caa88d31537a6278490c93d9d732c2ab3a080ac084bf75cbdd5402901ec68583cbe7c7cde4a8e40e7a8b78c28 diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/9.9_p1/0001-fix-utmpx-ifdef.patch b/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/9.9_p1/0001-fix-utmpx-ifdef.patch new file mode 100644 index 00000000000..80597517ddf --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/9.9_p1/0001-fix-utmpx-ifdef.patch @@ -0,0 +1,39 @@ +From 27996b32a8b0fe908effc469e5c7d496e40c6671 Mon Sep 17 00:00:00 2001 +Message-ID: <27996b32a8b0fe908effc469e5c7d496e40c6671.1730162536.git.sam@gentoo.org> +From: Christoph Ostarek +Date: Wed, 3 Jul 2024 12:46:59 +0200 +Subject: [PATCH 1/8] fix utmpx ifdef + +02e16ad95fb1f56ab004b01a10aab89f7103c55d did a copy-paste for +utmpx, but forgot to change the ifdef appropriately + +(cherry picked from commit c7fda601186ff28128cfe3eab9c9c0622de096e1) +--- + loginrec.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/loginrec.c b/loginrec.c +index 7460bb2c0..45f13dee8 100644 +--- a/loginrec.c ++++ b/loginrec.c +@@ -723,7 +723,7 @@ set_utmpx_time(struct logininfo *li, struct utmpx *utx) + void + construct_utmpx(struct logininfo *li, struct utmpx *utx) + { +-# ifdef HAVE_ADDR_V6_IN_UTMP ++# ifdef HAVE_ADDR_V6_IN_UTMPX + struct sockaddr_in6 *sa6; + # endif + memset(utx, '\0', sizeof(*utx)); +@@ -769,7 +769,7 @@ construct_utmpx(struct logininfo *li, struct utmpx *utx) + if (li->hostaddr.sa.sa_family == AF_INET) + utx->ut_addr = li->hostaddr.sa_in.sin_addr.s_addr; + # endif +-# ifdef HAVE_ADDR_V6_IN_UTMP ++# ifdef HAVE_ADDR_V6_IN_UTMPX + /* this is just a 128-bit IPv6 address */ + if (li->hostaddr.sa.sa_family == AF_INET6) { + sa6 = ((struct sockaddr_in6 *)&li->hostaddr.sa); +-- +2.47.0 + diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/9.9_p1/0002-build-construct_utmp-when-USE_BTMP-is-set.patch b/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/9.9_p1/0002-build-construct_utmp-when-USE_BTMP-is-set.patch new file mode 100644 index 00000000000..814851b17c7 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/9.9_p1/0002-build-construct_utmp-when-USE_BTMP-is-set.patch @@ -0,0 +1,40 @@ +From c606840894ca805472ddbd4ebad4b0a6f231ccb5 Mon Sep 17 00:00:00 2001 +Message-ID: +In-Reply-To: <27996b32a8b0fe908effc469e5c7d496e40c6671.1730162536.git.sam@gentoo.org> +References: <27996b32a8b0fe908effc469e5c7d496e40c6671.1730162536.git.sam@gentoo.org> +From: Damien Miller +Date: Wed, 25 Sep 2024 11:13:05 +1000 +Subject: [PATCH 2/8] build construct_utmp() when USE_BTMP is set + +Fixes compile error on Void Linux/Musl + +(cherry picked from commit 2c12ae8cf9b0b7549ae097c4123abeda0ee63e5b) +--- + loginrec.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/loginrec.c b/loginrec.c +index 45f13dee8..7b1818b86 100644 +--- a/loginrec.c ++++ b/loginrec.c +@@ -614,7 +614,7 @@ line_abbrevname(char *dst, const char *src, int dstsize) + ** into account. + **/ + +-#if defined(USE_UTMP) || defined (USE_WTMP) || defined (USE_LOGIN) ++#if defined(USE_BTMP) || defined(USE_UTMP) || defined (USE_WTMP) || defined (USE_LOGIN) + + /* build the utmp structure */ + void +@@ -698,7 +698,7 @@ construct_utmp(struct logininfo *li, + } + # endif + } +-#endif /* USE_UTMP || USE_WTMP || USE_LOGIN */ ++#endif /* USE_BTMP || USE_UTMP || USE_WTMP || USE_LOGIN */ + + /** + ** utmpx utility functions +-- +2.47.0 + diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/9.9_p1/0003-gss-serv.c-needs-sys-param.h.patch b/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/9.9_p1/0003-gss-serv.c-needs-sys-param.h.patch new file mode 100644 index 00000000000..cac3a4140f7 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/9.9_p1/0003-gss-serv.c-needs-sys-param.h.patch @@ -0,0 +1,30 @@ +From d1e0cfefc3a0f2d371f280d270e9ebc2188950c6 Mon Sep 17 00:00:00 2001 +Message-ID: +In-Reply-To: <27996b32a8b0fe908effc469e5c7d496e40c6671.1730162536.git.sam@gentoo.org> +References: <27996b32a8b0fe908effc469e5c7d496e40c6671.1730162536.git.sam@gentoo.org> +From: Damien Miller +Date: Wed, 25 Sep 2024 11:15:45 +1000 +Subject: [PATCH 3/8] gss-serv.c needs sys/param.h + +From Void Linux + +(cherry picked from commit ff2cd1dd5711ff88efdf26662d6189d980439a1f) +--- + gss-serv.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/gss-serv.c b/gss-serv.c +index 00e3d118b..025a118f8 100644 +--- a/gss-serv.c ++++ b/gss-serv.c +@@ -29,6 +29,7 @@ + #ifdef GSSAPI + + #include ++#include + + #include + #include +-- +2.47.0 + diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/9.9_p1/0004-upstream-fix-regression-introduced-when-I-switched-t.patch b/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/9.9_p1/0004-upstream-fix-regression-introduced-when-I-switched-t.patch new file mode 100644 index 00000000000..40583d31ca6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/9.9_p1/0004-upstream-fix-regression-introduced-when-I-switched-t.patch @@ -0,0 +1,296 @@ +From dda58ae078f4cba21c3b874e81f1d28121636985 Mon Sep 17 00:00:00 2001 +Message-ID: +In-Reply-To: <27996b32a8b0fe908effc469e5c7d496e40c6671.1730162536.git.sam@gentoo.org> +References: <27996b32a8b0fe908effc469e5c7d496e40c6671.1730162536.git.sam@gentoo.org> +From: "djm@openbsd.org" +Date: Wed, 25 Sep 2024 01:24:04 +0000 +Subject: [PATCH 4/8] upstream: fix regression introduced when I switched the + "Match" + +criteria tokeniser to a more shell-like one. Apparently the old tokeniser +(accidentally?) allowed "Match criteria=argument" as well as the "Match +criteria argument" syntax that we tested for. + +People were using this syntax so this adds back support for +"Match criteria=argument" + +bz3739 ok dtucker + +OpenBSD-Commit-ID: d1eebedb8c902002b75b75debfe1eeea1801f58a +(cherry picked from commit 66878e12a207fa9746dee3e2bdcca29b704cf035) +--- + misc.c | 23 +++++++++++++++++++++- + misc.h | 3 ++- + readconf.c | 28 ++++++++++++++++++++++----- + servconf.c | 57 ++++++++++++++++++++++++++++++++++++++++-------------- + 4 files changed, 89 insertions(+), 22 deletions(-) + +diff --git a/misc.c b/misc.c +index afdf5142e..1b4b55c50 100644 +--- a/misc.c ++++ b/misc.c +@@ -1,4 +1,4 @@ +-/* $OpenBSD: misc.c,v 1.196 2024/06/06 17:15:25 djm Exp $ */ ++/* $OpenBSD: misc.c,v 1.197 2024/09/25 01:24:04 djm Exp $ */ + /* + * Copyright (c) 2000 Markus Friedl. All rights reserved. + * Copyright (c) 2005-2020 Damien Miller. All rights reserved. +@@ -107,6 +107,27 @@ rtrim(char *s) + } + } + ++/* ++ * returns pointer to character after 'prefix' in 's' or otherwise NULL ++ * if the prefix is not present. ++ */ ++const char * ++strprefix(const char *s, const char *prefix, int ignorecase) ++{ ++ size_t prefixlen; ++ ++ if ((prefixlen = strlen(prefix)) == 0) ++ return s; ++ if (ignorecase) { ++ if (strncasecmp(s, prefix, prefixlen) != 0) ++ return NULL; ++ } else { ++ if (strncmp(s, prefix, prefixlen) != 0) ++ return NULL; ++ } ++ return s + prefixlen; ++} ++ + /* set/unset filedescriptor to non-blocking */ + int + set_nonblock(int fd) +diff --git a/misc.h b/misc.h +index 113403896..efecdf1ad 100644 +--- a/misc.h ++++ b/misc.h +@@ -1,4 +1,4 @@ +-/* $OpenBSD: misc.h,v 1.109 2024/06/06 17:15:25 djm Exp $ */ ++/* $OpenBSD: misc.h,v 1.110 2024/09/25 01:24:04 djm Exp $ */ + + /* + * Author: Tatu Ylonen +@@ -56,6 +56,7 @@ struct ForwardOptions { + char *chop(char *); + void rtrim(char *); + void skip_space(char **); ++const char *strprefix(const char *, const char *, int); + char *strdelim(char **); + char *strdelimw(char **); + int set_nonblock(int); +diff --git a/readconf.c b/readconf.c +index 3d9cc6dbb..de42fb6ff 100644 +--- a/readconf.c ++++ b/readconf.c +@@ -1,4 +1,4 @@ +-/* $OpenBSD: readconf.c,v 1.390 2024/09/15 00:57:36 djm Exp $ */ ++/* $OpenBSD: readconf.c,v 1.391 2024/09/25 01:24:04 djm Exp $ */ + /* + * Author: Tatu Ylonen + * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland +@@ -710,7 +710,7 @@ match_cfg_line(Options *options, const char *full_line, int *acp, char ***avp, + struct passwd *pw, const char *host_arg, const char *original_host, + int final_pass, int *want_final_pass, const char *filename, int linenum) + { +- char *arg, *oattrib, *attrib, *cmd, *host, *criteria; ++ char *arg, *oattrib, *attrib = NULL, *cmd, *host, *criteria; + const char *ruser; + int r, this_result, result = 1, attributes = 0, negate; + +@@ -731,7 +731,8 @@ match_cfg_line(Options *options, const char *full_line, int *acp, char ***avp, + + debug2("checking match for '%s' host %s originally %s", + full_line, host, original_host); +- while ((oattrib = attrib = argv_next(acp, avp)) != NULL) { ++ while ((oattrib = argv_next(acp, avp)) != NULL) { ++ attrib = xstrdup(oattrib); + /* Terminate on comment */ + if (*attrib == '#') { + argv_consume(acp); +@@ -777,9 +778,23 @@ match_cfg_line(Options *options, const char *full_line, int *acp, char ***avp, + this_result ? "" : "not ", oattrib); + continue; + } ++ ++ /* Keep this list in sync with below */ ++ if (strprefix(attrib, "host=", 1) != NULL || ++ strprefix(attrib, "originalhost=", 1) != NULL || ++ strprefix(attrib, "user=", 1) != NULL || ++ strprefix(attrib, "localuser=", 1) != NULL || ++ strprefix(attrib, "localnetwork=", 1) != NULL || ++ strprefix(attrib, "tagged=", 1) != NULL || ++ strprefix(attrib, "exec=", 1) != NULL) { ++ arg = strchr(attrib, '='); ++ *(arg++) = '\0'; ++ } else { ++ arg = argv_next(acp, avp); ++ } ++ + /* All other criteria require an argument */ +- if ((arg = argv_next(acp, avp)) == NULL || +- *arg == '\0' || *arg == '#') { ++ if (arg == NULL || *arg == '\0' || *arg == '#') { + error("Missing Match criteria for %s", attrib); + result = -1; + goto out; +@@ -856,6 +871,8 @@ match_cfg_line(Options *options, const char *full_line, int *acp, char ***avp, + criteria == NULL ? "" : criteria, + criteria == NULL ? "" : "\""); + free(criteria); ++ free(attrib); ++ attrib = NULL; + } + if (attributes == 0) { + error("One or more attributes required for Match"); +@@ -865,6 +882,7 @@ match_cfg_line(Options *options, const char *full_line, int *acp, char ***avp, + out: + if (result != -1) + debug2("match %sfound", result ? "" : "not "); ++ free(attrib); + free(host); + return result; + } +diff --git a/servconf.c b/servconf.c +index 89b8413e8..dd774f468 100644 +--- a/servconf.c ++++ b/servconf.c +@@ -1,4 +1,4 @@ +-/* $OpenBSD: servconf.c,v 1.418 2024/09/15 03:09:44 djm Exp $ */ ++/* $OpenBSD: servconf.c,v 1.419 2024/09/25 01:24:04 djm Exp $ */ + /* + * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland + * All rights reserved +@@ -1033,7 +1033,7 @@ match_cfg_line(const char *full_line, int *acp, char ***avp, + int line, struct connection_info *ci) + { + int result = 1, attributes = 0, port; +- char *arg, *attrib; ++ char *arg, *attrib = NULL, *oattrib; + + if (ci == NULL) + debug3("checking syntax for 'Match %s'", full_line); +@@ -1047,7 +1047,8 @@ match_cfg_line(const char *full_line, int *acp, char ***avp, + ci->laddress ? ci->laddress : "(null)", ci->lport); + } + +- while ((attrib = argv_next(acp, avp)) != NULL) { ++ while ((oattrib = argv_next(acp, avp)) != NULL) { ++ attrib = xstrdup(oattrib); + /* Terminate on comment */ + if (*attrib == '#') { + argv_consume(acp); /* mark all arguments consumed */ +@@ -1062,11 +1063,13 @@ match_cfg_line(const char *full_line, int *acp, char ***avp, + *arg != '\0' && *arg != '#')) { + error("'all' cannot be combined with other " + "Match attributes"); +- return -1; ++ result = -1; ++ goto out; + } + if (arg != NULL && *arg == '#') + argv_consume(acp); /* consume remaining args */ +- return 1; ++ result = 1; ++ goto out; + } + /* Criterion "invalid-user" also has no argument */ + if (strcasecmp(attrib, "invalid-user") == 0) { +@@ -1078,11 +1081,26 @@ match_cfg_line(const char *full_line, int *acp, char ***avp, + debug("matched invalid-user at line %d", line); + continue; + } ++ ++ /* Keep this list in sync with below */ ++ if (strprefix(attrib, "user=", 1) != NULL || ++ strprefix(attrib, "group=", 1) != NULL || ++ strprefix(attrib, "host=", 1) != NULL || ++ strprefix(attrib, "address=", 1) != NULL || ++ strprefix(attrib, "localaddress=", 1) != NULL || ++ strprefix(attrib, "localport=", 1) != NULL || ++ strprefix(attrib, "rdomain=", 1) != NULL) { ++ arg = strchr(attrib, '='); ++ *(arg++) = '\0'; ++ } else { ++ arg = argv_next(acp, avp); ++ } ++ + /* All other criteria require an argument */ +- if ((arg = argv_next(acp, avp)) == NULL || +- *arg == '\0' || *arg == '#') { ++ if (arg == NULL || *arg == '\0' || *arg == '#') { + error("Missing Match criteria for %s", attrib); +- return -1; ++ result = -1; ++ goto out; + } + if (strcasecmp(attrib, "user") == 0) { + if (ci == NULL || (ci->test && ci->user == NULL)) { +@@ -1105,7 +1123,8 @@ match_cfg_line(const char *full_line, int *acp, char ***avp, + match_test_missing_fatal("Group", "user"); + switch (match_cfg_line_group(arg, line, ci->user)) { + case -1: +- return -1; ++ result = -1; ++ goto out; + case 0: + result = 0; + } +@@ -1141,7 +1160,8 @@ match_cfg_line(const char *full_line, int *acp, char ***avp, + result = 0; + break; + case -2: +- return -1; ++ result = -1; ++ goto out; + } + } else if (strcasecmp(attrib, "localaddress") == 0){ + if (ci == NULL || (ci->test && ci->laddress == NULL)) { +@@ -1166,13 +1186,15 @@ match_cfg_line(const char *full_line, int *acp, char ***avp, + result = 0; + break; + case -2: +- return -1; ++ result = -1; ++ goto out; + } + } else if (strcasecmp(attrib, "localport") == 0) { + if ((port = a2port(arg)) == -1) { + error("Invalid LocalPort '%s' on Match line", + arg); +- return -1; ++ result = -1; ++ goto out; + } + if (ci == NULL || (ci->test && ci->lport == -1)) { + result = 0; +@@ -1200,16 +1222,21 @@ match_cfg_line(const char *full_line, int *acp, char ***avp, + debug("user %.100s matched 'RDomain %.100s' at " + "line %d", ci->rdomain, arg, line); + } else { +- error("Unsupported Match attribute %s", attrib); +- return -1; ++ error("Unsupported Match attribute %s", oattrib); ++ result = -1; ++ goto out; + } ++ free(attrib); ++ attrib = NULL; + } + if (attributes == 0) { + error("One or more attributes required for Match"); + return -1; + } +- if (ci != NULL) ++ out: ++ if (ci != NULL && result != -1) + debug3("match %sfound", result ? "" : "not "); ++ free(attrib); + return result; + } + +-- +2.47.0 + diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/9.9_p1/0005-upstream-fix-previous-change-to-ssh_config-Match-whi.patch b/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/9.9_p1/0005-upstream-fix-previous-change-to-ssh_config-Match-whi.patch new file mode 100644 index 00000000000..7495780afd4 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/9.9_p1/0005-upstream-fix-previous-change-to-ssh_config-Match-whi.patch @@ -0,0 +1,70 @@ +From 3e95023995e1d0249febab2b804f51b7673e07de Mon Sep 17 00:00:00 2001 +Message-ID: <3e95023995e1d0249febab2b804f51b7673e07de.1730162536.git.sam@gentoo.org> +In-Reply-To: <27996b32a8b0fe908effc469e5c7d496e40c6671.1730162536.git.sam@gentoo.org> +References: <27996b32a8b0fe908effc469e5c7d496e40c6671.1730162536.git.sam@gentoo.org> +From: "djm@openbsd.org" +Date: Thu, 26 Sep 2024 23:55:08 +0000 +Subject: [PATCH 5/8] upstream: fix previous change to ssh_config Match, which + broken on + +negated Matches; spotted by phessler@ ok deraadt@ + +OpenBSD-Commit-ID: b1c6acec66cd5bd1252feff1d02ad7129ced37c7 +(cherry picked from commit 19bcb2d90c6caf14abf386b644fb24eb7afab889) +--- + readconf.c | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/readconf.c b/readconf.c +index de42fb6ff..9f5592698 100644 +--- a/readconf.c ++++ b/readconf.c +@@ -1,4 +1,4 @@ +-/* $OpenBSD: readconf.c,v 1.391 2024/09/25 01:24:04 djm Exp $ */ ++/* $OpenBSD: readconf.c,v 1.392 2024/09/26 23:55:08 djm Exp $ */ + /* + * Author: Tatu Ylonen + * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland +@@ -710,7 +710,7 @@ match_cfg_line(Options *options, const char *full_line, int *acp, char ***avp, + struct passwd *pw, const char *host_arg, const char *original_host, + int final_pass, int *want_final_pass, const char *filename, int linenum) + { +- char *arg, *oattrib, *attrib = NULL, *cmd, *host, *criteria; ++ char *arg, *oattrib = NULL, *attrib = NULL, *cmd, *host, *criteria; + const char *ruser; + int r, this_result, result = 1, attributes = 0, negate; + +@@ -731,8 +731,8 @@ match_cfg_line(Options *options, const char *full_line, int *acp, char ***avp, + + debug2("checking match for '%s' host %s originally %s", + full_line, host, original_host); +- while ((oattrib = argv_next(acp, avp)) != NULL) { +- attrib = xstrdup(oattrib); ++ while ((attrib = argv_next(acp, avp)) != NULL) { ++ attrib = oattrib = xstrdup(attrib); + /* Terminate on comment */ + if (*attrib == '#') { + argv_consume(acp); +@@ -871,8 +871,8 @@ match_cfg_line(Options *options, const char *full_line, int *acp, char ***avp, + criteria == NULL ? "" : criteria, + criteria == NULL ? "" : "\""); + free(criteria); +- free(attrib); +- attrib = NULL; ++ free(oattrib); ++ oattrib = attrib = NULL; + } + if (attributes == 0) { + error("One or more attributes required for Match"); +@@ -882,7 +882,7 @@ match_cfg_line(Options *options, const char *full_line, int *acp, char ***avp, + out: + if (result != -1) + debug2("match %sfound", result ? "" : "not "); +- free(attrib); ++ free(oattrib); + free(host); + return result; + } +-- +2.47.0 + diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/9.9_p1/0006-upstream-fix-ML-KEM768x25519-KEX-on-big-endian-syste.patch b/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/9.9_p1/0006-upstream-fix-ML-KEM768x25519-KEX-on-big-endian-syste.patch new file mode 100644 index 00000000000..7719f89aee6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/9.9_p1/0006-upstream-fix-ML-KEM768x25519-KEX-on-big-endian-syste.patch @@ -0,0 +1,99 @@ +From 3c10bf179b0029e0412e4b0fecf2e31d53b4ef08 Mon Sep 17 00:00:00 2001 +Message-ID: <3c10bf179b0029e0412e4b0fecf2e31d53b4ef08.1730162536.git.sam@gentoo.org> +In-Reply-To: <27996b32a8b0fe908effc469e5c7d496e40c6671.1730162536.git.sam@gentoo.org> +References: <27996b32a8b0fe908effc469e5c7d496e40c6671.1730162536.git.sam@gentoo.org> +From: "djm@openbsd.org" +Date: Sun, 27 Oct 2024 02:06:01 +0000 +Subject: [PATCH 6/8] upstream: fix ML-KEM768x25519 KEX on big-endian systems; + spotted by + +jsg@ feedback/ok deraadt@ + +OpenBSD-Commit-ID: 26d81a430811672bc762687166986cad40d28cc0 +(cherry picked from commit 11f348196b3fb51c3d8d1f4f36db9d73f03149ed) +--- + libcrux_mlkem768_sha3.h | 8 +++++--- + mlkem768.sh | 17 ++++++++++++----- + 2 files changed, 17 insertions(+), 8 deletions(-) + +diff --git a/libcrux_mlkem768_sha3.h b/libcrux_mlkem768_sha3.h +index a82d60e83..b8ac1436f 100644 +--- a/libcrux_mlkem768_sha3.h ++++ b/libcrux_mlkem768_sha3.h +@@ -1,4 +1,5 @@ +-/* $OpenBSD: libcrux_mlkem768_sha3.h,v 1.1 2024/09/02 12:13:56 djm Exp $ */ ++/* $OpenBSD: libcrux_mlkem768_sha3.h,v 1.2 2024/10/27 02:06:01 djm Exp $ */ ++ + /* Extracted from libcrux revision 84c5d87b3092c59294345aa269ceefe0eb97cc35 */ + + /* +@@ -160,18 +161,19 @@ static inline void Eurydice_slice_to_array3(uint8_t *dst_tag, char *dst_ok, + // CORE STUFF (conversions, endianness, ...) + + static inline void core_num__u64_9__to_le_bytes(uint64_t v, uint8_t buf[8]) { ++ v = htole64(v); + memcpy(buf, &v, sizeof(v)); + } + static inline uint64_t core_num__u64_9__from_le_bytes(uint8_t buf[8]) { + uint64_t v; + memcpy(&v, buf, sizeof(v)); +- return v; ++ return le64toh(v); + } + + static inline uint32_t core_num__u32_8__from_le_bytes(uint8_t buf[4]) { + uint32_t v; + memcpy(&v, buf, sizeof(v)); +- return v; ++ return le32toh(v); + } + + static inline uint32_t core_num__u8_6__count_ones(uint8_t x0) { +diff --git a/mlkem768.sh b/mlkem768.sh +index 2fdc28312..3d12b2ed8 100644 +--- a/mlkem768.sh ++++ b/mlkem768.sh +@@ -1,9 +1,10 @@ + #!/bin/sh +-# $OpenBSD: mlkem768.sh,v 1.2 2024/09/04 05:11:33 djm Exp $ ++# $OpenBSD: mlkem768.sh,v 1.3 2024/10/27 02:06:01 djm Exp $ + # Placed in the Public Domain. + # + +-WANT_LIBCRUX_REVISION="origin/main" ++#WANT_LIBCRUX_REVISION="origin/main" ++WANT_LIBCRUX_REVISION="84c5d87b3092c59294345aa269ceefe0eb97cc35" + + FILES=" + libcrux/libcrux-ml-kem/cg/eurydice_glue.h +@@ -47,6 +48,7 @@ echo '#define KRML_NOINLINE __attribute__((noinline, unused))' + echo '#define KRML_HOST_EPRINTF(...)' + echo '#define KRML_HOST_EXIT(x) fatal_f("internal error")' + echo ++ + for i in $FILES; do + echo "/* from $i */" + # Changes to all files: +@@ -56,11 +58,16 @@ for i in $FILES; do + -e 's/[ ]*$//' \ + $i | \ + case "$i" in +- # XXX per-file handling goes here. ++ */libcrux-ml-kem/cg/eurydice_glue.h) ++ # Replace endian functions with versions that work. ++ perl -0777 -pe 's/(static inline void core_num__u64_9__to_le_bytes.*\n)([^}]*\n)/\1 v = htole64(v);\n\2/' | ++ perl -0777 -pe 's/(static inline uint64_t core_num__u64_9__from_le_bytes.*?)return v;/\1return le64toh(v);/s' | ++ perl -0777 -pe 's/(static inline uint32_t core_num__u32_8__from_le_bytes.*?)return v;/\1return le32toh(v);/s' ++ ;; + # Default: pass through. + *) +- cat +- ;; ++ cat ++ ;; + esac + echo + done +-- +2.47.0 + diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/9.9_p1/0007-upstream-explicitly-include-endian.h.patch b/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/9.9_p1/0007-upstream-explicitly-include-endian.h.patch new file mode 100644 index 00000000000..d92d81f8d42 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/9.9_p1/0007-upstream-explicitly-include-endian.h.patch @@ -0,0 +1,37 @@ +From f87403aba3e7926ab47f4c9a821300a705b070f2 Mon Sep 17 00:00:00 2001 +Message-ID: +In-Reply-To: <27996b32a8b0fe908effc469e5c7d496e40c6671.1730162536.git.sam@gentoo.org> +References: <27996b32a8b0fe908effc469e5c7d496e40c6671.1730162536.git.sam@gentoo.org> +From: "djm@openbsd.org" +Date: Sun, 27 Oct 2024 02:06:59 +0000 +Subject: [PATCH 7/8] upstream: explicitly include endian.h + +OpenBSD-Commit-ID: 13511fdef7535bdbc35b644c90090013da43a318 +(cherry picked from commit fe8d28a7ebbaa35cfc04a21263627f05c237e460) +--- + kexmlkem768x25519.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/kexmlkem768x25519.c b/kexmlkem768x25519.c +index 679446e97..2b5d39608 100644 +--- a/kexmlkem768x25519.c ++++ b/kexmlkem768x25519.c +@@ -1,4 +1,4 @@ +-/* $OpenBSD: kexmlkem768x25519.c,v 1.1 2024/09/02 12:13:56 djm Exp $ */ ++/* $OpenBSD: kexmlkem768x25519.c,v 1.2 2024/10/27 02:06:59 djm Exp $ */ + /* + * Copyright (c) 2023 Markus Friedl. All rights reserved. + * +@@ -34,6 +34,9 @@ + #include + #include + #include ++#ifdef HAVE_ENDIAN_H ++# include ++#endif + + #include "sshkey.h" + #include "kex.h" +-- +2.47.0 + diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/9.9_p1/0008-htole64-etc-for-systems-without-endian.h.patch b/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/9.9_p1/0008-htole64-etc-for-systems-without-endian.h.patch new file mode 100644 index 00000000000..9799a82ea14 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/9.9_p1/0008-htole64-etc-for-systems-without-endian.h.patch @@ -0,0 +1,66 @@ +From 88e0d4645af6e4d4fb1b0dd320b83dd83ca6e73c Mon Sep 17 00:00:00 2001 +Message-ID: <88e0d4645af6e4d4fb1b0dd320b83dd83ca6e73c.1730162536.git.sam@gentoo.org> +In-Reply-To: <27996b32a8b0fe908effc469e5c7d496e40c6671.1730162536.git.sam@gentoo.org> +References: <27996b32a8b0fe908effc469e5c7d496e40c6671.1730162536.git.sam@gentoo.org> +From: Damien Miller +Date: Sun, 27 Oct 2024 13:28:11 +1100 +Subject: [PATCH 8/8] htole64() etc for systems without endian.h + +(cherry picked from commit 33c5f384ae03a5d1a0bd46ca0fac3c62e4eaf784) +--- + configure.ac | 1 - + defines.h | 26 ++++++++++++++++++++++++++ + 2 files changed, 26 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 591d5a388..9053a9a2b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2013,7 +2013,6 @@ AC_CHECK_FUNCS([ \ + strtoll \ + strtoul \ + strtoull \ +- swap32 \ + sysconf \ + tcgetpgrp \ + timegm \ +diff --git a/defines.h b/defines.h +index ed860e78b..b02f2942a 100644 +--- a/defines.h ++++ b/defines.h +@@ -646,6 +646,32 @@ struct winsize { + # endif /* WORDS_BIGENDIAN */ + #endif /* BYTE_ORDER */ + ++#ifndef HAVE_ENDIAN_H ++# define openssh_swap32(v) \ ++ (uint32_t)(((uint32_t)(v) & 0xff) << 24 | \ ++ ((uint32_t)(v) & 0xff00) << 8 | \ ++ ((uint32_t)(v) & 0xff0000) >> 8 | \ ++ ((uint32_t)(v) & 0xff000000) >> 24) ++# define openssh_swap64(v) \ ++ (__uint64_t)((((__uint64_t)(v) & 0xff) << 56) | \ ++ ((__uint64_t)(v) & 0xff00ULL) << 40 | \ ++ ((__uint64_t)(v) & 0xff0000ULL) << 24 | \ ++ ((__uint64_t)(v) & 0xff000000ULL) << 8 | \ ++ ((__uint64_t)(v) & 0xff00000000ULL) >> 8 | \ ++ ((__uint64_t)(v) & 0xff0000000000ULL) >> 24 | \ ++ ((__uint64_t)(v) & 0xff000000000000ULL) >> 40 | \ ++ ((__uint64_t)(v) & 0xff00000000000000ULL) >> 56) ++# ifdef WORDS_BIGENDIAN ++# define le32toh(v) (openssh_swap32(v)) ++# define le64toh(v) (openssh_swap64(v)) ++# define htole64(v) (openssh_swap64(v)) ++# else ++# define le32toh(v) ((uint32_t)v) ++# define le64toh(v) ((uint64_t)v) ++# define htole64(v) ((uint64_t)v) ++# endif ++#endif ++ + /* Function replacement / compatibility hacks */ + + #if !defined(HAVE_GETADDRINFO) && (defined(HAVE_OGETADDRINFO) || defined(HAVE_NGETADDRINFO)) +-- +2.47.0 + diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/openssh-9.3_p1-disable-conch-interop-tests.patch b/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/openssh-9.3_p1-disable-conch-interop-tests.patch deleted file mode 100644 index a5647ce9d8d..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/openssh-9.3_p1-disable-conch-interop-tests.patch +++ /dev/null @@ -1,20 +0,0 @@ -Disable conch interop tests which are failing when called -via portage for yet unknown reason and because using conch -seems to be flaky (test is failing when using Python2 but -passing when using Python3). - -Bug: https://bugs.gentoo.org/605446 - ---- a/regress/conch-ciphers.sh -+++ b/regress/conch-ciphers.sh -@@ -3,6 +3,10 @@ - - tid="conch ciphers" - -+# https://bugs.gentoo.org/605446 -+echo "conch interop tests skipped due to Gentoo bug #605446" -+exit 0 -+ - if test "x$REGRESS_INTEROP_CONCH" != "xyes" ; then - echo "conch interop tests not enabled" - exit 0 diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/openssh-9.3_p1-fix-putty-tests.patch b/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/openssh-9.3_p1-fix-putty-tests.patch deleted file mode 100644 index 9ac02c18800..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/openssh-9.3_p1-fix-putty-tests.patch +++ /dev/null @@ -1,57 +0,0 @@ -Make sure that host keys are already accepted before -running tests. - -https://bugs.gentoo.org/493866 - ---- a/regress/putty-ciphers.sh -+++ b/regress/putty-ciphers.sh -@@ -16,11 +16,17 @@ - - for c in aes 3des aes128-ctr aes192-ctr aes256-ctr chacha20 ; do - verbose "$tid: cipher $c" -+ rm -f ${COPY} - cp ${OBJ}/.putty/sessions/localhost_proxy \ - ${OBJ}/.putty/sessions/cipher_$c - echo "Cipher=$c" >> ${OBJ}/.putty/sessions/cipher_$c - -- rm -f ${COPY} -+ env HOME=$PWD echo "y" | ${PLINK} -load cipher_$c \ -+ -i ${OBJ}/putty.rsa2 "exit" -+ if [ $? -ne 0 ]; then -+ fail "failed to pre-cache host key" -+ fi -+ - env HOME=$PWD ${PLINK} -load cipher_$c -batch -i ${OBJ}/putty.rsa2 \ - cat ${DATA} > ${COPY} - if [ $? -ne 0 ]; then ---- a/regress/putty-kex.sh -+++ b/regress/putty-kex.sh -@@ -20,6 +20,12 @@ - ${OBJ}/.putty/sessions/kex_$k - echo "KEX=$k" >> ${OBJ}/.putty/sessions/kex_$k - -+ env HOME=$PWD echo "y" | ${PLINK} -load kex_$k \ -+ -i ${OBJ}/putty.rsa2 "exit" -+ if [ $? -ne 0 ]; then -+ fail "failed to pre-cache host key" -+ fi -+ - env HOME=$PWD ${PLINK} -load kex_$k -batch -i ${OBJ}/putty.rsa2 true - if [ $? -ne 0 ]; then - fail "KEX $k failed" ---- a/regress/putty-transfer.sh -+++ b/regress/putty-transfer.sh -@@ -26,6 +26,13 @@ - cp ${OBJ}/.putty/sessions/localhost_proxy \ - ${OBJ}/.putty/sessions/compression_$c - echo "Compression=$c" >> ${OBJ}/.putty/sessions/kex_$k -+ -+ env HOME=$PWD echo "y" | ${PLINK} -load compression_$c \ -+ -i ${OBJ}/putty.rsa2 "exit" -+ if [ $? -ne 0 ]; then -+ fail "failed to pre-cache host key" -+ fi -+ - env HOME=$PWD ${PLINK} -load compression_$c -batch \ - -i ${OBJ}/putty.rsa2 cat ${DATA} > ${COPY} - if [ $? -ne 0 ]; then diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/openssh-9.9_p1-x-forwarding-slow.patch b/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/openssh-9.9_p1-x-forwarding-slow.patch new file mode 100644 index 00000000000..217062342da --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/openssh-9.9_p1-x-forwarding-slow.patch @@ -0,0 +1,66 @@ +https://bugzilla.mindrot.org/show_bug.cgi?id=3655 +https://github.com/openssh/openssh-portable/commit/fe6c6330c1a94c7a537efe9069853ce7a275c50a +https://bugs.gentoo.org/929191 + +From fe6c6330c1a94c7a537efe9069853ce7a275c50a Mon Sep 17 00:00:00 2001 +From: "djm@openbsd.org" +Date: Sun, 13 Oct 2024 22:20:06 +0000 +Subject: [PATCH] upstream: don't start the ObscureKeystrokeTiming mitigations + if + +there has been traffic on a X11 forwarding channel recently. + +Should fix X11 forwarding performance problems when this setting is +enabled. Patch from Antonio Larrosa via bz3655 + +OpenBSD-Commit-ID: 820284a92eb4592fcd3d181a62c1b86b08a4a7ab +--- a/channels.c ++++ b/channels.c +@@ -5336,3 +5336,22 @@ x11_request_forwarding_with_spoofing(struct ssh *ssh, int client_session_id, + fatal_fr(r, "send x11-req"); + free(new_data); + } ++ ++/* ++ * Returns whether an x11 channel was used recently (less than a second ago) ++ */ ++int ++x11_channel_used_recently(struct ssh *ssh) { ++ u_int i; ++ Channel *c; ++ time_t lastused = 0; ++ ++ for (i = 0; i < ssh->chanctxt->channels_alloc; i++) { ++ c = ssh->chanctxt->channels[i]; ++ if (c == NULL || c->ctype == NULL || c->lastused == 0 || ++ strcmp(c->ctype, "x11-connection") != 0) ++ continue; ++ lastused = c->lastused; ++ } ++ return lastused != 0 && monotime() > lastused + 1; ++} +--- a/channels.h ++++ b/channels.h +@@ -382,6 +382,7 @@ int x11_connect_display(struct ssh *); + int x11_create_display_inet(struct ssh *, int, int, int, u_int *, int **); + void x11_request_forwarding_with_spoofing(struct ssh *, int, + const char *, const char *, const char *, int); ++int x11_channel_used_recently(struct ssh *ssh); + + /* channel close */ + +--- a/clientloop.c ++++ b/clientloop.c +@@ -659,9 +659,10 @@ obfuscate_keystroke_timing(struct ssh *ssh, struct timespec *timeout, + if (just_started) + return 1; + +- /* Don't arm output fd for poll until the timing interval has elapsed */ ++ /* Don't arm output fd for poll until the timing interval has elapsed... */ + if (timespeccmp(&now, &next_interval, <)) +- return 0; ++ /* ...unless there's x11 communicattion happening */ ++ return x11_channel_used_recently(ssh); + + /* Calculate number of intervals missed since the last check */ + n = (now.tv_sec - next_interval.tv_sec) * 1000LL * 1000 * 1000; diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/metadata.xml b/sdk_container/src/third_party/portage-stable/net-misc/openssh/metadata.xml index da1b4330c4d..8c35ff54c08 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/openssh/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/net-misc/openssh/metadata.xml @@ -21,6 +21,11 @@ Use LDNS for DNSSEC/SSHFP validation. + + Enable support for deprecated, soon-to-be-dropped DSA keys. + + See https://marc.info/?l=openssh-unix-dev>m=170494903207436>w=2. + Enable root password logins for live-cd environment. Include builtin U2F/FIDO support Enable additional crypto algorithms via OpenSSL diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.6_p1-r3.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.6_p1-r3.ebuild deleted file mode 100644 index c0ac935c3c8..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.6_p1-r3.ebuild +++ /dev/null @@ -1,389 +0,0 @@ -# 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/openssh.org.asc -inherit user-info flag-o-matic autotools optfeature pam systemd toolchain-funcs verify-sig - -# Make it more portable between straight releases -# and _p? releases. -PARCH=${P/_} - -DESCRIPTION="Port of OpenBSD's free SSH release" -HOMEPAGE="https://www.openssh.com/" -SRC_URI=" - mirror://openbsd/OpenSSH/portable/${PARCH}.tar.gz - verify-sig? ( mirror://openbsd/OpenSSH/portable/${PARCH}.tar.gz.asc ) -" -S="${WORKDIR}/${PARCH}" - -LICENSE="BSD GPL-2" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -# Probably want to drop ssl defaulting to on in a future version. -IUSE="abi_mips_n32 audit debug kerberos ldns libedit livecd pam +pie security-key selinux +ssl static test xmss" - -RESTRICT="!test? ( test )" - -REQUIRED_USE=" - ldns? ( ssl ) - pie? ( !static ) - static? ( !kerberos !pam ) - xmss? ( ssl ) - test? ( ssl ) -" - -# tests currently fail with XMSS -REQUIRED_USE+="test? ( !xmss )" - -LIB_DEPEND=" - audit? ( sys-process/audit[static-libs(+)] ) - ldns? ( - net-libs/ldns[static-libs(+)] - net-libs/ldns[ecdsa(+),ssl(+)] - ) - libedit? ( dev-libs/libedit:=[static-libs(+)] ) - security-key? ( >=dev-libs/libfido2-1.5.0:=[static-libs(+)] ) - selinux? ( >=sys-libs/libselinux-1.28[static-libs(+)] ) - ssl? ( >=dev-libs/openssl-1.1.1l-r1:0=[static-libs(+)] ) - virtual/libcrypt:=[static-libs(+)] - >=sys-libs/zlib-1.2.3:=[static-libs(+)] -" -RDEPEND=" - acct-group/sshd - acct-user/sshd - !static? ( ${LIB_DEPEND//\[static-libs(+)]} ) - pam? ( sys-libs/pam ) - kerberos? ( virtual/krb5 ) -" -DEPEND=" - ${RDEPEND} - virtual/os-headers - kernel_linux? ( !prefix-guest? ( >=sys-kernel/linux-headers-5.1 ) ) - static? ( ${LIB_DEPEND} ) -" -RDEPEND=" - ${RDEPEND} - !net-misc/openssh-contrib - pam? ( >=sys-auth/pambase-20081028 ) - !prefix? ( sys-apps/shadow ) -" -BDEPEND=" - dev-build/autoconf - virtual/pkgconfig - verify-sig? ( sec-keys/openpgp-keys-openssh ) -" - -PATCHES=( - "${FILESDIR}/${PN}-9.3_p1-disable-conch-interop-tests.patch" - "${FILESDIR}/${PN}-9.3_p1-fix-putty-tests.patch" - "${FILESDIR}/${PN}-9.4_p1-Allow-MAP_NORESERVE-in-sandbox-seccomp-filter-maps.patch" -) - -pkg_pretend() { - local i enabled_eol_flags disabled_eol_flags - for i in hpn sctp X509; do - if has_version "net-misc/openssh[${i}]"; then - enabled_eol_flags+="${i}," - disabled_eol_flags+="-${i}," - fi - done - - if [[ -n ${enabled_eol_flags} && ${OPENSSH_EOL_USE_FLAGS_I_KNOW_WHAT_I_AM_DOING} != yes ]]; then - # Skip for binary packages entirely because of environment saving, bug #907892 - [[ ${MERGE_TYPE} == binary ]] && return - - ewarn "net-misc/openssh does not support USE='${enabled_eol_flags%,}' anymore." - ewarn "The Base system team *STRONGLY* recommends you not rely on this functionality," - ewarn "since these USE flags required third-party patches that often trigger bugs" - ewarn "and are of questionable provenance." - ewarn - ewarn "If you must continue relying on this functionality, switch to" - ewarn "net-misc/openssh-contrib. You will have to remove net-misc/openssh from your" - ewarn "world file first: 'emerge --deselect net-misc/openssh'" - ewarn - ewarn "In order to prevent loss of SSH remote login access, we will abort the build." - ewarn "Whether you proceed with disabling the USE flags or switch to the -contrib" - ewarn "variant, when re-emerging you will have to set" - ewarn - ewarn " OPENSSH_EOL_USE_FLAGS_I_KNOW_WHAT_I_AM_DOING=yes" - - die "Building net-misc/openssh[${disabled_eol_flags%,}] without OPENSSH_EOL_USE_FLAGS_I_KNOW_WHAT_I_AM_DOING=yes" - fi - - # Make sure people who are using tcp wrappers are notified of its removal. #531156 - if grep -qs '^ *sshd *:' "${EROOT}"/etc/hosts.{allow,deny} ; then - ewarn "Sorry, but openssh no longer supports tcp-wrappers, and it seems like" - ewarn "you're trying to use it. Update your ${EROOT}/etc/hosts.{allow,deny} please." - fi -} - -src_prepare() { - # don't break .ssh/authorized_keys2 for fun - sed -i '/^AuthorizedKeysFile/s:^:#:' sshd_config || die - - [[ -d ${WORKDIR}/patches ]] && PATCHES+=( "${WORKDIR}"/patches ) - - default - - # These tests are currently incompatible with PORTAGE_TMPDIR/sandbox - sed -e '/\t\tpercent \\/ d' \ - -i regress/Makefile || die - - tc-export PKG_CONFIG - local sed_args=( - -e "s:-lcrypto:$(${PKG_CONFIG} --libs openssl):" - # Disable fortify flags ... our gcc does this for us - -e 's:-D_FORTIFY_SOURCE=2::' - ) - - # _XOPEN_SOURCE causes header conflicts on Solaris - [[ ${CHOST} == *-solaris* ]] && sed_args+=( - -e 's/-D_XOPEN_SOURCE//' - ) - sed -i "${sed_args[@]}" configure{.ac,} || die - - eautoreconf -} - -src_configure() { - addwrite /dev/ptmx - - use debug && append-cppflags -DSANDBOX_SECCOMP_FILTER_DEBUG - use static && append-ldflags -static - use xmss && append-cflags -DWITH_XMSS - - if [[ ${CHOST} == *-solaris* ]] ; then - # Solaris' glob.h doesn't have things like GLOB_TILDE, configure - # doesn't check for this, so force the replacement to be put in - # place - append-cppflags -DBROKEN_GLOB - fi - - # use replacement, RPF_ECHO_ON doesn't exist here - [[ ${CHOST} == *-darwin* ]] && export ac_cv_func_readpassphrase=no - - local myconf=( - --with-ldflags="${LDFLAGS}" - --disable-strip - --with-pid-dir="${EPREFIX}"$(usex kernel_linux '' '/var')/run - --sysconfdir="${EPREFIX}"/etc/ssh - --libexecdir="${EPREFIX}"/usr/$(get_libdir)/misc - --datadir="${EPREFIX}"/usr/share/openssh - --with-privsep-path="${EPREFIX}"/var/empty - --with-privsep-user=sshd - # optional at runtime; guarantee a known path - --with-xauth="${EPREFIX}"/usr/bin/xauth - - # --with-hardening adds the following in addition to flags we - # already set in our toolchain: - # * -ftrapv (which is broken with GCC anyway), - # * -ftrivial-auto-var-init=zero (which is nice, but not the end of - # the world to not have) - # * -fzero-call-used-regs=used (history of miscompilations with - # Clang (bug #872548), ICEs on m68k (bug #920350, gcc PR113086, - # gcc PR104820, gcc PR104817, gcc PR110934)). - # - # Furthermore, OSSH_CHECK_CFLAG_COMPILE does not use AC_CACHE_CHECK, - # so we cannot just disable -fzero-call-used-regs=used. - # - # Therefore, just pass --without-hardening, given it doesn't negate - # our already hardened toolchain defaults, and avoids adding flags - # which are known-broken in both Clang and GCC and haven't been - # proven reliable. - --without-hardening - - $(use_with audit audit linux) - $(use_with kerberos kerberos5 "${EPREFIX}"/usr) - $(use_with ldns) - $(use_with libedit) - $(use_with pam) - $(use_with pie) - $(use_with selinux) - $(use_with security-key security-key-builtin) - $(use_with ssl openssl) - $(use_with ssl ssl-engine) - ) - - if use elibc_musl; then - # musl defines bogus values for UTMP_FILE and WTMP_FILE (bug #753230) - myconf+=( --disable-utmp --disable-wtmp ) - fi - - # Workaround for Clang 15 miscompilation with -fzero-call-used-regs=all - # bug #869839 (https://github.com/llvm/llvm-project/issues/57692) - tc-is-clang && myconf+=( --without-hardening ) - - econf "${myconf[@]}" -} - -src_test() { - local tests=( compat-tests ) - local shell=$(egetshell "${UID}") - if [[ ${shell} == */nologin ]] || [[ ${shell} == */false ]] ; then - ewarn "Running the full OpenSSH testsuite requires a usable shell for the 'portage'" - ewarn "user, so we will run a subset only." - tests+=( interop-tests ) - else - tests+=( tests ) - fi - - local -x SUDO= SSH_SK_PROVIDER= TEST_SSH_UNSAFE_PERMISSIONS=1 - mkdir -p "${HOME}"/.ssh || die - emake -j1 "${tests[@]}" > "${ED}"/etc/ssh/ssh_config || die - Include "${EPREFIX}/etc/ssh/ssh_config.d/*.conf" - EOF - cat <<-EOF >> "${ED}"/etc/ssh/sshd_config || die - Include "${EPREFIX}/etc/ssh/sshd_config.d/*.conf" - EOF - - cat <<-EOF >> "${ED}"/etc/ssh/ssh_config.d/9999999gentoo.conf || die - # Send locale environment variables (bug #367017) - SendEnv ${locale_vars[*]} - - # Send COLORTERM to match TERM (bug #658540) - SendEnv COLORTERM - EOF - - cat <<-EOF >> "${ED}"/etc/ssh/ssh_config.d/9999999gentoo-security.conf || die - RevokedHostKeys "${EPREFIX}/etc/ssh/ssh_revoked_hosts" - EOF - - cat <<-EOF >> "${ED}"/etc/ssh/ssh_revoked_hosts || die - # https://github.blog/2023-03-23-we-updated-our-rsa-ssh-host-key/ - ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ== - EOF - - cat <<-EOF >> "${ED}"/etc/ssh/sshd_config.d/9999999gentoo.conf || die - # Allow client to pass locale environment variables (bug #367017) - AcceptEnv ${locale_vars[*]} - - # Allow client to pass COLORTERM to match TERM (bug #658540) - AcceptEnv COLORTERM - EOF - - if use pam ; then - cat <<-EOF >> "${ED}"/etc/ssh/sshd_config.d/9999999gentoo-pam.conf || die - UsePAM yes - # This interferes with PAM. - PasswordAuthentication no - # PAM can do its own handling of MOTD. - PrintMotd no - PrintLastLog no - EOF - fi - - if use livecd ; then - cat <<-EOF >> "${ED}"/etc/ssh/sshd_config.d/9999999gentoo-livecd.conf || die - # Allow root login with password on livecds. - PermitRootLogin Yes - EOF - fi -} - -src_install() { - emake install-nokeys DESTDIR="${D}" - fperms 600 /etc/ssh/sshd_config - dobin contrib/ssh-copy-id - newinitd "${FILESDIR}"/sshd-r1.initd sshd - newconfd "${FILESDIR}"/sshd-r1.confd sshd - - if use pam; then - newpamd "${FILESDIR}"/sshd.pam_include.2 sshd - fi - - tweak_ssh_configs - - doman contrib/ssh-copy-id.1 - dodoc ChangeLog CREDITS OVERVIEW README* TODO sshd_config - - diropts -m 0700 - dodir /etc/skel/.ssh - rmdir "${ED}"/var/empty || die - - systemd_dounit "${FILESDIR}"/sshd.socket - systemd_newunit "${FILESDIR}"/sshd.service.1 sshd.service - systemd_newunit "${FILESDIR}"/sshd_at.service.1 'sshd@.service' -} - -pkg_preinst() { - if ! use ssl && has_version "${CATEGORY}/${PN}[ssl]"; then - show_ssl_warning=1 - fi -} - -pkg_postinst() { - # bug #139235 - optfeature "x11 forwarding" x11-apps/xauth - - local old_ver - for old_ver in ${REPLACING_VERSIONS}; do - if ver_test "${old_ver}" -lt "5.8_p1"; then - elog "Starting with openssh-5.8p1, the server will default to a newer key" - elog "algorithm (ECDSA). You are encouraged to manually update your stored" - elog "keys list as servers update theirs. See ssh-keyscan(1) for more info." - fi - if ver_test "${old_ver}" -lt "7.0_p1"; then - elog "Starting with openssh-6.7, support for USE=tcpd has been dropped by upstream." - elog "Make sure to update any configs that you might have. Note that xinetd might" - elog "be an alternative for you as it supports USE=tcpd." - fi - if ver_test "${old_ver}" -lt "7.1_p1"; then #557388 #555518 - elog "Starting with openssh-7.0, support for ssh-dss keys were disabled due to their" - elog "weak sizes. If you rely on these key types, you can re-enable the key types by" - elog "adding to your sshd_config or ~/.ssh/config files:" - elog " PubkeyAcceptedKeyTypes=+ssh-dss" - elog "You should however generate new keys using rsa or ed25519." - - elog "Starting with openssh-7.0, the default for PermitRootLogin changed from 'yes'" - elog "to 'prohibit-password'. That means password auth for root users no longer works" - elog "out of the box. If you need this, please update your sshd_config explicitly." - fi - if ver_test "${old_ver}" -lt "7.6_p1"; then - elog "Starting with openssh-7.6p1, openssh upstream has removed ssh1 support entirely." - elog "Furthermore, rsa keys with less than 1024 bits will be refused." - fi - if ver_test "${old_ver}" -lt "7.7_p1"; then - elog "Starting with openssh-7.7p1, we no longer patch openssh to provide LDAP functionality." - elog "Install sys-auth/ssh-ldap-pubkey and use OpenSSH's \"AuthorizedKeysCommand\" option" - elog "if you need to authenticate against LDAP." - elog "See https://wiki.gentoo.org/wiki/SSH/LDAP_migration for more details." - fi - if ver_test "${old_ver}" -lt "8.2_p1"; then - ewarn "After upgrading to openssh-8.2p1 please restart sshd, otherwise you" - ewarn "will not be able to establish new sessions. Restarting sshd over a ssh" - ewarn "connection is generally safe." - fi - if ver_test "${old_ver}" -lt "9.2_p1-r1" && systemd_is_booted; then - ewarn "From openssh-9.2_p1-r1 the supplied systemd unit file defaults to" - ewarn "'Restart=on-failure', which causes the service to automatically restart if it" - ewarn "terminates with an unclean exit code or signal. This feature is useful for most users," - ewarn "but it can increase the vulnerability of the system in the event of a future exploit." - ewarn "If you have a web-facing setup or are concerned about security, it is recommended to" - ewarn "set 'Restart=no' in your sshd unit file." - fi - done - - if [[ -n ${show_ssl_warning} ]]; then - elog "Be aware that by disabling openssl support in openssh, the server and clients" - elog "no longer support dss/rsa/ecdsa keys. You will need to generate ed25519 keys" - elog "and update all clients/servers that utilize them." - fi -} diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.8_p1-r3.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.8_p1-r3.ebuild index 85ee1df6efc..129f86bd6eb 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.8_p1-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.8_p1-r3.ebuild @@ -20,9 +20,9 @@ S="${WORKDIR}/${PARCH}" LICENSE="BSD GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" # Probably want to drop ssl defaulting to on in a future version. -IUSE="abi_mips_n32 audit debug kerberos ldns libedit livecd pam +pie security-key selinux +ssl static test xmss" +IUSE="abi_mips_n32 audit debug kerberos ldns legacy-ciphers libedit livecd pam +pie security-key selinux +ssl static test xmss" RESTRICT="!test? ( test )" @@ -199,6 +199,7 @@ src_configure() { $(use_with audit audit linux) $(use_with kerberos kerberos5 "${EPREFIX}"/usr) $(use_with ldns) + $(use_enable legacy-ciphers dsa-keys) $(use_with libedit) $(use_with pam) $(use_with pie) diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.6_p1-r5.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.9_p1.ebuild similarity index 80% rename from sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.6_p1-r5.ebuild rename to sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.9_p1.ebuild index bfdeed1812a..80a886b7ecc 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.6_p1-r5.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.9_p1.ebuild @@ -3,6 +3,9 @@ EAPI=8 +# Remember to check the upstream release/stable branches for patches +# to backport! See https://marc.info/?l=openssh-unix-dev&m=172723798122122&w=2. + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openssh.org.asc inherit user-info flag-o-matic autotools optfeature pam systemd toolchain-funcs verify-sig @@ -20,9 +23,9 @@ S="${WORKDIR}/${PARCH}" LICENSE="BSD GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~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 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" # Probably want to drop ssl defaulting to on in a future version. -IUSE="abi_mips_n32 audit debug kerberos ldns libedit livecd pam +pie security-key selinux +ssl static test xmss" +IUSE="abi_mips_n32 audit debug kerberos ldns legacy-ciphers libedit livecd pam +pie security-key selinux +ssl static test xmss" RESTRICT="!test? ( test )" @@ -76,12 +79,13 @@ BDEPEND=" " PATCHES=( - "${FILESDIR}/${PN}-9.3_p1-disable-conch-interop-tests.patch" - "${FILESDIR}/${PN}-9.3_p1-fix-putty-tests.patch" "${FILESDIR}/${PN}-9.4_p1-Allow-MAP_NORESERVE-in-sandbox-seccomp-filter-maps.patch" "${FILESDIR}/${PN}-9.6_p1-fix-xmss-c99.patch" - "${FILESDIR}/${PN}-9.6_p1-CVE-2024-6387.patch" - "${FILESDIR}/${PN}-9.6_p1-chaff-logic.patch" + "${FILESDIR}/${PN}-9.7_p1-config-tweaks.patch" + # Backports from upstream release branch + "${FILESDIR}/${PV}" + # Our own backports + "${FILESDIR}/${P}-x-forwarding-slow.patch" ) pkg_pretend() { @@ -200,6 +204,7 @@ src_configure() { $(use_with audit audit linux) $(use_with kerberos kerberos5 "${EPREFIX}"/usr) $(use_with ldns) + $(use_enable legacy-ciphers dsa-keys) $(use_with libedit) $(use_with pam) $(use_with pie) @@ -221,24 +226,7 @@ src_configure() { econf "${myconf[@]}" } -src_test() { - local tests=( compat-tests ) - local shell=$(egetshell "${UID}") - if [[ ${shell} == */nologin ]] || [[ ${shell} == */false ]] ; then - ewarn "Running the full OpenSSH testsuite requires a usable shell for the 'portage'" - ewarn "user, so we will run a subset only." - tests+=( interop-tests ) - else - tests+=( tests ) - fi - - local -x SUDO= SSH_SK_PROVIDER= TEST_SSH_UNSAFE_PERMISSIONS=1 - mkdir -p "${HOME}"/.ssh || die - emake -j1 "${tests[@]}" > "${ED}"/etc/ssh/ssh_config || die - Include "${EPREFIX}/etc/ssh/ssh_config.d/*.conf" - EOF - cat <<-EOF >> "${ED}"/etc/ssh/sshd_config || die - Include "${EPREFIX}/etc/ssh/sshd_config.d/*.conf" - EOF + mkdir -p "${WORKDIR}"/etc/ssh/ssh{,d}_config.d || die - cat <<-EOF >> "${ED}"/etc/ssh/ssh_config.d/9999999gentoo.conf || die + cat <<-EOF > "${WORKDIR}"/etc/ssh/ssh_config.d/9999999gentoo.conf || die # Send locale environment variables (bug #367017) SendEnv ${locale_vars[*]} @@ -265,16 +247,16 @@ tweak_ssh_configs() { SendEnv COLORTERM EOF - cat <<-EOF >> "${ED}"/etc/ssh/ssh_config.d/9999999gentoo-security.conf || die + cat <<-EOF > "${WORKDIR}"/etc/ssh/ssh_config.d/9999999gentoo-security.conf || die RevokedHostKeys "${EPREFIX}/etc/ssh/ssh_revoked_hosts" EOF - cat <<-EOF >> "${ED}"/etc/ssh/ssh_revoked_hosts || die + cat <<-EOF > "${WORKDIR}"/etc/ssh/ssh_revoked_hosts || die # https://github.blog/2023-03-23-we-updated-our-rsa-ssh-host-key/ ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ== EOF - cat <<-EOF >> "${ED}"/etc/ssh/sshd_config.d/9999999gentoo.conf || die + cat <<-EOF > "${WORKDIR}"/etc/ssh/sshd_config.d/9999999gentoo.conf || die # Allow client to pass locale environment variables (bug #367017) AcceptEnv ${locale_vars[*]} @@ -282,8 +264,13 @@ tweak_ssh_configs() { AcceptEnv COLORTERM EOF + cat <<-EOF > "${WORKDIR}"/etc/ssh/sshd_config.d/9999999gentoo-subsystem.conf || die + # override default of no subsystems + Subsystem sftp ${EPREFIX}/usr/$(get_libdir)/misc/sftp-server + EOF + if use pam ; then - cat <<-EOF >> "${ED}"/etc/ssh/sshd_config.d/9999999gentoo-pam.conf || die + cat <<-EOF > "${WORKDIR}"/etc/ssh/sshd_config.d/9999999gentoo-pam.conf || die UsePAM yes # This interferes with PAM. PasswordAuthentication no @@ -294,13 +281,34 @@ tweak_ssh_configs() { fi if use livecd ; then - cat <<-EOF >> "${ED}"/etc/ssh/sshd_config.d/9999999gentoo-livecd.conf || die + cat <<-EOF > "${WORKDIR}"/etc/ssh/sshd_config.d/9999999gentoo-livecd.conf || die # Allow root login with password on livecds. PermitRootLogin Yes EOF fi } +src_compile() { + default + create_config_dropins +} + +src_test() { + local tests=( compat-tests ) + local shell=$(egetshell "${UID}") + if [[ ${shell} == */nologin ]] || [[ ${shell} == */false ]] ; then + ewarn "Running the full OpenSSH testsuite requires a usable shell for the 'portage'" + ewarn "user, so we will run a subset only." + tests+=( interop-tests ) + else + tests+=( tests ) + fi + + local -x SUDO= SSH_SK_PROVIDER= TEST_SSH_UNSAFE_PERMISSIONS=1 + mkdir -p "${HOME}"/.ssh || die + emake -j1 "${tests[@]}" /dev/null 2>&1; then + ewarn "The ebuild will now attempt to restart OpenSSH to avoid" + ewarn "bricking the running instance. See bug #709748." + ebegin "Attempting to restart openssh via 'systemctl try-restart sshd'" + systemctl try-restart sshd + eend $? + elif [[ -d /run/openrc ]]; then + # We don't check for sshd -t here because the OpenRC init script + # has a stop_pre() which does checkconfig, i.e. we defer to it + # to give nicer output for a failed sanity check. + ewarn "The ebuild will now attempt to restart OpenSSH to avoid" + ewarn "bricking the running instance. See bug #709748." + ebegin "Attempting to restart openssh via 'rc-service -q --ifstarted --nodeps sshd restart'" + rc-service -q --ifstarted --nodeps sshd restart + eend $? + fi } diff --git a/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.2.7-r3.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.2.7-r3.ebuild deleted file mode 100644 index e3cbcc56a94..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.2.7-r3.ebuild +++ /dev/null @@ -1,204 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Uncomment when introducing a patch which touches configure -#RSYNC_NEEDS_AUTOCONF=1 -PYTHON_COMPAT=( python3_{9..11} ) -inherit flag-o-matic prefix python-single-r1 systemd - -DESCRIPTION="File transfer program to keep remote files into sync" -HOMEPAGE="https://rsync.samba.org/" -if [[ ${PV} == *9999 ]] ; then - EGIT_REPO_URI="https://github.com/WayneD/rsync.git" - inherit autotools git-r3 - - REQUIRED_USE="${PYTHON_REQUIRED_USE}" -else - VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/waynedavison.asc - inherit verify-sig - - if [[ -n ${RSYNC_NEEDS_AUTOCONF} ]] ; then - inherit autotools - fi - - if [[ ${PV} == *_pre* ]] ; then - SRC_DIR="src-previews" - else - SRC_DIR="src" - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" - fi - - SRC_URI="https://rsync.samba.org/ftp/rsync/${SRC_DIR}/${P/_/}.tar.gz - verify-sig? ( https://rsync.samba.org/ftp/rsync/${SRC_DIR}/${P/_/}.tar.gz.asc )" - S="${WORKDIR}"/${P/_/} -fi - -LICENSE="GPL-3" -SLOT="0" -IUSE="acl examples iconv lz4 rrsync ssl stunnel system-zlib xattr xxhash zstd" -REQUIRED_USE+=" examples? ( ${PYTHON_REQUIRED_USE} )" -REQUIRED_USE+=" rrsync? ( ${PYTHON_REQUIRED_USE} )" - -RDEPEND=" - >=dev-libs/popt-1.5 - acl? ( virtual/acl ) - examples? ( - ${PYTHON_DEPS} - dev-lang/perl - ) - lz4? ( app-arch/lz4:= ) - rrsync? ( - ${PYTHON_DEPS} - $(python_gen_cond_dep ' - dev-python/bracex[${PYTHON_USEDEP}] - ') - ) - ssl? ( dev-libs/openssl:= ) - system-zlib? ( sys-libs/zlib ) - xattr? ( kernel_linux? ( sys-apps/attr ) ) - xxhash? ( >=dev-libs/xxhash-0.8 ) - zstd? ( >=app-arch/zstd-1.4:= ) - iconv? ( virtual/libiconv )" -DEPEND="${RDEPEND}" -BDEPEND=" - examples? ( ${PYTHON_DEPS} ) - rrsync? ( ${PYTHON_DEPS} ) -" - -if [[ ${PV} == *9999 ]] ; then - BDEPEND+=" ${PYTHON_DEPS} - $(python_gen_cond_dep ' - dev-python/commonmark[${PYTHON_USEDEP}] - ')" -else - BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-waynedavison )" -fi - -PATCHES=( - "${FILESDIR}"/${P}-flist-memcmp-ub.patch - "${FILESDIR}"/${P}-fortify-source-3.patch -) - -pkg_setup() { - # - USE=examples needs Python itself at runtime, but nothing else - # - 9999 needs commonmark at build time - if [[ ${PV} == *9999 ]] || use examples || use rrsync; then - python-single-r1_pkg_setup - fi -} - -src_prepare() { - default - - if [[ ${PV} == *9999 || -n ${RSYNC_NEEDS_AUTOCONF} ]] ; then - eaclocal -I m4 - eautoconf -o configure.sh - eautoheader && touch config.h.in - fi - - if use examples || use rrsync; then - python_fix_shebang support/ - fi - - if [[ -f rrsync.1 ]]; then - # If the pre-build rrsync.1 man page exists, then link to it - # from support/rrsync.1 to avoid rsync's build system attempting - # re-creating the man page (bug #883049). - ln -s ../rrsync.1 support/rrsync.1 || die - fi -} - -src_configure() { - local myeconfargs=( - --with-rsyncd-conf="${EPREFIX}"/etc/rsyncd.conf - --without-included-popt - --enable-ipv6 - $(use_enable acl acl-support) - $(use_enable iconv) - $(use_enable lz4) - $(use_with rrsync) - $(use_enable ssl openssl) - $(use_with !system-zlib included-zlib) - $(use_enable xattr xattr-support) - $(use_enable xxhash) - $(use_enable zstd) - ) - - # https://github.com/WayneD/rsync/pull/428 - if is-flagq -fsanitize=undefined ; then - sed -E -i \ - -e 's:#define CAREFUL_ALIGNMENT (0|1):#define CAREFUL_ALIGNMENT 1:' \ - byteorder.h || die - append-flags -DCAREFUL_ALIGNMENT - fi - - econf "${myeconfargs[@]}" -} - -src_install() { - emake DESTDIR="${D}" install - - newconfd "${FILESDIR}"/rsyncd.conf.d rsyncd - newinitd "${FILESDIR}"/rsyncd.init.d-r1 rsyncd - - dodoc NEWS.md README.md TODO tech_report.tex - - insinto /etc - newins "${FILESDIR}"/rsyncd.conf-3.0.9-r1 rsyncd.conf - - insinto /etc/logrotate.d - newins "${FILESDIR}"/rsyncd.logrotate rsyncd - - insinto /etc/xinetd.d - newins "${FILESDIR}"/rsyncd.xinetd-3.0.9-r1 rsyncd - - # Install stunnel helpers - if use stunnel ; then - emake DESTDIR="${D}" install-ssl-daemon - fi - - # Install the useful contrib scripts - if use examples ; then - # The 'rrsync' script is installed conditionally via the 'rrysnc' - # USE flag, and not via the 'examples' USE flag. - rm support/rrsync* || die - - exeinto /usr/share/rsync - doexe support/* - - rm -f "${ED}"/usr/share/rsync/{Makefile*,*.c} - fi - - eprefixify "${ED}"/etc/{,xinetd.d}/rsyncd* - - systemd_newunit packaging/systemd/rsync.service rsyncd.service -} - -pkg_postinst() { - if grep -Eqis '^[[:space:]]use chroot[[:space:]]*=[[:space:]]*(no|0|false)' \ - "${EROOT}"/etc/rsyncd.conf "${EROOT}"/etc/rsync/rsyncd.conf ; then - ewarn "You have disabled chroot support in your rsyncd.conf. This" - ewarn "is a security risk which you should fix. Please check your" - ewarn "/etc/rsyncd.conf file and fix the setting 'use chroot'." - fi - - if use stunnel ; then - einfo "Please install \">=net-misc/stunnel-4\" in order to use stunnel feature." - einfo - einfo "You maybe have to update the certificates configured in" - einfo "${EROOT}/etc/stunnel/rsync.conf" - fi - - if use system-zlib ; then - ewarn "Using system-zlib is incompatible with =rsync-3.1.1 built with bundled zlib," - ewarn "and the --compress option, add --new-compress (-zz)." - ewarn - ewarn "For syncing the portage tree, add:" - ewarn "PORTAGE_RSYNC_EXTRA_OPTS=\"--new-compress\" to make.conf" - fi -} diff --git a/sdk_container/src/third_party/portage-stable/net-misc/socat/socat-1.8.0.1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/socat/socat-1.8.0.1.ebuild index c95a08a9375..74a3393d7db 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/socat/socat-1.8.0.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/socat/socat-1.8.0.1.ebuild @@ -13,7 +13,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" IUSE="ipv6 readline ssl tcpd" DEPEND=" 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 90809640496..a2555c50fdc 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,14 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Felix Janda (2024-10-20) +# requires dev-libs/libcss and net-libs/libdom to be keyworded +www-client/elinks libcss + +# Andrew Ammerlaan (2024-10-08) +# Not all required dependencies are keyworded here +sys-kernel/dracut test + # David Roman (2024-10-04) # dev-libs/libunibreak is not keyworded media-libs/libass libunibreak diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/no-multilib/package.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/no-multilib/package.mask index 5778ea9ddda..6e8bd97291a 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/no-multilib/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/no-multilib/package.mask @@ -24,7 +24,6 @@ app-emulation/q4wine dev-embedded/libftd2xx dev-embedded/openocd dev-util/android-sdk-update-manager -dev-util/biew games-action/badland games-action/beathazardultra games-action/brutal-legend-gog diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use index 273406b0e81..2ba8e038826 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use @@ -1,6 +1,11 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Matt Whitlock (2024-11-06) +# Assembly optimization is experimental except on amd64, so we leave it +# disabled by default on all other arches. Bug #941226 +dev-libs/libsecp256k1 asm + # Michał Górny (2024-09-04) # Build with debugging support by default to facilitate dev-debug/dtrace # and sys-apps/systemd[bpf]. diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.mask index c7283328f27..fdece9536c3 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.mask @@ -17,6 +17,18 @@ #--- END OF EXAMPLES --- +# Sam James (2024-10-29) +# Only available on amd64 for now +dev-libs/elfutils -stacktrace + +# Viorel Munteanu (2024-10-23) +# Dependency dev-python/asyncssh is keyworded here. +net-misc/dropbear -test + +# Michał Górny (2024-10-23) +# Debug-enabled binary packages are built for a subset of architectures. +sys-kernel/gentoo-kernel-bin -debug + # Michal Privoznik (2024-10-10) # virtualbox is available here app-emulation/libvirt -virtualbox diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/use.mask index 2a1f8b79490..2b5672cf531 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/use.mask @@ -144,8 +144,6 @@ -video_cards_nvk -video_cards_siliconmotion -video_cards_vesa --video_cards_via --video_cards_virtualbox -video_cards_vmware -video_cards_qxl 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 4b7702d6a84..cf27cc4874a 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 @@ -10,6 +10,10 @@ media-libs/opencv java net-misc/plowshare javascript sci-libs/gdal java +# Andrew Ammerlaan (2024-10-08) +# Not all required dependencies are keyworded here +sys-kernel/dracut test + # Andreas Sturmlechner (2024-09-07) # kde-plasma/plasma-workspace:6 is not keyworded sys-auth/polkit kde diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/arm/use.mask index 53b35994e0a..d322c4168ff 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/arm/use.mask @@ -93,7 +93,6 @@ anthy -video_cards_exynos -video_cards_freedreno -video_cards_lima --video_cards_omap -video_cards_panfrost -video_cards_tegra -video_cards_v3d 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 8ec90fbdf79..5639e41e50d 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,6 +1,10 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Michał Górny (2024-10-23) +# Debug-enabled binary packages are built for a subset of architectures. +sys-kernel/gentoo-kernel-bin -debug + # Benda Xu (2024-10-10) # dev-util/nvidia-cuda-toolkit or sys-cluster/ucx are not keyworded on arm64 sys-cluster/slurm nvml ucx diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/base/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/base/package.use.mask index f7d2b914ce3..c1eddd2ac0f 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/base/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/base/package.use.mask @@ -1,6 +1,18 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Sam James (2024-10-29) +# Only available on amd64 for now +dev-libs/elfutils stacktrace + +# Viorel Munteanu (2024-10-23) +# Missing keywords on dev-python/asyncssh. +net-misc/dropbear test + +# Michał Górny (2024-10-23) +# Debug-enabled binary packages are built for a subset of architectures. +sys-kernel/gentoo-kernel-bin debug + # Michal Privoznik (2024-10-10) # VirtualBox is amd64 only app-emulation/libvirt virtualbox 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 5c47f81935e..863b9ad67c5 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,10 +4,18 @@ # NOTE: When masking a USE flag due to missing keywords, please file a keyword # request bug for the hppa arch. +# Felix Janda (2024-10-20) +# requires dev-libs/libcss and net-libs/libdom to be keyworded +www-client/elinks libcss + # Yongxiang Liang (2024-10-10) # app-i18n/fcitx:5 is not yet keyworded media-libs/libsdl2 fcitx +# Andrew Ammerlaan (2024-10-08) +# Not all required dependencies are keyworded here +sys-kernel/dracut test + # David Roman (2024-10-04) # dev-libs/libunibreak is not keyworded media-libs/libass libunibreak 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 a10a477151e..9c6483e3115 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,10 @@ # Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Andrew Ammerlaan (2024-10-08) +# Not all required dependencies are keyworded here +sys-kernel/dracut test + # David Roman (2024-10-04) # dev-libs/libunibreak is not keyworded media-libs/libass libunibreak 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 fd0f941043b..7710390e180 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,18 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Matt Jolly (2024-11-03) +# Requires llvm 16 which is not keyworded +=dev-lang/rust-1.71.1-r100 system-llvm + +# Felix Janda (2024-10-20) +# requires dev-libs/libcss and net-libs/libdom to be keyworded +www-client/elinks libcss + +# Andrew Ammerlaan (2024-10-08) +# Not all required dependencies are keyworded here +sys-kernel/dracut test + # David Roman (2024-10-04) # dev-libs/libunibreak is not keyworded media-libs/libass libunibreak @@ -307,9 +319,9 @@ gnome-base/gvfs google xfce-base/xfwm4 xpresent # Mart Raudsepp (2017-02-07) -# dev-python/gmpy fails tests about sizeof (conch), bug 608496 +# dev-python/gmpy2 fails tests about sizeof (conch), bug 608496 # dev-python/attrs fails tests on slow mips, couldn't test service_identity test path (crypt), bug 608570 -# dev-python/gmpy also a test depend, so minimize the features until can test properly (http2 soap test) +# dev-python/gmpy2 also a test depend, so minimize the features until can test properly (http2 soap test) dev-python/twisted conch http2 test # Felix Janda (2016-09-24) 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 2d1d93dd717..46e3f5c6c54 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 @@ -378,10 +378,6 @@ sci-libs/gdal spatialite # remove mask if/when media-gfx/argyllcms is keywored here. x11-misc/colord argyllcms extra-print-profiles -# Anthony G. Basile (2012-11-15) -# Mask telepathy, no stable net-libs/telepathy-qt, bug #441456 -net-im/choqok telepathy - # Samuli Suominen (2012-09-27) # I don't want to open this can of worms yet. Feel free # to do so. diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/ppc/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/ppc/package.use.mask index 8c3b12715f9..a08711d7484 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/ppc/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/ppc/package.use.mask @@ -1,6 +1,14 @@ # Copyright 2023-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Paul Zander (2024-11-04) +# media-libs/libavif is not keyworded +media-libs/opencv avif + +# Andrew Ammerlaan (2024-10-08) +# Not all required dependencies are keyworded here +sys-kernel/dracut test + # Eli Schwartz (2024-06-05) # tests require pytest-qt which is not keyworded app-portage/elogviewer test diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/package.use.force b/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/package.use.force index d69a9bf759c..b3abf820e9d 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/package.use.force +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/package.use.force @@ -1,6 +1,11 @@ # Copyright 2021-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Michael Orlitzky (2024-11-01) +# The alternative to icu is dev-libs/libgrapheme, and it +# ain't keyworded yet. +media-gfx/imv icu + # Ionen Wolkens (2023-07-26) # MPV currently[1] has no plans to support >=lua5-3 making luajit # the only choice for maintained lua. Apply mask/force to override 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 1f2d8c51da4..d261b48daa8 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 @@ -184,6 +184,8 @@ net-fs/cifs-utils acl # Sam James (2022-04-20) # x11-themes/sound-theme-freedesktop unkeyworded here +app-editors/gvim sound +app-editors/vim sound media-libs/libcanberra sound # Sam James (2022-04-24) 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 4290a51c2eb..2392bf02dd4 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,10 +1,18 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Felix Janda (2024-10-20) +# requires dev-libs/libcss and net-libs/libdom to be keyworded +www-client/elinks libcss + # Sam James (2024-10-12) # Exposes a kernel bug which causes system lockup (bug #899540) sys-libs/liburing test +# Andrew Ammerlaan (2024-10-08) +# Not all required dependencies are keyworded here +sys-kernel/dracut test + # David Roman (2024-10-04) # dev-libs/libunibreak not keyworded here media-libs/libass libunibreak @@ -200,6 +208,7 @@ app-crypt/gcr:4 gtk # Sam James (2022-11-24) # Pulls in gjs which is broken on sparc, bug #882071 +dev-libs/libpeas javascript app-crypt/libsecret test-rust dev-util/glade gjs gnome-base/gnome-menus test diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/i486/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/i486/package.use.mask index 8e79bd33e17..ce9c6f0cb82 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/i486/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/i486/package.use.mask @@ -1,6 +1,10 @@ # Copyright 2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Andrew Ammerlaan (2024-10-08) +# Not all required dependencies are keyworded here +sys-kernel/dracut test + # Ben Kohler (2024-05-03) # Requires thin-provisioning-tools, which requires rust, which cannot currently # build/install on i486 or any other CPU class lacking sse2. diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.mask index 4633a6bac66..e056ec06816 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.mask @@ -27,7 +27,6 @@ dev-python/spyder-line-profiler dev-python/spyder-vim dev-python/spyder-notebook kde-apps/cantor:5 -kde-apps/kimagemapeditor:5 media-gfx/luminance-hdr media-sound/frescobaldi media-sound/teamspeak-client:3 diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.mask index 87345b2d1bb..9a0897cf523 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Ben Kohler (2024-10-23) +# Upstream dropbox no longer producing x86 releases +kde-apps/kdenetwork-meta dropbox + # Alexander Puck Neuwirth (2024-10-20) # sci-physics/rivet is unavailable on x86 sci-physics/pythia rivet diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/use.mask index a3438e1c9a1..63c1d355568 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/use.mask @@ -181,8 +181,6 @@ webengine -video_cards_vmware -video_cards_geode -video_cards_vesa --video_cards_via --video_cards_virtualbox -video_cards_qxl # Robert Buchholz (2007-06-03) diff --git a/sdk_container/src/third_party/portage-stable/profiles/base/package.mask b/sdk_container/src/third_party/portage-stable/profiles/base/package.mask index f7f6c9a921d..9678dc930ef 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/base/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/base/package.mask @@ -1,6 +1,11 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Sam James (2024-11-10) +# Breaks suspend on elogind systems (bug #934314, bug #923614) +# https://github.com/polkit-org/polkit/issues/451 +>=sys-auth/polkit-124 + # matoro (2024-08-18) # Pre-rust versions of librsvg. Has vulnerabilities, so masked by # default and only unmasked on wd40. 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 afc2e1e4ea7..537ce0d4eff 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 @@ -3,6 +3,18 @@ # New entries go on top. +# Joonas Niilola (2024-11-07) +# Dependency for generating docs not packaged in Gentoo. #942992 +dev-util/repolite doc + +# Volkmar W. Pogatzki (2024-11-01) +# No suitable versions of dev-libs/protobuf available. +>=dev-java/protobuf-java-4.28.1 system-protoc + +# Sam James (2024-10-29) +# Currently needs patched dev-util/sysprof. +dev-libs/elfutils stacktrace + # Peter Levine (2024-10-09) # Leads to missing symbols while building testcases # Masked for further testing. @@ -35,10 +47,6 @@ dev-lang/gnat-gpl pgo lto # Only supported on x86/amd64 (bug #940014). net-misc/lldpd seccomp -# Volkmar W. Pogatzki (2024-09-12) -# No suitable version of dev-libs/protobuf available. -=dev-java/protobuf-java-4.28.1 system-protoc - # Sam James (2024-09-07) # yacc[reference] exists more for curiosity than anything else, it's # not for real use on systems. @@ -337,10 +345,6 @@ net-libs/gssdp man # Needs long-EOL dev-lang/spidermonkey:60 (which also needs python:2.7). media-libs/coin javascript -# Michał Górny (2022-11-19) -# Requires packages masked for removal. -mail-mta/netqmail authcram - # Matt Turner (2022-11-16) # gnome-music and gnome-photos have not been ported to libsoup:3.0, while # other non-slotted dependencies have been. @@ -529,10 +533,6 @@ gui-libs/gtk ffmpeg vulkan # lto does not work on dev-lang/gnat-gpl-2021 dev-lang/gnat-gpl:10 lto -# Mike Gilbert (2021-06-14) -# Avoid running failing tests by default. -sys-kernel/dracut test - # Andreas Sturmlechner (2021-05-09) # Dependency requires sys-apps/systemd. Will only be unmasked in systemd target. kde-plasma/plasma-meta firewall diff --git a/sdk_container/src/third_party/portage-stable/profiles/base/package.use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/base/package.use.stable.mask index 2f013f1f828..02b9f1e3049 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/base/package.use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/base/package.use.stable.mask @@ -4,6 +4,10 @@ # This file requires eapi 5 or later. New entries go on top. # Please use the same syntax as in package.use.mask +# Michał Górny (2024-10-26) +# Unblock the support in python-exec while the target is masked. +dev-lang/python-exec -python_targets_python3_13 + # Volkmar W. Pogatzki (2024-10-11) # No suitable version of dev-libs/protobuf available. =dev-java/protobuf-java-4.28.1 system-protoc diff --git a/sdk_container/src/third_party/portage-stable/profiles/base/use.mask b/sdk_container/src/third_party/portage-stable/profiles/base/use.mask index 3db1ca5d543..b4845b0b52e 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/base/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/base/use.mask @@ -4,6 +4,12 @@ # This file is only for generic masks. For arch-specific masks (i.e. # mask everywhere, unmask on arch/*) use arch/base. +# Andreas K. Hüttel (2024-10-21) +# Mechanism for coping with the time64 transition of 32bit arches +# Will be unmasked in the time64 profiles +perl_features_time64 +time64 + # Andreas K. Hüttel (2024-05-01) # PERL_FEATURES=debug is not a setting that should be used lightly. # If you really need it, then unmask it... 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 983829cdc51..e842848fb66 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_t64-linux-gnu" +CHOST="i686-pc-linux-gnut64" 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 index f065ec275ca..0d0241ad4db 100644 --- 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 @@ -4,3 +4,7 @@ # For better testing of time64, we use gcc-14 here already in an otherwise stable # environment. sys-devel/gcc:14 ~x86 + +# We need glibc-2.39-r11 at least so we can handle the compiler that auto-sets _TIME_BITS +# etc +=sys-libs/glibc-2.39* ~x86 diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/big-endian/package.mask b/sdk_container/src/third_party/portage-stable/profiles/features/big-endian/package.mask index 1e9525c6e83..f37645ffb46 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/big-endian/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/features/big-endian/package.mask @@ -36,7 +36,6 @@ kde-apps/kmail kde-apps/libksieve kde-apps/kdepim-runtime kde-apps/kontact -kde-apps/kimagemapeditor kde-apps/grantlee-editor kde-apps/akregator dev-util/kdevelop 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 1a014994d47..949d2a81b76 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,22 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Robert Siebeck (2024-10-30) +# musl not supported by upstream +app-editors/zed + +# Andreas K. Hüttel (2024-10-24) +# Using a glibc interface, and with that on musl pretty much useless +sys-auth/nss-mdns +sys-auth/libnss-cache +sys-auth/nss-myhostname +sys-auth/libnss-nis +sys-auth/nss-pam-ldapd +sys-auth/libnss-pgsql +sys-auth/libnss-mysql +sys-auth/nss_ldap +net-nds/nsscache + # Sam James (2024-09-30) # Needs porting to musl (bug #940130) =sys-auth/elogind-255.5 @@ -341,7 +357,7 @@ sys-block/arcconf sys-block/hpssacli sys-block/megacli www-apps/chromedriver-bin -www-apps/grafana-bin + (2024-10-08) +# Not all required dependencies are keyworded here +sys-kernel/dracut test + # Ian Jordan (2024-08-22) # Browser uses a prebuilt binary built against glibc (bug #934005) media-video/obs-studio browser diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/time64/package.mask b/sdk_container/src/third_party/portage-stable/profiles/features/time64/package.mask new file mode 100644 index 00000000000..77064182bb8 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/features/time64/package.mask @@ -0,0 +1,7 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Michał Górny (2024-11-06) +# Old versions of GCC do not support USE=time64, and as such do not +# enforce 64-bit time_t as required by this profile. + (2024-10-21) +perl_features_time64 +time64 diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/time64/use.mask b/sdk_container/src/third_party/portage-stable/profiles/features/time64/use.mask new file mode 100644 index 00000000000..e18f63587f2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/features/time64/use.mask @@ -0,0 +1,6 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Andreas K. Hüttel (2024-10-21) +-perl_features_time64 +-time64 diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/wd40/README b/sdk_container/src/third_party/portage-stable/profiles/features/wd40/README index 1e90063187f..abe7317db01 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/wd40/README +++ b/sdk_container/src/third_party/portage-stable/profiles/features/wd40/README @@ -1,3 +1,3 @@ This is a common profile for architectures and subarchitectures that do not -support Rust (do not have a working virtual/rust). It serves as a common place +support Rust (do not have a working Rust). It serves as a common place to mask the packages requiring Rust and the USE flags pulling them. diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/wd40/package.mask b/sdk_container/src/third_party/portage-stable/profiles/features/wd40/package.mask index 4a9c862847d..8da20c80caf 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/wd40/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/features/wd40/package.mask @@ -1,6 +1,11 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Viorel Munteanu (2024-10-24) +# Requires already masked packages (dev-python/bcrypt, +# dev-python/cryptography, dev-python/fido2, dev-python/pyopenssl) +dev-python/asyncssh + # Michał Górny (2024-09-23) # Requires dev-python/nh3. dev-python/textile @@ -222,6 +227,7 @@ dev-python/cramjam dev-python/dirty-equals dev-python/hatch-jupyter-builder dev-python/inflect +dev-python/inline-snapshot dev-python/ipyparallel dev-python/ipywidgets dev-python/jaraco-itertools diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/wd40/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/features/wd40/package.use.mask index 92fac886fed..582010e4e3e 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/wd40/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/features/wd40/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Michał Górny (2024-11-02) +# Optional Rust extensions. +dev-python/dulwich native-extensions + # Andreas Sturmlechner (2024-10-04) # >=media-libs/libopenraw-0.3.2 depends on rust xfce-base/tumbler raw @@ -158,6 +162,7 @@ dev-libs/tree-sitter-vimdoc test # Sam James (2022-11-19) # GNOME packages pulling in e.g. gjs which then needs Rust. +dev-libs/libpeas javascript dev-util/glade gjs gnome-base/gnome-menus test gnome-base/gnome-settings-daemon modemmanager @@ -234,7 +239,7 @@ x11-misc/xscreensaver gdm >=media-libs/libheif-1.10.0 rav1e # Cédric Krier (2020-11-10) -# virtual/rust has no ${arch} keyword +# Rust has no ${arch} keyword dev-vcs/mercurial rust # Joonas Niilola (2020-10-02) @@ -248,7 +253,7 @@ media-libs/gd avif net-libs/webkit-gtk avif # Mart Raudsepp (2020-08-02) -# ${arch} has no virtual/rust support, needed by newer gnome-base/librsvg, et al +# ${arch} has no Rust support, needed by newer gnome-base/librsvg, et al >=media-gfx/eog-3.33.1 svg # Thomas Deutschmann (2018-10-12) diff --git a/sdk_container/src/third_party/portage-stable/profiles/package.deprecated b/sdk_container/src/third_party/portage-stable/profiles/package.deprecated index e66533dd5e8..fcc2feaf833 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/package.deprecated +++ b/sdk_container/src/third_party/portage-stable/profiles/package.deprecated @@ -24,12 +24,6 @@ # regressions. Bug #937896. dev-python/sentry-sdk -# Michał Górny (2024-07-23) -# Abandoned and broken with pytest-8. Superseded -# by dev-python/pytest-lazy-fixtures (plural), which requires small -# changes in code. -dev-python/pytest-lazy-fixture - # Michał Górny (2024-06-15) # Stop-gap compatibility package. Upstreams really need to move away # from the removed cgi module rather than rely on this. 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 09e50020ea9..80887c34973 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,170 @@ #--- END OF EXAMPLES --- +# Andreas K. Hüttel (2024-11-10) +# Fails to build with gcc-14. Horrible code. Not touched by a +# maintainer since 2010. Bugs 729134, 870541, 909625, 933773 +# Removal in 30 days. +app-accessibility/powiedz + +# Matt Jolly (2024-11-09) +# The legacy Rust ebuilds are no longer maintained and have been +# replaced by the new slotted Rust. Removal in 30 days. +=dev-lang/rust-1.71.1 +=dev-lang/rust-1.74.1 +=dev-lang/rust-1.75.0-r1 +=dev-lang/rust-1.77.1 +=dev-lang/rust-1.79.0 +=dev-lang/rust-1.80.1 +=dev-lang/rust-1.81.0 +=dev-lang/rust-1.82.0 +=dev-lang/rust-bin-1.71.1 +=dev-lang/rust-bin-1.74.1 +=dev-lang/rust-bin-1.75.0 +=dev-lang/rust-bin-1.77.1 +=dev-lang/rust-bin-1.79.0 +=dev-lang/rust-bin-1.80.1 +=dev-lang/rust-bin-1.81.0 +=dev-lang/rust-bin-1.82.0 +=virtual/rust-1.71.1-r2 +=virtual/rust-1.74.1-r1 +=virtual/rust-1.75.0-r1 +=virtual/rust-1.77.1 +=virtual/rust-1.79.0 +=virtual/rust-1.80.1 +=virtual/rust-1.81.0-r1 +=virtual/rust-1.82.0 + +# Matt Jolly (2024-11-09) +# Does not build with any rust version in the tree. Removal in 30 days. +=dev-lang/starlark-rust-0.8.0 + +# Matt Jolly (2024-11-09) +# Does not build with any rust version in the tree. Removal in 30 days. +=dev-util/wasmer-0.11.0 + +# Hans de Graaff (2024-11-08) +# Obsolete slot. Use a newer slot instead. Removal on 2024-12-08. +dev-ruby/faker:2 + +# Hans de Graaff (2024-11-08) +# Obsolete slot. Use a newer slot instead. The included jquery-ui +# version is no longer supported upstream. Removal on 2024-12-08. +dev-ruby/jquery-ui-rails:6 + +# Alfredo Tupone (2024-11-07) +# No more used (caffe2 used to) +# Removal on 2024-12-07. Bug #942972. +sci-libs/QNNPACK + +# Matt Turner (2024-11-06) +# Replaced by kernel modesetting (CONFIG_DRM_VBOXVIDEO) and the +# xf86-video-modesetting driver in the Xserver. Bug #929007 +# +# Removal on 2024-12-06. Bug #924715. +x11-drivers/xf86-video-vboxvideo + +# Matt Turner (2024-11-06) +# Driver for integrated GPU paired only with Texas Instruments ARM CPUs. +# +# Not maintained upstream. No releases since 2016. No sign of users. +# +# Removal on 2024-12-06. Bug #924715. +x11-drivers/xf86-video-omap + +# Matt Turner (2024-11-06) +# Driver for integrated GPU paired only with x86 VIA CPUs. +# +# Has not worked in Gentoo for more than two years (see bug #875233) without +# any actual users noticing. +# +# Removal on 2024-12-06. Bug #875233. +x11-drivers/xf86-video-openchrome + +# Holger Hoffstätte (2024-11-03) +# Vendors an unreleased libbpf version and announces incorrect version. +# Please downgrade to 7.4.0. Bug Bug #941185. Removal on 2024-12-03. +=dev-util/bpftool-7.5.0-r1 + +# David Seifert (2024-11-03) +# Bug ridden package, extremely brittle build system, lots of QA issues, +# terrible license, no other linux distro still packages this. +# Removal on 2024-12-03. Bug #929069. +sci-chemistry/molden + +# Hans de Graaff (2024-11-03) +# Obsolete ruby32-only slot without reverse dependencies. Use the newer +# slot instead. Removal on 2024-12-03. +dev-ruby/pdf-reader:0 + +# Hans de Graaff (2024-11-01) +# Does not work with current versions of dependencies. ruby32-only +# because of it. No release in two years. No reverse +# dependencies. Removal on 2024-12-01. +dev-ruby/typhoeus + +# Hans de Graaff (2024-11-01) +# No longer compiles with modern C compilers, bug 881245. Last upstream +# release 6 years ago. No reverse dependencies. Removal on 2024-12-01. +dev-ruby/ruby-opengl + +# Michał Górny (2024-10-29) +# Unmaintained in Gentoo. The latter is multiple versions behind. +# Ebuilds without working tests. The only revdep has its "doc" flag +# masked for over a year. +# Removal on 2024-11-28. Bug #942445. +dev-python/mkdocs-ansible +dev-python/mkdocs-macros-plugin + +# Marc Schiffbauer (2024-10-28) +# New style opencpn plugins depend on specific snapshots of +# "opencpn-libs", a collection of bundled 3rd party libs or +# forks thereof. +# This makes it virtually impossible to package opencpn and +# its plugins in a sane way. +# Use the flatpak version instead. +# removal on 2024-11-28. +# Bug #928960, #933606 +sci-geosciences/opencpn +sci-geosciences/opencpn-plugin-aisradar +sci-geosciences/opencpn-plugin-climatology +sci-geosciences/opencpn-plugin-dr +sci-geosciences/opencpn-plugin-findit +sci-geosciences/opencpn-plugin-gxradar +sci-geosciences/opencpn-plugin-iacfleet +sci-geosciences/opencpn-plugin-launcher +sci-geosciences/opencpn-plugin-logbookkonni +sci-geosciences/opencpn-plugin-objsearch +sci-geosciences/opencpn-plugin-ocpn_draw +sci-geosciences/opencpn-plugin-ocpndebugger +sci-geosciences/opencpn-plugin-oesenc +sci-geosciences/opencpn-plugin-otcurrent +sci-geosciences/opencpn-plugin-polar +sci-geosciences/opencpn-plugin-radar +sci-geosciences/opencpn-plugin-route +sci-geosciences/opencpn-plugin-squiddio +sci-geosciences/opencpn-plugin-statusbar +sci-geosciences/opencpn-plugin-watchdog +sci-geosciences/opencpn-plugin-weather_routing +sci-geosciences/opencpn-plugin-weatherfax +sci-geosciences/opencpn-plugins-meta + +# Hans de Graaff (2024-10-27) +# Obsolete slots without reverse dependencies. dev-util/cucumber will +# use other slots when installed. Removal on 2024-11-27. +dev-util/cucumber-gherkin:26 +dev-util/cucumber-messages:17 +dev-util/cucumber-messages:20 + +# Arthur Zamarin (2024-10-23) +# Doesn't support latest Rust/Cargo ebuild format and standard. Confuses +# developers who tries to use it, and then see pkgcheck warnings on the +# result. +# Superior replacement is app-portage/pycargoebuild, which is maintained, +# and supports more features. +# Removal on 2024-11-22. Bugs #942026, #934381, #724162, #930011. +dev-util/cargo-ebuild + # Arthur Zamarin (2024-10-20) # Maintainer-needed, no reverse dependencies, EAPI=7, many modern C # bugs. Many other IRC clients can be replacement. Awaits version @@ -86,7 +250,7 @@ dev-ruby/io-event:1.3 # Holger Hoffstätte (2024-10-11) # Vendors an unreleased libbpf version and generates ABI-breaking code. -# Bug #941185. +# Bug #941185. Removal on 2024-12-03. =dev-util/bpftool-7.5.0-r2 # Michał Górny (2024-10-10) @@ -159,20 +323,6 @@ app-i18n/kcm-fcitx =dev-qt/qtwebsockets-6.8.0* =dev-qt/qtwebview-6.8.0* -# Andreas Sturmlechner (2024-10-07) -# No more revdeps, merged into kde-frameworks/kpeople upstream. -# Removal on 2024-11-06. -dev-libs/kpeoplevcard - -# Andreas Sturmlechner (2024-10-07) -# Unmaintained and archived upstream, removal on 2024-11-06. -net-im/choqok - -# Hans de Graaff (2024-10-06) -# Obsolete slot without reverse dependencies. Use the newer slot -# instead. Removal on 2024-11-08. -dev-ruby/base64:0.1 - # Andrew Ammerlaan (2024-10-05) # This version is known to break on certain systems. At the # same time it fixes several reported issues. Masked until @@ -180,27 +330,6 @@ dev-ruby/base64:0.1 # See also: https://github.com/gentoo/gentoo/pull/36091 ~sys-boot/plymouth-24.004.60 -# Andreas Sturmlechner (2024-10-05) -# Masked for removal in 30 days. Broken since KF6 incapacitated -# breeze-icons-rcc, but no one even complained. Upstream porting -# effort stalled indefinitely: -# https://invent.kde.org/office/kexi/-/issues/152 -# Removal on 2024-11-04. -app-office/kexi -dev-db/kdb -dev-libs/kproperty -dev-libs/kreport -kde-frameworks/breeze-icons-rcc - -# Sebastian Pipping (2024-10-03) -# Masked for removal in 30 days. Last release in 2021, -# last commit two years ago, has open bugs, .. (bug #940725). -# Also removing its two dependencies that have no other -# reverse dependencies in Gentoo or known use outside of Lurch. -net-libs/libaxc -net-libs/libomemo -x11-plugins/lurch - # Sam James (2024-09-30) # GCC 10 and older no longer receive upstream support or fixes for # bugs. Please switch to a newer GCC version using gcc-config. @@ -208,60 +337,17 @@ x11-plugins/lurch (2024-09-29) -# This package has not been updated since Python 3.11.2. It bundles -# part of Python stdlib that's most likely vulnerable by now, as well -# as some third-party packages. And it really needs a dedicated -# maintainer. -# Removal on 2024-10-29. Bug #910612. -dev-python/brython - -# Volkmar W. Pogatzki (2024-09-28) -# Nothing depends on it. Removal on 2024-10-28. -dev-java/ant-core - -# Eli Schwartz (2024-09-22) -# Unmaintained, abandoned upstream, does not compile with GCC 14. -# Removal on 2024-10-22. Bug #874732. -dev-util/biew - # Robin H. Johnson (2024-09-22) # Upstream testing release; fails some tests as well here # Beware that if you upgrade to it, you may need to reset your keyrings. >=app-crypt/gnupg-2.5 -# Michał Górny (2024-09-21) -# Discontinued upstream. Since 7.3.17, only 2.7 and 3.10 are released. -# Vulnerable. -# Removal on 2024-10-21. Bug #939951. -dev-python/pypy3_9 -dev-python/pypy3_9-exe -dev-python/pypy3_9-exe-bin - -# Michał Górny (2024-09-21) -# Unmaintained. Broken with >=dev-python/pytest-8. -# Replaced by dev-python/pytest-lazy-fixtures. No revdeps left. -# Removal on 2024-10-21. Bug #939420. -dev-python/pytest-lazy-fixture - -# Andreas Sturmlechner (2024-09-20) -# No more revdeps after app-accessibility/kontrast:5 cleanup. -# Removal on 2024-10-20. -dev-db/futuresql5 - # Eli Schwartz (2024-09-19) # Breaks parallel builds with fatal compiler errors. # Bug #939798, #939875. >=dev-python/ensurepip-setuptools-75.1.0 >=dev-python/setuptools-75.1.0 -# Hans de Graaff (2024-09-14) -# Obsolete slots that were used for older cucumber version but that no -# longer have reverse dependencies. Removal on 2024-10-14. -dev-util/cucumber-compatibility-kit:10 -dev-util/cucumber-core:12 -dev-util/cucumber-gherkin:22 - # Ulrich Müller (2024-09-12) # Pretest versions, masked for testing. (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 - -# Ionen Wolkens (2024-08-11) -# >=1.1.14 enables usage of explicit sync (with >=nvidia-drivers-560 -# and compositors that supports like kwin-6), which currently seems -# to be causing too many problems ranging from application crashes -# and potential VRAM leaking (even with the fixes in 1.1.15) and may -# be better left masked for the time being. It can hwoever solve -# flicking/stutter issues on some setups so users may want to unmask -# if heavily affected (bug #937773). ->=gui-libs/egl-wayland-1.1.14 - # Pacho Ramos (2024-08-09) # Mask until we find out a way to deal better with the upstream # introduced circular dep, bug #937616 @@ -297,6 +368,7 @@ dev-util/cucumber-gherkin:22 >=dev-util/gdbus-codegen-2.80 >=gnome-base/gnome-shell-46 >=gnome-extra/gnome-shell-extensions-46 +>=gnome-extra/gnome-shell-frippery-46 >=gnome-base/nautilus-46 >=dev-libs/gobject-introspection-1.80 >=dev-libs/gobject-introspection-common-1.80 @@ -306,15 +378,6 @@ dev-util/cucumber-gherkin:22 # New major ffmpeg version. Tracker bug #928905. >=media-video/ffmpeg-7.0 -# Joonas Niilola (2024-07-04) -# libxml2-2.13.1 removed "deprecated" symbols that other (older) -# packages depend upon. It can be mitigated with a --with-legacy -# configure option, but it's still not a perfect fix. Bug #935452 -# to track and work on tree-wide support. Masking the exact version -# so we can revbump the package with a fix. -=dev-libs/libxml2-2.13.1 -=dev-libs/libxslt-1.1.41 - # Sam James (2024-06-25) # The symbol versioning "fix" breaks anything built with 3.0.0. =dev-libs/libassuan-3.0.1 @@ -411,14 +474,17 @@ dev-ml/textutils_kernel:0/0.17 >=xfce-base/libxfce4util-4.19 >=xfce-base/libxfce4windowing-4.19.5 >=xfce-base/thunar-4.19 +>=xfce-base/thunar-volman-4.19 >=xfce-base/tumbler-4.19 >=xfce-base/xfce4-appfinder-4.19 +>=xfce-base/xfce4-meta-4.19 >=xfce-base/xfce4-panel-4.19 >=xfce-base/xfce4-power-manager-4.19 >=xfce-base/xfce4-session-4.19 >=xfce-base/xfce4-settings-4.19 >=xfce-base/xfconf-4.19 >=xfce-base/xfdesktop-4.19 +>=xfce-base/xfwm4-4.19 # Sam James (2024-04-28) # Masked for testing. Tracker bug: bug #930805. diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/parent b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/parent index 8f6bb2022d1..d78adeeaf2b 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/parent +++ b/sdk_container/src/third_party/portage-stable/profiles/prefix/darwin/parent @@ -1,3 +1,4 @@ ../../base ../../arch/base .. +../../features/wd40 diff --git a/sdk_container/src/third_party/portage-stable/profiles/prefix/sunos/parent b/sdk_container/src/third_party/portage-stable/profiles/prefix/sunos/parent index 8f6bb2022d1..d78adeeaf2b 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/prefix/sunos/parent +++ b/sdk_container/src/third_party/portage-stable/profiles/prefix/sunos/parent @@ -1,3 +1,4 @@ ../../base ../../arch/base .. +../../features/wd40 diff --git a/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/gnome/make.defaults b/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/gnome/make.defaults index 2dc85fe967c..8af0df35af0 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/gnome/make.defaults +++ b/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/gnome/make.defaults @@ -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 -USE="colord eds evo gnome gnome-keyring gnome-online-accounts gnome-shell gstreamer introspection keyring nautilus networkmanager pulseaudio sysprof tracker" +USE="colord eds evo gdk-pixbuf gnome gnome-keyring gnome-online-accounts gnome-shell gstreamer introspection keyring nautilus networkmanager pulseaudio sysprof tracker" diff --git a/sdk_container/src/third_party/portage-stable/profiles/targets/systemd/package.mask b/sdk_container/src/third_party/portage-stable/profiles/targets/systemd/package.mask new file mode 100644 index 00000000000..532b8d38fd3 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/targets/systemd/package.mask @@ -0,0 +1,8 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Sam James (2024-11-10) +# Breaks suspend on elogind systems (bug #934314, bug #923614) but +# works fine on systemd machines. +# https://github.com/polkit-org/polkit/issues/451 +->=sys-auth/polkit-124 diff --git a/sdk_container/src/third_party/portage-stable/profiles/updates/4Q-2024 b/sdk_container/src/third_party/portage-stable/profiles/updates/4Q-2024 index 04316120a7a..aedc958dd30 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/updates/4Q-2024 +++ b/sdk_container/src/third_party/portage-stable/profiles/updates/4Q-2024 @@ -1,3 +1,6 @@ move dev-python/pyopengl_accelerate dev-python/pyopengl-accelerate move sys-apps/scx sys-kernel/scx slotmove media-sound/kmetronome 5 0 +move net-im/sendxmpp-amm net-im/sendxmpp-scala +move dev-python/jinja dev-python/jinja2 +move dev-python/gmpy dev-python/gmpy2 diff --git a/sdk_container/src/third_party/portage-stable/profiles/use.desc b/sdk_container/src/third_party/portage-stable/profiles/use.desc index feb500c7848..7b0ba9c60bf 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/use.desc +++ b/sdk_container/src/third_party/portage-stable/profiles/use.desc @@ -339,6 +339,7 @@ theora - Add support for the Theora Video Compression Codec threads - Add threads support for various packages. Usually pthreads tidy - Add support for HTML Tidy tiff - Add support for the TIFF image format +time64 - Use 64-bit time_t type instead of the regular 32-bit type. This flag is forced on time64 profiles, and masked elsewhere. It should be only used when detection of type width is not possible (e.g. for SRC_URI) timidity - Build with Timidity++ (MIDI sequencer) support tk - Add support for Tk GUI toolkit truetype - Add support for FreeType and/or FreeType2 fonts diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/azure-vm-utils/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/azure-vm-utils/Manifest index ae75b735cdc..c16b4dadd75 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/azure-vm-utils/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/azure-vm-utils/Manifest @@ -1 +1 @@ -DIST azure-vm-utils-0.3.0.tar.gz 15680 BLAKE2B b739299bda66dd594172e95ae0fe99155d1c101af4e20a012ce5dce658ee0648f802b5c4ec199d76bd650967abac763fea81a2e0202168fc74cd92fd25900956 SHA512 00eb9b0781f5070a35e921ee58d691cf4d530c695e6673fcb24fefbfefc9d869e0ccfab213dbb5ea78d2f93ef829aded3de1c411ccd24b03e52e564895bb2ed8 +DIST azure-vm-utils-0.4.0.tar.gz 15688 BLAKE2B 4a8f5b28a01b3670d81cbc9ae43c24b6177d90ddc3bf6e78a3ccc7406361474d2aa7dce934709fdb73cc0930616475e79ef8484e05bf34354668909e5d8a1c96 SHA512 e97f6de49f0ee9281d17c2be0f4c0e0d86385d113fd514e28fc14f635669a1abdddd83961193941b6969b2b0d41a357e4211357f8c226d84f698166c2eb21b8e diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/azure-vm-utils/azure-vm-utils-0.3.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/azure-vm-utils/azure-vm-utils-0.4.0.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-apps/azure-vm-utils/azure-vm-utils-0.3.0.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/azure-vm-utils/azure-vm-utils-0.4.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/checkpolicy/checkpolicy-3.7-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/checkpolicy/checkpolicy-3.7-r1.ebuild index 3e839ede55a..302c1642e08 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/checkpolicy/checkpolicy-3.7-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/checkpolicy/checkpolicy-3.7-r1.ebuild @@ -17,7 +17,7 @@ if [[ ${PV} == 9999 ]] ; then S="${WORKDIR}/${P}/${PN}" else SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~mips ~riscv ~x86" + KEYWORDS="amd64 arm arm64 ~mips ~riscv x86" S="${WORKDIR}/${MY_P}" fi diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/Manifest index 2823060d356..83daeb11649 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/Manifest @@ -1,5 +1,3 @@ -DIST coreutils-8.30-patches-01.tar.xz 5788 BLAKE2B a41511ce39ac570cb14b7f12d125eebef92217469a9490808719fa0665f5e5c0adb96fbd02c4bac4d280d1502295669575790a81dbc01afe2ca3a9d384cbefb0 SHA512 b1e1933637de4581d5f8c6ede4e80a012435d13f0cf5550a76ab5bbe9441e3c15ce19ef3f78a7ea3b8368d5e9a3bb17c1207c471d26171b59786f38adeba0454 -DIST coreutils-8.32.tar.xz 5547836 BLAKE2B 0ad99c176c19ec214fcfd0845523e5362f0151827707c759bd46c0fe8d2501c6ad1c29c5b71266f6525857bc0d56c472db0d7fe29953b6c65e2e6c76bdf3c515 SHA512 1c8f3584efd61b4b02e7ac5db8e103b63cfb2063432caaf1e64cb2dcc56d8c657d1133bbf10bd41468d6a1f31142e6caa81d16ae68fa3e6e84075c253613a145 DIST coreutils-9.4-patches.tar.xz 6756 BLAKE2B 677454409ccb629fd0efde1e15d8f9c13f208391e63a17816011e84d4ca3fb2a42c2a60853f213ade2a53c821d76fd8924c59388d160c6e7c7fa5755e1db4c68 SHA512 2025c80b5ada92bafb479c678917862be208534becd8b347d335032c6b4cc23c7b7630f15ca7dd3b5d691567cb70f3491753e29441cc54d8700cc3d966a5e743 DIST coreutils-9.4.tar.xz 5979200 BLAKE2B 83d41c48804c1d470c0e5eed38e692bb6875436dda3f6e2c29784ad6ef563d86e8e066a050e222621b400f78ea4630b1e127d20fc9b76f12096528c42677e35d SHA512 7c55ee23b685a0462bbbd118b04d25278c902604a0dcf3bf4f8bf81faa0500dee5a7813cba6f586d676c98e520cafd420f16479619305e94ea6798d8437561f5 DIST coreutils-9.4.tar.xz.sig 833 BLAKE2B 870f7eb28e8851f41954820c7f4f4b43a965e6650b303b79541dfdf98ca0cd52fe964d7eec72bea68066452d7ad21a01df5e4db9e5bc4c20bf26d8b416856446 SHA512 9674f783f592c4f3e5c708ff31426ac009bf132fd0005019571bf39c8a1627efb5351c6cecc7faecb1eff8fa2970318666593bffc0eda9c750159e174ef42524 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-8.32-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-8.32-r1.ebuild deleted file mode 100644 index 4bae5897bc0..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-8.32-r1.ebuild +++ /dev/null @@ -1,222 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_10 ) - -inherit flag-o-matic python-any-r1 toolchain-funcs - -PATCH="${PN}-8.30-patches-01" -DESCRIPTION="Standard GNU utilities (chmod, cp, dd, ls, sort, tr, head, wc, who,...)" -HOMEPAGE="https://www.gnu.org/software/coreutils/" -SRC_URI="mirror://gnu/${PN}/${P}.tar.xz - !vanilla? ( - mirror://gentoo/${PATCH}.tar.xz - https://dev.gentoo.org/~polynomial-c/dist/${PATCH}.tar.xz - ) -" - -LICENSE="GPL-3+" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x86-linux" -IUSE="acl caps gmp hostname kill multicall nls selinux +split-usr static test vanilla xattr" -RESTRICT="!test? ( test )" - -LIB_DEPEND="acl? ( sys-apps/acl[static-libs] ) - caps? ( sys-libs/libcap ) - gmp? ( dev-libs/gmp:=[static-libs] ) - xattr? ( sys-apps/attr[static-libs] )" -RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs]} ) - selinux? ( sys-libs/libselinux ) - nls? ( virtual/libintl )" -DEPEND=" - ${RDEPEND} - static? ( ${LIB_DEPEND} ) -" -BDEPEND=" - app-arch/xz-utils - dev-lang/perl - test? ( - dev-debug/strace - dev-lang/perl - dev-perl/Expect - ${PYTHON_DEPS} - ) -" -RDEPEND+=" - hostname? ( !sys-apps/net-tools[hostname] ) - kill? ( - !sys-apps/util-linux[kill] - !sys-process/procps[kill] - ) - ! "${ww}" - #!${EPREFIX}/bin/sh - exec env SANDBOX_WRITE="\${SANDBOX_WRITE}:/etc/mtab:/dev/loop" $(type -P ${w}) "\$@" - EOF - chmod a+rx "${ww}" || die - done - } - mkwrap mount umount - - addwrite /dev/full - #export RUN_EXPENSIVE_TESTS="yes" - #export COREUTILS_GROUPS="portage wheel" - env PATH="${T}/mount-wrappers:${PATH}" \ - emake -j1 -k check -} - -src_install() { - default - - insinto /etc - newins src/dircolors.hin DIR_COLORS - - if use split-usr ; then - cd "${ED}"/usr/bin || die - dodir /bin - - # Move critical binaries into /bin (required by FHS) - local fhs="cat chgrp chmod chown cp date dd df echo false ln ls - mkdir mknod mv pwd rm rmdir stty sync true uname" - mv ${fhs} ../../bin/ || die "Could not move FHS bins!" - - if use hostname ; then - mv hostname ../../bin/ || die - fi - - if use kill ; then - mv kill ../../bin/ || die - fi - - # Move critical binaries into /bin (common scripts) - # (Why are these required for booting?) - local com="basename chroot cut dir dirname du env expr head mkfifo - mktemp readlink seq sleep sort tail touch tr tty vdir wc yes" - mv ${com} ../../bin/ || die "Could not move common bins!" - - # Create a symlink for uname in /usr/bin/ since autotools require it. - # (Other than uname, we need to figure out why we are - # creating symlinks for these in /usr/bin instead of leaving - # the files there in the first place...) - local x - for x in ${com} uname ; do - dosym ../../bin/${x} /usr/bin/${x} - done - fi -} - -pkg_postinst() { - ewarn "Make sure you run 'hash -r' in your active shells." - ewarn "You should also re-source your shell settings for LS_COLORS" - ewarn " changes, such as: source /etc/profile" -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/files/coreutils-8.32-ls-restore-8.31-behavior.patch b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/files/coreutils-8.32-ls-restore-8.31-behavior.patch deleted file mode 100644 index 62a35cd85ad..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/files/coreutils-8.32-ls-restore-8.31-behavior.patch +++ /dev/null @@ -1,94 +0,0 @@ -From 10fcb97bd728f09d4a027eddf8ad2900f0819b0a Mon Sep 17 00:00:00 2001 -From: Paul Eggert -Date: Thu, 5 Mar 2020 17:25:29 -0800 -Subject: ls: restore 8.31 behavior on removed directories - -* src/ls.c: Do not include -(print_dir): Don't worry about whether the directory is removed. -* tests/ls/removed-directory.sh: Adjust to match new (i.e., old) -behavior. - -diff --git a/src/ls.c b/src/ls.c -index 24b983287..4acf5f44d 100644 ---- a/src/ls.c -+++ b/src/ls.c -@@ -49,10 +49,6 @@ - # include - #endif - --#ifdef __linux__ --# include --#endif -- - #include - #include - #include -@@ -2896,7 +2892,6 @@ print_dir (char const *name, char const *realname, bool command_line_arg) - struct dirent *next; - uintmax_t total_blocks = 0; - static bool first = true; -- bool found_any_entries = false; - - errno = 0; - dirp = opendir (name); -@@ -2972,7 +2967,6 @@ print_dir (char const *name, char const *realname, bool command_line_arg) - next = readdir (dirp); - if (next) - { -- found_any_entries = true; - if (! file_ignored (next->d_name)) - { - enum filetype type = unknown; -@@ -3018,22 +3012,6 @@ print_dir (char const *name, char const *realname, bool command_line_arg) - if (errno != EOVERFLOW) - break; - } --#ifdef __linux__ -- else if (! found_any_entries) -- { -- /* If readdir finds no directory entries at all, not even "." or -- "..", then double check that the directory exists. */ -- if (syscall (SYS_getdents, dirfd (dirp), NULL, 0) == -1 -- && errno != EINVAL) -- { -- /* We exclude EINVAL as that pertains to buffer handling, -- and we've passed NULL as the buffer for simplicity. -- ENOENT is returned if appropriate before buffer handling. */ -- file_failure (command_line_arg, _("reading directory %s"), name); -- } -- break; -- } --#endif - else - break; - -diff --git a/tests/ls/removed-directory.sh b/tests/ls/removed-directory.sh -index e8c835dab..fe8f929a1 100755 ---- a/tests/ls/removed-directory.sh -+++ b/tests/ls/removed-directory.sh -@@ -26,20 +26,14 @@ case $host_triplet in - *) skip_ 'non linux kernel' ;; - esac - --LS_FAILURE=2 -- --cat <<\EOF >exp-err || framework_failure_ --ls: reading directory '.': No such file or directory --EOF -- - cwd=$(pwd) - mkdir d || framework_failure_ - cd d || framework_failure_ - rmdir ../d || framework_failure_ - --returns_ $LS_FAILURE ls >../out 2>../err || fail=1 -+ls >../out 2>../err || fail=1 - cd "$cwd" || framework_failure_ - compare /dev/null out || fail=1 --compare exp-err err || fail=1 -+compare /dev/null err || fail=1 - - Exit $fail --- -cgit v1.2.1 - diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/files/coreutils-8.32-sandbox-env-test.patch b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/files/coreutils-8.32-sandbox-env-test.patch deleted file mode 100644 index 40b1554d948..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/files/coreutils-8.32-sandbox-env-test.patch +++ /dev/null @@ -1,64 +0,0 @@ -Skip tests known to fail when running under Gentoo sandbox. - ---- a/tests/du/long-from-unreadable.sh -+++ b/tests/du/long-from-unreadable.sh -@@ -29,6 +29,9 @@ - # unnecessarily to using FTS_NOCHDIR mode in this corner case. - - . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src -+# Avoid #413621 until #548250 is resolved -+test -n "$SANDBOX_ACTIVE" && skip_ "Gentoo: Test known bad under sandbox (#413621)" -+ - print_ver_ du - - require_perl_ ---- a/tests/ls/removed-directory.sh -+++ b/tests/ls/removed-directory.sh -@@ -19,6 +19,9 @@ - # along with this program. If not, see . - - . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src -+# Avoid #413621 until #548250 is resolved -+test -n "$SANDBOX_ACTIVE" && skip_ "Gentoo: Test known bad under sandbox (#413621)" -+ - print_ver_ ls - - case $host_triplet in ---- a/tests/ls/stat-free-symlinks.sh -+++ b/tests/ls/stat-free-symlinks.sh -@@ -17,6 +17,9 @@ - # along with this program. If not, see . - - . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src -+# Avoid #413621 until #548250 is resolved -+test -n "$SANDBOX_ACTIVE" && skip_ "Gentoo: Test known bad under sandbox (#413621)" -+ - print_ver_ ls - require_strace_ stat - ---- a/tests/misc/env-S.pl -+++ b/tests/misc/env-S.pl -@@ -30,6 +30,11 @@ $env = $1; - # Turn off localization of executable's output. - @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; - -+# Skip if sandbox is enabled -+if ($ENV{SANDBOX_ACTIVE}) { -+ CuSkip::skip "Gentoo: Test known bad under sandbox (#675802)\n"; -+} -+ - my @Tests = - ( - # Test combination of -S and regular arguments ---- a/tests/rm/deep-2.sh -+++ b/tests/rm/deep-2.sh -@@ -17,6 +17,9 @@ - # along with this program. If not, see . - - . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src -+# Avoid #413621 until #548250 is resolved -+test -n "$SANDBOX_ACTIVE" && skip_ "Gentoo: Test known bad under sandbox (#413621)" -+ - print_ver_ rm - require_perl_ - diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/ethtool/ethtool-6.10.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/ethtool/ethtool-6.10.ebuild index a77d7dcecbe..e2b00495759 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/ethtool/ethtool-6.10.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/ethtool/ethtool-6.10.ebuild @@ -14,7 +14,10 @@ IUSE="+netlink" RDEPEND="netlink? ( net-libs/libmnl )" DEPEND="${RDEPEND}" -BDEPEND="app-arch/xz-utils" +BDEPEND=" + app-arch/xz-utils + netlink? ( virtual/pkgconfig ) +" src_configure() { econf $(use_enable netlink) diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/ethtool/ethtool-6.6.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/ethtool/ethtool-6.6.ebuild index 90851ccd8b7..cd0bd783b1a 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/ethtool/ethtool-6.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/ethtool/ethtool-6.6.ebuild @@ -14,7 +14,10 @@ IUSE="+netlink" RDEPEND="netlink? ( net-libs/libmnl )" DEPEND="${RDEPEND}" -BDEPEND="app-arch/xz-utils" +BDEPEND=" + app-arch/xz-utils + netlink? ( virtual/pkgconfig ) +" src_configure() { econf $(use_enable netlink) diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/ethtool/ethtool-6.7.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/ethtool/ethtool-6.7.ebuild index 90851ccd8b7..cd0bd783b1a 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/ethtool/ethtool-6.7.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/ethtool/ethtool-6.7.ebuild @@ -14,7 +14,10 @@ IUSE="+netlink" RDEPEND="netlink? ( net-libs/libmnl )" DEPEND="${RDEPEND}" -BDEPEND="app-arch/xz-utils" +BDEPEND=" + app-arch/xz-utils + netlink? ( virtual/pkgconfig ) +" src_configure() { econf $(use_enable netlink) diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/ethtool/ethtool-6.9.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/ethtool/ethtool-6.9.ebuild index 9e9b809a9df..cb6df20a3a0 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/ethtool/ethtool-6.9.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/ethtool/ethtool-6.9.ebuild @@ -14,7 +14,10 @@ IUSE="+netlink" RDEPEND="netlink? ( net-libs/libmnl )" DEPEND="${RDEPEND}" -BDEPEND="app-arch/xz-utils" +BDEPEND=" + app-arch/xz-utils + netlink? ( virtual/pkgconfig ) +" src_configure() { econf $(use_enable netlink) diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/gawk/gawk-5.3.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/gawk/gawk-5.3.1.ebuild index e4c14b19931..0aa748dc9c0 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/gawk/gawk-5.3.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/gawk/gawk-5.3.1.ebuild @@ -29,7 +29,7 @@ else SRC_URI="mirror://gnu/gawk/${P}.tar.xz" SRC_URI+=" verify-sig? ( mirror://gnu/gawk/${P}.tar.xz.sig )" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi LICENSE="GPL-3+" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.11.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.11.0-r2.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.11.0-r1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.11.0-r2.ebuild index c5c0744b82f..e06e6cd952a 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.11.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.11.0-r2.ebuild @@ -112,7 +112,8 @@ src_configure() { # run "configure" script first which will create "config.mk"... # Using econf breaks since 5.14.0 (a9c3d70d902a0473ee5c13336317006a52ce8242) - edo ./configure --color=auto --libbpf_force $(usex bpf on off) + eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})" + edo ./configure --libbpf_force $(usex bpf on off) "${EXTRA_ECONF[@]}" # Remove the definitions made by configure and allow them to be overridden # by USE flags below. diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.6.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.6.0-r1.ebuild deleted file mode 100644 index ea0b3e10547..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.6.0-r1.ebuild +++ /dev/null @@ -1,216 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit edo toolchain-funcs - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git" - inherit git-r3 -else - SRC_URI="https://www.kernel.org/pub/linux/utils/net/${PN}/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi - -DESCRIPTION="kernel routing and traffic control utilities" -HOMEPAGE="https://wiki.linuxfoundation.org/networking/iproute2" - -LICENSE="GPL-2" -SLOT="0" -IUSE="atm berkdb bpf caps elf +iptables minimal nfs selinux split-usr" -# Needs root -RESTRICT="test" - -# We could make libmnl optional, but it's tiny, so eh -RDEPEND=" - !net-misc/arpd - !minimal? ( net-libs/libmnl:= ) - atm? ( net-dialup/linux-atm ) - berkdb? ( sys-libs/db:= ) - bpf? ( dev-libs/libbpf:= ) - caps? ( sys-libs/libcap ) - elf? ( virtual/libelf:= ) - iptables? ( >=net-firewall/iptables-1.4.20:= ) - nfs? ( net-libs/libtirpc:= ) - selinux? ( sys-libs/libselinux ) -" -# We require newer linux-headers for ipset support (bug #549948) and some defines (bug #553876) -DEPEND=" - ${RDEPEND} - >=sys-kernel/linux-headers-3.16 -" -BDEPEND=" - app-arch/xz-utils - >=sys-devel/bison-2.4 - app-alternatives/lex - virtual/pkgconfig -" - -PATCHES=( - "${FILESDIR}"/${PN}-6.5.0-mtu.patch # bug #291907 - "${FILESDIR}"/${PN}-6.5.0-configure-nomagic-nolibbsd.patch # bug #643722 & #911727 - "${FILESDIR}"/${PN}-5.7.0-mix-signal.h-include.patch - "${FILESDIR}"/${PN}-6.4.0-disable-libbsd-fallback.patch # bug #911727 - "${FILESDIR}"/${PN}-6.6.0-configure-Add-_GNU_SOURCE-to-strlcpy-configure-test.patch - "${FILESDIR}"/${PN}-6.6.0-musl-c99.patch # bug #922622 -) - -src_prepare() { - default - - # Fix version if necessary - local versionfile="include/version.h" - if [[ ${PV} != 9999 ]] && ! grep -Fq "${PV}" ${versionfile} ; then - einfo "Fixing version string" - sed -i "s@\"[[:digit:]\.]\+\"@\"${PV}\"@" \ - ${versionfile} || die - fi - - # echo -n is not POSIX compliant - sed -i 's@echo -n@printf@' configure || die - - sed -i \ - -e '/^CC :\?=/d' \ - -e "/^LIBDIR/s:=.*:=/$(get_libdir):" \ - -e "s|-O2|${CFLAGS} ${CPPFLAGS}|" \ - -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \ - -e "/^DBM_INCLUDE/s:=.*:=${T}:" \ - Makefile || die - - # Build against system headers - rm -r include/netinet || die #include/linux include/ip{,6}tables{,_common}.h include/libiptc - sed -i 's:TCPI_OPT_ECN_SEEN:16:' misc/ss.c || die - - if use minimal ; then - sed -i -e '/^SUBDIRS=/s:=.*:=lib tc ip:' Makefile || die - fi -} - -src_configure() { - tc-export AR CC PKG_CONFIG - - # This sure is ugly. Should probably move into toolchain-funcs at some point. - local setns - pushd "${T}" >/dev/null || die - printf '#include \nint main(){return setns(0, 0);}\n' > test.c || die - if ${CC} ${CFLAGS} ${CPPFLAGS} -D_GNU_SOURCE ${LDFLAGS} test.c >&/dev/null ; then - setns=y - else - setns=n - fi - - echo 'int main(){return 0;}' > test.c || die - if ! ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null ; then - sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile || die - fi - popd >/dev/null || die - - # run "configure" script first which will create "config.mk"... - # Using econf breaks since 5.14.0 (a9c3d70d902a0473ee5c13336317006a52ce8242) - edo ./configure --libbpf_force $(usex bpf on off) - - # Remove the definitions made by configure and allow them to be overridden - # by USE flags below. - # We have to do the cheesy only-sed-if-disabled because otherwise - # the *_FLAGS etc stuff found by configure will be used but result - # in a broken build. - if ! use berkdb ; then - sed -i -e '/HAVE_BERKELEY_DB/d' config.mk || die - fi - - if ! use caps ; then - sed -i -e '/HAVE_CAP/d' config.mk || die - fi - - if use minimal ; then - sed -i -e '/HAVE_MNL/d' config.mk || die - fi - - if ! use elf ; then - sed -i -e '/HAVE_ELF/d' config.mk || die - fi - - if ! use nfs ; then - sed -i -e '/HAVE_RPC/d' config.mk || die - fi - - if ! use selinux ; then - sed -i -e '/HAVE_SELINUX/d' config.mk || die - fi - - # ...Now switch on/off requested features via USE flags - # this is only useful if the test did not set other things, per bug #643722 - # Keep in sync with ifs above, or refactor to be unified. - cat <<-EOF >> config.mk - TC_CONFIG_ATM := $(usex atm y n) - TC_CONFIG_XT := $(usex iptables y n) - TC_CONFIG_NO_XT := $(usex iptables n y) - # We've locked in recent enough kernel headers, bug #549948 - TC_CONFIG_IPSET := y - HAVE_BERKELEY_DB := $(usex berkdb y n) - HAVE_CAP := $(usex caps y n) - HAVE_MNL := $(usex minimal n y) - HAVE_ELF := $(usex elf y n) - HAVE_RPC := $(usex nfs y n) - HAVE_SELINUX := $(usex selinux y n) - IP_CONFIG_SETNS := ${setns} - # Use correct iptables dir, bug #144265, bug #293709 - IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir) - EOF -} - -src_compile() { - emake V=1 NETNS_RUN_DIR=/run/netns -} - -src_test() { - emake check -} - -src_install() { - if use minimal ; then - into / - dosbin tc/tc - dobin ip/ip - return 0 - fi - - emake \ - DESTDIR="${D}" \ - PREFIX="${EPREFIX}/usr" \ - LIBDIR="${EPREFIX}"/$(get_libdir) \ - SBINDIR="${EPREFIX}"/sbin \ - CONFDIR="${EPREFIX}"/etc/iproute2 \ - DOCDIR="${EPREFIX}"/usr/share/doc/${PF} \ - MANDIR="${EPREFIX}"/usr/share/man \ - ARPDDIR="${EPREFIX}"/var/lib/arpd \ - install - - dodir /bin - mv "${ED}"/{s,}bin/ip || die # bug #330115 - - dolib.a lib/libnetlink.a - insinto /usr/include - doins include/libnetlink.h - - # Collides with net-analyzer/ifstat - # https://bugs.gentoo.org/868321 - mv "${ED}"/sbin/ifstat{,-iproute2} || die - - if use split-usr ; then - # Can remove compatibility symlink in a year: 2023-05-28. - # bug #547264 - mv "${ED}"/sbin/ss "${ED}"/bin/ss || die - dosym -r /bin/ss /sbin/ss - fi - - if use berkdb ; then - keepdir /var/lib/arpd - # bug #47482, arpd doesn't need to be in /sbin - dodir /usr/bin - mv "${ED}"/sbin/arpd "${ED}"/usr/bin/ || die - elif [[ -d "${ED}"/var/lib/arpd ]]; then - rmdir --ignore-fail-on-non-empty -p "${ED}"/var/lib/arpd || die - fi -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.6.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.6.0.ebuild deleted file mode 100644 index f2d9cb96f84..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.6.0.ebuild +++ /dev/null @@ -1,215 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit edo toolchain-funcs - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git" - inherit git-r3 -else - SRC_URI="https://www.kernel.org/pub/linux/utils/net/${PN}/${P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" -fi - -DESCRIPTION="kernel routing and traffic control utilities" -HOMEPAGE="https://wiki.linuxfoundation.org/networking/iproute2" - -LICENSE="GPL-2" -SLOT="0" -IUSE="atm berkdb bpf caps elf +iptables minimal nfs selinux split-usr" -# Needs root -RESTRICT="test" - -# We could make libmnl optional, but it's tiny, so eh -RDEPEND=" - !net-misc/arpd - !minimal? ( net-libs/libmnl:= ) - atm? ( net-dialup/linux-atm ) - berkdb? ( sys-libs/db:= ) - bpf? ( dev-libs/libbpf:= ) - caps? ( sys-libs/libcap ) - elf? ( virtual/libelf:= ) - iptables? ( >=net-firewall/iptables-1.4.20:= ) - nfs? ( net-libs/libtirpc:= ) - selinux? ( sys-libs/libselinux ) -" -# We require newer linux-headers for ipset support (bug #549948) and some defines (bug #553876) -DEPEND=" - ${RDEPEND} - >=sys-kernel/linux-headers-3.16 -" -BDEPEND=" - app-arch/xz-utils - >=sys-devel/bison-2.4 - app-alternatives/lex - virtual/pkgconfig -" - -PATCHES=( - "${FILESDIR}"/${PN}-6.5.0-mtu.patch # bug #291907 - "${FILESDIR}"/${PN}-6.5.0-configure-nomagic-nolibbsd.patch # bug #643722 & #911727 - "${FILESDIR}"/${PN}-5.7.0-mix-signal.h-include.patch - "${FILESDIR}"/${PN}-6.4.0-disable-libbsd-fallback.patch # bug #911727 - "${FILESDIR}"/${PN}-6.6.0-musl-c99.patch # bug #922622 -) - -src_prepare() { - default - - # Fix version if necessary - local versionfile="include/version.h" - if [[ ${PV} != 9999 ]] && ! grep -Fq "${PV}" ${versionfile} ; then - einfo "Fixing version string" - sed -i "s@\"[[:digit:]\.]\+\"@\"${PV}\"@" \ - ${versionfile} || die - fi - - # echo -n is not POSIX compliant - sed -i 's@echo -n@printf@' configure || die - - sed -i \ - -e '/^CC :\?=/d' \ - -e "/^LIBDIR/s:=.*:=/$(get_libdir):" \ - -e "s|-O2|${CFLAGS} ${CPPFLAGS}|" \ - -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \ - -e "/^DBM_INCLUDE/s:=.*:=${T}:" \ - Makefile || die - - # Build against system headers - rm -r include/netinet || die #include/linux include/ip{,6}tables{,_common}.h include/libiptc - sed -i 's:TCPI_OPT_ECN_SEEN:16:' misc/ss.c || die - - if use minimal ; then - sed -i -e '/^SUBDIRS=/s:=.*:=lib tc ip:' Makefile || die - fi -} - -src_configure() { - tc-export AR CC PKG_CONFIG - - # This sure is ugly. Should probably move into toolchain-funcs at some point. - local setns - pushd "${T}" >/dev/null || die - printf '#include \nint main(){return setns(0, 0);}\n' > test.c || die - if ${CC} ${CFLAGS} ${CPPFLAGS} -D_GNU_SOURCE ${LDFLAGS} test.c >&/dev/null ; then - setns=y - else - setns=n - fi - - echo 'int main(){return 0;}' > test.c || die - if ! ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null ; then - sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile || die - fi - popd >/dev/null || die - - # run "configure" script first which will create "config.mk"... - # Using econf breaks since 5.14.0 (a9c3d70d902a0473ee5c13336317006a52ce8242) - edo ./configure --libbpf_force $(usex bpf on off) - - # Remove the definitions made by configure and allow them to be overridden - # by USE flags below. - # We have to do the cheesy only-sed-if-disabled because otherwise - # the *_FLAGS etc stuff found by configure will be used but result - # in a broken build. - if ! use berkdb ; then - sed -i -e '/HAVE_BERKELEY_DB/d' config.mk || die - fi - - if ! use caps ; then - sed -i -e '/HAVE_CAP/d' config.mk || die - fi - - if use minimal ; then - sed -i -e '/HAVE_MNL/d' config.mk || die - fi - - if ! use elf ; then - sed -i -e '/HAVE_ELF/d' config.mk || die - fi - - if ! use nfs ; then - sed -i -e '/HAVE_RPC/d' config.mk || die - fi - - if ! use selinux ; then - sed -i -e '/HAVE_SELINUX/d' config.mk || die - fi - - # ...Now switch on/off requested features via USE flags - # this is only useful if the test did not set other things, per bug #643722 - # Keep in sync with ifs above, or refactor to be unified. - cat <<-EOF >> config.mk - TC_CONFIG_ATM := $(usex atm y n) - TC_CONFIG_XT := $(usex iptables y n) - TC_CONFIG_NO_XT := $(usex iptables n y) - # We've locked in recent enough kernel headers, bug #549948 - TC_CONFIG_IPSET := y - HAVE_BERKELEY_DB := $(usex berkdb y n) - HAVE_CAP := $(usex caps y n) - HAVE_MNL := $(usex minimal n y) - HAVE_ELF := $(usex elf y n) - HAVE_RPC := $(usex nfs y n) - HAVE_SELINUX := $(usex selinux y n) - IP_CONFIG_SETNS := ${setns} - # Use correct iptables dir, bug #144265, bug #293709 - IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir) - EOF -} - -src_compile() { - emake V=1 NETNS_RUN_DIR=/run/netns -} - -src_test() { - emake check -} - -src_install() { - if use minimal ; then - into / - dosbin tc/tc - dobin ip/ip - return 0 - fi - - emake \ - DESTDIR="${D}" \ - PREFIX="${EPREFIX}/usr" \ - LIBDIR="${EPREFIX}"/$(get_libdir) \ - SBINDIR="${EPREFIX}"/sbin \ - CONFDIR="${EPREFIX}"/etc/iproute2 \ - DOCDIR="${EPREFIX}"/usr/share/doc/${PF} \ - MANDIR="${EPREFIX}"/usr/share/man \ - ARPDDIR="${EPREFIX}"/var/lib/arpd \ - install - - dodir /bin - mv "${ED}"/{s,}bin/ip || die # bug #330115 - - dolib.a lib/libnetlink.a - insinto /usr/include - doins include/libnetlink.h - - # Collides with net-analyzer/ifstat - # https://bugs.gentoo.org/868321 - mv "${ED}"/sbin/ifstat{,-iproute2} || die - - if use split-usr ; then - # Can remove compatibility symlink in a year: 2023-05-28. - # bug #547264 - mv "${ED}"/sbin/ss "${ED}"/bin/ss || die - dosym -r /bin/ss /sbin/ss - fi - - if use berkdb ; then - keepdir /var/lib/arpd - # bug #47482, arpd doesn't need to be in /sbin - dodir /usr/bin - mv "${ED}"/sbin/arpd "${ED}"/usr/bin/ || die - elif [[ -d "${ED}"/var/lib/arpd ]]; then - rmdir --ignore-fail-on-non-empty -p "${ED}"/var/lib/arpd || die - fi -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.9.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.9.0.ebuild index bc041d6761b..1e889a3bf89 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.9.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.9.0.ebuild @@ -10,7 +10,7 @@ if [[ ${PV} == 9999 ]] ; then inherit git-r3 else SRC_URI="https://www.kernel.org/pub/linux/utils/net/${PN}/${P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" fi DESCRIPTION="kernel routing and traffic control utilities" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-9999.ebuild index e650e4f2e1c..3ea2b7db3ea 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-9999.ebuild @@ -111,7 +111,8 @@ src_configure() { # run "configure" script first which will create "config.mk"... # Using econf breaks since 5.14.0 (a9c3d70d902a0473ee5c13336317006a52ce8242) - edo ./configure --color=auto --libbpf_force $(usex bpf on off) + eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})" + edo ./configure --libbpf_force $(usex bpf on off) "${EXTRA_ECONF[@]}" # Remove the definitions made by configure and allow them to be overridden # by USE flags below. diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/less/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/less/Manifest index f11e8cffae2..f8f33b225cc 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/less/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/less/Manifest @@ -1,4 +1,3 @@ -DIST less-633.tar.gz 375733 BLAKE2B e9df180794af365f86734c6b8fde766c1bba42b111717ee5e1cf11001fc7ec3d78910db9bb7c51a76816086f599808b1b60f514011ec40e37650d6bc4f8b3d5c SHA512 a29aaf72abca07fb29d12f218bbd422a39e3898b3d53e8dbd5265ae47ecf68b88c3381aa3a9bf7caa8db1e2d8e2c138b333f0d69fddd4cf014e39118c53f7fb1 DIST less-643.tar.gz 592291 BLAKE2B 6dc60dc2e8db05afdae466877a1d26a3008ff5378bbbf2fbdf9efc4f87c0fcfde5703d44a24d4355c98d3a5f438bdb51173150f2a69f801d9c8e4a7401d71b53 SHA512 6a324ac54e22429ac652dc303bc1fe48933555d1cbf8ad7ecf345940910c014fef9551a3219743cfb7115e356b5841ae97d6ce62e7a1ba1e3300d243efca34d9 DIST less-661.tar.gz 648198 BLAKE2B c1fa9a7a646fcc1203945e00c35fe41bddef0c564e30f120a37e417ecd5c60d234e0253a2e18123508dd5c0313bce346dc7752e96cdc1b067bd07a2a39818b42 SHA512 49d81ff9e79d43ce0271490e3bffd590b4aed5fcb387bc8eb3128de99e5b5a5ede2e2818b546f6e3a140fa6261f1de3dfba1231f7ff7ef18502bb7030eaea1b5 DIST less-668.tar.gz 649770 BLAKE2B 0f6a85a1c66577dd2a28682a6f8399e42fdbe9fc1498b2e89c6bb7c47109e8d3ab934abe5dd998b2c8dfacfb174ad9daeb79b3d4c13df22fa035ea792b2eaf5e SHA512 6527741a609849ec27b6ab35de46f2c5c2b2771391e3efe263207bee28915946f44331a42f832a7cb42231a19b135cbadc15ae02cd997b83a13cdfbc7213fc27 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/less/less-633.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/less/less-633.ebuild deleted file mode 100644 index 49500b83af6..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/less/less-633.ebuild +++ /dev/null @@ -1,80 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -WANT_AUTOMAKE=none -WANT_LIBTOOL=none - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://github.com/gwsw/less" - inherit git-r3 -fi - -inherit autotools - -# Releases are usually first a beta then promoted to stable if no -# issues were found. Upstream explicitly ask "to not generally distribute" -# the beta versions. It's okay to keyword beta versions if they fix -# a serious bug, but otherwise try to avoid it. - -MY_PV=${PV/_beta/-beta} -MY_P=${PN}-${MY_PV} -DESCRIPTION="Excellent text file viewer" -HOMEPAGE="https://www.greenwoodsoftware.com/less/" -[[ ${PV} != 9999 ]] && SRC_URI="https://www.greenwoodsoftware.com/less/${MY_P}.tar.gz" -S="${WORKDIR}"/${MY_P/?beta} - -LICENSE="|| ( GPL-3 BSD-2 )" -SLOT="0" -if [[ ${PV} != 9999 && ${PV} != *_beta* ]] ; then - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -fi -IUSE="pcre" -# As of 623_beta, lesstest is not included in dist tarballs -# https://github.com/gwsw/less/issues/344 -RESTRICT="test" - -DEPEND=" - >=app-misc/editor-wrapper-3 - >=sys-libs/ncurses-5.2:= - pcre? ( dev-libs/libpcre2 ) -" -RDEPEND="${DEPEND}" - -src_prepare() { - default - # Per upstream README to prepare live build - [[ ${PV} == 9999 ]] && emake -f Makefile.aut distfiles - # Upstream uses unpatched autoconf-2.69, which breaks with clang-16. - # https://bugs.gentoo.org/870412 - eautoreconf -} - -src_configure() { - local myeconfargs=( - --with-regex=$(usex pcre pcre2 posix) - --with-editor="${EPREFIX}"/usr/libexec/editor - ) - econf "${myeconfargs[@]}" -} - -src_test() { - emake check VERBOSE=1 -} - -src_install() { - default - - newbin "${FILESDIR}"/lesspipe-r1.sh lesspipe - newenvd "${FILESDIR}"/less.envd 70less -} - -pkg_preinst() { - if has_version "<${CATEGORY}/${PN}-483-r1" ; then - elog "The lesspipe.sh symlink has been dropped. If you are still setting" - elog "LESSOPEN to that, you will need to update it to '|lesspipe %s'." - elog "Colorization support has been dropped. If you want that, check out" - elog "the new app-text/lesspipe package." - fi -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/less/less-643-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/less/less-643-r1.ebuild deleted file mode 100644 index 6af92aeb921..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/less/less-643-r1.ebuild +++ /dev/null @@ -1,96 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Releases are usually first a beta then promoted to stable if no -# issues were found. Upstream explicitly ask "to not generally distribute" -# the beta versions. It's okay to keyword beta versions if they fix -# a serious bug, but otherwise try to avoid it. - -WANT_AUTOMAKE=none -WANT_LIBTOOL=none -inherit autotools flag-o-matic optfeature toolchain-funcs - -DESCRIPTION="Excellent text file viewer" -HOMEPAGE="https://www.greenwoodsoftware.com/less/" - -MY_PV=${PV/_beta/-beta} -MY_P=${PN}-${MY_PV} - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://github.com/gwsw/less" - inherit git-r3 -else - SRC_URI="https://www.greenwoodsoftware.com/less/${MY_P}.tar.gz" - - if [[ ${PV} != *_beta* ]] ; then - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" - fi -fi - -S="${WORKDIR}"/${MY_P/?beta} - -LICENSE="|| ( GPL-3 BSD-2 )" -SLOT="0" -IUSE="pcre test" -# chinese1, utf8-2 -RESTRICT="test !test? ( test )" - -DEPEND=" - >=app-misc/editor-wrapper-3 - >=sys-libs/ncurses-5.2:= - pcre? ( dev-libs/libpcre2 ) -" -RDEPEND="${DEPEND}" -BDEPEND="test? ( virtual/pkgconfig )" - -PATCHES=( - "${FILESDIR}"/${PN}-643-lesstest-pkg-config.patch -) - -src_prepare() { - default - # Per upstream README to prepare live build - [[ ${PV} == 9999 ]] && emake -f Makefile.aut distfiles - # Upstream uses unpatched autoconf-2.69, which breaks with clang-16. - # https://bugs.gentoo.org/870412 - eautoreconf -} - -src_configure() { - append-lfs-flags # bug #896316 - - local myeconfargs=( - --with-regex=$(usex pcre pcre2 posix) - --with-editor="${EPREFIX}"/usr/libexec/editor - ) - econf "${myeconfargs[@]}" -} - -src_test() { - emake check VERBOSE=1 CC="$(tc-getCC)" PKG_CONFIG="$(tc-getPKG_CONFIG)" -} - -src_install() { - default - - keepdir /usr/lib/lessfilter.d - keepdir /etc/lessfilter.d - - newbin "${FILESDIR}"/lesspipe-r3.sh lesspipe - newenvd "${FILESDIR}"/less.envd 70less -} - -pkg_preinst() { - optfeature "Colorized output support" dev-python/pygments - - if has_version "<${CATEGORY}/${PN}-483-r1" ; then - elog "The lesspipe.sh symlink has been dropped. If you are still setting" - elog "LESSOPEN to that, you will need to update it to '|lesspipe %s'." - fi - - if has_version "<${CATEGORY}/${PN}-643" ; then - elog "less now colorizes by default. To disable this, set LESSCOLOR=no." - fi -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/man-db/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/man-db/Manifest index 5a223d246b1..ca248693ee8 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/man-db/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/man-db/Manifest @@ -1,4 +1,2 @@ -DIST man-db-2.11.2.tar.xz 1953276 BLAKE2B 80ac565cdb69736c0f922b9cbfddcae753d176329781deaf9434d87d7718f9b6ce0b6d4642a03f22a04c7f042dda7f8986b5bce0038f0748461ca55d66964ccc SHA512 edb71cce7249c7b7f2f524e92f682047a77ed9ae8856763dfc8e18e239444651ff4c505e697f5a8b1be3b85678e714fbb1a520defe72a4eb685bc2cecc0e4391 -DIST man-db-2.12.0.tar.xz 1987444 BLAKE2B a6258c1fc9cd81be5d288298660f5b9bda22d726ef98dd5c0a1998809a32391f7244be6897ee8e03483e705a426d6a59d442de3dc2e84f45500daa825ac639db SHA512 4b644a508cf10ef6d27b6325b08f8a89e0695bbc1409bf420efd27649c6851860cc472c4d86063f7b71dccd01fb158faa82afa1e2b91c9a20154acf66b0349bf DIST man-db-2.12.1.tar.xz 2041380 BLAKE2B b06c48431608cf798659d19df754d992dca8ba31842613a3326e376e80fe74d913146f45a7f3c5e70c421a2401aeabdb091de78ebb3102b9d70c194286c245a7 SHA512 0f79f4205ce116c3148dc6caf561c1b7d793aac234188ef8edd1b1f5aaaebcca32c65ef403dff65896920535077fb63ddc2e9cb293efdb6ef3037c33916aa329 DIST man-db-2.13.0.tar.xz 2071032 BLAKE2B 7ce91a7abc6d3bbd92d4707f13caacd8ab5caee0502a2b115f8aa53f4d38df05b0e03346f70584618cce6f5457113e826828a02b847bff57abd6ba6ec1b2d407 SHA512 612ce39bb1e11aa7797e8e3a26f06a7154c48a13b2d74217c2c6701e0d33fa8f77ae2b8c9ee84353e364d16918f884115f2dfbf3cd743edd4ed32b763b87f723 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/man-db/man-db-2.11.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/man-db/man-db-2.11.2.ebuild deleted file mode 100644 index 26e6d687467..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/man-db/man-db-2.11.2.ebuild +++ /dev/null @@ -1,203 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit systemd prefix tmpfiles - -DESCRIPTION="A man replacement that utilizes dbm instead of flat files" -HOMEPAGE="https://gitlab.com/man-db/man-db https://www.nongnu.org/man-db/" -if [[ ${PV} == *9999 ]] ; then - inherit autotools git-r3 - EGIT_REPO_URI="https://gitlab.com/man-db/man-db" -else - # TODO: Change tarballs to gitlab too...? - SRC_URI="mirror://nongnu/${PN}/${P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -fi - -LICENSE="GPL-3" -SLOT="0" -IUSE="+manpager nls +seccomp selinux static-libs zlib" - -CDEPEND=" - >=dev-libs/libpipeline-1.5.0 - sys-apps/groff - sys-libs/gdbm:= - seccomp? ( sys-libs/libseccomp ) - zlib? ( sys-libs/zlib )" -DEPEND="${CDEPEND}" -BDEPEND="app-arch/xz-utils - virtual/pkgconfig - nls? ( - >=app-text/po4a-0.45 - sys-devel/gettext - virtual/libiconv - virtual/libintl - )" -RDEPEND="${CDEPEND} - acct-group/man - acct-user/man - selinux? ( sec-policy/selinux-mandb )" -PDEPEND="manpager? ( app-text/manpager )" - -PATCHES=( - "${FILESDIR}"/man-db-2.9.3-sandbox-env-tests.patch -) - -src_unpack() { - if [[ ${PV} == *9999 ]] ; then - git-r3_src_unpack - - # We need to mess with gnulib - EGIT_REPO_URI="https://git.savannah.gnu.org/r/gnulib.git" \ - EGIT_CHECKOUT_DIR="${WORKDIR}/gnulib" \ - git-r3_src_unpack - else - default - fi -} - -src_prepare() { - default - - if [[ ${PV} == *9999 ]] ; then - local bootstrap_opts=( - --gnulib-srcdir=../gnulib - --no-bootstrap-sync - --copy - --no-git - ) - AUTORECONF="/bin/true" \ - LIBTOOLIZE="/bin/true" \ - sh ./bootstrap "${bootstrap_opts[@]}" || die - - eautoreconf - fi - - hprefixify src/man_db.conf.in - if use prefix ; then - { - echo "#" - echo "# Added settings for Gentoo Prefix" - [[ ${CHOST} == *-darwin* ]] && \ - echo "MANDATORY_MANPATH ${EPREFIX}/MacOSX.sdk/usr/share/man" - echo "MANDATORY_MANPATH /usr/share/man" - } >> src/man_db.conf.in - fi -} - -src_configure() { - # Set sections we want to search by default - local sections="1 1p 8 2 3 3p 4 5 6 7 9 0p tcl n l p o" - sections+=" 1x 2x 3x 4x 5x 6x 7x 8x" - case ${CHOST} in - *-solaris*) - # Solaris tends to use sections named after the pkgs that - # owns them, in particular for libc functions we want those - # sections - local s - for s in $(cd /usr/share/man/ && echo man*) ; do - s=${s#man} - [[ " ${sections} " != *" ${s} "* ]] && sections+=" ${s}" - done - ;; - esac - - export ac_cv_lib_z_gzopen=$(usex zlib) - local myeconfargs=( - --with-systemdtmpfilesdir="${EPREFIX}"/usr/lib/tmpfiles.d - --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" - --disable-setuid # bug #662438 - --enable-cache-owner=man - --with-sections="${sections}" - - $(use_enable nls) - $(use_enable static-libs static) - $(use_with seccomp libseccomp) - - --with-db=gdbm - ) - - case ${CHOST} in - *-solaris*|*-darwin*) - myeconfargs+=( - $(use_with nls libiconv-prefix "${EPREFIX}"/usr) - $(use_with nls libintl-prefix "${EPREFIX}"/usr) - ) - ;; - esac - - econf "${myeconfargs[@]}" - - # Disable color output from groff so that the manpager can add it. bug #184604 - if use manpager; then - sed -i \ - -e '/^#DEFINE.*\<[nt]roff\>/{s:^#::;s:$: -c:}' \ - src/man_db.conf || die - fi - - cat > 15man-db <<-EOF || die - SANDBOX_PREDICT="/var/cache/man" - EOF -} - -src_install() { - default - dodoc docs/{HACKING.md,TODO} - find "${ED}" -type f -name "*.la" -delete || die - - exeinto /etc/cron.daily - newexe "${FILESDIR}"/man-db.cron-r1 man-db # bug #289884 - - insinto /etc/sandbox.d - doins 15man-db -} - -pkg_preinst() { - local cachedir="${EROOT}/var/cache/man" - # If the system was already exploited, and the attacker is hiding in the - # cachedir of the old man-db, let's wipe them out. - # see bug #602588 comment 18 - local _replacing_version= - local _setgid_vuln=0 - for _replacing_version in ${REPLACING_VERSIONS} ; do - if ver_test '2.7.6.1-r2' -le "${_replacing_version}" ; then - debug-print "Skipping security bug #602588 ... existing installation (${_replacing_version}) should not be affected!" - else - _setgid_vuln=1 - debug-print "Applying cleanup for security bug #602588" - fi - done - [[ ${_setgid_vuln} -eq 1 ]] && rm -rf "${cachedir}" - - # Fall back to recreating the cachedir - if [[ ! -d ${cachedir} ]] ; then - mkdir -p "${cachedir}" || die - chown man:man "${cachedir}" || die - fi - - # Update the whatis cache - if [[ -f ${cachedir}/whatis ]] ; then - einfo "Cleaning ${cachedir} from sys-apps/man" - find "${cachedir}" -type f '!' '(' -name index.bt -o -name index.db ')' -delete - fi -} - -pkg_postinst() { - tmpfiles_process man-db.conf - - if [[ -n "${REPLACING_VERSIONS}" ]] ; then - local _replacing_version= - - for _replacing_version in ${REPLACING_VERSIONS} ; do - if [[ $(ver_cut 2 ${_replacing_version}) -lt 7 ]] ; then - einfo "Rebuilding man-db from scratch with new database format!" - su man -s /bin/sh -c 'mandb --quiet --create' 2>/dev/null - - # No need to run it again if we hit one - break - fi - done - fi -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/man-db/man-db-2.12.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/man-db/man-db-2.12.0.ebuild deleted file mode 100644 index 6450925d8d4..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/man-db/man-db-2.12.0.ebuild +++ /dev/null @@ -1,206 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit systemd prefix tmpfiles - -DESCRIPTION="A man replacement that utilizes dbm instead of flat files" -HOMEPAGE="https://gitlab.com/man-db/man-db https://www.nongnu.org/man-db/" -if [[ ${PV} == *9999 ]] ; then - inherit autotools git-r3 - EGIT_REPO_URI="https://gitlab.com/man-db/man-db" -else - inherit libtool - # TODO: Change tarballs to gitlab too...? - SRC_URI="mirror://nongnu/${PN}/${P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -fi - -LICENSE="GPL-3" -SLOT="0" -IUSE="+manpager nls +seccomp selinux static-libs zlib" - -CDEPEND=" - >=dev-libs/libpipeline-1.5.0 - sys-apps/groff - sys-libs/gdbm:= - seccomp? ( sys-libs/libseccomp ) - zlib? ( sys-libs/zlib )" -DEPEND="${CDEPEND}" -BDEPEND="app-arch/xz-utils - virtual/pkgconfig - nls? ( - >=app-text/po4a-0.45 - sys-devel/gettext - virtual/libiconv - virtual/libintl - )" -RDEPEND="${CDEPEND} - acct-group/man - acct-user/man - selinux? ( sec-policy/selinux-mandb )" -PDEPEND="manpager? ( app-text/manpager )" - -PATCHES=( - "${FILESDIR}"/man-db-2.9.3-sandbox-env-tests.patch -) - -src_unpack() { - if [[ ${PV} == *9999 ]] ; then - git-r3_src_unpack - - # We need to mess with gnulib - EGIT_REPO_URI="https://git.savannah.gnu.org/r/gnulib.git" \ - EGIT_CHECKOUT_DIR="${WORKDIR}/gnulib" \ - git-r3_src_unpack - else - default - fi -} - -src_prepare() { - default - - if [[ ${PV} == *9999 ]] ; then - local bootstrap_opts=( - --gnulib-srcdir=../gnulib - --no-bootstrap-sync - --copy - --no-git - ) - AUTORECONF="/bin/true" \ - LIBTOOLIZE="/bin/true" \ - sh ./bootstrap "${bootstrap_opts[@]}" || die - - eautoreconf - else - elibtoolize - fi - - hprefixify src/man_db.conf.in - if use prefix ; then - { - echo "#" - echo "# Added settings for Gentoo Prefix" - [[ ${CHOST} == *-darwin* ]] && \ - echo "MANDATORY_MANPATH ${EPREFIX}/MacOSX.sdk/usr/share/man" - echo "MANDATORY_MANPATH /usr/share/man" - } >> src/man_db.conf.in - fi -} - -src_configure() { - # Set sections we want to search by default - local sections="1 1p 8 2 3 3p 4 5 6 7 9 0p tcl n l p o" - sections+=" 1x 2x 3x 4x 5x 6x 7x 8x" - case ${CHOST} in - *-solaris*) - # Solaris tends to use sections named after the pkgs that - # owns them, in particular for libc functions we want those - # sections - local s - for s in $(cd /usr/share/man/ && echo man*) ; do - s=${s#man} - [[ " ${sections} " != *" ${s} "* ]] && sections+=" ${s}" - done - ;; - esac - - export ac_cv_lib_z_gzopen=$(usex zlib) - local myeconfargs=( - --with-systemdtmpfilesdir="${EPREFIX}"/usr/lib/tmpfiles.d - --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" - --disable-setuid # bug #662438 - $(use_enable !prefix cache-owner man) # bug #917024 - --with-sections="${sections}" - - $(use_enable nls) - $(use_enable static-libs static) - $(use_with seccomp libseccomp) - - --with-db=gdbm - ) - - case ${CHOST} in - *-solaris*|*-darwin*) - myeconfargs+=( - $(use_with nls libiconv-prefix "${EPREFIX}"/usr) - $(use_with nls libintl-prefix "${EPREFIX}"/usr) - ) - ;; - esac - - econf "${myeconfargs[@]}" - - # Disable color output from groff so that the manpager can add it. bug #184604 - if use manpager; then - sed -i \ - -e '/^#DEFINE.*\<[nt]roff\>/{s:^#::;s:$: -c:}' \ - src/man_db.conf || die - fi - - cat > 15man-db <<-EOF || die - SANDBOX_PREDICT="/var/cache/man" - EOF -} - -src_install() { - default - dodoc docs/{HACKING.md,TODO} - find "${ED}" -type f -name "*.la" -delete || die - - exeinto /etc/cron.daily - newexe "${FILESDIR}"/man-db.cron-r1 man-db # bug #289884 - - insinto /etc/sandbox.d - doins 15man-db -} - -pkg_preinst() { - local cachedir="${EROOT}/var/cache/man" - # If the system was already exploited, and the attacker is hiding in the - # cachedir of the old man-db, let's wipe them out. - # see bug #602588 comment 18 - local _replacing_version= - local _setgid_vuln=0 - for _replacing_version in ${REPLACING_VERSIONS} ; do - if ver_test '2.7.6.1-r2' -le "${_replacing_version}" ; then - debug-print "Skipping security bug #602588 ... existing installation (${_replacing_version}) should not be affected!" - else - _setgid_vuln=1 - debug-print "Applying cleanup for security bug #602588" - fi - done - [[ ${_setgid_vuln} -eq 1 ]] && rm -rf "${cachedir}" - - # Fall back to recreating the cachedir - if [[ ! -d ${cachedir} ]] ; then - mkdir -p "${cachedir}" || die - chown man:man "${cachedir}" || die - fi - - # Update the whatis cache - if [[ -f ${cachedir}/whatis ]] ; then - einfo "Cleaning ${cachedir} from sys-apps/man" - find "${cachedir}" -type f '!' '(' -name index.bt -o -name index.db ')' -delete - fi -} - -pkg_postinst() { - tmpfiles_process man-db.conf - - if [[ -n "${REPLACING_VERSIONS}" ]] ; then - local _replacing_version= - - for _replacing_version in ${REPLACING_VERSIONS} ; do - if [[ $(ver_cut 2 ${_replacing_version}) -lt 7 ]] ; then - einfo "Rebuilding man-db from scratch with new database format!" - su man -s /bin/sh -c 'mandb --quiet --create' 2>/dev/null - - # No need to run it again if we hit one - break - fi - done - fi -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/nvme-cli/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/nvme-cli/Manifest index 7ddcbbb2655..2c6a09785c1 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/nvme-cli/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/nvme-cli/Manifest @@ -1,4 +1,3 @@ DIST nvme-cli-2.10.2.gh.tar.gz 990461 BLAKE2B d674f2c752eee9178cf3f1f871d1bc345632f4cbf7f354b1e345830a3bf88b505eddb835d774d6ebadbee50a79614f49dd1eef58d1374a075fd59eb551c251c8 SHA512 98ecb2488cdf21c83004204f4cb7e7d9327fef5a33e5a37d977c659d76be3cef861473676fa7fbd1d40f38742b365b98431e17d9b0318ddb4cc407953acdde87 -DIST nvme-cli-2.7.1.gh.tar.gz 902081 BLAKE2B 7d14838f7f0fd6d1ab1cb30041f862fe2db6f40fe72c13cb4ce227831cac6e141ff5cec2924c846f30629188754b0ce0630ad9009d2a490c193da20e8b8a45d1 SHA512 6a9f3574dfd4375e6f7a76ed95f698efb26da5b72a490579caeba9d46c4811ae31650844e0a0e1047dc627158d5ffbdc020112a5059d3195e7eadff902b70b19 -DIST nvme-cli-2.8.gh.tar.gz 910994 BLAKE2B c231fc087219622736bdc400c83d2a320670f247f77b53f0cad20c8117e620703badba7cd9a6f267ba79223be9c0d6710c2be968683f77fe72e45957e0c8b899 SHA512 1be0bed4e1bf8a25229f301c2b00b78d2de4eaf8ff2b815fa75e44dd35ddd7787604152bdf00696130df3281206a734c5f408c3f2127440e05c2e4b1cdbb79d4 +DIST nvme-cli-2.11.gh.tar.gz 1023249 BLAKE2B c60765aaf8343adb29b2b042223accdd1ac4b132eaab77eec777c7aaf8f135d03b227ca915ef49ef9c67bec1dc89d43b782c38683c0d5e8fde8c997d17bd7347 SHA512 33de20ad990a3b87fef46fa486832edde41907223aa6b8a47606e605b360745fd7e2054226bf93a59b2a09c6bc04d0b684e4b3bb27c3fc0e6110c64a558cadc0 DIST nvme-cli-2.9.1.gh.tar.gz 932210 BLAKE2B 865808c17f2098f8d0be8ba928869801023f77f0ffd44b5d2424b9f75e01180f8d1990684e3e4a79363e650a44e58abe213b5ab55328f0bde9ed699eba9a215c SHA512 c9c86e7567c2d4c59aff1eb9d18f4775923db3c81a89c628b819121c32150d4bc2d65d0dacac764c64594369890b380d0fd06bc7c1f83f4a7f3e71a51a6fee24 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/nvme-cli/nvme-cli-2.8.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/nvme-cli/nvme-cli-2.11.ebuild similarity index 85% rename from sdk_container/src/third_party/portage-stable/sys-apps/nvme-cli/nvme-cli-2.8.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/nvme-cli/nvme-cli-2.11.ebuild index 4632b25347d..aca6def801c 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/nvme-cli/nvme-cli-2.8.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/nvme-cli/nvme-cli-2.11.ebuild @@ -11,11 +11,11 @@ SRC_URI="https://github.com/linux-nvme/nvme-cli/archive/v${PV}.tar.gz -> ${P}.gh LICENSE="GPL-2 GPL-2+" SLOT="0" -KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv ~sparc x86" -IUSE="+json" +KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86" +IUSE="+json pdc" RDEPEND=" - >=sys-libs/libnvme-1.8:=[json?] + >=sys-libs/libnvme-1.11:=[json?] json? ( dev-libs/json-c:= ) sys-libs/zlib:= " @@ -35,6 +35,7 @@ src_configure() { -Dsystemddir="$(systemd_get_systemunitdir)" -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" $(meson_feature json json-c) + $(meson_use pdc pdc-enabled) ) meson_src_configure } diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/nvme-cli/nvme-cli-2.7.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/nvme-cli/nvme-cli-2.7.1.ebuild deleted file mode 100644 index 9f5d6f0bb59..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/nvme-cli/nvme-cli-2.7.1.ebuild +++ /dev/null @@ -1,47 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit meson systemd udev - -DESCRIPTION="NVM-Express user space tooling for Linux" -HOMEPAGE="https://github.com/linux-nvme/nvme-cli" -SRC_URI="https://github.com/linux-nvme/nvme-cli/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz" - -LICENSE="GPL-2 GPL-2+" -SLOT="0" -KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv ~sparc x86" -IUSE="+json" - -RDEPEND=" - >=sys-libs/libnvme-1.7:=[json?] - json? ( dev-libs/json-c:= ) - sys-libs/zlib:= -" -DEPEND=" - ${RDEPEND} -" -BDEPEND=" - virtual/pkgconfig -" - -src_configure() { - local emesonargs=( - -Dversion-tag="${PV}" - -Ddocs=all - -Dhtmldir="${EPREFIX}/usr/share/doc/${PF}/html" - -Dsystemddir="$(systemd_get_systemunitdir)" - -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" - $(meson_feature json json-c) - ) - meson_src_configure -} - -pkg_postinst() { - udev_reload -} - -pkg_postrm() { - udev_reload -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/sandbox/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/sandbox/Manifest index 1b4119fa74a..1dcf79d2050 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/sandbox/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/sandbox/Manifest @@ -1,3 +1,2 @@ -DIST sandbox-2.37.tar.xz 459420 BLAKE2B 0f6c701f819139f557a5fccb59e67509b04ba6eb22e79250a69ae990b123f9f7b618bb82a43ea86e1b18614c38d0d884aceb77d17af5a92030b2b4ad89eb2bd4 SHA512 91ddb98aa118f2d606aaf64b20598dbed9239069350842ab9fd3af05b1942380c92841d044387bc2d761317faa9c44848b3010e18747d834c115929f64060056 -DIST sandbox-2.38.tar.xz 460776 BLAKE2B 39a93e77301d5b6ea0a352cf1dc7786a1030a3701b0f8beca62e80a4f0d614b26cb3764ecf0174a9fd77acf27ae5d972de352e6fdec5a169aba83e6146a84038 SHA512 a559e32654b2fd7baca70b85f6dbf0a610e5847ccf28d7a0536485aedbfb1ce8394a080e6efdafcf76e01439b2592eebcef6c8f77a976188ce7e3759a2844d3f DIST sandbox-2.39.tar.xz 462796 BLAKE2B 330c6f896eba6ff2a38eb8a5d1ff9b242d0e42ab03734254b1851f36cc851c32e7ed3d32afe07374b6e264cb0a922d25b010af5269f60fc5142b9036008f0945 SHA512 5eed5d828eb904b15d52736ea8835128e805f0274f2152d033ae6d93f1df3bc1f50ed23d7544c37ee06b14cb2c301110730e1de3097d6f7032069ef8dbbbd28c +DIST sandbox-2.40.tar.xz 465824 BLAKE2B 1e7e8b1c69807d493d5ca242d746b07aa669e18f9aab60cbfd7fe66500ac6822f8b9236077c370ec7e580c8c056f2ccc7825017cd015fca4497e967dcb93cc82 SHA512 e734f380943cc573847f48789a6ad724a3a3fe1017cb7e4bffcd75d2f758d85e937511bbc2eccd0224301b56bc0dd38c92fbaf2d268132be4985f5a768593bdc diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/sandbox/sandbox-2.38.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/sandbox/sandbox-2.38.ebuild deleted file mode 100644 index 10350e637a7..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/sandbox/sandbox-2.38.ebuild +++ /dev/null @@ -1,64 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -inherit flag-o-matic multilib-minimal multiprocessing - -DESCRIPTION="sandbox'd LD_PRELOAD hack" -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Sandbox" -SRC_URI="https://dev.gentoo.org/~floppym/dist/${P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" -IUSE="+nnp" - -# pax-utils lower bound for bug #265376 -DEPEND=">=app-misc/pax-utils-0.1.19" -# Avoid folks installing with older file, bug #889046. We still need the -# >= dep in Portage but this is a safety net if people do partial upgrades. -RDEPEND="! -Date: Mon, 23 Oct 2023 19:51:00 +0100 -Subject: [PATCH 1/5] * tp/Texinfo/XS/xspara.c (get_utf8_codepoint): Wrapper - for mbrtowc/btowc. [_WIN32]: Do not call btowc, as it was tested to be very - slow on MinGW. Report from Eli Zaretskii. - ---- - ChangeLog | 7 ++++++ - tp/Texinfo/XS/xspara.c | 48 +++++++++++++++++++++++------------------- - 2 files changed, 33 insertions(+), 22 deletions(-) - -diff --git a/ChangeLog b/ChangeLog -index e619109f5b..c4379ec56b 100644 ---- a/ChangeLog -+++ b/ChangeLog -@@ -1,3 +1,10 @@ -+2023-10-23 Gavin Smith -+ -+ * tp/Texinfo/XS/xspara.c (get_utf8_codepoint): -+ Wrapper for mbrtowc/btowc. -+ [_WIN32]: Do not call btowc, as it was tested to be very slow -+ on MinGW. Report from Eli Zaretskii. -+ - 2023-10-18 Gavin Smith - - Texinfo 7.1 -diff --git a/tp/Texinfo/XS/xspara.c b/tp/Texinfo/XS/xspara.c -index 7c6895a7ff..e1cddcdc2a 100644 ---- a/tp/Texinfo/XS/xspara.c -+++ b/tp/Texinfo/XS/xspara.c -@@ -684,6 +684,30 @@ xspara_end (void) - /* characters triggering an end of sentence */ - #define end_sentence_characters ".?!" - -+/* Wrapper for mbrtowc. Set *PWC and return length of codepoint in bytes. */ -+size_t -+get_utf8_codepoint (wchar_t *pwc, const char *mbs, size_t n) -+{ -+#ifdef _WIN32 -+ /* Use the above implementation of mbrtowc. Do not use btowc as -+ does not exist as standard on MS-Windows, and was tested to be -+ very slow on MinGW. */ -+ return mbrtowc (pwc, mbs, n, NULL); -+#else -+ if (!PRINTABLE_ASCII(*mbs)) -+ { -+ return mbrtowc (pwc, mbs, n, NULL); -+ } -+ else -+ { -+ /* Functionally the same as mbrtowc but (tested) slightly quicker. */ -+ *pwc = btowc (*mbs); -+ return 1; -+ } -+#endif -+} -+ -+ - /* Add WORD to paragraph in RESULT, not refilling WORD. If we go past the end - of the line start a new one. TRANSPARENT means that the letters in WORD - are ignored for the purpose of deciding whether a full stop ends a sentence -@@ -730,18 +754,7 @@ xspara__add_next (TEXT *result, char *word, int word_len, int transparent) - if (!strchr (end_sentence_characters - after_punctuation_characters, *p)) - { -- if (!PRINTABLE_ASCII(*p)) -- { -- wchar_t wc = L'\0'; -- mbrtowc (&wc, p, len, NULL); -- state.last_letter = wc; -- break; -- } -- else -- { -- state.last_letter = btowc (*p); -- break; -- } -+ get_utf8_codepoint (&state.last_letter, p, len); - } - } - } -@@ -1013,16 +1026,7 @@ xspara_add_text (char *text, int len) - } - - /************** Not a white space character. *****************/ -- if (!PRINTABLE_ASCII(*p)) -- { -- char_len = mbrtowc (&wc, p, len, NULL); -- } -- else -- { -- /* Functonally the same as mbrtowc but (tested) slightly quicker. */ -- char_len = 1; -- wc = btowc (*p); -- } -+ char_len = get_utf8_codepoint (&wc, p, len); - - if ((long) char_len == 0) - break; /* Null character. Shouldn't happen. */ --- -2.42.1 - diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/files/7.1/0002-tp-Texinfo-XS-xspara.c-xspara__add_next-Do-not-pass.patch b/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/files/7.1/0002-tp-Texinfo-XS-xspara.c-xspara__add_next-Do-not-pass.patch deleted file mode 100644 index 242f90add70..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/files/7.1/0002-tp-Texinfo-XS-xspara.c-xspara__add_next-Do-not-pass.patch +++ /dev/null @@ -1,44 +0,0 @@ -From f038d3f13f95b5494d5523f2af9dec59ff89b79d Mon Sep 17 00:00:00 2001 -From: Eli Zaretskii -Date: Wed, 25 Oct 2023 22:35:37 +0100 -Subject: [PATCH 2/5] * tp/Texinfo/XS/xspara.c (xspara__add_next): Do not pass - pointer to wint_t as a pointer to wchar_t, as the two types may be of - different sizes. - ---- - ChangeLog | 6 ++++++ - tp/Texinfo/XS/xspara.c | 4 +++- - 2 files changed, 9 insertions(+), 1 deletion(-) - -diff --git a/ChangeLog b/ChangeLog -index c4379ec56b..3d13a15517 100644 ---- a/ChangeLog -+++ b/ChangeLog -@@ -1,3 +1,9 @@ -+2023-10-25 Eli Zaretskii -+ -+ * tp/Texinfo/XS/xspara.c (xspara__add_next): Do not pass -+ pointer to wint_t as a pointer to wchar_t, as the two types -+ may be of different sizes. -+ - 2023-10-23 Gavin Smith - - * tp/Texinfo/XS/xspara.c (get_utf8_codepoint): -diff --git a/tp/Texinfo/XS/xspara.c b/tp/Texinfo/XS/xspara.c -index e1cddcdc2a..130e43a4db 100644 ---- a/tp/Texinfo/XS/xspara.c -+++ b/tp/Texinfo/XS/xspara.c -@@ -754,7 +754,9 @@ xspara__add_next (TEXT *result, char *word, int word_len, int transparent) - if (!strchr (end_sentence_characters - after_punctuation_characters, *p)) - { -- get_utf8_codepoint (&state.last_letter, p, len); -+ wchar_t wc; -+ get_utf8_codepoint (&wc, p, len); -+ state.last_letter = wc; - } - } - } --- -2.42.1 - diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/files/7.1/0003-info-scan.c-write_tag_contents-Check-if-added-text-i.patch b/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/files/7.1/0003-info-scan.c-write_tag_contents-Check-if-added-text-i.patch deleted file mode 100644 index b3fbc85f461..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/files/7.1/0003-info-scan.c-write_tag_contents-Check-if-added-text-i.patch +++ /dev/null @@ -1,51 +0,0 @@ -https://lists.gnu.org/archive/html/bug-texinfo/2023-11/msg00001.html - -From 12ad80f3a1cfa78c8a7b3a45458df7e07251317d Mon Sep 17 00:00:00 2001 -From: Gavin Smith -Date: Sat, 4 Nov 2023 10:38:48 +0000 -Subject: [PATCH 3/5] * info/scan.c (write_tag_contents): Check if added text - is of zero length in order to avoid subsequently calling memcpy with a null - source argument. Report with -fsanitize=undefined on amd64 from Sam James - . - ---- - ChangeLog | 7 +++++++ - info/scan.c | 4 ++-- - 2 files changed, 9 insertions(+), 2 deletions(-) - -diff --git a/ChangeLog b/ChangeLog -index 3d13a15517..efbb3b22d1 100644 ---- a/ChangeLog -+++ b/ChangeLog -@@ -1,3 +1,10 @@ -+2023-11-04 Gavin Smith -+ -+ * info/scan.c (write_tag_contents): Check if added text is of -+ zero length in order to avoid subsequently calling memcpy with -+ a null source argument. Report with -fsanitize=undefined on amd64 -+ from Sam James . -+ - 2023-10-25 Eli Zaretskii - - * tp/Texinfo/XS/xspara.c (xspara__add_next): Do not pass -diff --git a/info/scan.c b/info/scan.c -index d6183ae9ae..bdf272f9bf 100644 ---- a/info/scan.c -+++ b/info/scan.c -@@ -925,11 +925,11 @@ write_extra_bytes_to_output (char *input, long n) - } - - /* Like write_extra_bytes_to_output, but writes bytes even when -- preprocess_nodes=Off. */ -+ preprocess_nodes=Off. Note n could be 0 for an index tag. */ - static void - write_tag_contents (char *input, long n) - { -- if (rewrite_p) -+ if (rewrite_p && n > 0) - { - text_buffer_add_string (&output_buf, input, n); - output_bytes_difference -= n; --- -2.42.1 - diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/files/7.1/0004-tp-Texinfo-XS-parsetexi-tree.c-reset_obstacks.patch b/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/files/7.1/0004-tp-Texinfo-XS-parsetexi-tree.c-reset_obstacks.patch deleted file mode 100644 index 6f57363fc43..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/files/7.1/0004-tp-Texinfo-XS-parsetexi-tree.c-reset_obstacks.patch +++ /dev/null @@ -1,53 +0,0 @@ -https://lists.gnu.org/archive/html/bug-texinfo/2023-11/msg00000.html -https://lists.gnu.org/archive/html/bug-texinfo/2023-11/msg00016.html -https://lists.gnu.org/archive/html/bug-texinfo/2023-11/msg00073.html - -From 81a854e22ca2449f2351436a863e5262935f5dc0 Mon Sep 17 00:00:00 2001 -From: Gavin Smith -Date: Mon, 13 Nov 2023 18:43:40 +0000 -Subject: [PATCH 4/5] * tp/Texinfo/XS/parsetexi/tree.c (reset_obstacks): Call - obstack_alignment_mask to use 8-byte alignment. Needed for Debian on - sparc64. Report of "Bus error" from John Paul Adrian Glaubitz - . - ---- - ChangeLog | 7 +++++++ - tp/Texinfo/XS/parsetexi/tree.c | 7 ++++++- - 2 files changed, 13 insertions(+), 1 deletion(-) - -diff --git a/ChangeLog b/ChangeLog -index efbb3b22d1..a146820671 100644 ---- a/ChangeLog -+++ b/ChangeLog -@@ -1,3 +1,10 @@ -+2023-11-13 Gavin Smith -+ -+ * tp/Texinfo/XS/parsetexi/tree.c (reset_obstacks): -+ Call obstack_alignment_mask to use 8-byte alignment. Needed -+ for Debian on sparc64. Report of "Bus error" from -+ John Paul Adrian Glaubitz . -+ - 2023-11-04 Gavin Smith - - * info/scan.c (write_tag_contents): Check if added text is of -diff --git a/tp/Texinfo/XS/parsetexi/tree.c b/tp/Texinfo/XS/parsetexi/tree.c -index f2d69e0454..09db6fc151 100644 ---- a/tp/Texinfo/XS/parsetexi/tree.c -+++ b/tp/Texinfo/XS/parsetexi/tree.c -@@ -43,7 +43,12 @@ reset_obstacks (void) - if (obs_element_first) - obstack_free (&obs_element, obs_element_first); - else -- obstack_init (&obs_element); -+ { -+ /* Specify 8-byte alignment. Needed for SPARC. */ -+ obstack_alignment_mask (&obs_element) = 7; -+ -+ obstack_init (&obs_element); -+ } - - obs_element_first = obstack_alloc (&obs_element, sizeof (int)); - } --- -2.42.1 - diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/files/7.1/0005-tp-Texinfo-command_data.txt.patch b/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/files/7.1/0005-tp-Texinfo-command_data.txt.patch deleted file mode 100644 index 59b59061796..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/files/7.1/0005-tp-Texinfo-command_data.txt.patch +++ /dev/null @@ -1,221 +0,0 @@ -From f1f8920d798dbcb20cb775b46a54cd81847295fd Mon Sep 17 00:00:00 2001 -From: Gavin Smith -Date: Tue, 14 Nov 2023 21:53:49 +0000 -Subject: [PATCH 5/5] * tp/Texinfo/command_data.txt (item_LINE, itemx, - defblock, defline, deftypeline): Remove contain_basic_inline flag. There is - no reason an @anchor should not occur inside @item, inside @table, or the - other commands, as no index entry is being created with the @anchor. - -Report from Ihor Radchenko for Org mode manual. ---- - ChangeLog | 10 +++ - tp/Texinfo/command_data.txt | 10 +-- - tp/t/results/invalid_nestings/in_table.pl | 90 ------------------- - .../invalid_nestings/table_on_item_line.pl | 9 -- - 4 files changed, 15 insertions(+), 104 deletions(-) - -diff --git a/ChangeLog b/ChangeLog -index a146820671..0dcdb1a904 100644 ---- a/ChangeLog -+++ b/ChangeLog -@@ -1,3 +1,13 @@ -+2023-11-14 Gavin Smith -+ -+ * tp/Texinfo/command_data.txt -+ (item_LINE, itemx, defblock, defline, deftypeline): -+ Remove contain_basic_inline flag. There is no reason an @anchor -+ should not occur inside @item, inside @table, or the other -+ commands, as no index entry is being created with the @anchor. -+ -+ Report from Ihor Radchenko for Org mode manual. -+ - 2023-11-13 Gavin Smith - - * tp/Texinfo/XS/parsetexi/tree.c (reset_obstacks): -diff --git a/tp/Texinfo/command_data.txt b/tp/Texinfo/command_data.txt -index bcda173e2c..c9b5f51569 100644 ---- a/tp/Texinfo/command_data.txt -+++ b/tp/Texinfo/command_data.txt -@@ -253,8 +253,8 @@ printindex line,formattable_line,close_paragraph,global,contain_pla - listoffloats line,formattable_line,close_paragraph,global,contain_basic_inline LINE_line - exdent line,formatted_line,close_paragraph LINE_line - # or nobrace skipspace, depending on the context --item_LINE line,formatted_line,close_paragraph,contain_basic_inline LINE_line --itemx line,formatted_line,close_paragraph,contain_basic_inline LINE_line -+item_LINE line,formatted_line,close_paragraph LINE_line -+itemx line,formatted_line,close_paragraph LINE_line - nodedescription line,close_paragraph LINE_line - # in index entries - subentry line,in_index,contain_basic_inline LINE_line -@@ -494,9 +494,9 @@ defmethod block,def,contain_basic_inline,def_alias,close_paragraph - deftypemethod block,def,contain_basic_inline,def_alias,close_paragraph BLOCK_def - - # generic, no automatic index --defblock block,contain_basic_inline,close_paragraph BLOCK_def --defline line,def,contain_basic_inline,close_paragraph LINE_line --deftypeline line,def,contain_basic_inline,close_paragraph LINE_line -+defblock block,close_paragraph BLOCK_def -+defline line,def,close_paragraph LINE_line -+deftypeline line,def,close_paragraph LINE_line - - # def*x - deffnx line,def,contain_basic_inline,close_paragraph LINE_line -diff --git a/tp/t/results/invalid_nestings/in_table.pl b/tp/t/results/invalid_nestings/in_table.pl -index f4dcef1141..76eea8b3b4 100644 ---- a/tp/t/results/invalid_nestings/in_table.pl -+++ b/tp/t/results/invalid_nestings/in_table.pl -@@ -1107,42 +1107,6 @@ $result_errors{'in_table'} = [ - 'text' => '@indent should not appear in @item', - 'type' => 'warning' - }, -- { -- 'error_line' => 'warning: @indent should not appear on @item line --', -- 'file_name' => '', -- 'line_nr' => 9, -- 'macro' => '', -- 'text' => '@indent should not appear on @item line', -- 'type' => 'warning' -- }, -- { -- 'error_line' => 'warning: @titlefont should not appear on @item line --', -- 'file_name' => '', -- 'line_nr' => 9, -- 'macro' => '', -- 'text' => '@titlefont should not appear on @item line', -- 'type' => 'warning' -- }, -- { -- 'error_line' => 'warning: @anchor should not appear on @item line --', -- 'file_name' => '', -- 'line_nr' => 9, -- 'macro' => '', -- 'text' => '@anchor should not appear on @item line', -- 'type' => 'warning' -- }, -- { -- 'error_line' => 'warning: @footnote should not appear on @item line --', -- 'file_name' => '', -- 'line_nr' => 9, -- 'macro' => '', -- 'text' => '@footnote should not appear on @item line', -- 'type' => 'warning' -- }, - { - 'error_line' => 'warning: @exdent should only appear at the beginning of a line - ', -@@ -1161,24 +1125,6 @@ $result_errors{'in_table'} = [ - 'text' => '@exdent should not appear in @item', - 'type' => 'warning' - }, -- { -- 'error_line' => 'warning: @exdent should not appear on @item line --', -- 'file_name' => '', -- 'line_nr' => 9, -- 'macro' => '', -- 'text' => '@exdent should not appear on @item line', -- 'type' => 'warning' -- }, -- { -- 'error_line' => 'warning: @ref should not appear on @item line --', -- 'file_name' => '', -- 'line_nr' => 11, -- 'macro' => '', -- 'text' => '@ref should not appear on @item line', -- 'type' => 'warning' -- }, - { - 'error_line' => '@ref missing closing brace - ', -@@ -1206,15 +1152,6 @@ $result_errors{'in_table'} = [ - 'text' => '@center should not appear in @item', - 'type' => 'warning' - }, -- { -- 'error_line' => 'warning: @center should not appear on @item line --', -- 'file_name' => '', -- 'line_nr' => 13, -- 'macro' => '', -- 'text' => '@center should not appear on @item line', -- 'type' => 'warning' -- }, - { - 'error_line' => 'warning: @cindex should not appear in @item - ', -@@ -1224,15 +1161,6 @@ $result_errors{'in_table'} = [ - 'text' => '@cindex should not appear in @item', - 'type' => 'warning' - }, -- { -- 'error_line' => 'warning: @cindex should not appear on @item line --', -- 'file_name' => '', -- 'line_nr' => 14, -- 'macro' => '', -- 'text' => '@cindex should not appear on @item line', -- 'type' => 'warning' -- }, - { - 'error_line' => 'warning: @cindex should not appear in @item - ', -@@ -1242,15 +1170,6 @@ $result_errors{'in_table'} = [ - 'text' => '@cindex should not appear in @item', - 'type' => 'warning' - }, -- { -- 'error_line' => 'warning: @cindex should not appear on @item line --', -- 'file_name' => '', -- 'line_nr' => 18, -- 'macro' => '', -- 'text' => '@cindex should not appear on @item line', -- 'type' => 'warning' -- }, - { - 'error_line' => 'warning: @cindex should not appear in @item - ', -@@ -1260,15 +1179,6 @@ $result_errors{'in_table'} = [ - 'text' => '@cindex should not appear in @item', - 'type' => 'warning' - }, -- { -- 'error_line' => 'warning: @cindex should not appear on @item line --', -- 'file_name' => '', -- 'line_nr' => 21, -- 'macro' => '', -- 'text' => '@cindex should not appear on @item line', -- 'type' => 'warning' -- }, - { - 'error_line' => 'warning: empty index key in @item - ', -diff --git a/tp/t/results/invalid_nestings/table_on_item_line.pl b/tp/t/results/invalid_nestings/table_on_item_line.pl -index b1184ba915..51ba523fd7 100644 ---- a/tp/t/results/invalid_nestings/table_on_item_line.pl -+++ b/tp/t/results/invalid_nestings/table_on_item_line.pl -@@ -273,15 +273,6 @@ $result_errors{'table_on_item_line'} = [ - 'text' => '@table should not appear in @item', - 'type' => 'warning' - }, -- { -- 'error_line' => 'warning: @table should not appear on @item line --', -- 'file_name' => '', -- 'line_nr' => 2, -- 'macro' => '', -- 'text' => '@table should not appear on @item line', -- 'type' => 'warning' -- }, - { - 'error_line' => 'no matching `@end table\' - ', --- -2.42.1 - diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/texinfo-7.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/texinfo-7.1.90.ebuild similarity index 90% rename from sdk_container/src/third_party/portage-stable/sys-apps/texinfo/texinfo-7.1-r1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/texinfo/texinfo-7.1.90.ebuild index 6cb50bcb6b4..eda59950b46 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/texinfo-7.1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/texinfo/texinfo-7.1.90.ebuild @@ -27,7 +27,7 @@ elif [[ $(ver_cut 3) -ge 90 || $(ver_cut 4) -ge 90 ]] ; then REGEN_BDEPEND="" else SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 hppa ~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 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" REGEN_BDEPEND="" fi @@ -53,11 +53,6 @@ BDEPEND=" nls? ( >=sys-devel/gettext-0.19.6 ) " -PATCHES=( - # Backports from the release/7.1 branch - "${FILESDIR}"/7.1 -) - src_prepare() { default diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/zram-generator/zram-generator-1.1.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/zram-generator/zram-generator-1.1.2-r1.ebuild similarity index 64% rename from sdk_container/src/third_party/portage-stable/sys-apps/zram-generator/zram-generator-1.1.2.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/zram-generator/zram-generator-1.1.2-r1.ebuild index e9c8dc4ca9f..3d422cd75d4 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/zram-generator/zram-generator-1.1.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/zram-generator/zram-generator-1.1.2-r1.ebuild @@ -4,44 +4,44 @@ EAPI=8 CRATES=" - ahash-0.4.7 - anyhow-1.0.45 - autocfg-1.0.1 - bitflags-1.2.1 - cc-1.0.72 - cfg-if-1.0.0 - clap-2.33.3 - ctor-0.1.21 - dlv-list-0.2.3 - fasteval-0.2.4 - fs_extra-1.2.0 - getrandom-0.2.3 - hashbrown-0.9.1 - libc-0.2.107 - liboverdrop-0.0.2 - log-0.4.14 - memoffset-0.6.4 - nix-0.22.2 - ordered-multimap-0.3.1 - ppv-lite86-0.2.15 - proc-macro2-1.0.32 - quote-1.0.10 - rand-0.8.4 - rand_chacha-0.3.1 - rand_core-0.6.3 - rand_hc-0.3.1 - redox_syscall-0.2.10 - remove_dir_all-0.5.3 - rust-ini-0.17.0 - syn-1.0.81 - tempfile-3.2.0 - textwrap-0.11.0 - unicode-width-0.1.9 - unicode-xid-0.2.2 - wasi-0.10.2+wasi-snapshot-preview1 - winapi-0.3.9 - winapi-i686-pc-windows-gnu-0.4.0 - winapi-x86_64-pc-windows-gnu-0.4.0 + ahash@0.4.7 + anyhow@1.0.45 + autocfg@1.0.1 + bitflags@1.2.1 + cc@1.0.72 + cfg-if@1.0.0 + clap@2.33.3 + ctor@0.1.21 + dlv-list@0.2.3 + fasteval@0.2.4 + fs_extra@1.2.0 + getrandom@0.2.3 + hashbrown@0.9.1 + libc@0.2.107 + liboverdrop@0.0.2 + log@0.4.14 + memoffset@0.6.4 + nix@0.22.2 + ordered-multimap@0.3.1 + ppv-lite86@0.2.15 + proc-macro2@1.0.32 + quote@1.0.10 + rand@0.8.4 + rand_chacha@0.3.1 + rand_core@0.6.3 + rand_hc@0.3.1 + redox_syscall@0.2.10 + remove_dir_all@0.5.3 + rust-ini@0.17.0 + syn@1.0.81 + tempfile@3.2.0 + textwrap@0.11.0 + unicode-width@0.1.9 + unicode-xid@0.2.2 + wasi@0.10.2+wasi-snapshot-preview1 + winapi@0.3.9 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 " inherit cargo systemd toolchain-funcs @@ -49,16 +49,17 @@ inherit cargo systemd toolchain-funcs DESCRIPTION="Systemd unit generator for zram swap devices" HOMEPAGE="https://github.com/systemd/zram-generator" SRC_URI="https://github.com/systemd/zram-generator/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - $(cargo_crate_uris ${CRATES})" + ${CARGO_CRATE_URIS}" LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT" SLOT="0" KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv" IUSE="+man" -BDEPEND="virtual/rust +BDEPEND=" virtual/pkgconfig - man? ( app-text/ronn-ng )" + man? ( app-text/ronn-ng ) +" QA_FLAGS_IGNORED="lib/systemd/system-generators/zram-generator" diff --git a/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.10.ebuild b/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.10-r1.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.10.ebuild rename to sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.10-r1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.13.ebuild b/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.13-r1.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.13.ebuild rename to sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.13-r1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.14.ebuild b/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.14-r1.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.14.ebuild rename to sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.14-r1.ebuild index c3920bb0d0e..b7d67783148 100644 --- a/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.14.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.14-r1.ebuild @@ -149,7 +149,7 @@ declare -A GIT_CRATES=( LLVM_COMPAT=( {17..18} ) -inherit cargo llvm-r1 +inherit llvm-r1 cargo DESCRIPTION="A suite of tools for thin provisioning on Linux" HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools" diff --git a/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r2.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r2.ebuild index 198b0bb7c62..226c8272ce4 100644 --- a/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r2.ebuild @@ -150,7 +150,7 @@ declare -A GIT_CRATES=( LLVM_COMPAT=( {17..18} ) -inherit cargo llvm-r1 +inherit llvm-r1 cargo DESCRIPTION="A suite of tools for thin provisioning on Linux" HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools" diff --git a/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/gnu-efi-3.0.18-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/gnu-efi-3.0.18-r2.ebuild deleted file mode 100644 index b8c0e05512d..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/gnu-efi-3.0.18-r2.ebuild +++ /dev/null @@ -1,89 +0,0 @@ -# Copyright 2004-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit 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 ~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 ) ) -" - -# 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 -) - -src_prepare() { - default - sed -i -e "s/-Werror//" Make.defaults || die -} - -efimake() { - local arch= - case ${CHOST} in - arm*) arch=arm ;; - aarch64*) arch=aarch64 ;; - ia64*) arch=ia64 ;; - i?86*) arch=ia32 ;; - riscv64*) arch=riscv64;; - x86_64*) arch=x86_64 ;; - *) die "Unknown CHOST" ;; - esac - - local args=( - ARCH="${arch}" - HOSTCC="${BUILD_CC}" - CC="${CC}" - AS="${AS}" - LD="${LD}" - AR="${AR}" - OBJCOPY="${OBJCOPY}" - PREFIX="${EPREFIX}/usr" - LIBDIR='$(PREFIX)'/$(get_libdir) - ) - emake -j1 "${args[@]}" "$@" -} - -src_compile() { - tc-export BUILD_CC AR AS CC LD OBJCOPY - - if ! use custom-cflags; then - unset CFLAGS CPPFLAGS LDFLAGS - fi - - 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-boot/gnu-efi/gnu-efi-3.0.18-r3.ebuild b/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/gnu-efi-3.0.18-r3.ebuild deleted file mode 100644 index 26cfa7b58d2..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-boot/gnu-efi/gnu-efi-3.0.18-r3.ebuild +++ /dev/null @@ -1,121 +0,0 @@ -# Copyright 2004-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit 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 ~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-/}" - # Test OBJCOPY to see if it supports EFI targets, and return if it does - LC_ALL=C "${OBJCOPY}" --help | grep -q '\ ${P}.tar.gz" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" DEPEND="dev-libs/openssl:= sys-apps/keyutils:= 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 f7eb20a2c60..b72d306765d 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 @@ -18,9 +18,8 @@ DIST binutils-2.40-patches-7.tar.xz 299188 BLAKE2B 170cd2432e0458889b240c3603461 DIST binutils-2.40.tar.xz 25241484 BLAKE2B 8d799f7c595f878b9af5b17a490021dd8b8300ac2fe0ed8574c012929d22d2d0493e003a3e631a9436e8e712da801779b777c566167fe42b0bde119ffa5ad1c2 SHA512 a37e042523bc46494d99d5637c3f3d8f9956d9477b748b3b1f6d7dfbb8d968ed52c932e88a4e946c6f77b8f48f1e1b360ca54c3d298f17193f3b4963472f6925 DIST binutils-2.41-patches-5.tar.xz 95176 BLAKE2B bbc94b3c7d70653a1056afe57a120b6eac9f0c8f51f05e95a1b5f80f2b7ef35e6355d740b49bc1ec2f3a13a838d5210ff4a205aa2bde5a72bc55c12100bce726 SHA512 ad293f97116f71322993f381c1af69fad1719a159f127ff16ddeca62f9b9b62aaf141abfa661985a61e9be7ae0639772148e69293a97364eebbf49182babb691 DIST binutils-2.41.tar.xz 26765692 BLAKE2B 3bccec2b52f7e82a727121bf2a2e51a6249ba63dcd74c665fd834e858645c912ffd8245d848435288b938852830b482905606f55c40df4061215fd75c52ffc75 SHA512 5df45d0bd6ddabdce4f35878c041e46a92deef01e7dea5facc97fd65cc06b59abc6fba0eb454b68e571c7e14038dc823fe7f2263843e6e627b7444eaf0fe9374 -DIST binutils-2.42-patches-3.tar.xz 34768 BLAKE2B e4bfaf3b42147408a8a3dcb00f50378a6b49aef8e939731a92598680cfbf42dfdf842c3f5bf3458867f79c534eb92385bc64f34f7b1d6462ec4182b5f424fbe5 SHA512 3d75e0684bbfa2cc3fc6dfcb5488ac571db58f1a5833fcc754f231664137001ccb0f2ec750947b8021fa12daf614eb2cd21b598bd962d71a34bb8ea38805850d 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-patches-3.tar.xz 62692 BLAKE2B a189a01a6a99c4fdff124cf90ecc18f874812c17fc735376c855469c487b6a71489ad5c2f86c518d2e029cc83d65757144ff9abddbe7ec3fc06e22f9501c62f4 SHA512 99a30e18fdfd7bdce85bb903f8d61837cfbb639ead8a680ff1a85ad1d615b658e696bdf196c4a002d029f952d34aa441e09e861b22f5400c65f07cce5934cd8f 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.42-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.42-r1.ebuild deleted file mode 100644 index 1f784c1459a..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.42-r1.ebuild +++ /dev/null @@ -1,555 +0,0 @@ -# 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=3 -PATCH_DEV=dilfridge - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - SLOT=${PV} -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 ~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 - - 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" - 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.40-linker-search-path.patch \ - "${FILESDIR}"/binutils-2.41-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 - - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) - - 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 - - # https://sourceware.org/PR31327 - local -x XZ_OPT="-T1" - local -x XZ_DEFAULTS="-T1" - - ( - # 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} -} - -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} - else - binutils-config ${choice} - fi - elif [[ $(CHOST=${CTARGET} binutils-config -c) == ${CTARGET}-${PV} ]] ; then - binutils-config ${CTARGET}-${PV} - 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/binutils/binutils-2.42-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.42-r2.ebuild index 70ca55cc9f8..6e5766f0d3b 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.42-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.42-r2.ebuild @@ -32,7 +32,7 @@ else [[ -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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" fi # diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.43.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.43-r2.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.43.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.43-r2.ebuild index c5fc0b22c35..18d5aa85e3d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.43.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.43-r2.ebuild @@ -19,7 +19,7 @@ IUSE="cet debuginfod doc gold gprofng hardened multitarget +nls pgo +plugins sta # PATCH_DEV - Use download URI https://dev.gentoo.org/~{PATCH_DEV}/distfiles/... # for the patchsets -PATCH_VER=1 +PATCH_VER=3 PATCH_DEV=dilfridge if [[ ${PV} == 9999 ]]; then @@ -35,7 +35,7 @@ else [[ -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 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" fi # @@ -131,8 +131,8 @@ src_prepare() { # 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 + eapply "${FILESDIR}"/binutils-2.40-linker-search-path.patch \ + "${FILESDIR}"/binutils-2.41-linker-prefix.patch fi fi fi 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 eaae9255773..32515aca513 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 @@ -4,42 +4,31 @@ DIST gcc-10.5.0.tar.xz 77846412 BLAKE2B 9b71761f4015649514677784443886e59733ac38 DIST gcc-11.4.0-musl-patches-2.tar.xz 4308 BLAKE2B a2335e155fc57816fed822a648e0eaefafcba9d04e1ad0fd7baeea5a694ab6f5e3c1678cb406f2a1bd17bab25cb01699d032713a1ccf337948dfda2093844607 SHA512 17b84f907cb1bd763873655e6f35fd3ed55a40b602b70a626f04f83b4cc89c6261db1661de78d4d969187a8c56e9f6305b742515a3836b962248a21df0df5d0c DIST gcc-11.4.0-patches-12.tar.xz 13824 BLAKE2B e4df9e0dc9512882022aaf325ebf65c540169454c91dd31f913c6f57f6eb291c79ae919671b53db1549799d4a70c09298bf45ed82ad05eb1f961443cc958369d SHA512 87fed0c3f8e28c9f702443db58350bb615110b27ebe334b5de2ea60678e2548c56cd75cffade210d69634e2ac0a9311f5100ddb45d97645aa76d5688bc421a61 DIST gcc-11.5.0.tar.xz 82399864 BLAKE2B f4a61faad32aac9e9cb553c1a1a011df0a057f6e2cac92a13cc7e285d08191dd4a117f41a8faac2359c0e2a16f954c7fef354dda9df8c63bff1c5cefda82602c SHA512 88f17d5a5e69eeb53aaf0a9bc9daab1c4e501d145b388c5485ebeb2cc36178fbb2d3e49ebef4a8c007a05e88471a06b97cf9b08870478249f77fbfa3d4abd9a8 -DIST gcc-12-20240919.tar.xz 79901284 BLAKE2B cac209e466ccdffd84610e22961bfbdcd70f6bdd838fe595aa5157670f2a3b9d7db688ffe700e4e7f643a1d3dd806686531e519b2a750b942be63a7dbd7dcb42 SHA512 b032e85be5720ea66b6183f3a5d9f2cc8505c21a0fbdb44d292d8143e37b3ec6e8c3417cb8fc7a18e7cbc961d61c51f681b3ea724086d325c05e7918f7949063 -DIST gcc-12-20240926.tar.xz 79903576 BLAKE2B 704ee10a6e0c358ab4e5ebf9849c2c77f0576ddfc7698f3a5ceab5ada41b201bff3b0ea3f476c3fac7e16dbc606a1885d5042335ef207250f21106286b2587d9 SHA512 259ade01b6d8583bb7bca28b883c9bb1a6929ab7f16d67c14e264dd6118d791ea3bf29c07afa72856cd0612b5e1c1a4ae9224b0e332519956a3642115cb2d592 -DIST gcc-12-20241003.tar.xz 79908436 BLAKE2B 8a07f081c0497d011fe14e9a56eaee2397dabab342b39fb7ca1144006be05ab5fcc599343cf14d7b235a5e3769d0e0883d7678fa263963041012fe4a5814eb14 SHA512 d13f43c85057b5f1f01f26255531675ebb98744e6ca2f3de81924976d3a67f5ce2e462751e1b830da2218e7947d1c8da5e736fc5527b9aa204b497a237e9f9f3 -DIST gcc-12-20241010.tar.xz 79917636 BLAKE2B 514fa1370c1fcacce5afd9ee50278915976346aa2ae102679ebf27f28d752eca67d93d0a637a38b010100dd6cc909584d179edd98b42199fdf059b1d9c094fe2 SHA512 33b8133cf686cf72fd468df2fd55b6ec92e740feb21ae29cf5b451e13faf73687b871bb7092140b87925780c77cf227738d10e799b43da91f62ca7b863e6779d +DIST gcc-12-20241031.tar.xz 79916212 BLAKE2B 924acf7048858a5e45fb835e405b7517fd0029e0fd3a565a34c9be9828360449568110bf0844bd29c7de214d62641ec8e8f10211d69560741311fbd0127041b1 SHA512 412b5f24d99a03c045e6ad083be142fcae2e28629ccd755c0eadef40524bd9e8b83ca605112d405cd911cf14a9fc2939449cc8a9403525bd82168aaba66fbc0f +DIST gcc-12-20241107.tar.xz 79905628 BLAKE2B ba8a3e329a6a2a85d8e3d35bb5a7d2f92535266439a0f2c4242b259bf51d7d40291972f813b5aecd2a3a13f1e02841a782a68f604c1839a63970bf672b773bd2 SHA512 a66951b01d064da7a0c2c83db692af466338c2e11b2c50dbbd952ef1868ed30e0cdb883b5ed4ecf3e1246187181fcc457312a2cf6a9ba307f91a767a8b0c7a22 DIST gcc-12.4.0-musl-patches-1.tar.xz 3068 BLAKE2B e5e39c24934072ea89e4467d0dc5196f3dadfb5ffba0c856d051648a2fbf57d434a57e95227cdf2b8cea45f0f5555aec2bc372d2f6cb0b69efd87831d248d364 SHA512 b9db204845a25be043d76cae826d42eebeeb4f9be7c3049af6fe7601a552bedfd24731156a6a36b4b5e2e2af656a589a5c556d2b0b3ded33ba290a773ee87c62 DIST gcc-12.4.0-patches-1.tar.xz 15576 BLAKE2B 98c29888de7701b365be7ac9062f0cee3340d58c85485e26f0d02f1483ec64cc9c10651488a4fd937551afe30f4e19777e6766871a724ae3ba6c290c16f4fdf1 SHA512 3f7c5d36e56e07ea9dd143a5d13342a6c1ccbf0643abd1c0bcbfb46bb7c7b1308aef6e3e882031c9c191610f01af906b19be5aa2b139cf617614f46e97463aec DIST gcc-12.4.0.tar.xz 83377372 BLAKE2B 0d5aa9995bf53fa2dc976a846240cfb8fafd125ad6c54f45dc9d770215eae3e9ea0db82a9a4f79c51b4d5f8461a1d730c17db6841bc31bd96dba11d9ed7544ae SHA512 5bd29402cad2deb5d9388d0236c7146414d77e5b8d5f1c6c941c7a1f47691c3389f08656d5f6e8e2d6717bf2c81f018d326f632fb468f42925b40bd217fc4853 DIST gcc-13-20240614.tar.xz 84463660 BLAKE2B a1b551ff633c31d6972fed173f248ba5f6696eb1566801e180b78a7c7e20933b1aaae40839b4f1529d61166de55125395d4f9a812511c088e73f975bf1d2167f SHA512 1a543ddfb56e793367a43895a7ce4f97daeca6ffd5234ce50e8a7ae0f8db1071e01bdd653fda40d00eb7a680faead8f1d8d1295f983086a33a4c75e4affa2ea5 -DIST gcc-13-20240920.tar.xz 84477260 BLAKE2B f9f0c376d2849a55a61ac5bbbdb456d160e861e8f0acb34651960aa680ec5e8e6d6bdbdeab94c02e51ad1766bd24e5f2dba3a386f6735ea103181dbc1348a943 SHA512 5b7304ea0032a3bd6f111c8da0a9f12958f45e9f117d408e02e8b4892157462c5643891bcedbded7386f5f9987d16a922bd21bd05ad33167379e1579b7baf1aa -DIST gcc-13-20240927.tar.xz 84487900 BLAKE2B 7b04a3749f4f34cb4b25cce2e02e16422d143f214618468a571f7c0d505ae69928b3dc5b9c95696750a03247934e69816731445613abb9333d7b6b0e65ad5cdc SHA512 532f094e416c151fe80dcd61c64c78398cadea785bf6bd05428d39ff3da5472323cf1c8199ac6aad87abd2893996d18c29b1a2e50dc94286821564e888730d32 -DIST gcc-13-20241004.tar.xz 84474832 BLAKE2B 641d14af692557d47f182d6f53254afcfb4d15181e013b7f720ce9305b79f1969f69a4fda567f369ef49b8d5d8d77d870fbfb82a1d47cb479056b931a08a22be SHA512 5d8fe656965d2af442524d5247ef4f803f3da36f46edfca6a6b1ad66d2f3007a0e71104ef0beae08af10c7c7b060dfc60b3e4fc9117de3bbe107ae2b0869367e -DIST gcc-13-20241011.tar.xz 84503108 BLAKE2B fb00747f513cbde2bef9d5d2ca9e863b6aa84231204f91dbe44e6aa780a335b5773ff3d70a377e86a0a342a8b30c52f52d7636c33f8410cae7112b35d45efb89 SHA512 ef881e7f8625e1c23bb053061495f00f021db7c963655a10eaef8de097d97befcfb6bd7caf37673026ac56240a4ee335323c7da4aa564e111ba32e4f34a0ba0b -DIST gcc-13-20241018.tar.xz 84511076 BLAKE2B e1efcaac11ef1abf705c06d5fba724726e9d251859b00bc182f263a1dca5ecdefb1a867e9932dd3ee724be4f109eda0c5ce1a5e542762b2a4cc1d4af7c517bde SHA512 c24b374b97bbcabea9aa5fc81a0fac95a67c6f3739392d8fcf45f5663e4564134a8dcc88574b14262a53face24a2f2e3c1c488efce993bcbc67b28fc2f969476 +DIST gcc-13-20241025.tar.xz 84501292 BLAKE2B f5ba0a429a43d1936fe717850c81c847c90670204de33261fd476396336a1e1cc34c55d5487ac1871a4019c8a3aff59b6c8fdea3f1b7a161a73dbec8679c4d3a SHA512 a921afd451cdad55ee68bdb36861ca0c525de038d247f6e0ff59dbbdb3b41f03d139e7c2939a0999feb8b2f820f9267171a2c657683df0c86b38f0cb379eb0af +DIST gcc-13-20241101.tar.xz 84502916 BLAKE2B 61c715930fca216b7e4d1a8458ba9ee3b02e532bc8556853d5827e27bae70019a426c56d17bda4974282d4c47c5e860d18435d4ec8701986d65d43d69115560c SHA512 c65531986c7b3887ce9ca97a7b5091ba04dc824799832388fc23168318cb1683b5d1575ea5e723c8731a3ca25f08af64fab55e6dd912d9ac4df2d4258fdde948 +DIST gcc-13-20241108.tar.xz 84499992 BLAKE2B 0d66291dbb5aa35d206ceced1a5e7ffc40c7cb1a2fe50cbbe0d49f82287fa6b607f83cdbc0529c48f64ac1fbd932d9bc2d89db8bc7049e9815266d4aa745ce3b SHA512 95d07285cbafb6f941bf41f691f0f3b9e3acb7459787387c8c53490b18315b0d4aee70a2c4911fe1d81dcdbe3582e65e23cce326a56eb07bccb79c67cc3ea196 DIST gcc-13.2.0-musl-patches-2.tar.xz 5292 BLAKE2B c057d6574d03c05854edaa9f3fd40e9149662b04f3ac7a7db3eb078d73a7b535726d1bf52e5b12736dedb2f9898ad731f2e48a6421fcfbf7b90f929dee072fcb SHA512 a691da0c87c443a5e9d23731f4005f27871c5b12bc9102873ffa24d374aa7b9fbd187c4f5635d23fa9ffb17e351e76173c2d3fdf40646e355c4cb314b538de69 DIST gcc-13.2.0-patches-16.tar.xz 44792 BLAKE2B 0b6b584d68e69685638695596b780249ca0119ad362747a82d886fd10f77ceb05d02e033e906a090c67f44b1977f40df6a95206d81a32dd15e2f5413c6c92496 SHA512 324d9e63d16c35d55edde20de049162c01b0d487b4548d06c49f0da04a761ec255bc5e020cc2e7f60d12f5d129768afdcf7c86a59126f71f388ab375c34be6de DIST gcc-13.2.0-patches-3.tar.xz 30956 BLAKE2B 29ce043b46645640ca1e983397af3e158588ad87575f0bc59451ea4a7dd5e3bb5b190ed031de6a22cd790d423ba111e95d222187dd09985dceb12db9f0a2d907 SHA512 4ffecae7be320124ad0c4e71e39e142b7aa8db0e70b5f486f491d7a33ea31efc6464c6abeea77df02a8bd5cf81f08225d625c8af5c27f9afa32c0d7d989f7a3c DIST gcc-13.2.0.tar.xz 87858592 BLAKE2B 0034b29d3d6cc05821f0c4253ce077805943aff7b370729dd203bda57d89c107edd657eeddc2fb1e69ea15c7b0323b961f46516c7f4af89a3ccf7fea84701be2 SHA512 d99e4826a70db04504467e349e9fbaedaa5870766cda7c5cab50cdebedc4be755ebca5b789e1232a34a20be1a0b60097de9280efe47bdb71c73251e30b0862a2 DIST gcc-13.3.0-patches-1.tar.xz 45084 BLAKE2B 4a4b2db25de2f17115e08b50d67449bb16de3296e78c165e2540beda7f84c28f6f3e909856c8b864b378f5e050ed149a60adc580faaf08351b81f4c460656493 SHA512 20e820a3e61f792d380651bb2e40b9c18ce7085962bd9302488ebdad1fff41d3742aea40d712daa5862276ca16d0081de722bf1191e86dcf065af5084271f632 -DIST gcc-14-20240817.tar.xz 88024252 BLAKE2B 994b3e263246e344c6898943a17feb63f07b3de02777a77c689e001343119bd451e1ed5c6958f368077f10b4778c65fa492c55d164e2a0b1bbd65b275aae3cd1 SHA512 31de06694efeb2be49b64e9e8314a766d36c3d5f5f2d52d1e0419ba69262b7c344ef0700957eff11007ba5b81bd5e74dea2a2c0286990cb33927bac4a7db9756 -DIST gcc-14-20240921.tar.xz 88149220 BLAKE2B d92a5a92f24a6f4ace3d1e321e7c9149e8a25222669998c8de010be596a18cc161f288e78ce358ce44fd29f28e56bc678a7c8c775a66ffb71a57c642a7f5af75 SHA512 6a50a6af4a5e661d636b6a7b13b0fe36a66e3be3e20ce97b62c4e9878c974396b9066dfccc108f0bf7f3b28b19e57535a415528b0f0ede1de13a4007625012db -DIST gcc-14-20240928.tar.xz 88163000 BLAKE2B 1340373a6b0a47ad11d4d09153df432e70a7ae57600db5da32f962790962e252b4b81e74122d8f50a7457a339cae5d713fd75b8ed2637b5c3bf3cf57dbb8573b SHA512 5120b9c42c0f2a44703aac9891bd729f979768689c666f1b208c23604597dd5f0e2062f261a1fe4b69b3dce6ccb3de90a1e3e9af78df6fd543756de507beefa5 -DIST gcc-14-20241005.tar.xz 88173364 BLAKE2B 2aec7ce7aaee879be2ce0758e6eeaf664989e0257f5f0b1b94ef05f455729d9a6f5fb6710f4ac88320d0ecba68d12e0e46a074cb233984fd733d10b952bba6bd SHA512 f7d6302126a20906dab90a0b00d3c8bbec4948aec8024103578bb62f1dcad49d6a44f6b18792d18e32837d4aa764052d08a73bd4df546fa719c28fcdb9024f55 -DIST gcc-14-20241012.tar.xz 88156512 BLAKE2B a5a7bbf8da73fa579f2550be3c9b2ba47509f2719cb7c61404128c52aef03cde7efe8ebe8d631fd1e1970bca1148cc4b434fe20be36281c49d26aed0cfd6726a SHA512 fe51c51f460fea522c8ffdbfe4a4fd66652da1d25b3a40246207a794a6f376bdc7c27622a68fcbad02ad4023646dc53cf2daf6ca97e886b6e988174626cc39f0 -DIST gcc-14-20241019.tar.xz 88165700 BLAKE2B 88dafbb9e6f86cf5e0909d4db3def6126841c0e7917fe59ebf12738d47e00e704a0181cb1f5d6ccbcbbceb5b5932cf02c95027c60a7731bd57a4b86ea4e50fb5 SHA512 2d54423d48b7759be5551f39b697e3f459dc10eebf62a8184dec7c140555be72a49436f2f795e377235ef9bb664e66d1e73fe6f3fa58394cf23bbbaa51c3fdb5 +DIST gcc-14-20241026.tar.xz 88183956 BLAKE2B 9b42070be3235fb78f436f6e4b2b9708f77ebd383906d2c6f6d1eef186351c0b4e53e6d0d631f4432f94c2e09a67f0da1c78bd8a3fb5ae94710a24c7422b8e42 SHA512 18ff215b02e18ea7d49fad5437a7e65166278ea78b35499d4402569c18790d334df9c0b54664460182f74bffa92b7faaa71728956e1d5e1c7be57f8a1045fb7f +DIST gcc-14-20241102.tar.xz 88166448 BLAKE2B 1b56e6cc06d1163ca830d1aad307fce7ba8761a740964ea8b9c5af2a291b1661b1b7f8e7fec7dd4ec226b765063fcb87f82f71e494d0aed0004591c58df2d3c9 SHA512 2e6d3825df5d2e513ef8582876405c1cf4396094fef65c4e2af0a6d59fc6f36a0e960a33a75c549ad111f3174c61302e391c719e32f1803953c0b0d7ae3959d5 +DIST gcc-14-20241109.tar.xz 88149664 BLAKE2B 126e58566d935798f01b173c50949fa92454e57c8edcf3bd5da5871dbb7dba7102d40938be6e47f566bfcfe602274f233baf5aa38b6ad0ba0d6a6a56b272bc46 SHA512 c900157c3729342741d281da28753213c82247bbe957c25e8a185370d787fc2765bebebb998832a820b05f352e3e4de04d36b4a4b49310567147820188c0e91b DIST gcc-14.1.0-musl-patches-1.tar.xz 3600 BLAKE2B 4cd920b7ca1f122cae806707564d8e45bfd48e78c88788a12a301f6068b5a5f335d8885e67479ac536c66aeaa81f2ecb7240ae56e9fc821a7246ab66b453711f SHA512 61c48d90a55dfc2129d96aee69d939d6a89f6407f69f7bd12c1a619f28989f471fd219d731958f8e62b0fd650c32300f0ad8dc06d5df23d9fc8c1a77fe210c25 -DIST gcc-14.2.0-patches-1.tar.xz 13208 BLAKE2B 17247d5b8871d60a33175302b9657c70f161ae49cb1fea0f217c54d3644151c9cae705b6f88e440fc872597447dabe8c12d9f6c40cbc91fb5e161015e614b3ea SHA512 b7a6939894f48bb046e407bac50db15c9301552afa7d300794243dd139837fdb3a293e4d95259247dd3622e01affcc086393ee5422331bb3d796450a72d6d0fa -DIST gcc-15-20240929.tar.xz 89549712 BLAKE2B 90b22ddf10f3c7f36f8a19e3a4436fed73b89f84b3f0c837cc12ba8585da1a2e38fc46801213dd6f8e61b115cf0a9f3952caeae268a9f6814c97f7ad08507358 SHA512 f082b945639db38125019f923856874b7f2a937168853c6339d0d9fbc5f0aa146879f4147b06759653c374c4e063fd02585a0fe942e666bcbb07851a308a652c -DIST gcc-15-20241006.tar.xz 89582908 BLAKE2B d107d960db81e8e92c072ed5a25313b36b9e169575da00bc6bd4a0bfb74741ec162bbee0651db2b4e0d862bc87df0c53f5328863c082a32d29a7b786e93c11ef SHA512 5d220e95db5aff2e5a3c9487ae847e1c57224d9e4bcca3667b0e1f1e722766997348ed121837f099d177456d006adee9392fee3e10127b1b336b17f29aa84211 -DIST gcc-15-20241013.tar.xz 89662068 BLAKE2B 953c44723905b94cc3d2022d31e200e0463c49ebdf052f91f3acf7128a9cd37184e75a367b7af8a563a72585229f2891005fa94ed3197fa986cc436a94cea1b8 SHA512 d8d572c26477919327817404a23d9d8deeb3816018f5a1baeb327cb59ec43ee1a90067158b9e7d5087eeb280853890073fd6449c41e3483237108d038d7a9f26 -DIST gcc-15-20241020.tar.xz 89726776 BLAKE2B cee5a928ab98f3d9873f1a75c2f6b9e5f3818049c85251b91186ed2ea015cc24d72802a71d4c8cfe9f90008450f2cf5bdf90a8afb9ca36417cc1efc798c23f67 SHA512 31f869a6a556437cf0e24e0a51e09c068e4b71d23b552420282e81c628e32b7bad6792f38bb5381bfad54a2e8986aba783dbf77783b967e37b00cda24ba414b6 +DIST gcc-14.2.0-patches-3.tar.xz 13920 BLAKE2B 5b3efa54671581d97ae664e73629f247c776d84eea0b10f8d3223502582f1d1086fff86a6cde6c35b6b43d134af4dad3135d3de5531cfccb320a7fc884ab39ef SHA512 d47549e902055414142f650c7098f029410549741542553b1d0c0519f046a958561f92552e44f59663a7645d42316af5dab1462f54f50f2205257be6744c2fce +DIST gcc-15-20241027.tar.xz 89784028 BLAKE2B 75f48fac50a19443289e36bee119b1535ca842f0300597ad1f6fbccbe2754cb5b4444f263c7fc3a3ca699fa0179606849c1852849c48faf875082a1dc08ee183 SHA512 7248f040a980062167d5d7518bf212a5d9cd78a3f9aec8d4983dc3d2d2735affcac4d1eff5c38081ec10c7119d85ba3f7dd39327225b1de8b7a95a13268c60ee +DIST gcc-15-20241103.tar.xz 89813036 BLAKE2B 4fd6cd5d8d19f6545ebe1a193fc4464eba0d114126db8e282ed92196e71f84eb2974133a2dd93ab78c8d3f2370e52d4646eefc27bd5962c6e242c8776ec06b64 SHA512 cffb953576efe3ee2afaa11bdde403bb038da4ff4114f19bcc931540546a4f2bfa7148f9f6c989b40814393faecb1bfb0cdac475372bb6ef8de3924fed984c74 +DIST gcc-15-20241110.tar.xz 89853956 BLAKE2B 8fab1b5fc2be9d81f6b75329d20e338264dee82e4cd11152dcaadad07e50e52422a644c716bedea5aaf9c8427c1955f259a1d76dcf0dd00d8f4ca81e4b6b631a SHA512 20493ad0c75dedfc3c145f9ba01ad718e89b5b76a7c8b16df9cc624d4a9041a337d3bde6856dc7764cec23919d437e6d77ad40865b5bcd9d6239ca4cc353d530 DIST gcc-15.0.0-musl-patches-2.tar.xz 3076 BLAKE2B 0073248fe4f7dd827980559017b5aa1fb5c4c46acc9ad5c410dc152fd1e44966d3066bf7152338573cb45b1c36027de5f0c519abd414d97a37bccef07f6a5281 SHA512 295f1a669020bbe2874e9b03afd46b5d083073b276fca3543f3767a2d74f35df81cf0a67abad50c200cf7a3af36ec98ff9977cb7d5c19f334af7d3bb1926a3de -DIST gcc-15.0.0-patches-13.tar.xz 16480 BLAKE2B b3d9637972ac3644ba0191cb26aa2c9f624ead14816a6358db81745ef984af9de3c0c1f5576edc3045d877b3907a97566b468734baa2e6b2a351187d3e9ff80e SHA512 da368e83643fe2312655654be2de4824c3b5e7efaafbf2dcf63aafa48580cfe74e5394707c577d82e22336dbadd52414e31a597dc3565d0378f3ead5323b9b3c -DIST gcc-15.0.0-patches-14.tar.xz 14764 BLAKE2B 3da7b4d81ea45ca1254ab9f290ca0c94cacb2d168aa0b3f6b0ef18193f911e204148b1790df9ddf7d1f6955777b3470030e73751fc7d1c0fd23bccfdee10fcbf SHA512 7133b5df5f07307f85a07b05fdc5f8166920aa93b13c1465812be572c7185b7fcf174cc36ddb2bc9fd2323dd010db9a42d35df9871f185794cd22bff57c43eb9 -DIST gcc-15.0.0-patches-15.tar.xz 13116 BLAKE2B ec558b7ddf5907f63c4cde12a5a2b2d563d4db127b6da55682d066db12c5556ab2e70ef62cf019f20479cfd3d6c76a0f7da17dd5e729506b1abc0fad55ed82c4 SHA512 9fcf9f3e5f9d070061b9c636147f8b43fc8254314b51dce52a7a59d525309160da9fc950b64cac04644027a2b66b675bcc741c5883ade2d630cf2d4286b35d5b -DIST gcc-15.0.0-patches-16.tar.xz 16392 BLAKE2B 1f97157c41a56fb0458711bdf9963ad2cc52373e2f8f2bf35eb1ecfd915aef92384ca4a5d2f7b35bfb51b76f372c4f94dbddb9271ce56ed66a288586b0d09563 SHA512 cf2e0929dd6595d7619f12289b2d50571bcc84bf1051fe9d7c57c18a2e2c076644c673758e258411c6542e53519fdf4bcb2112be98cb44e4c4806355a147f9ed -DIST gcc-15.0.0-patches-17.tar.xz 19144 BLAKE2B b66b93a4de5013870941a76bb271dc773f87c7929d50cdf30517dae59bea52be6640d4ebccfb9aa686c5993ec1bd9d1c1f913b85b0b651fc8fa79cdd5d10a58f SHA512 538442ec20f030bf1332dbda2943d408cd3febe2f8860caad73a0910ee39621e30263b3ece22dcd5e71a7e74b439380c80dc4c0bad27d874463666d20dc6ae5b +DIST gcc-15.0.0-patches-21.tar.xz 16832 BLAKE2B 75a781cf9c7d9b2087d598d751fc1d2e4322b801c1864bb03c68c0a419f65051224febedd608473dec5ca76e2cdaf4ba3d3f1bd86eb13a71ceedb61983ecb208 SHA512 2ffac32494c455d969a7bafcdd8f68fb9d1905fdb4a6f966160f8ad89680d57d07361326739828c57b3e7c89138f74616f47522611982bc902466a14b08f0859 +DIST gcc-15.0.0-patches-22.tar.xz 17816 BLAKE2B efe3d36f750bff485886d8ff739e2a3c422c2e00710ef1d20ef78d392637ca0c82dba762db131ba41450fbacc09033b6746d99e8ca12643cf606f6c35bd371a3 SHA512 6fa7647c442755a9b4702ccdd7a6118478998936996a34400c2746f624e2d2dd6e32f23b86a751cdb8d1b2510f31cc5783429dd647ac60697545295337161ec3 DIST gcc-8.5.0-patches-4.tar.xz 18616 BLAKE2B 7594cbaea5daecf1a0b3d526c06aeba0a84c6da66aee2e105a51fda6be8d30a37ccc3814281b284a4582d892a1d556bca063551584edfc2525bed8ea5b6888e7 SHA512 1aa5742c361186637e7855f06feb1a4547e7d4d5de6e51f3d049e0ef3c19e2eff179465f52781739f59422035b7f8e4c0efa3844849f920f3c96acfdc37ca6a6 DIST gcc-8.5.0.tar.xz 63841008 BLAKE2B aa81a1a730fd7371360f6abed6ba78b5843fd18c58d5de5687acc320741b9e430e85df3535a1ef7a26051409be8d2f0945f503e5968480d919103123a99d4b12 SHA512 92f599680e6b7fbce88bcdda810f468777d541e5fddfbb287f7977d51093de2a5178bd0e6a08dfe37090ea10a0508a43ccd00220041abbbec33f1179bfc174d8 DIST gcc-9.5.0-patches-2.tar.xz 14324 BLAKE2B 1d3bf3e673108ad2fcdcb86daefb4603d1c9f6aa815e34d1591054d466b76d6f50cce124ab4760528c4951ea16eb00888a3e6485417f81ebf250548732df4a8e SHA512 a6d6f650aaf0bd193a17ac279649f0544a282cea295824384c59341c3000eac4b574b60e00dd427585d928f9768166abf85168b47772132790ad98854acacbbf diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20240926.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20240926.ebuild deleted file mode 100644 index 5845745860b..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20240926.ebuild +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -TOOLCHAIN_PATCH_DEV="sam" -TOOLCHAIN_HAS_TESTS=1 -PATCH_GCC_VER="12.4.0" -PATCH_VER="1" -MUSL_VER="1" -MUSL_GCC_VER="12.4.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 ~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-12.4.1_p20241003.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20241003.ebuild deleted file mode 100644 index 5845745860b..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20241003.ebuild +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -TOOLCHAIN_PATCH_DEV="sam" -TOOLCHAIN_HAS_TESTS=1 -PATCH_GCC_VER="12.4.0" -PATCH_VER="1" -MUSL_VER="1" -MUSL_GCC_VER="12.4.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 ~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-12.4.1_p20240919.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20241031.ebuild similarity index 94% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20240919.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20241031.ebuild index 5d493e9223c..e3066d71350 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20240919.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20241031.ebuild @@ -39,7 +39,7 @@ if tc_is_live ; then 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 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" :; fi diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20241010.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20241107.ebuild similarity index 94% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20241010.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20241107.ebuild index 5845745860b..ca287572883 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20241010.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20241107.ebuild @@ -39,7 +39,7 @@ if tc_is_live ; then 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 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + #KEYWORDS="~alpha amd64 arm arm64 hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" :; fi diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20241011.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20241011.ebuild deleted file mode 100644 index 6bff7d38217..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20241011.ebuild +++ /dev/null @@ -1,66 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -TOOLCHAIN_PATCH_DEV="sam" -TOOLCHAIN_HAS_TESTS=1 -PATCH_GCC_VER="13.3.0" -MUSL_GCC_VER="13.2.0" -PATCH_VER="1" -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 ~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-13.3.1_p20241018.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20241018.ebuild deleted file mode 100644 index 6bff7d38217..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20241018.ebuild +++ /dev/null @@ -1,66 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -TOOLCHAIN_PATCH_DEV="sam" -TOOLCHAIN_HAS_TESTS=1 -PATCH_GCC_VER="13.3.0" -MUSL_GCC_VER="13.2.0" -PATCH_VER="1" -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 ~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-13.3.1_p20240920.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20241025.ebuild similarity index 94% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20240920.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20241025.ebuild index de6b5b831fa..98f9b64a624 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20240920.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20241025.ebuild @@ -39,7 +39,7 @@ if tc_is_live ; then 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 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" :; fi diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20240927.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20241101.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20240927.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20241101.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20241004.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20241108.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20241004.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20241108.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20240817.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20240817.ebuild deleted file mode 100644 index 265a890763e..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20240817.ebuild +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -TOOLCHAIN_PATCH_DEV="sam" -TOOLCHAIN_HAS_TESTS=1 -PATCH_GCC_VER="14.2.0" -PATCH_VER="1" -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 ~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_p20240928.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20240928.ebuild deleted file mode 100644 index 5c623e22f08..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20240928.ebuild +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -TOOLCHAIN_PATCH_DEV="sam" -TOOLCHAIN_HAS_TESTS=1 -PATCH_GCC_VER="14.2.0" -PATCH_VER="1" -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 ~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_p20241019.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241019.ebuild deleted file mode 100644 index 5c623e22f08..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241019.ebuild +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -TOOLCHAIN_PATCH_DEV="sam" -TOOLCHAIN_HAS_TESTS=1 -PATCH_GCC_VER="14.2.0" -PATCH_VER="1" -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 ~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_p20240921.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241026.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20240921.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241026.ebuild index 265a890763e..ff72d2e6564 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20240921.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241026.ebuild @@ -6,7 +6,7 @@ EAPI=8 TOOLCHAIN_PATCH_DEV="sam" TOOLCHAIN_HAS_TESTS=1 PATCH_GCC_VER="14.2.0" -PATCH_VER="1" +PATCH_VER="3" MUSL_VER="1" MUSL_GCC_VER="14.1.0" PYTHON_COMPAT=( python3_{10..12} ) diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241005.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241102.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241005.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241102.ebuild index 5c623e22f08..98edff84af5 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241005.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241102.ebuild @@ -6,7 +6,7 @@ EAPI=8 TOOLCHAIN_PATCH_DEV="sam" TOOLCHAIN_HAS_TESTS=1 PATCH_GCC_VER="14.2.0" -PATCH_VER="1" +PATCH_VER="3" MUSL_VER="1" MUSL_GCC_VER="14.1.0" PYTHON_COMPAT=( python3_{10..12} ) diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241012.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241109.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241012.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241109.ebuild index 5c623e22f08..98edff84af5 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241012.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241109.ebuild @@ -6,7 +6,7 @@ EAPI=8 TOOLCHAIN_PATCH_DEV="sam" TOOLCHAIN_HAS_TESTS=1 PATCH_GCC_VER="14.2.0" -PATCH_VER="1" +PATCH_VER="3" MUSL_VER="1" MUSL_GCC_VER="14.1.0" PYTHON_COMPAT=( python3_{10..12} ) diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241013-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241013-r1.ebuild deleted file mode 100644 index ddf22efadde..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241013-r1.ebuild +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -TOOLCHAIN_PATCH_DEV="sam" -TOOLCHAIN_HAS_TESTS=1 -PATCH_GCC_VER="15.0.0" -PATCH_VER="16" -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 ~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_pre20241013.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241013.ebuild deleted file mode 100644 index 9df1dbf6b88..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241013.ebuild +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -TOOLCHAIN_PATCH_DEV="sam" -TOOLCHAIN_HAS_TESTS=1 -PATCH_GCC_VER="15.0.0" -PATCH_VER="15" -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 ~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_pre20241020.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241020.ebuild deleted file mode 100644 index 4f0e631b161..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241020.ebuild +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -TOOLCHAIN_PATCH_DEV="sam" -TOOLCHAIN_HAS_TESTS=1 -PATCH_GCC_VER="15.0.0" -PATCH_VER="17" -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 ~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_pre20240929-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241027.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240929-r1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241027.ebuild index fe87c4b3471..a81ef8a63c0 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240929-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241027.ebuild @@ -6,7 +6,7 @@ EAPI=8 TOOLCHAIN_PATCH_DEV="sam" TOOLCHAIN_HAS_TESTS=1 PATCH_GCC_VER="15.0.0" -PATCH_VER="14" +PATCH_VER="21" MUSL_VER="2" MUSL_GCC_VER="15.0.0" PYTHON_COMPAT=( python3_{10..12} ) diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241006.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241103.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241006.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241103.ebuild index 9df1dbf6b88..a81ef8a63c0 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241006.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241103.ebuild @@ -6,7 +6,7 @@ EAPI=8 TOOLCHAIN_PATCH_DEV="sam" TOOLCHAIN_HAS_TESTS=1 PATCH_GCC_VER="15.0.0" -PATCH_VER="15" +PATCH_VER="21" MUSL_VER="2" MUSL_GCC_VER="15.0.0" PYTHON_COMPAT=( python3_{10..12} ) diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240929.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241110.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240929.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241110.ebuild index 32c163ef2dd..784fbf09176 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20240929.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20241110.ebuild @@ -6,7 +6,7 @@ EAPI=8 TOOLCHAIN_PATCH_DEV="sam" TOOLCHAIN_HAS_TESTS=1 PATCH_GCC_VER="15.0.0" -PATCH_VER="13" +PATCH_VER="22" MUSL_VER="2" MUSL_GCC_VER="15.0.0" PYTHON_COMPAT=( python3_{10..12} ) diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-8.5.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-8.5.0-r2.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-8.5.0-r1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-8.5.0-r2.ebuild index c1ae8df4017..bb2c7eb73ab 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-8.5.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-8.5.0-r2.ebuild @@ -1,7 +1,7 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="7" +EAPI="8" TOOLCHAIN_PATCH_SUFFIX="xz" TOOLCHAIN_PATCH_DEV="sam" diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/patch/Manifest b/sdk_container/src/third_party/portage-stable/sys-devel/patch/Manifest index 612a9aae3b5..8da8b1d590a 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/patch/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-devel/patch/Manifest @@ -1,2 +1,4 @@ DIST patch-2.7.6.tar.xz 783756 BLAKE2B e3dd2d155a94c39cb60eafc26677e84de14c3a6d5814dff69de091ded52f21862490970254297795f2c42a0c3203f7e88a8f65bb66968f8dfd6e066bf53f2dfb SHA512 fcca87bdb67a88685a8a25597f9e015f5e60197b9a269fa350ae35a7991ed8da553939b4bbc7f7d3cfd863c67142af403b04165633acbce4339056a905e87fbd DIST patch-2.7.6.tar.xz.sig 801 BLAKE2B 8f2decb10402ecf0208d05ea7cce3bae565d31ee2bb2a118367c117d25b158d8bd525cae654ec0c0e2c036cc8f47a331edc1bb10b100683ade64dfa3b651988b SHA512 1302a1110dcda4f3d83b5263415d72be55c46dae0efb1c123e9c346154e09def5657004bbe7249e2d014555349410e7a5217140dd8852331235f75bcc757351b +DIST patch-2.7.6_p20241103.tar.xz 903028 BLAKE2B 874f390bd9a3ed2c5da59c41c708bf41d9bf3bcfe799a0647c7382013793a29ec331df82510424ff2fd9b280e0594822d08eae1074af774d57f625214edc3578 SHA512 29db065dd17e25aa562acb1d7ba6be780eed59c2cc9b74e76b5d5b2dac1768e25e8a28acde0907825f6d863a7e14ede33537c89361624e3dcfbb6c0fa6fb0cf2 +DIST patch-2.7.6_p20241103.tar.xz.sig 833 BLAKE2B 3a065dd0c8f83a0287f091536fa89a9914272ae49bdd2b67f91173365789275427e52f20bfcff50c65194a97e96cd07201781d1d13eb84f0adc2d52d741d8598 SHA512 4ee1151deced3dab999794913a2bfc54096cf42a9c0757b192b7fad71ecd6ec28f4f1451818262f154240e909654253d20b41a555230d260c9c4d29f36dd54ba diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-2.7.6_p20241103.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-2.7.6_p20241103.ebuild new file mode 100644 index 00000000000..05897044bef --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-2.7.6_p20241103.ebuild @@ -0,0 +1,76 @@ +# 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/patch.asc +inherit flag-o-matic verify-sig + +DESCRIPTION="Utility to apply diffs to files" +HOMEPAGE="https://www.gnu.org/software/patch/patch.html" +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://git.savannah.gnu.org/git/patch.git" + inherit git-r3 +elif [[ ${PV} = *_p* ]] ; then + # Note: could put this in devspace, but if it's gone, we don't want + # it in tree anyway. It's just for testing. + MY_SNAPSHOT="$(ver_cut 1-3).200-be8b" + SRC_URI="https://meyering.net/patch/patch-${MY_SNAPSHOT}.tar.xz -> ${P}.tar.xz" + SRC_URI+=" verify-sig? ( https://meyering.net/patch/patch-${MY_SNAPSHOT}.tar.xz.sig -> ${P}.tar.xz.sig )" + S="${WORKDIR}"/${PN}-${MY_SNAPSHOT} +else + SRC_URI="mirror://gnu/patch/${P}.tar.xz" + SRC_URI+=" verify-sig? ( mirror://gnu/patch/${P}.tar.xz.sig )" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +fi + +LICENSE="GPL-3+" +SLOT="0" +IUSE="static test xattr" +RESTRICT="!test? ( test )" + +RDEPEND="xattr? ( sys-apps/attr )" +DEPEND="${RDEPEND}" +BDEPEND=" + test? ( sys-apps/ed ) + verify-sig? ( sec-keys/openpgp-keys-patch ) +" + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + + cd "${S}" || die + ./bootstrap || die + elif use verify-sig ; then + verify-sig_verify_detached "${DISTDIR}"/${P}.tar.xz{,.sig} + fi + + default +} + +src_configure() { + use static && append-ldflags -static + + local myeconfargs=( + $(use_enable xattr) + # rename to gpatch for better BSD compatibility + --program-prefix=g + ) + # Do not let $ED mess up the search for `ed` 470210. + ac_cv_path_ED=$(type -P ed) \ + econf "${myeconfargs[@]}" +} + +src_test() { + emake check gl_public_submodule_commit= +} + +src_install() { + default + + # symlink to the standard name + dosym gpatch /usr/bin/patch + dosym gpatch.1 /usr/share/man/man1/patch.1 +} diff --git a/sdk_container/src/third_party/portage-stable/sys-firmware/ipxe/ipxe-1.21.1_p20230601-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-firmware/ipxe/ipxe-1.21.1_p20230601-r1.ebuild new file mode 100644 index 00000000000..188167274da --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-firmware/ipxe/ipxe-1.21.1_p20230601-r1.ebuild @@ -0,0 +1,138 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit savedconfig secureboot toolchain-funcs + +# for 1.21.1_p20230601 +COMMIT_SHA1="4fa4052c7ebb59e4d4aa396f1563c89118623ec7" + +DESCRIPTION="Open source network boot (PXE) firmware" +HOMEPAGE="https://ipxe.org/" +SRC_URI=" + !binary? ( https://github.com/${PN}/${PN}/archive/${COMMIT_SHA1}.tar.gz -> ${P}.gh.tar.gz ) + binary? ( https://dev.gentoo.org/~tamiko/distfiles/${P}-bin.tar.xz )" +S="${WORKDIR}/${PN}-${COMMIT_SHA1}/src" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~x86" +IUSE="+binary uefi32 uefi64 ipv6 iso lkrn +qemu undi usb vmware" +REQUIRED_USE="!amd64? ( !x86? ( binary ) )" + +SOURCE_DEPEND=" + app-arch/xz-utils + dev-lang/perl + iso? ( + app-cdr/cdrtools + sys-boot/syslinux + )" +BDEPEND=" + !binary? ( + amd64? ( ${SOURCE_DEPEND} ) + x86? ( ${SOURCE_DEPEND} ) + )" + +pkg_setup() { + if use uefi32 || use uefi64; then + secureboot_pkg_setup + fi +} + +src_configure() { + use binary && return + + cat > config/local/general.h <<-EOF || die + #undef BANNER_TIMEOUT + #define BANNER_TIMEOUT 0 + EOF + + if use ipv6; then + cat >> config/local/general.h <<-EOF || die + #define NET_PROTO_IPV6 + EOF + fi + + if use vmware; then + cat >> config/local/general.h <<-EOF || die + #define VMWARE_SETTINGS + #define CONSOLE_VMWARE + EOF + fi + + restore_config config/local/general.h + + tc-ld-disable-gold +} + +ipxemake() { + # Q='' makes the build verbose since that's what everyone loves now + emake Q='' \ + VERSION="${PV}" \ + CC="$(tc-getCC)" \ + LD="$(tc-getLD)" \ + AS="$(tc-getAS)" \ + AR="$(tc-getAR)" \ + NM="$(tc-getNM)" \ + OBJCOPY="$(tc-getOBJCOPY)" \ + RANLIB="$(tc-getRANLIB)" \ + OBJDUMP="$(tc-getOBJDUMP)" \ + HOST_CC="$(tc-getBUILD_CC)" \ + "$@" +} + +src_compile() { + use binary && return + + export NO_WERROR=1 + if use qemu; then + ipxemake bin/808610de.rom # pxe-e1000.rom (old) + ipxemake bin/8086100e.rom # pxe-e1000.rom + ipxemake bin/80861209.rom # pxe-eepro100.rom + ipxemake bin/10500940.rom # pxe-ne2k_pci.rom + ipxemake bin/10222000.rom # pxe-pcnet.rom + ipxemake bin/10ec8139.rom # pxe-rtl8139.rom + ipxemake bin/1af41000.rom # pxe-virtio.rom + fi + + if use vmware; then + ipxemake bin/8086100f.mrom # e1000 + ipxemake bin/808610d3.mrom # e1000e + ipxemake bin/10222000.mrom # vlance + ipxemake bin/15ad07b0.rom # vmxnet3 + fi + + use uefi32 && ipxemake PLATFORM=efi BIN=bin-i386-efi bin-i386-efi/ipxe.efi + use uefi64 && ipxemake PLATFORM=efi BIN=bin-x86_64-efi bin-x86_64-efi/ipxe.efi + use iso && ipxemake bin/ipxe.iso + use undi && ipxemake bin/undionly.kpxe + use usb && ipxemake bin/ipxe.usb + use lkrn && ipxemake bin/ipxe.lkrn +} + +src_install() { + insinto /usr/share/ipxe/ + + if use qemu || use vmware; then + doins bin/*.rom + fi + use vmware && doins bin/*.mrom + use uefi32 && newins bin-i386-efi/ipxe.efi ipxe-i386.efi + use uefi64 && newins bin-x86_64-efi/ipxe.efi ipxe-x86_64.efi + # Add a symlink for backwards compatiblity, in case both variants are + # enabled the x86_64 bit variant takes presedence. + use uefi32 && dosym ipxe-i386.efi /usr/share/ipxe/ipxe.efi + use uefi64 && dosym ipxe-x86_64.efi /usr/share/ipxe/ipxe.efi + + use iso && doins bin/*.iso + use undi && doins bin/*.kpxe + use usb && doins bin/*.usb + use lkrn && doins bin/*.lkrn + + if use uefi32 || use uefi64; then + secureboot_auto_sign --in-place + fi + + save_config config/local/general.h +} diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/Manifest b/sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/Manifest index 4be7fb5a794..8a61ea0267a 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/Manifest @@ -1,2 +1 @@ -DIST multipath-tools-0.9.7.tar.gz 570416 BLAKE2B ed3f47d648685f691a69d83ad36f39b279f3a5b1cf1cb15151841ea26d629df3a33ab9a186bbf6922264805cc3bc37d09f22e611215f1972e33b26e08ff71bc2 SHA512 0f4c97179a3de5a0c77893fec229eb183293fed8e5e01a9945b261845ccf5d13f8ef2c2ff0c17c9345217d236275caed4765422ec95aed80821f11658bf96e26 DIST multipath-tools-0.9.8.tar.gz 580531 BLAKE2B 66bc6b78795c08b4fe5f4bc718330be51b073dddb597998f384ccaf746c0b9e53e21d674623df03ed7f9ccd9800fe988add8068e0eaaeace076c00395453ba0a SHA512 4d73bcf6bce769a829c306c609b206ddba65a708620f458106e406dd18d12f9a9d97f400662daa8e6a75c9fdf7decb6dcbda92cb807b6c53522c7b4b2795b627 diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/files/multipath-tools-0.9.7-null-pointer-dereference-in-uev_update_path.patch b/sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/files/multipath-tools-0.9.7-null-pointer-dereference-in-uev_update_path.patch deleted file mode 100644 index 0210563bd7c..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/files/multipath-tools-0.9.7-null-pointer-dereference-in-uev_update_path.patch +++ /dev/null @@ -1,28 +0,0 @@ -From fc8b102c666d7fbad9242dea43a64941399a1c0d Mon Sep 17 00:00:00 2001 -From: Benjamin Marzinski -Date: Tue, 16 Jan 2024 20:19:11 -0500 -Subject: [PATCH] multipathd: fix null pointer dereference in uev_update_path - -The Auto-resize code added a check that deferences pp->mpp without -checking that it's non-NULL. Fix it. - -Fixes: 981b83ad1 ("multipathd: Add auto_resize config option") -Signed-off-by: Benjamin Marzinski -Reviewed-by: Martin Wilck ---- - multipathd/main.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/multipathd/main.c b/multipathd/main.c -index 74f6cd92..fbc3f8da 100644 ---- a/multipathd/main.c -+++ b/multipathd/main.c -@@ -1630,7 +1630,7 @@ uev_update_path (struct uevent *uev, struct vectors * vecs) - } - } - } -- if (auto_resize != AUTO_RESIZE_NEVER && -+ if (auto_resize != AUTO_RESIZE_NEVER && mpp && - !mpp->wait_for_udev) { - struct pathgroup *pgp; - struct path *pp2; diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/multipath-tools-0.9.7-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/multipath-tools-0.9.7-r1.ebuild deleted file mode 100644 index fce73a60728..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/multipath-tools-0.9.7-r1.ebuild +++ /dev/null @@ -1,106 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit flag-o-matic linux-info systemd tmpfiles toolchain-funcs udev - -DESCRIPTION="Device mapper target autoconfig" -HOMEPAGE="http://christophe.varoqui.free.fr/" -SRC_URI="https://github.com/opensvc/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha amd64 ~arm arm64 ~loong ppc ppc64 ~riscv x86" -IUSE="systemd test" -RESTRICT="!test? ( test )" - -RDEPEND=" - dev-libs/json-c:= - dev-libs/libaio - dev-libs/userspace-rcu:= - >=sys-fs/lvm2-2.02.45 - sys-libs/readline:= - >=virtual/libudev-232-r3 - systemd? ( sys-apps/systemd ) -" -DEPEND=" - ${RDEPEND} - test? ( dev-util/cmocka ) -" -BDEPEND="virtual/pkgconfig" - -CONFIG_CHECK="~DM_MULTIPATH" - -PATCHES=( - "${FILESDIR}"/${PN}-0.9.7-remove-Werror.patch - "${FILESDIR}"/${P}-null-pointer-dereference-in-uev_update_path.patch -) - -myemake() { - local myemakeargs=( - prefix="${EPREFIX}" - usr_prefix="${EPREFIX}/usr" - LIB="$(get_libdir)" - RUN=run - plugindir="${EPREFIX}/$(get_libdir)/multipath" - unitdir="$(systemd_get_systemunitdir)" - libudevdir="${EPREFIX}$(get_udevdir)" - GENTOO_CFLAGS="${CFLAGS}" - GENTOO_CPPFLAGS="${CPPFLAGS}" - FORTIFY_OPT= - OPTFLAGS= - FAKEVAR=1 - V=1 - ) - - emake "${myemakeargs[@]}" "$@" -} - -src_prepare() { - default - - sed -r -i -e '/^(CPPFLAGS|CFLAGS)\>/s,^(CPPFLAGS|CFLAGS)\>[[:space:]]+:=,\1 := $(GENTOO_\1),' \ - "${S}"/Makefile.inc || die -} - -src_compile() { - tc-export CC - # Breaks with always_inline - filter-flags -fno-semantic-interposition - # Breaks because of use of wrapping (-Wl,-wrap, wrap_*) - # https://github.com/opensvc/multipath-tools/issues/18 - filter-lto - myemake -} - -src_test() { - myemake test -} - -src_install() { - dodir /sbin - - myemake DESTDIR="${ED}" install - - einstalldocs - - newinitd "${FILESDIR}"/multipathd-r1.rc multipathd - newinitd "${FILESDIR}"/multipath.rc multipath - - find "${ED}" -type f -name '*.la' -delete || die -} - -pkg_postinst() { - tmpfiles_process /usr/lib/tmpfiles.d/multipath.conf - udev_reload - - if [[ -z ${REPLACING_VERSIONS} ]] ; then - elog "If you need multipath on your system, you must" - elog "add 'multipath' into your boot runlevel!" - fi -} - -pkg_postrm() { - udev_reload -} diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/multipath-tools-0.9.7.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/multipath-tools-0.9.7.ebuild deleted file mode 100644 index e85965ca2f8..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/multipath-tools-0.9.7.ebuild +++ /dev/null @@ -1,105 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit flag-o-matic linux-info systemd tmpfiles toolchain-funcs udev - -DESCRIPTION="Device mapper target autoconfig" -HOMEPAGE="http://christophe.varoqui.free.fr/" -SRC_URI="https://github.com/opensvc/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha amd64 ~arm arm64 ~loong ppc ppc64 ~riscv x86" -IUSE="systemd test" -RESTRICT="!test? ( test )" - -RDEPEND=" - dev-libs/json-c:= - dev-libs/libaio - dev-libs/userspace-rcu:= - >=sys-fs/lvm2-2.02.45 - sys-libs/readline:= - >=virtual/libudev-232-r3 - systemd? ( sys-apps/systemd ) -" -DEPEND=" - ${RDEPEND} - test? ( dev-util/cmocka ) -" -BDEPEND="virtual/pkgconfig" - -CONFIG_CHECK="~DM_MULTIPATH" - -PATCHES=( - "${FILESDIR}"/${PN}-0.9.7-remove-Werror.patch -) - -myemake() { - local myemakeargs=( - prefix="${EPREFIX}" - usr_prefix="${EPREFIX}/usr" - LIB="$(get_libdir)" - RUN=run - plugindir="${EPREFIX}/$(get_libdir)/multipath" - unitdir="$(systemd_get_systemunitdir)" - libudevdir="${EPREFIX}$(get_udevdir)" - GENTOO_CFLAGS="${CFLAGS}" - GENTOO_CPPFLAGS="${CPPFLAGS}" - FORTIFY_OPT= - OPTFLAGS= - FAKEVAR=1 - V=1 - ) - - emake "${myemakeargs[@]}" "$@" -} - -src_prepare() { - default - - sed -r -i -e '/^(CPPFLAGS|CFLAGS)\>/s,^(CPPFLAGS|CFLAGS)\>[[:space:]]+:=,\1 := $(GENTOO_\1),' \ - "${S}"/Makefile.inc || die -} - -src_compile() { - tc-export CC - # Breaks with always_inline - filter-flags -fno-semantic-interposition - # Breaks because of use of wrapping (-Wl,-wrap, wrap_*) - # https://github.com/opensvc/multipath-tools/issues/18 - filter-lto - myemake -} - -src_test() { - myemake test -} - -src_install() { - dodir /sbin - - myemake DESTDIR="${ED}" install - - einstalldocs - - newinitd "${FILESDIR}"/multipathd-r1.rc multipathd - newinitd "${FILESDIR}"/multipath.rc multipath - - find "${ED}" -type f -name '*.la' -delete || die -} - -pkg_postinst() { - tmpfiles_process /usr/lib/tmpfiles.d/multipath.conf - udev_reload - - if [[ -z ${REPLACING_VERSIONS} ]] ; then - elog "If you need multipath on your system, you must" - elog "add 'multipath' into your boot runlevel!" - fi -} - -pkg_postrm() { - udev_reload -} diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/quota/quota-4.09.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/quota/quota-4.09.ebuild deleted file mode 100644 index 2dc0e69a0ec..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-fs/quota/quota-4.09.ebuild +++ /dev/null @@ -1,85 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools - -DESCRIPTION="Linux quota tools" -HOMEPAGE="https://sourceforge.net/projects/linuxquota/" -SRC_URI="https://downloads.sourceforge.net/linuxquota/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv sparc x86" -IUSE="ldap netlink nls rpc selinux tcpd" - -RDEPEND=" - sys-fs/e2fsprogs - ldap? ( >=net-nds/openldap-2.3.35:= ) - netlink? ( - sys-apps/dbus - dev-libs/libnl:3 - ) - rpc? ( - elibc_glibc? ( sys-libs/glibc[-rpc(-)] ) - net-libs/libtirpc:= - net-libs/rpcsvc-proto - ) - tcpd? ( sys-apps/tcp-wrappers ) -" -DEPEND="${RDEPEND}" -BDEPEND="nls? ( sys-devel/gettext )" -PDEPEND="rpc? ( net-nds/rpcbind )" -RDEPEND+=" selinux? ( sec-policy/selinux-quota )" - -PATCHES=( - "${FILESDIR}"/${PN}-4.09-configure-bashism.patch - "${FILESDIR}"/${PN}-4.09-gettext-version.patch -) - -src_prepare() { - default - - # Only needed for bashism patch and stale macros patch - eautoreconf -} - -src_configure() { - local myeconfargs=( - --enable-ext2direct - $(use_enable nls) - $(use_enable ldap ldapmail) - $(use_enable netlink) - $(use_enable rpc) - $(use_enable rpc rpcsetquota) - ) - - econf "${myeconfargs[@]}" -} - -src_install() { - emake DESTDIR="${D}" install - dodoc doc/* README.* Changelog - - insinto /etc - insopts -m0644 - doins warnquota.conf quotatab - - newinitd "${FILESDIR}"/quota.rc7 quota - newconfd "${FILESDIR}"/quota.confd quota - - if use rpc ; then - newinitd "${FILESDIR}"/rpc.rquotad.initd rpc.rquotad - fi - - if use ldap ; then - insinto /etc/openldap/schema - insopts -m0644 - doins "${FILESDIR}"/ldap-scripts/quota.schema - - exeinto /usr/share/quota/ldap-scripts - doexe "${FILESDIR}"/ldap-scripts/*.pl - doexe "${FILESDIR}"/ldap-scripts/edquota_editor - fi -} diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.3.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.3.2.ebuild index e768bb9ae94..9342b6bd684 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.3.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.3.2.ebuild @@ -10,7 +10,7 @@ if [[ ${PV} = 9999* ]]; then EGIT_REPO_URI="https://github.com/AgentD/${PN}.git" else inherit libtool - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" SRC_URI="https://infraroot.at/pub/squashfs/${P}.tar.xz" fi diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/Manifest b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/Manifest index 75738786437..39c772ded7d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/Manifest @@ -1,4 +1,5 @@ DIST xfsprogs-6.10.0.tar.xz 1449872 BLAKE2B dc02fb14cd07e20d618070358700003a0990125ce3d8b15fa0248c6d494a89bbfb51c267583fc863edeee0d84069c7016f7992e750faa357618cd0d7f5748d2e SHA512 ec80eedfd3471c836e99eb8507c0de2895f261d36316145b02f2effbcc1bb5a52eae3ad2148d45bc49f1a30e0267aa4e3f3176a5e01ec84b2da24b3fb430ffce DIST xfsprogs-6.10.1.tar.xz 1449932 BLAKE2B e9ed15b2d4a9026e0079adfb38578721e13498290a5d9590edae1fd41c9ee0338f9b823568677394952709d82bdc8ade36905a2266ffe64803901adbadfa5643 SHA512 b9fd7b7eaf038772ee4a9602bf38f714db7077731ec8904e0959d28b0103d443be8ae67720869012b90737c1ff440fbce44b3b23b662939c9a90c6d3be3fab08 +DIST xfsprogs-6.11.0.tar.xz 1457084 BLAKE2B 846b25ad36477d71f8f2091ad16699356416f09befbb4250335081d2a8fd78011e9100fbabfb727acdb65520a38c912d9bb9e33b17c222c97de88fd00ab004a9 SHA512 209b479e510e5d5c558430b523bebd90f34b2effeac46f783aad4ec45a9f39998ca1efc67155c54c22e778859968f4b275b0ca6f225603f17ae4cc5c7596a4ca DIST xfsprogs-6.8.0.tar.xz 1367196 BLAKE2B 8c296698da1170bb7ff369c2bf5f156e812ddf43ee817369029ad951d6c1e18c20d093db385b9a523f6cb7ba3e01f8924eb3540b71efa4bec8bf3defe2418562 SHA512 f5b5c6d8da70cc0f3361b3420982aabfabb0bc54b9eb60b93a9aaeedb33a9ecede4061d5c1300b96d7aba7d44a4207672c4a33e115bf0f5c711a151f3fc65e0d DIST xfsprogs-6.9.0.tar.xz 1383116 BLAKE2B d952603716cc4022a935c426630b0b7838573476a730c6832f36ef0274a640e64667d3e3a2dd9fd2c5f2c12cdb348fd93abfef5c49e5c5fe2d5a83945dfc7894 SHA512 c597453759c400690810971f0b2daf0e4e22c74270b0f9800e2235da5e5c1383b59bc1176c5bba0023f74b623020fb51c62f0e98a74885cf3a8336e0b81c9023 diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.11.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.11.0.ebuild new file mode 100644 index 00000000000..ce66faf7bc7 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.11.0.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic systemd udev + +DESCRIPTION="XFS filesystem utilities" +HOMEPAGE="https://xfs.wiki.kernel.org/ https://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git/" +SRC_URI="https://www.kernel.org/pub/linux/utils/fs/xfs/${PN}/${P}.tar.xz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="icu libedit nls selinux static-libs" + +RDEPEND=" + dev-libs/inih + dev-libs/userspace-rcu:= + >=sys-apps/util-linux-2.17.2 + icu? ( dev-libs/icu:= ) + libedit? ( dev-libs/libedit ) +" +DEPEND="${RDEPEND}" +BDEPEND="nls? ( sys-devel/gettext )" +RDEPEND+=" selinux? ( sec-policy/selinux-xfs )" + +src_prepare() { + default + + # Fix doc dir + sed -i \ + -e "/^PKG_DOC_DIR/s:@pkg_name@:${PF}:" \ + include/builddefs.in || die + + # Don't install compressed docs + sed 's@\(CHANGES\)\.gz[[:space:]]@\1 @' -i doc/Makefile || die +} + +src_configure() { + # include/builddefs.in will add FCFLAGS to CFLAGS which will + # unnecessarily clutter CFLAGS (and fortran isn't used) + unset FCFLAGS + + # If set in user env, this breaks configure + unset PLATFORM + + export DEBUG=-DNDEBUG + + # Package is honoring CFLAGS; No need to use OPTIMIZER anymore. + # However, we have to provide an empty value to avoid default + # flags. + export OPTIMIZER=" " + + # Avoid automagic on libdevmapper (bug #709694) + export ac_cv_search_dm_task_create=no + + # bug 903611 + use elibc_musl && append-flags -D_LARGEFILE64_SOURCE + + # Build fails with -O3 (bug #712698) + replace-flags -O3 -O2 + + # Upstream does NOT support --disable-static anymore, + # https://www.spinics.net/lists/linux-xfs/msg30185.html + # https://www.spinics.net/lists/linux-xfs/msg30272.html + local myconf=( + --enable-static + # Doesn't do anything beyond adding -flto (bug #930947). + --disable-lto + # The default value causes double 'lib' + --localstatedir="${EPREFIX}/var" + --with-crond-dir="${EPREFIX}/etc/cron.d" + --with-systemd-unit-dir="$(systemd_get_systemunitdir)" + --with-udev-rule-dir="$(get_udevdir)/rules.d" + $(use_enable icu libicu) + $(use_enable nls gettext) + $(use_enable libedit editline) + ) + + econf "${myconf[@]}" +} + +src_compile() { + # -j1 for: + # gmake[2]: *** No rule to make target '../libhandle/libhandle.la', needed by 'xfs_spaceman'. Stop. + emake V=1 -j1 +} + +src_install() { + # XXX: There's a missing dep in the install-dev target, so split it + emake DIST_ROOT="${ED}" HAVE_ZIPPED_MANPAGES=false install + emake DIST_ROOT="${ED}" HAVE_ZIPPED_MANPAGES=false install-dev + + # Not actually used but --localstatedir causes this empty dir + # to be installed. + rmdir "${ED}"/var/lib/xfsprogs "${ED}"/var/lib || die + + if ! use static-libs; then + rm "${ED}/usr/$(get_libdir)/libhandle.a" || die + fi + + find "${ED}" -name '*.la' -delete || die +} + +pkg_postrm() { + udev_reload +} + +pkg_postinst() { + udev_reload +} 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 50140aa1f07..875f490bc0d 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 @@ -14,9 +14,8 @@ DIST binutils-2.40-patches-6.tar.xz 299212 BLAKE2B 3a68a924e9747fdd0486327a5bd24 DIST binutils-2.40.tar.xz 25241484 BLAKE2B 8d799f7c595f878b9af5b17a490021dd8b8300ac2fe0ed8574c012929d22d2d0493e003a3e631a9436e8e712da801779b777c566167fe42b0bde119ffa5ad1c2 SHA512 a37e042523bc46494d99d5637c3f3d8f9956d9477b748b3b1f6d7dfbb8d968ed52c932e88a4e946c6f77b8f48f1e1b360ca54c3d298f17193f3b4963472f6925 DIST binutils-2.41-patches-5.tar.xz 95176 BLAKE2B bbc94b3c7d70653a1056afe57a120b6eac9f0c8f51f05e95a1b5f80f2b7ef35e6355d740b49bc1ec2f3a13a838d5210ff4a205aa2bde5a72bc55c12100bce726 SHA512 ad293f97116f71322993f381c1af69fad1719a159f127ff16ddeca62f9b9b62aaf141abfa661985a61e9be7ae0639772148e69293a97364eebbf49182babb691 DIST binutils-2.41.tar.xz 26765692 BLAKE2B 3bccec2b52f7e82a727121bf2a2e51a6249ba63dcd74c665fd834e858645c912ffd8245d848435288b938852830b482905606f55c40df4061215fd75c52ffc75 SHA512 5df45d0bd6ddabdce4f35878c041e46a92deef01e7dea5facc97fd65cc06b59abc6fba0eb454b68e571c7e14038dc823fe7f2263843e6e627b7444eaf0fe9374 -DIST binutils-2.42-patches-3.tar.xz 34768 BLAKE2B e4bfaf3b42147408a8a3dcb00f50378a6b49aef8e939731a92598680cfbf42dfdf842c3f5bf3458867f79c534eb92385bc64f34f7b1d6462ec4182b5f424fbe5 SHA512 3d75e0684bbfa2cc3fc6dfcb5488ac571db58f1a5833fcc754f231664137001ccb0f2ec750947b8021fa12daf614eb2cd21b598bd962d71a34bb8ea38805850d 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-patches-3.tar.xz 62692 BLAKE2B a189a01a6a99c4fdff124cf90ecc18f874812c17fc735376c855469c487b6a71489ad5c2f86c518d2e029cc83d65757144ff9abddbe7ec3fc06e22f9501c62f4 SHA512 99a30e18fdfd7bdce85bb903f8d61837cfbb639ead8a680ff1a85ad1d615b658e696bdf196c4a002d029f952d34aa441e09e861b22f5400c65f07cce5934cd8f 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.42-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.42-r2.ebuild index c11f12b963e..c49fead1d74 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.42-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.42-r2.ebuild @@ -24,7 +24,7 @@ LICENSE="|| ( GPL-3 LGPL-3 )" SLOT="0/${PV%_p?}.0" IUSE="64-bit-bfd cet multitarget nls static-libs test" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" RESTRICT="!test? ( test )" BDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.42-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.43-r3.ebuild similarity index 94% rename from sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.42-r1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.43-r3.ebuild index 345e23f6ecb..b0746db92b9 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.42-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.43-r3.ebuild @@ -21,10 +21,15 @@ SRC_URI="mirror://gnu/binutils/${MY_P}.tar.xz LICENSE="|| ( GPL-3 LGPL-3 )" -SLOT="0/${PV%_p?}.0" +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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" RESTRICT="!test? ( test )" BDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.43.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.43.ebuild deleted file mode 100644 index 6f4b3e42778..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.43.ebuild +++ /dev/null @@ -1,172 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PATCH_VER=1 -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 )" - -SLOT="0/${PV%_p?}.0" - -IUSE="64-bit-bfd cet multitarget nls static-libs test" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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/cracklib/cracklib-2.10.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/cracklib/cracklib-2.10.2.ebuild index ffc3eee04dd..44037a6bc49 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/cracklib/cracklib-2.10.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/cracklib/cracklib-2.10.2.ebuild @@ -18,7 +18,7 @@ S="${WORKDIR}"/${MY_P} LICENSE="LGPL-2.1" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" IUSE="nls python static-libs zlib" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libcap/Manifest b/sdk_container/src/third_party/portage-stable/sys-libs/libcap/Manifest index 91ef94d9d83..41edeea87f9 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libcap/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libcap/Manifest @@ -1,2 +1,3 @@ DIST libcap-2.69.tar.xz 189200 BLAKE2B 94d1fef7666a1c383a8b96f1f6092bd242164631532868b628d2f5de71b42a371d041a978ef7fbadfee3eeb433165444995d1078cd790275bc0433a7875a697e SHA512 647c307dc451517da9d089495ab959b4a6fbbe41c79f4e1e9bb663569dad630ead0c2e413dfb393319e3ea14dc9848c81b392107fe3382ce1813d278c3394a7f DIST libcap-2.70.tar.xz 191388 BLAKE2B 77b72acee53032117ea481e3380d1b497f9264b6193b9523542508c7c3e46070248ca4ed910d35809ce6e52caa60cbb31edb125c47221627eeda35c61bd0914b SHA512 4e0bf0efeccb654c409afe9727b2b53c1d4da8190d7a0a9848fc52550ff3e13502add3eacde04a68a5b7bec09e91df487f64c5746ba987f873236a9e53b3d4e8 +DIST libcap-2.71.tar.xz 193512 BLAKE2B a4bc55d8b58db5d75b4615f287a15614c075f8f7e690e7a833c453658c80d6f99e633132bc8a3b8cc7d1393e513763d924bf2cbe6bc29c7a40e2a5f19755e662 SHA512 59bb6781d96776595ad3df890f4e5188380634eabbb6128f3a5307946b01cf3bd19dee8a29d3e501de1d9e1c6ed0092c4cd5adc91da227a1260c1f4356cc0bf3 diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.69-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.69-r1.ebuild index 787957fa273..735aed2e539 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.69-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.69-r1.ebuild @@ -17,8 +17,7 @@ fi DESCRIPTION="POSIX 1003.1e capabilities" HOMEPAGE="https://sites.google.com/site/fullycapable/" -# it's available under either of the licenses -LICENSE="|| ( GPL-2 BSD )" +LICENSE="|| ( GPL-2 BSD ) pam? ( || ( LGPL-2+ BSD ) )" SLOT="0" IUSE="pam static-libs tools" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.70.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.70.ebuild index 787957fa273..735aed2e539 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.70.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.70.ebuild @@ -17,8 +17,7 @@ fi DESCRIPTION="POSIX 1003.1e capabilities" HOMEPAGE="https://sites.google.com/site/fullycapable/" -# it's available under either of the licenses -LICENSE="|| ( GPL-2 BSD )" +LICENSE="|| ( GPL-2 BSD ) pam? ( || ( LGPL-2+ BSD ) )" SLOT="0" IUSE="pam static-libs tools" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.71.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.71.ebuild new file mode 100644 index 00000000000..b81da91b612 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.71.ebuild @@ -0,0 +1,93 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit multilib-minimal toolchain-funcs pam + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/libcap/libcap.git" +else + SRC_URI="https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/${P}.tar.xz" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +fi + +DESCRIPTION="POSIX 1003.1e capabilities" +HOMEPAGE="https://sites.google.com/site/fullycapable/" + +LICENSE="|| ( GPL-2 BSD ) pam? ( || ( LGPL-2+ BSD ) )" +SLOT="0" +IUSE="pam static-libs tools" + +# While the build system optionally uses gperf, we don't DEPEND on it because +# the build automatically falls back when it's unavailable. #604802 +PDEPEND="pam? ( sys-libs/pam[${MULTILIB_USEDEP}] )" +DEPEND="${PDEPEND} + sys-kernel/linux-headers" +BDEPEND=" + sys-apps/diffutils + tools? ( dev-lang/go )" + +QA_FLAGS_IGNORED="sbin/captree" # go binaries don't use LDFLAGS + +PATCHES=( + "${FILESDIR}"/${PN}-2.62-ignore-RAISE_SETFCAP-install-failures.patch +) + +src_prepare() { + default + multilib_copy_sources +} + +run_emake() { + local args=( + AR="$(tc-getAR)" + CC="$(tc-getCC)" + OBJCOPY="$(tc-getOBJCOPY)" + RANLIB="$(tc-getRANLIB)" + exec_prefix="${EPREFIX}" + lib_prefix="${EPREFIX}/usr" + lib="$(get_libdir)" + prefix="${EPREFIX}/usr" + PAM_CAP="$(usex pam yes no)" + DYNAMIC=yes + GOLANG="$(multilib_native_usex tools yes no)" + ) + emake "${args[@]}" "$@" +} + +src_configure() { + tc-export_build_env BUILD_CC + multilib-minimal_src_configure +} + +multilib_src_compile() { + run_emake +} + +multilib_src_test() { + run_emake test +} + +multilib_src_install() { + # no configure, needs explicit install line #444724#c3 + run_emake DESTDIR="${D}" install + + if ! use static-libs ; then + rm "${ED}"/usr/$(get_libdir)/lib{cap,psx}.a || die + fi + + # install pam plugins ourselves + rm -rf "${ED}"/usr/$(get_libdir)/security || die + + if use pam ; then + dopammod pam_cap/pam_cap.so + dopamsecurity '' pam_cap/capability.conf + fi +} + +multilib_src_install_all() { + dodoc CHANGELOG README doc/capability.md +} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-9999.ebuild index 0d484bbc425..b81da91b612 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-9999.ebuild @@ -17,8 +17,7 @@ fi DESCRIPTION="POSIX 1003.1e capabilities" HOMEPAGE="https://sites.google.com/site/fullycapable/" -# it's available under either of the licenses -LICENSE="|| ( GPL-2 BSD )" +LICENSE="|| ( GPL-2 BSD ) pam? ( || ( LGPL-2+ BSD ) )" SLOT="0" IUSE="pam static-libs tools" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libnvme/Manifest b/sdk_container/src/third_party/portage-stable/sys-libs/libnvme/Manifest index 0058d305328..a15cd0ada6d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libnvme/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libnvme/Manifest @@ -1,4 +1,3 @@ DIST libnvme-1.10.gh.tar.gz 720737 BLAKE2B eb5941cbdec1ccf5782c3e438b55dd09ddd2c3b9ac1079d5642896d0d80d75ece3149ebe9d965c2783a5ae2ddfad64ae0051f9c63822a739108d53eb44a583db SHA512 44e8a407c9fda8c296163832c14ba167caab53eab315bd2dee94275458532429f12a35e0adef1356420d83127e658a354ce65ac946acaa53bef2d46a8189054c -DIST libnvme-1.7.1.tar.gz 604220 BLAKE2B b02bf0914be73f5877f418bebdbed31dfb019484fb9f6e169c3474d90306706b8e787003a472f13bedb72e90eff39a30ba35df252a3cdf4ea08a362c3f9e221b SHA512 aea986ae35eafa17482e07015228d5a7d529d41148f4cee9e4619adc2460abb5460d60cd91177462cbcaf2e94e5870026ff9e45548f91d9f90b65a6268eb3abb -DIST libnvme-1.8.tar.gz 629032 BLAKE2B cba5215983fa14e485156cf68613a7acca07b7e0fdac41663ebf2246c9f6fd6d1bfcebc7c1457ab4217705769ebea382e85726eb302fd9af6f6b85cec7b2e14d SHA512 ba0cec72fd6c9bb29b29c4342be7b25aec1f31157a094ad387a1105cbd1961ab600e1448a2462d8be2af91d5251b2970d6d06d4871ce96604c5be204d6096bcb +DIST libnvme-1.11.gh.tar.gz 740365 BLAKE2B c4d5950b0d0769f1aaddc6d82364ad14ae3b1b6e2b5d16225c8599833e51516c14b8802b77562b08cbb54c15b8e5814d7f5b059939c197b87375afba899ffe3d SHA512 5c1d00fe57ff699be01c326e24612da25e1772578928e2c70fb5f67e8a9fe0fa4c95e18f58d4abefa0e163e99c9e37b1109298e805e174b033e749d19865336b DIST libnvme-1.9.tar.gz 657952 BLAKE2B e9d655709770f7c1d9c916cc9539b8ea096b0d5bf6b12079c2db494f070c98b6c388e2a79ed27a4932994a00d44da93fa3119ee224c48d40347a483548397349 SHA512 39a3346805143f93a17d00cfcb6fb75f82154658db6079134c09dfa989995ac5de79b1ce1ac091b4e997523d3216829ce9eac44110c9f59f9fd21636529c8b25 diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libnvme/libnvme-1.8.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libnvme/libnvme-1.11.ebuild similarity index 89% rename from sdk_container/src/third_party/portage-stable/sys-libs/libnvme/libnvme-1.8.ebuild rename to sdk_container/src/third_party/portage-stable/sys-libs/libnvme/libnvme-1.11.ebuild index bd72c79f4eb..874a7a0f583 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libnvme/libnvme-1.8.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libnvme/libnvme-1.11.ebuild @@ -3,16 +3,16 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} python3_13t ) inherit python-r1 meson DESCRIPTION="C Library for NVM Express on Linux" HOMEPAGE="https://github.com/linux-nvme/libnvme" -SRC_URI="https://github.com/linux-nvme/libnvme/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI="https://github.com/linux-nvme/libnvme/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz" LICENSE="LGPL-2.1+" SLOT="0/1" -KEYWORDS="~alpha amd64 ~arm arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc x86" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" IUSE="dbus +json keyutils python ssl test +uuid" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libnvme/libnvme-1.7.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libnvme/libnvme-1.7.1-r1.ebuild deleted file mode 100644 index 79ddf7d31ab..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libnvme/libnvme-1.7.1-r1.ebuild +++ /dev/null @@ -1,76 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} ) -inherit python-r1 meson - -DESCRIPTION="C Library for NVM Express on Linux" -HOMEPAGE="https://github.com/linux-nvme/libnvme" -SRC_URI="https://github.com/linux-nvme/libnvme/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="LGPL-2.1+" -SLOT="0/1" -KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ~ppc ppc64 ~riscv ~sparc x86" -IUSE="dbus +json keyutils python ssl test +uuid" -RESTRICT="!test? ( test )" - -REQUIRED_USE=" - python? ( ${PYTHON_REQUIRED_USE} ) -" - -DEPEND=" - json? ( dev-libs/json-c:= ) - keyutils? ( sys-apps/keyutils:= ) - dbus? ( sys-apps/dbus:= ) - python? ( ${PYTHON_DEPS} ) - ssl? ( >=dev-libs/openssl-1.1:= ) - uuid? ( sys-apps/util-linux:= ) -" -RDEPEND=" - ${DEPEND} -" -BDEPEND=" - dev-lang/swig -" - -src_configure() { - local emesonargs=( - -Dpython=disabled - $(meson_use test tests) - $(meson_feature json json-c) - $(meson_feature dbus libdbus) - $(meson_feature keyutils) - $(meson_feature ssl openssl) - ) - meson_src_configure -} - -python_compile() { - local emesonargs=( - -Dpython=enabled - ) - meson_src_configure --reconfigure - meson_src_compile -} - -src_compile() { - meson_src_compile - - if use python; then - python_copy_sources - python_foreach_impl python_compile - fi -} - -python_install() { - meson_src_install - use python && python_optimize -} - -src_install() { - use python && python_foreach_impl python_install - - meson_src_install -} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libselinux/libselinux-3.7-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libselinux/libselinux-3.7-r1.ebuild index 72e3b36bde1..fead63a7b18 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libselinux/libselinux-3.7-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libselinux/libselinux-3.7-r1.ebuild @@ -20,7 +20,7 @@ if [[ ${PV} == 9999 ]]; then S="${WORKDIR}/${P}/${PN}" else SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~mips ~riscv ~x86" + KEYWORDS="amd64 arm arm64 ~mips ~riscv x86" S="${WORKDIR}/${MY_P}" fi diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libsepol/libsepol-3.7.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libsepol/libsepol-3.7.ebuild index 95aea8cbafe..b4695c7d1f8 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libsepol/libsepol-3.7.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libsepol/libsepol-3.7.ebuild @@ -17,7 +17,7 @@ if [[ ${PV} == 9999 ]]; then S="${WORKDIR}/${P}/${PN}" else SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~mips ~riscv ~x86" + KEYWORDS="amd64 arm arm64 ~mips ~riscv x86" S="${WORKDIR}/${MY_P}" fi diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/Manifest b/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/Manifest index e156b3de32b..8e783073b4a 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/Manifest @@ -1,4 +1,2 @@ -DIST libunwind-1.7.1-docs.tar.xz 27248 BLAKE2B 0905f49ce72e6cafbb185828a4adf7eb5a88ede335104b1b0679e66199079e3dad9d83815d10a864b4480d88abd82b73bb71181962b1fea39ec41f534d78d549 SHA512 d786572e7fbd5ef7852712f592bd17d4110951083991c5ffcff2bb4ae91e4519b42743f848fe7f2cc9f72d8a0240531ec3d27806972c2c309d06a9048284b97b -DIST libunwind-1.7.2.tar.gz 912590 BLAKE2B 519570a02d06ce4a174ca226941e493499054112de1c92938434e9fb56fabc8446f699a886ea8beee672ac5e28acd03d16169257a43e2ee1bab084fb331ef4cf SHA512 903f7e26c7d4c22e6ef4fe8954ca0f153fdf346cec40e1e8f7ab966d251110f4deb0a84d1fd150aee194ed966b5c1e01ee27c821cd043859852da33a94faae1f DIST libunwind-1.8.0-docs.tar.xz 29280 BLAKE2B 260c5011cf23422ec04449126259c9960b5549b94def8ffa3821ccc67809b5da06be22fb0b465fcee2f0ec89faebab71d2bf3316dc68315a27e0913856513b0a SHA512 6969c8426dc5d79a78a9dae366a9e7b6f1d9a7ce307357913d4f5b8867a540ab8225b5342ee0e06e77b832ef76336fba41dadf12effa5236a076e6bfe72ec548 DIST libunwind-1.8.1.tar.gz 958468 BLAKE2B 936e70f2428d8f6ada3b4d58b3c9e3a9738eb2f7aee1ad5fb4e44dbb7400186d1bd1ead86a698e53d199d5944b102f8380d08b48104a138021286a79fb006ec3 SHA512 aba7b578c1b8cbe78f05b64e154f3530525f8a34668b2a9f1ee6acb4b22c857befe34ad4e9e8cca99dbb66689d41bc72060a8f191bd8be232725d342809431b3 diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-1.7.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-1.7.2.ebuild deleted file mode 100644 index 5c86fedcb3f..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-1.7.2.ebuild +++ /dev/null @@ -1,131 +0,0 @@ -# Copyright 2005-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-libunwind-docs -# Set to 1 if prebuilt, 0 if not -# (the construct below is to allow overriding from env for script) -: ${LIBUNWIND_DOCS_PREBUILT:=1} - -LIBUNWIND_DOCS_PREBUILT_DEV=sam -LIBUNWIND_DOCS_VERSION=1.7.1 -# Default to generating docs (inc. man pages) if no prebuilt; overridden later -LIBUNWIND_DOCS_USEFLAG="+doc" - -inherit multilib-minimal - -DESCRIPTION="Portable and efficient API to determine the call-chain of a program" -HOMEPAGE="https://savannah.nongnu.org/projects/libunwind" - -if [[ ${PV} == 9999 ]] ; then - LIBUNWIND_DOCS_PREBUILT=0 - - EGIT_REPO_URI="https://github.com/libunwind/libunwind" - inherit autotools git-r3 -else - SRC_URI="https://github.com/libunwind/libunwind/releases/download/v${PV}/${P}.tar.gz" - if [[ ${LIBUNWIND_DOCS_PREBUILT} == 1 ]] ; then - SRC_URI+=" !doc? ( https://dev.gentoo.org/~${LIBUNWIND_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${LIBUNWIND_DOCS_VERSION}-docs.tar.xz )" - fi - - KEYWORDS="amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 -sparc x86 ~amd64-linux ~x86-linux" -fi - -[[ ${LIBUNWIND_DOCS_PREBUILT} == 1 ]] && LIBUNWIND_DOCS_USEFLAG="doc" - -LICENSE="MIT" -SLOT="0/8" # libunwind.so.8 -IUSE="debug debug-frame ${LIBUNWIND_DOCS_USEFLAG} libatomic lzma static-libs test zlib" - -RESTRICT="test !test? ( test )" # some tests are broken (toolchain version dependent, rely on external binaries) - -BDEPEND=" - doc? ( app-text/texlive-core ) -" -RDEPEND=" - lzma? ( app-arch/xz-utils[static-libs?,${MULTILIB_USEDEP}] ) - zlib? ( sys-libs/zlib[static-libs?,${MULTILIB_USEDEP}] ) -" -# We just use the header from libatomic. -DEPEND=" - ${RDEPEND} - libatomic? ( dev-libs/libatomic_ops[${MULTILIB_USEDEP}] ) -" - -PATCHES=( "${FILESDIR}/${PN}-1.7.2-backport-pr521.patch" ) - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/libunwind.h - - # see libunwind.h for the full list of arch-specific headers - /usr/include/libunwind-aarch64.h - /usr/include/libunwind-arm.h - /usr/include/libunwind-hppa.h - /usr/include/libunwind-ia64.h - /usr/include/libunwind-mips.h - /usr/include/libunwind-ppc32.h - /usr/include/libunwind-ppc64.h - /usr/include/libunwind-riscv.h - /usr/include/libunwind-sh.h - /usr/include/libunwind-tilegx.h - /usr/include/libunwind-x86.h - /usr/include/libunwind-x86_64.h -) - -src_prepare() { - default - - chmod +x src/ia64/mk_cursor_i || die - - if [[ ${PV} == 9999 ]] ; then - eautoreconf - fi -} - -multilib_src_configure() { - local myeconfargs=( - # --enable-cxx-exceptions: always enable it, headers provide the interface - # and on some archs it is disabled by default causing a mismatch between the - # API and the ABI, bug #418253 - --enable-cxx-exceptions - --enable-coredump - --enable-ptrace - --enable-setjmp - $(use_enable debug-frame) - $(multilib_native_use_enable doc documentation) - $(use_enable lzma minidebuginfo) - $(use_enable static-libs static) - $(use_enable zlib zlibdebuginfo) - # conservative-checks: validate memory addresses before use; as of 1.0.1, - # only x86_64 supports this, yet may be useful for debugging, couple it with - # debug useflag. - $(use_enable debug conservative_checks) - $(use_enable debug) - $(use_enable test tests) - ) - - export ac_cv_header_atomic_ops_h=$(usex libatomic) - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_compile() { - # bug #586208 - CCACHE_NODIRECT=1 default -} - -multilib_src_test() { - # Explicitly allow parallel build of tests. - # Sandbox causes some tests to freak out. - SANDBOX_ON=0 emake check -} - -multilib_src_install_all() { - find "${ED}" -name "*.la" -type f -delete || die - - # If USE=doc, there'll be newly generated docs which we install instead. - if ! use doc && [[ ${LIBUNWIND_DOCS_PREBUILT} == 1 ]] ; then - doman "${WORKDIR}"/${PN}-${LIBUNWIND_DOCS_VERSION}-docs/man*/*.[0-8] - fi -} 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 bfdb966cb6c..93081d43a80 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 @@ -1,5 +1,3 @@ DIST liburing-2.2.tar.bz2 172733 BLAKE2B 19ae8a356e4fdc296bfb3ff121b777bd7c970388b31686aac5c531508e807360d58220bc27f9c62c55bd76ca687013acfceb3fa8a2162b615561f637cc50ffe1 SHA512 55b935a90c108be54393a5ab341b56e40ad8d506360fe15b3dcde5ee263356f11080f8614efdc4253f6318ea35d808ec47a9dbfc6b9f6cc2e04f7f1a75c3f621 -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 +DIST liburing-2.8.tar.bz2 284202 BLAKE2B de1deaa8927b5f80a38195ef857fdb0d3dc5f7f57358fe319af42ec3d980bf4c20284d7726645e9c32bcb3e5d7d981540a52a35abb26394cbef03f88ab7c4248 SHA512 5822108aa771a34a4c3f008a0155e4f1fa9393499f24a1bce00aed7fab6e3b9e022b44f96479af0036295129db75d5062618fb4c48cef836e3155c604491e94d diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/liburing/liburing-2.3-r4.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/liburing/liburing-2.3-r4.ebuild deleted file mode 100644 index 9cce13f4916..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/liburing/liburing-2.3-r4.ebuild +++ /dev/null @@ -1,90 +0,0 @@ -# Copyright 1999-2023 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 ~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}" - -PATCHES=( - # https://bugs.gentoo.org/891633 - "${FILESDIR}/${PN}-2.3-liburing.map-Export-io_uring_-enable_rings-register_.patch" - # https://github.com/axboe/liburing/pull/787 - "${FILESDIR}/${PN}-2.3-remove-error-from-error_h-for-portability.patch" -) - -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)" - ) - # 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 -} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/liburing/liburing-2.5-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/liburing/liburing-2.5-r2.ebuild deleted file mode 100644 index 60a7bd52ff0..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/liburing/liburing-2.5-r2.ebuild +++ /dev/null @@ -1,88 +0,0 @@ -# Copyright 1999-2023 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 ~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}" - -PATCHES=( - "${FILESDIR}"/${P}-lld-17.patch - "${FILESDIR}"/${P}-print-libgcc-file-name.patch -) - -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)" - ) - # 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 -} 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 index b3040273aa2..fd2fb61f74e 100644 --- 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 @@ -12,7 +12,7 @@ if [[ "${PV}" == *9999 ]] ; then 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 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86" QA_PKGCONFIG_VERSION=${PV} fi LICENSE="MIT" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/liburing/liburing-2.6.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/liburing/liburing-2.8.ebuild similarity index 94% rename from sdk_container/src/third_party/portage-stable/sys-libs/liburing/liburing-2.6.ebuild rename to sdk_container/src/third_party/portage-stable/sys-libs/liburing/liburing-2.8.ebuild index 0570d27a5b4..a469ca0ee19 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/liburing/liburing-2.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/liburing/liburing-2.8.ebuild @@ -12,7 +12,7 @@ if [[ "${PV}" == *9999 ]] ; then 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 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" QA_PKGCONFIG_VERSION=${PV} fi LICENSE="MIT" @@ -47,6 +47,7 @@ multilib_src_configure() { --mandir="${EPREFIX}/usr/share/man" --cc="$(tc-getCC)" --cxx="$(tc-getCXX)" + --use-libc ) # No autotools configure! "econf" will fail. TMPDIR="${T}" ./configure "${myconf[@]}" || die diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/Manifest b/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/Manifest index c46cde276c6..46bc58b003a 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/Manifest @@ -138,7 +138,6 @@ DIST ncurses-6.4-20240414.patch.gz 3007 BLAKE2B a4db0635df3b2669ae1ba0057c21f717 DIST ncurses-6.4-20240414.patch.gz.asc 729 BLAKE2B 8d579b2724245756947200a3e704c1ae534ba64e6986ad009a5ca9d33145fff82ddae9003a7c6ffe5b64b68f813661440afcac0a1321e5b80113d3ec94e1ea5a SHA512 0976a253d11fb10d52fee1cd2ad38e80b0b531f89efe94a62b9a0e2d69206bd1574140785776c7f6bd19775f6ca446c582da31cd9f51a8b0f12039d1e9695600 DIST ncurses-6.4.tar.gz 3612591 BLAKE2B 47fd9c2d27f44fa9942552881a471e5067465dbace40bf68b28998dded0556127a1d8662b96de4de4fd76c1c8b98bdae796036553ab4b05ca9f160839d841ba3 SHA512 1c2efff87a82a57e57b0c60023c87bae93f6718114c8f9dc010d4c21119a2f7576d0225dab5f0a227c2cfc6fb6bdbd62728e407f35fce5bf351bb50cf9e0fd34 DIST ncurses-6.4.tar.gz.sig 438 BLAKE2B e6a78b8d0cbce1577205b49b0260394094632cefd95294813c7e4e51a2908e8599a9f24b3b648e42ba16c015fb9424b2a82236f58aac3bf96f5400a50482e44e SHA512 f2a7859725b4d5d62f68006338d56598ac6b38a1448983108906e192f0ec922be287cc89bcc79c1ae49ebc80c967af3dd077427f35ae579b00d445c882414fed -DIST ncurses-6.4_p20230408-patches.tar.xz 80472 BLAKE2B 0ba8156ebd4f1691fec7bc1b800ef39ce6a4210573c027dd437919cdcd7c995830116da06c69f31c65923845a4d5c88e974673fac38acce5813f7d6cdc646e3e SHA512 32960e2cc4cd9dc60c38b49f46c5ce2c02179479abb66ca29f63cd06475ae8e26299a78b5f06762d114aefbbca3ba6fbebe7093a58106eeaa40cf500d21633a4 DIST ncurses-6.4_p20240413-patches.tar.xz 63760 BLAKE2B 6a91d453cca3705ca54b3a6f2ef00250d655168c1697726db4b581a1597cbc143479b8794e176d5e4154c794f99ea33c3fe1eb26605789930fc82649a2da3c93 SHA512 59239503a9400e054641428528799aa9c13b12669b31f32b2ff18cb60882698801e04dcdf75ece8357c7a4c3b899a729aa973090ec12a20de72cb80a916878b8 DIST ncurses-6.5-20240504.patch.gz 16541 BLAKE2B 1b698b61fb738252eb8839f659b8670c743808058da9eaf39e6d288f5c00b3d1fbc4318daee8744fef37cdc42fa176fc41bbc5d4890295ad53a633207cd129a2 SHA512 6d72b5950dd55a2eb36f4c615c851a0879dcee5f97f9aa46eef68fc0f3c6996c7bf06d4646a05c455888a563ca673be3159e89db2266e81f0e72434cf4d3df29 DIST ncurses-6.5-20240504.patch.gz.asc 729 BLAKE2B 6a9ff6b524bb8ade98d6259514b7d467aee38d12b915c7eb030f025f244a44cc0c2dac524bd2645c5f315f54ef47fe6791dffc1728320e0e4790032a838cbbcd SHA512 4f8a2c6be0471df7c25fc67f596753df48a2a4660c848263d10126bba96010c185d31208b2424c495f29bbed6c93cc9cc88b37b4cc252e00bb971364fe68d2d8 diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/ncurses-6.4_p20230401.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/ncurses-6.4_p20230401.ebuild deleted file mode 100644 index f94b6e84bc2..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/ncurses/ncurses-6.4_p20230401.ebuild +++ /dev/null @@ -1,420 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/thomasdickey.asc -inherit flag-o-matic toolchain-funcs multilib multilib-minimal preserve-libs usr-ldscript verify-sig - -MY_PV="${PV:0:3}" -MY_P="${PN}-${MY_PV}" -DESCRIPTION="Console display library" -HOMEPAGE="https://www.gnu.org/software/ncurses/ https://invisible-island.net/ncurses/" -# Keep invisible-mirror.net here as some users reported 403 forbidden with invisible-island.net -SRC_URI=" - mirror://gnu/ncurses/${MY_P}.tar.gz - https://invisible-island.net/archives/${PN}/${MY_P}.tar.gz - https://invisible-mirror.net/archives/${PN}/${MY_P}.tar.gz - verify-sig? ( mirror://gnu/ncurses/${MY_P}.tar.gz.sig ) -" - -GENTOO_PATCH_DEV=sam -GENTOO_PATCH_PV=6.4_p20230408 -GENTOO_PATCH_NAME=${PN}-${GENTOO_PATCH_PV}-patches - -# Populated below in a loop. Do not add patches manually here. -UPSTREAM_PATCHES=() - -if [[ ${PV} == *_p* ]] ; then - # Sometimes, after releases, there's no megapatch available yet. - # - # From upstream README at e.g. https://invisible-island.net/archives/ncurses/6.3/: - # - # "At times (generally to mark a relatively stable point), I create a rollup - # patch, which consists of all changes from the release through the current date." - # - # Also, from https://lists.gnu.org/archive/html/bug-ncurses/2019-08/msg00039.html, - # the patches are considered to be acceptable to use after some testing. They - # are both for development but also bug fixes. - # - # This array should contain a list of all the snapshots since the last - # release if there's no megapatch available yet. - PATCH_DATES=( - 20230107 - 20230114 - 20230121 - 20230128 - 20230211 - 20230218 - 20230225 - 20230311 - - # Latest patch is just _pN = $(ver_cut 4) - $(ver_cut 4) - ) - - if [[ -z ${PATCH_DATES[@]} ]] ; then - SRC_URI+=" https://invisible-island.net/archives/${PN}/${PV/_p*}/${MY_P/_p/-}.patch.sh.gz" - SRC_URI+=" verify-sig? ( https://invisible-island.net/archives/${PN}/${PV/_p*}/${MY_P/_p/-}.patch.sh.gz.asc" - - # If we have a rollup patch, use that instead of the individual ones. - UPSTREAM_PATCHES+=( patch.sh ) - else - # We use a mirror as well because we've had reports of 403 forbidden for some users. - upstream_url_base="https://invisible-island.net/archives/${PN}/${PV/_p*}/${MY_P}-" - upstream_m_url_base="https://invisible-mirror.net/archives/${PN}/${PV/_p*}/${MY_P}-" - - # Prefix each date with the upstream location (https://invisible-island.net/archives/${PN}/${PV/_p*}/${MY_P}) - mangled_patches=( "${PATCH_DATES[@]/#/${upstream_url_base}}" ) - # Suffix each with .patch.gz - mangled_patches=( "${mangled_patches[@]/%/.patch.gz}" ) - mangled_patches_sig=( "${mangled_patches[@]/%/.asc}" ) - # Repeat for .patch.gz.asc for verify-sig - SRC_URI+=" ${mangled_patches[@]}" - SRC_URI+=" verify-sig? ( ${mangled_patches_sig[@]} )" - - # For all of the URLs, chuck in invisible-island.net too: - SRC_URI+=" ${mangled_patches[@]/${upstream_url_base}/${upstream_m_url_base}}" - SRC_URI+=" verify-sig? ( ${mangled_patches_sig[@]/${upstream_url_base}/${upstream_m_url_base}} )" - - UPSTREAM_PATCHES=( "${PATCH_DATES[@]/%/.patch}" ) - - unset upstream_url_base upstream_m_url_base mangled_patches mangled_patches_sig - fi -fi - -SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV}/distfiles/${CATEGORY}/${PN}/${GENTOO_PATCH_NAME}.tar.xz" - -LICENSE="MIT" -# The subslot reflects the SONAME. -SLOT="0/6" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="ada +cxx debug doc gpm minimal profile split-usr +stack-realign static-libs test tinfo trace" -RESTRICT="!test? ( test )" - -DEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )" -# Block the older ncurses that installed all files w/SLOT=5, bug #557472 -RDEPEND=" - ${DEPEND} - !<=sys-libs/ncurses-5.9-r4:5 - !& /dev/null \ - || lbuildflags="${dbuildflags}" - - # We can't re-use the multilib BUILD_DIR because we run outside of it. - BUILD_DIR="${WORKDIR}" \ - CC=${BUILD_CC} \ - CXX=${BUILD_CXX} \ - CPP=${BUILD_CPP} \ - CHOST=${CBUILD} \ - CFLAGS=${BUILD_CFLAGS} \ - CXXFLAGS=${BUILD_CXXFLAGS} \ - CPPFLAGS=${BUILD_CPPFLAGS} \ - LDFLAGS="${BUILD_LDFLAGS} ${lbuildflags}" \ - do_configure cross --without-shared --with-normal --with-progs --without-ada - fi - multilib-minimal_src_configure -} - -multilib_src_configure() { - if [[ ${ABI} == x86 ]] ; then - # For compatibility with older binaries at slight performance cost. - # bug #616402 - use stack-realign && append-flags -mstackrealign - fi - - local t - for t in "${NCURSES_TARGETS[@]}" ; do - do_configure "${t}" - done -} - -do_configure() { - local target=$1 - shift - - mkdir "${BUILD_DIR}/${target}" || die - cd "${BUILD_DIR}/${target}" || die - - local conf=( - # We need the basic terminfo files in /etc, bug #37026. We will - # add '--with-terminfo-dirs' and then populate /etc/terminfo in - # src_install() ... - --with-terminfo-dirs="${EPREFIX}/etc/terminfo:${EPREFIX}/usr/share/terminfo" - - # Enable installation of .pc files. - --enable-pc-files - # This path is used to control where the .pc files are installed. - --with-pkg-config-libdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig" - - # Now the rest of the various standard flags. - --with-shared - # (Originally disabled until bug #245417 is sorted out, but now - # just keeping it off for good, given nobody needed it until now - # (2022) and we're trying to phase out bdb.) - --without-hashed-db - $(use_with ada) - $(use_with cxx) - $(use_with cxx cxx-binding) - --with-cxx-shared - $(use_with debug) - $(use_with profile) - # The configure script uses ldd to parse the linked output which - # is flaky for cross-compiling/multilib/ldd versions/etc... - $(use_with gpm gpm libgpm.so.1) - # Required for building on mingw-w64, and possibly other windows - # platforms, bug #639670 - --disable-term-driver - --disable-termcap - --enable-symlinks - --with-manpage-format=normal - --enable-const - --enable-colorfgbg - --enable-hard-tabs - --enable-echo - $(use_enable !ada warnings) - $(use_with debug assertions) - $(use_enable !debug leaks) - $(use_with debug expanded) - $(use_with !debug macros) - $(multilib_native_with progs) - $(use_with test tests) - $(use_with trace) - $(use_with tinfo termlib) - --disable-stripping - --disable-pkg-ldflags - ) - - if [[ ${target} == ncurses*w ]] ; then - conf+=( --enable-widec ) - else - conf+=( --disable-widec ) - fi - if [[ ${target} == ncursest* ]] ; then - conf+=( --with-{pthread,reentrant} ) - else - conf+=( --without-{pthread,reentrant} ) - fi - - # Make sure each variant goes in a unique location. - if [[ ${target} == "ncurses" ]] ; then - # "ncurses" variant goes into "${EPREFIX}"/usr/include - # It is needed on Prefix because the configure script appends - # "ncurses" to "${prefix}/include" if "${prefix}" is not /usr. - conf+=( --enable-overwrite ) - else - conf+=( --includedir="${EPREFIX}"/usr/include/${target} ) - fi - # See comments in src_configure. - if [[ ${target} != "cross" ]] ; then - local cross_path="${WORKDIR}/cross" - [[ -d ${cross_path} ]] && export TIC_PATH="${cross_path}/progs/tic" - fi - - ECONF_SOURCE="${S}" econf "${conf[@]}" "$@" -} - -src_compile() { - # See comments in src_configure. - if ! has_version -b "~sys-libs/${P}:0" ; then - BUILD_DIR="${WORKDIR}" do_compile cross -C progs tic$(get_exeext) - fi - - multilib-minimal_src_compile -} - -multilib_src_compile() { - local t - for t in "${NCURSES_TARGETS[@]}" ; do - do_compile "${t}" - done -} - -do_compile() { - local target=$1 - shift - - cd "${BUILD_DIR}/${target}" || die - - # A little hack to fix parallel builds ... they break when - # generating sources so if we generate the sources first (in - # non-parallel), we can then build the rest of the package - # in parallel. This is not really a perf hit since the source - # generation is quite small. - emake -j1 sources - - # For some reason, sources depends on pc-files which depends on - # compiled libraries which depends on sources which ... - # Manually delete the pc-files file so the install step will - # create the .pc files we want. - rm -f misc/pc-files || die - emake "$@" -} - -multilib_src_install() { - local target - for target in "${NCURSES_TARGETS[@]}" ; do - emake -C "${BUILD_DIR}/${target}" DESTDIR="${D}" install - done - - # Move main libraries into /. - if multilib_is_native_abi ; then - gen_usr_ldscript -a \ - "${NCURSES_TARGETS[@]}" \ - $(usex tinfo 'tinfow tinfo' '') - fi - - # Don't delete '*.dll.a', needed for linking, bug #631468 - if ! use static-libs; then - find "${ED}"/usr/ -name '*.a' ! -name '*.dll.a' -delete || die - fi - - # Build fails to create this ... - # -FIXME- - # Ugly hackaround for riscv having two parts libdir (bug #689240) - # Replace this hack with an official solution once we have one... - # -FIXME- - dosym $(sed 's@[^/]\+@..@g' <<< $(get_libdir))/share/terminfo \ - /usr/$(get_libdir)/terminfo - - # Remove obsolete libcurses symlink that is created by the build - # system. Technically, this could be also achieved - # via --disable-overwrite but it also moves headers implicitly, - # and we do not want to do this yet. - # bug #836696 - rm "${ED}"/usr/$(get_libdir)/libcurses* || die -} - -multilib_src_install_all() { - local terms=( - # Dumb/simple values that show up when using the in-kernel VT. - ansi console dumb linux - vt{52,100,102,200,220} - # [u]rxvt users used to be pretty common. Probably should drop this - # since upstream is dead and people are moving away from it. - rxvt{,-unicode}{,-256color} - # xterm users are common, as is terminals re-using/spoofing it. - xterm xterm-{,256}color - # screen is common (and reused by tmux). - screen{,-256color} - screen.xterm-256color - ) - if use split-usr ; then - local x - # We need the basic terminfo files in /etc for embedded/recovery, bug #37026 - einfo "Installing basic terminfo files in /etc..." - for x in "${terms[@]}"; do - local termfile=$(find "${ED}"/usr/share/terminfo/ -name "${x}" 2>/dev/null) - local basedir=$(basename "$(dirname "${termfile}")") - - if [[ -n ${termfile} ]] ; then - dodir "/etc/terminfo/${basedir}" - mv "${termfile}" "${ED}/etc/terminfo/${basedir}/" || die - dosym "../../../../etc/terminfo/${basedir}/${x}" \ - "/usr/share/terminfo/${basedir}/${x}" - fi - done - - echo "CONFIG_PROTECT_MASK=\"/etc/terminfo\"" | newenvd - 50ncurses - - use minimal && rm -r "${ED}"/usr/share/terminfo* - # Because ncurses5-config --terminfo returns the directory we keep it - # bug #245374 - keepdir /usr/share/terminfo - elif use minimal ; then - # Keep only the basic terminfo files - find "${ED}"/usr/share/terminfo/ \ - \( -type f -o -type l \) ${terms[*]/#/! -name } -delete , \ - -type d -empty -delete || die - fi - - cd "${S}" || die - dodoc ANNOUNCE MANIFEST NEWS README* TO-DO doc/*.doc - if use doc ; then - docinto html - dodoc -r doc/html/ - fi -} - -pkg_preinst() { - preserve_old_lib /$(get_libdir)/libncurses.so.5 - preserve_old_lib /$(get_libdir)/libncursesw.so.5 -} - -pkg_postinst() { - preserve_old_lib_notify /$(get_libdir)/libncurses.so.5 - preserve_old_lib_notify /$(get_libdir)/libncursesw.so.5 -} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/readline/Manifest b/sdk_container/src/third_party/portage-stable/sys-libs/readline/Manifest index a00867779d0..2415fff9712 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/readline/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-libs/readline/Manifest @@ -6,6 +6,7 @@ DIST readline-8.2.tar.gz.sig 95 BLAKE2B dc510459c0c47782ca87364a6677b4d8f0b68a98 DIST readline-8.3-alpha.tar.gz 3091427 BLAKE2B f40e1db1ea39bbf4183901688733df0c67666eb58a33333f9b57ea7ba5399956f5523748ecce9bc5b6dc1954647c0bceb6ebbb4fe93b0085a595047650ad7c7e SHA512 d3aacd82826f1d1adc7ea846d8b8e70726da925e74a8bb1d141a9093e0d5e375236d1c745f0609f8ba3aff9f5266b1cf3da31d76e414a284b6ed798d92a1a1f6 DIST readline-8.3-alpha.tar.gz.sig 95 BLAKE2B c11d1b4dd8f453bc5f7d19dd25901bfa4796825efa4f07f2043aa94d556a39bc1c928aed7fdc09ed6325c6ef017f72df18bbdd461a52a7122ccdf9b58a345c17 SHA512 fb070ae3dbafa042f591d8a5c24f48b40a672843e41e78f5d6a5ded5228046fe75893be6b10a9634d8852617bfa8b675e68a4c808f06ee95f07a40536fc63769 DIST readline-8.3_alpha_p20241011-4d34c34b3aa955f65e79bfbf7b7426344a3c2840.tar.gz 3179300 BLAKE2B ea4bab2b8e4da4590caedef5f3b7fccd4a9aef0fff4d150ef15c4185ee2609c29aab43777084e270226d8641c91cbab92da55e77c27c42dcfc360a6abf7df9bb SHA512 93617234b7ab080ed1f8c52cfc79fd6e54ac818ed29a3016915b51ccc6c8f5ece5e0ee0ba9668e6ed2ba64bacc82c164d19846bcc2bb78933b2927b4f2a2d968 +DIST readline-8.3_alpha_p20241104-3c16957f8914425966b31e7348048b129b2317ad.tar.gz 3458233 BLAKE2B e9fc8c34ffd2a81c903daa64881893c5e092ba45c846b1e1b141905997a61a93a9dfd79ad9f0606b54d84d529665937bdaa2c166786808dc0ce223b1a1b2f535 SHA512 a37759b9d22687255de0c8f52dae106d01bec2b89784d972d35e3fdee1cb8d8fb9c12142a2de0e190c70f2571542a0f7f0cb00ae9e12757f150f9532a9529102 DIST readline81-001 2454 BLAKE2B 7ec4e5c39a224a70643b44b88bcfef5198e199c76f2a34f0b0ce24f1747dd46be49ddf93871c474cda64322b4358127fec4c2401d19422f84934546bbe1f3bf2 SHA512 cfbef10bdeb562a302ccf214878d02ebadf799343b3d2d7996a282f81bcfde83997ba6dcc9a8477af4dd7c73bca74105ca00a81e42ed13321672bd2930550e54 DIST readline81-001.sig 95 BLAKE2B 7d523d0fc21772cb03aa4b5d66ea58c1a99a6c0e4a8625e89cad015cbff63cd68e08207ca5150819225300ac864806032888104bbbea64ca38ebf89e28c24b7e SHA512 7fa3747e388aecb26f2d4f8346b89b367710ea99a14618c625066b820901dc467bd156ec37340fde1f86f0fe0d6b33044c1ed5768cf8ed1a25386d32dc6419a6 DIST readline81-002 1242 BLAKE2B 4ef0404561bd8fc5559e8e5f675ae3f12c467178a8954f54f3204c2d09b88ccec960e807c7af0ec3514b489b676e3be51f98351e377fb18e3d7a14d33d4da69d SHA512 e47c029b82cf3a4d44e85c4348f7e059c56726694c190d84186822e1c893e1c006e7ec75f33c36791112f81abd792a2e2fdae9a65cd128f3c89ff4ffd9a9a1ff diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.3_alpha_p20241104.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.3_alpha_p20241104.ebuild new file mode 100644 index 00000000000..2233ddf217a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-libs/readline/readline-8.3_alpha_p20241104.ebuild @@ -0,0 +1,265 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# There's no standard way of versioning the point releases upstream +# make anyway, so while this was added for RC versions, it's fine +# in general. +QA_PKGCONFIG_VERSION=$(ver_cut 1-2) +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc +inherit flag-o-matic multilib multilib-minimal preserve-libs toolchain-funcs verify-sig + +# Official patches +# See ftp://ftp.cwru.edu/pub/bash/readline-8.1-patches/ +PLEVEL="${PV##*_p}" +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 + +DESCRIPTION="Another cute console display library" +HOMEPAGE="https://tiswww.case.edu/php/chet/readline/rltop.html https://git.savannah.gnu.org/cgit/readline.git" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://git.savannah.gnu.org/git/readline.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. + READLINE_COMMIT="3c16957f8914425966b31e7348048b129b2317ad" + SRC_URI="https://git.savannah.gnu.org/cgit/readline.git/snapshot/readline-${READLINE_COMMIT}.tar.gz -> ${P}-${READLINE_COMMIT}.tar.gz" + S=${WORKDIR}/${PN}-${READLINE_COMMIT} +else + SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz" + SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig )" + S="${WORKDIR}/${MY_P}" + + if [[ ${PLEVEL} -gt 0 ]] ; then + # bash-5.1 -> bash51 + my_p=${PN}$(ver_rs 1-2 '' $(ver_cut 1-2)) + + patch_url= + my_patch_index= + + upstream_url_base="mirror://gnu/readline" + mirror_url_base="ftp://ftp.cwru.edu/pub/readline" + + for ((my_patch_index=1; my_patch_index <= ${PLEVEL} ; my_patch_index++)) ; do + printf -v mangled_patch_ver ${my_p}-%03d ${my_patch_index} + patch_url="${upstream_url_base}/${MY_P}-patches/${mangled_patch_ver}" + + SRC_URI+=" ${patch_url}" + SRC_URI+=" verify-sig? ( ${patch_url}.sig )" + + # Add in the mirror URL too. + SRC_URI+=" ${patch_url/${upstream_url_base}/${mirror_url_base}}" + SRC_URI+=" verify-sig? ( ${patch_url/${upstream_url_base}/${mirror_url_base}}.sig )" + + MY_PATCHES+=( "${DISTDIR}"/${mangled_patch_ver} ) + done + + unset my_p patch_url my_patch_index upstream_url_base mirror_url_base + fi +fi + +LICENSE="GPL-3+" +SLOT="0/8" # subslot matches SONAME major +if (( PLEVEL >= 0 )); then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +fi +IUSE="static-libs +unicode utils" + +RDEPEND=">=sys-libs/ncurses-5.9-r3:=[static-libs?,unicode(+)?,${MULTILIB_USEDEP}]" +DEPEND="${RDEPEND}" +BDEPEND=" + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-chetramey ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-5.0-no_rpath.patch + "${FILESDIR}"/${PN}-7.0-headers.patch + "${FILESDIR}"/${PN}-8.0-headers.patch + + # TODO: rebase + #"${FILESDIR}"/${PN}-8.0-darwin-shlib-versioning.patch +) + +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() { + (( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}" + + default + + #(( PLEVEL < 0 )) && eautoreconf + + if use prefix && [[ ! -x "${BROOT}"/usr/bin/pkg-config ]] ; then + # If we're bootstrapping, make a guess. We don't have pkg-config + # around yet. bug #818103. + # Incorrectly populating this leads to underlinked libreadline. + local ncurses_libs + local ncurses_libs_suffix=$(usex unicode w '') + + ncurses_libs="-lncurses${ncurses_libs_suffix}" + + if has_version "sys-libs/ncurses[tinfo(+)]" ; then + ncurses_libs+=" -ltinfo${ncurses_libs_suffix}" + fi + else + # Force ncurses linking, bug #71420. + # Use pkg-config to get the right values, bug #457558. + local ncurses_libs=$($(tc-getPKG_CONFIG) ncurses$(usex unicode w '') --libs) + fi + + sed -i \ + -e "/^SHLIB_LIBS=/s:=.*:='${ncurses_libs}':" \ + support/shobj-conf || die + sed -i \ + -e "/^[[:space:]]*LIBS=.-lncurses/s:-lncurses:${ncurses_libs}:" \ + examples/rlfe/configure || die + + # Fix building under Gentoo/FreeBSD; upstream FreeBSD deprecated + # objformat for years, so we don't want to rely on that. + sed -i -e '/objformat/s:if .*; then:if true; then:' support/shobj-conf || die + + # For local readline headers + ln -s ../.. examples/rlfe/readline || die +} + +src_configure() { + # Fix implicit decls with widechar funcs + append-cppflags -D_GNU_SOURCE + # https://lists.gnu.org/archive/html/bug-readline/2010-07/msg00013.html + append-cppflags -Dxrealloc=_rl_realloc -Dxmalloc=_rl_malloc -Dxfree=_rl_free + + # Make sure configure picks a better ar than `ar`, bug #484866 + export ac_cv_prog_AR="$(tc-getAR)" + + # Force the test since we used sed above to force it. + export bash_cv_termcap_lib=ncurses + + # Control cross-compiling cases when we know the right answer. + # In cases where the C library doesn't support wide characters, readline + # itself won't work correctly, so forcing the answer below should be OK. + if tc-is-cross-compiler ; then + export bash_cv_func_sigsetjmp="present" + export bash_cv_func_ctype_nonascii="yes" + # bug #503312 + export bash_cv_wcwidth_broken="no" + fi + + # This is for rlfe, but we need to make sure LDFLAGS doesn't change + # so we can re-use the config cache file between the two. + append-ldflags -L. + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myeconfargs=( + --cache-file="${BUILD_DIR}"/config.cache + --with-curses + $(use_enable static-libs static) + ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" + + if use utils && multilib_is_native_abi && ! tc-is-cross-compiler ; then + # Code is full of AC_TRY_RUN() + mkdir -p examples/rlfe || die + cd examples/rlfe || die + + ECONF_SOURCE="${S}"/examples/rlfe econf --cache-file="${BUILD_DIR}"/config.cache + fi +} + +multilib_src_compile() { + emake + + if use utils && multilib_is_native_abi && ! tc-is-cross-compiler ; then + # Code is full of AC_TRY_RUN() + cd examples/rlfe || die + local l + for l in readline history ; do + ln -s ../../shlib/lib${l}$(get_libname)* lib${l}$(get_libname) || die + ln -s ../../lib${l}.a lib${l}.a || die + done + emake + fi +} + +multilib_src_install() { + default + + if multilib_is_native_abi ; then + if use utils && ! tc-is-cross-compiler; then + dobin examples/rlfe/rlfe + fi + fi +} + +multilib_src_install_all() { + HTML_DOCS="doc/history.html doc/readline.html doc/rluserman.html" einstalldocs + + dodoc USAGE + docinto ps + dodoc doc/*.ps +} +pkg_preinst() { + # bug #29865 + # Reappeared in bug #595324 with paludis so keeping this for now... + preserve_old_lib \ + /$(get_libdir)/lib{history,readline}$(get_libname 4) \ + /$(get_libdir)/lib{history,readline}$(get_libname 5) \ + /$(get_libdir)/lib{history,readline}$(get_libname 6) \ + /$(get_libdir)/lib{history,readline}$(get_libname 7) +} + +pkg_postinst() { + preserve_old_lib_notify \ + /$(get_libdir)/lib{history,readline}$(get_libname 4) \ + /$(get_libdir)/lib{history,readline}$(get_libname 5) \ + /$(get_libdir)/lib{history,readline}$(get_libname 6) \ + /$(get_libdir)/lib{history,readline}$(get_libname 7) +} diff --git a/sdk_container/src/third_party/portage-stable/sys-process/audit/Manifest b/sdk_container/src/third_party/portage-stable/sys-process/audit/Manifest index d447a382ee8..317f73b539b 100644 --- a/sdk_container/src/third_party/portage-stable/sys-process/audit/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-process/audit/Manifest @@ -1,3 +1 @@ -DIST audit-3.1.2.tar.gz 1219860 BLAKE2B dfdec470bf12cce6c570b3d260e65e2b49e8ac0761e6a6fbf7b4f4a57f92e88367cd74bfcb88e6d718619b88fea27ce963a977c9f4346c95d18a5310e217accb SHA512 a97003a294ed3671df01e2952688e7d5eef59a35f6891feb53e67c4c7eab9ae8c2d18de41a5b5b20e0ad7156fac93aec05f32f6bc5eea706b42b6f27f676446a -DIST audit-3.1.4.tar.gz 1225648 BLAKE2B c6875f7d031e810469511ac8f86f05b2de7f19c044dbf67bc9d66430167fcf0f031e0279ce170a496b672a6fc99ee18b8cc39943e6faf3c19a24a381d2701439 SHA512 d26c498c91e838d97d3f199630650f509bb1e82b44d364306b20db32d4116fa73d775ef56c0fed2ec8d548b19215052691cbc80c74699bc87f2a0ea08cf664f5 DIST audit-4.0.1.tar.gz 1194961 BLAKE2B 590abf58e672921a432348f48936cfbff0b6ddfa47e77b3b20eaa00e5d1c4ce2fc8d10c1fc1cbc19d44c09a9f7dfbca76778c94d8d340485c2bb1bb3b5a3c95a SHA512 7fbc426d0ddea340a36ceab52ac090e8e3dfb3450ebf50b478324a097f19ab4bb2cf78a2532644acb17e6114b59b8fda718affda9da62fb84181e3abf76039df diff --git a/sdk_container/src/third_party/portage-stable/sys-process/audit/audit-3.1.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-process/audit/audit-3.1.2.ebuild deleted file mode 100644 index 62947e3e355..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-process/audit/audit-3.1.2.ebuild +++ /dev/null @@ -1,196 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# As with sys-libs/libcap-ng, same maintainer in Fedora as upstream, so -# check Fedora's packaging (https://src.fedoraproject.org/rpms/audit/tree/rawhide) -# on bumps (or if hitting a bug) to see what they've done there. - -PYTHON_COMPAT=( python3_{10..12} ) - -inherit autotools multilib-minimal toolchain-funcs python-r1 linux-info systemd usr-ldscript - -DESCRIPTION="Userspace utilities for storing and processing auditing records" -HOMEPAGE="https://people.redhat.com/sgrubb/audit/" -SRC_URI="https://people.redhat.com/sgrubb/audit/${P}.tar.gz" - -LICENSE="GPL-2+ LGPL-2.1+" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" -IUSE="gssapi io-uring ldap python static-libs test" - -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" -RESTRICT="!test? ( test )" - -RDEPEND=" - sys-libs/libcap-ng - gssapi? ( virtual/krb5 ) - ldap? ( net-nds/openldap:= ) - python? ( ${PYTHON_DEPS} ) -" -DEPEND=" - ${RDEPEND} - >=sys-kernel/linux-headers-2.6.34 - test? ( dev-libs/check ) -" -BDEPEND="python? ( - dev-lang/swig - $(python_gen_cond_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ' python3_12) - ) -" - -CONFIG_CHECK="~AUDIT" - -PATCHES=( - "${FILESDIR}"/${PN}-3.0.8-musl-malloc.patch -) - -QA_CONFIG_IMPL_DECL_SKIP=( - # missing on musl. Uses handrolled AC_LINK_IFELSE but fails at link time - # for older compilers regardless. bug #898828 - strndupa -) - -src_prepare() { - # audisp-remote moved in multilib_src_install_all - sed -i \ - -e "s,/sbin/audisp-remote,${EPREFIX}/usr/sbin/audisp-remote," \ - audisp/plugins/remote/au-remote.conf || die - - # Disable installing sample rules so they can be installed as docs. - echo -e '%:\n\t:' | tee rules/Makefile.{am,in} >/dev/null || die - - default - eautoreconf -} - -multilib_src_configure() { - local myeconfargs=( - --sbindir="${EPREFIX}"/sbin - $(use_enable gssapi gssapi-krb5) - $(use_enable ldap zos-remote) - $(use_enable static-libs static) - $(use_with io-uring io_uring) - $(use_with arm) - $(use_with arm64 aarch64) - --enable-systemd - --without-golang - --without-libwrap - --without-python - --without-python3 - ) - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" - - if multilib_is_native_abi && use python; then - python_configure() { - mkdir -p "${BUILD_DIR}" || die - pushd "${BUILD_DIR}" &>/dev/null || die - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" --with-python3 - find . -type f -name 'Makefile' -exec sed -i "s;-I/usr/include/python;-I${SYSROOT}/usr/include/python;g" {} + - - popd &>/dev/null || die - } - - python_foreach_impl python_configure - fi -} - -src_configure() { - tc-export_build_env BUILD_{CC,CPP} - - local -x CC_FOR_BUILD="${BUILD_CC}" - local -x CPP_FOR_BUILD="${BUILD_CPP}" - - multilib-minimal_src_configure -} - -multilib_src_compile() { - if multilib_is_native_abi; then - default - - local native_build="${BUILD_DIR}" - - python_compile() { - emake -C "${BUILD_DIR}"/bindings/swig top_builddir="${native_build}" - emake -C "${BUILD_DIR}"/bindings/python/python3 top_builddir="${native_build}" - } - - use python && python_foreach_impl python_compile - else - emake -C common - emake -C lib - emake -C auparse - fi -} - -multilib_src_install() { - if multilib_is_native_abi; then - emake DESTDIR="${D}" initdir="$(systemd_get_systemunitdir)" install - - local native_build="${BUILD_DIR}" - - python_install() { - emake -C "${BUILD_DIR}"/bindings/swig DESTDIR="${D}" top_builddir="${native_build}" install - emake -C "${BUILD_DIR}"/bindings/python/python3 DESTDIR="${D}" top_builddir="${native_build}" install - python_optimize - } - - use python && python_foreach_impl python_install - - # Things like shadow use this so we need to be in / - gen_usr_ldscript -a audit auparse - else - emake -C lib DESTDIR="${D}" install - emake -C auparse DESTDIR="${D}" install - fi -} - -multilib_src_install_all() { - dodoc AUTHORS ChangeLog README* THANKS - docinto contrib - dodoc contrib/avc_snap - docinto contrib/plugin - dodoc contrib/plugin/* - docinto rules - dodoc rules/*rules - - newinitd "${FILESDIR}"/auditd-init.d-2.4.3 auditd - newconfd "${FILESDIR}"/auditd-conf.d-2.1.3 auditd - - if [[ -f "${ED}"/sbin/audisp-remote ]] ; then - dodir /usr/sbin - mv "${ED}"/{sbin,usr/sbin}/audisp-remote || die - fi - - # Gentoo rules - insinto /etc/audit - newins "${FILESDIR}"/audit.rules-2.1.3 audit.rules - doins "${FILESDIR}"/audit.rules.stop* - keepdir /etc/audit/rules.d - - # audit logs go here - keepdir /var/log/audit - - find "${ED}" -type f -name '*.la' -delete || die - - # Security - lockdown_perms "${ED}" -} - -pkg_postinst() { - lockdown_perms "${EROOT}" -} - -lockdown_perms() { - # Upstream wants these to have restrictive perms. - # Should not || die as not all paths may exist. - local basedir="${1}" - chmod 0750 "${basedir}"/sbin/au{ditctl,ditd,report,search,trace} 2>/dev/null - chmod 0750 "${basedir}"/var/log/audit 2>/dev/null - chmod 0640 "${basedir}"/etc/audit/{auditd.conf,audit*.rules*} 2>/dev/null -} diff --git a/sdk_container/src/third_party/portage-stable/sys-process/audit/audit-3.1.4-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-process/audit/audit-3.1.4-r1.ebuild deleted file mode 100644 index 11755f4501c..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-process/audit/audit-3.1.4-r1.ebuild +++ /dev/null @@ -1,197 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# As with sys-libs/libcap-ng, same maintainer in Fedora as upstream, so -# check Fedora's packaging (https://src.fedoraproject.org/rpms/audit/tree/rawhide) -# on bumps (or if hitting a bug) to see what they've done there. - -PYTHON_COMPAT=( python3_{10..13} ) - -inherit autotools multilib-minimal toolchain-funcs python-r1 linux-info systemd usr-ldscript - -DESCRIPTION="Userspace utilities for storing and processing auditing records" -HOMEPAGE="https://people.redhat.com/sgrubb/audit/" -SRC_URI="https://people.redhat.com/sgrubb/audit/${P}.tar.gz" - -LICENSE="GPL-2+ LGPL-2.1+" -SLOT="0" -KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86" -IUSE="gssapi io-uring ldap python static-libs test" - -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" -RESTRICT="!test? ( test )" - -RDEPEND=" - sys-libs/libcap-ng - gssapi? ( virtual/krb5 ) - ldap? ( net-nds/openldap:= ) - python? ( ${PYTHON_DEPS} ) -" -DEPEND=" - ${RDEPEND} - >=sys-kernel/linux-headers-2.6.34 - test? ( dev-libs/check ) -" -BDEPEND=" - python? ( - dev-lang/swig - $(python_gen_cond_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ' python3_12) - ) -" - -CONFIG_CHECK="~AUDIT" - -QA_CONFIG_IMPL_DECL_SKIP=( - # missing on musl. Uses handrolled AC_LINK_IFELSE but fails at link time - # for older compilers regardless. bug #898828 - strndupa -) - -PATCHES=( - "${FILESDIR}"/${P}-c99.patch -) - -src_prepare() { - # audisp-remote moved in multilib_src_install_all - sed -i \ - -e "s,/sbin/audisp-remote,${EPREFIX}/usr/sbin/audisp-remote," \ - audisp/plugins/remote/au-remote.conf || die - - # Disable installing sample rules so they can be installed as docs. - echo -e '%:\n\t:' | tee rules/Makefile.{am,in} >/dev/null || die - - default - eautoreconf -} - -multilib_src_configure() { - local myeconfargs=( - --sbindir="${EPREFIX}"/sbin - $(use_enable gssapi gssapi-krb5) - $(use_enable ldap zos-remote) - $(use_enable static-libs static) - $(use_with arm) - $(use_with arm64 aarch64) - $(use_with io-uring io_uring) - --enable-systemd - --without-golang - --without-libwrap - --without-python - --without-python3 - ) - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" - - if multilib_is_native_abi && use python; then - python_configure() { - mkdir -p "${BUILD_DIR}" || die - pushd "${BUILD_DIR}" &>/dev/null || die - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" --with-python3 - find . -type f -name 'Makefile' -exec sed -i "s;-I/usr/include/python;-I${SYSROOT}/usr/include/python;g" {} + - - popd &>/dev/null || die - } - - python_foreach_impl python_configure - fi -} - -src_configure() { - tc-export_build_env BUILD_{CC,CPP} - - local -x CC_FOR_BUILD="${BUILD_CC}" - local -x CPP_FOR_BUILD="${BUILD_CPP}" - - multilib-minimal_src_configure -} - -multilib_src_compile() { - if multilib_is_native_abi; then - default - - local native_build="${BUILD_DIR}" - - python_compile() { - emake -C "${BUILD_DIR}"/bindings/swig top_builddir="${native_build}" - emake -C "${BUILD_DIR}"/bindings/python/python3 top_builddir="${native_build}" - } - - use python && python_foreach_impl python_compile - else - emake -C common - emake -C lib - emake -C auparse - fi -} - -multilib_src_install() { - if multilib_is_native_abi; then - emake DESTDIR="${D}" initdir="$(systemd_get_systemunitdir)" install - - local native_build="${BUILD_DIR}" - - python_install() { - emake -C "${BUILD_DIR}"/bindings/swig DESTDIR="${D}" top_builddir="${native_build}" install - emake -C "${BUILD_DIR}"/bindings/python/python3 DESTDIR="${D}" top_builddir="${native_build}" install - python_optimize - } - - use python && python_foreach_impl python_install - - # Things like shadow use this so we need to be in / - gen_usr_ldscript -a audit auparse - else - emake -C lib DESTDIR="${D}" install - emake -C auparse DESTDIR="${D}" install - fi -} - -multilib_src_install_all() { - dodoc AUTHORS ChangeLog README* THANKS - docinto contrib - dodoc contrib/avc_snap - docinto contrib/plugin - dodoc contrib/plugin/* - docinto rules - dodoc rules/*rules - - newinitd "${FILESDIR}"/auditd-init.d-2.4.3 auditd - newconfd "${FILESDIR}"/auditd-conf.d-2.1.3 auditd - - if [[ -f "${ED}"/sbin/audisp-remote ]] ; then - dodir /usr/sbin - mv "${ED}"/{sbin,usr/sbin}/audisp-remote || die - fi - - # Gentoo rules - insinto /etc/audit - newins "${FILESDIR}"/audit.rules-2.1.3 audit.rules - doins "${FILESDIR}"/audit.rules.stop* - keepdir /etc/audit/rules.d - - # audit logs go here - keepdir /var/log/audit - - find "${ED}" -type f -name '*.la' -delete || die - - # Security - lockdown_perms "${ED}" -} - -pkg_postinst() { - lockdown_perms "${EROOT}" -} - -lockdown_perms() { - # Upstream wants these to have restrictive perms. - # Should not || die as not all paths may exist. - local basedir="${1}" - chmod 0750 "${basedir}"/sbin/au{ditctl,ditd,report,search,trace} 2>/dev/null - chmod 0750 "${basedir}"/var/log/audit 2>/dev/null - chmod 0640 "${basedir}"/etc/audit/{auditd.conf,audit*.rules*} 2>/dev/null -} diff --git a/sdk_container/src/third_party/portage-stable/sys-process/audit/files/audit-3.0.8-musl-malloc.patch b/sdk_container/src/third_party/portage-stable/sys-process/audit/files/audit-3.0.8-musl-malloc.patch deleted file mode 100644 index 7233aabe03c..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-process/audit/files/audit-3.0.8-musl-malloc.patch +++ /dev/null @@ -1,29 +0,0 @@ -https://cgit.openembedded.org/meta-openembedded/tree/meta-oe/recipes-security/audit/audit/0001-Replace-__attribute_malloc__-with-__attribute__-__ma.patch?id=ad978133a1a10d609bb2545882a2f720a2572f3d -https://github.com/linux-audit/audit-userspace/pull/311 -https://bugs.gentoo.org/837275 - -From 79c8d6a2755c9dfa00a5e86378e89a94eef0504d Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 9 Aug 2022 23:57:03 -0700 -Subject: [PATCH] Replace __attribute_malloc__ with - __attribute__((__malloc__)) - -__attribute_malloc__ is not available on musl - -Fixes -| ../../git/auparse/auparse.h:54:2: error: expected function body after function declarator -| __attribute_malloc__ __attr_dealloc (auparse_destroy, 1); -| ^ - -Signed-off-by: Khem Raj ---- a/auparse/auparse.h -+++ b/auparse/auparse.h -@@ -51,7 +51,7 @@ typedef void (*auparse_callback_ptr)(auparse_state_t *au, - void auparse_destroy(auparse_state_t *au); - void auparse_destroy_ext(auparse_state_t *au, auparse_destroy_what_t what); - auparse_state_t *auparse_init(ausource_t source, const void *b) -- __attribute_malloc__ __attr_dealloc (auparse_destroy, 1); -+ __attribute__((__malloc__)) __attr_dealloc (auparse_destroy, 1); - int auparse_new_buffer(auparse_state_t *au, const char *data, size_t data_len) - __attr_access ((__read_only__, 2, 3)); - int auparse_feed(auparse_state_t *au, const char *data, size_t data_len) diff --git a/sdk_container/src/third_party/portage-stable/sys-process/audit/files/audit-3.1.4-c99.patch b/sdk_container/src/third_party/portage-stable/sys-process/audit/files/audit-3.1.4-c99.patch deleted file mode 100644 index e78d2603864..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-process/audit/files/audit-3.1.4-c99.patch +++ /dev/null @@ -1,599 +0,0 @@ -https://bugs.gentoo.org/936080 -https://github.com/linux-audit/audit-userspace/commit/ec6763ed29a034b452a6fb568b226c57c7be30e7 - -From ec6763ed29a034b452a6fb568b226c57c7be30e7 Mon Sep 17 00:00:00 2001 -From: Yanase Yuki <41878038+zpc0@users.noreply.github.com> -Date: Tue, 14 May 2024 04:51:35 +0900 -Subject: [PATCH] Implicit builtin functions (#372) - -Correct a number of places where printf is being used without a prototype. -All cases are in libraries which should not be using printf. Change them -to return an error rather than communicate the problem. - -This is a backport of 8c7eaa7 - -Co-authored-by: Steve Grubb ---- a/audisp/audispd-llist.c -+++ b/audisp/audispd-llist.c -@@ -69,15 +69,13 @@ unsigned int plist_count_active(const conf_llist *l) - return cnt; - } - --void plist_append(conf_llist *l, plugin_conf_t *p) -+int plist_append(conf_llist *l, plugin_conf_t *p) - { - lnode* newnode; - - newnode = malloc(sizeof(lnode)); -- if (newnode == NULL) { -- printf("Out of memory. Check %s file, %d line", __FILE__, __LINE__); -- return; -- } -+ if (newnode == NULL) -+ return 1; - - if (p) { - void *pp = malloc(sizeof(struct plugin_conf)); -@@ -98,6 +96,8 @@ void plist_append(conf_llist *l, plugin_conf_t *p) - // make newnode current - l->cur = newnode; - l->cnt++; -+ -+ return 0; - } - - void plist_clear(conf_llist* l) ---- a/audisp/audispd-llist.h -+++ b/audisp/audispd-llist.h -@@ -1,6 +1,6 @@ - /* - * audispd-llist.h - Header file for ausearch-conf_llist.c --* Copyright (c) 2007,2013 Red Hat Inc., Durham, North Carolina. -+* Copyright (c) 2007,2013 Red Hat Inc. - * All Rights Reserved. - * - * This software may be freely redistributed and/or modified under the -@@ -51,7 +51,7 @@ unsigned int plist_count_active(const conf_llist *l); - void plist_last(conf_llist *l); - lnode *plist_next(conf_llist *l); - static inline lnode *plist_get_cur(conf_llist *l) { return l->cur; } --void plist_append(conf_llist *l, plugin_conf_t *p); -+int plist_append(conf_llist *l, plugin_conf_t *p); - void plist_clear(conf_llist* l); - void plist_mark_all_unchecked(conf_llist* l); - lnode *plist_find_unchecked(conf_llist* l); ---- a/auparse/normalize-llist.c -+++ b/auparse/normalize-llist.c -@@ -1,6 +1,6 @@ - /* - * normalize-llist.c - Minimal linked list library -- * Copyright (c) 2016-17 Red Hat Inc., Durham, North Carolina. -+ * Copyright (c) 2016-17 Red Hat Inc. - * All Rights Reserved. - * - * This library is free software; you can redistribute it and/or -@@ -61,15 +61,14 @@ data_node *cllist_next(cllist *l) - return l->cur; - } - --void cllist_append(cllist *l, uint32_t num, void *data) -+// Returns 0 on success and 1 on error -+int cllist_append(cllist *l, uint32_t num, void *data) - { - data_node *newnode; - - newnode = malloc(sizeof(data_node)); -- if (newnode == NULL) { -- printf("Out of memory. Check %s file, %d line", __FILE__, __LINE__); -- return; -- } -+ if (newnode == NULL) -+ return 1; - - newnode->num = num; - newnode->data = data; -@@ -84,5 +83,6 @@ void cllist_append(cllist *l, uint32_t num, void *data) - // make newnode current - l->cur = newnode; - l->cnt++; -+ return 0; - } - ---- a/auparse/normalize-llist.h -+++ b/auparse/normalize-llist.h -@@ -1,6 +1,6 @@ - /* - * normalize-llist.h - Header file for normalize-llist.c -- * Copyright (c) 2016-17 Red Hat Inc., Durham, North Carolina. -+ * Copyright (c) 2016-17 Red Hat Inc. - * All Rights Reserved. - * - * This library is free software; you can redistribute it and/or -@@ -53,7 +53,7 @@ AUDIT_HIDDEN_START - void cllist_create(cllist *l, void (*cleanup)(void *)); - void cllist_clear(cllist* l); - data_node *cllist_next(cllist *l); --void cllist_append(cllist *l, uint32_t num, void *data); -+int cllist_append(cllist *l, uint32_t num, void *data); - - AUDIT_HIDDEN_END - ---- a/auparse/normalize.c -+++ b/auparse/normalize.c -@@ -179,7 +179,8 @@ static unsigned int add_subj_attr(auparse_state_t *au, const char *str, - if ((auparse_find_field(au, str))) { - attr = set_record(0, rnum); - attr = set_field(attr, auparse_get_field_num(au)); -- cllist_append(&D.actor.attr, attr, NULL); -+ if (cllist_append(&D.actor.attr, attr, NULL)) -+ return 1; - return 0; - } else - auparse_goto_record_num(au, rnum); -@@ -224,7 +225,8 @@ static unsigned int add_obj_attr(auparse_state_t *au, const char *str, - if ((auparse_find_field(au, str))) { - attr = set_record(0, rnum); - attr = set_field(attr, auparse_get_field_num(au)); -- cllist_append(&D.thing.attr, attr, NULL); -+ if (cllist_append(&D.thing.attr, attr, NULL)) -+ return 1; - return 0; - } else - auparse_goto_record_num(au, rnum); -@@ -360,21 +362,23 @@ static void collect_id_obj2(auparse_state_t *au, const char *syscall) - } - } - --static void collect_path_attrs(auparse_state_t *au) -+static int collect_path_attrs(auparse_state_t *au) - { - value_t attr; - unsigned int rnum = auparse_get_record_num(au); - - auparse_first_field(au); - if (add_obj_attr(au, "mode", rnum)) -- return; // Failed opens don't have anything else -+ return 1; // Failed opens don't have anything else - - // All the rest of the fields matter - while ((auparse_next_field(au))) { - attr = set_record(0, rnum); - attr = set_field(attr, auparse_get_field_num(au)); -- cllist_append(&D.thing.attr, attr, NULL); -+ if (cllist_append(&D.thing.attr, attr, NULL)) -+ return 1; - } -+ return 0; - } - - static void collect_cwd_attrs(auparse_state_t *au) ---- a/src/auditctl-llist.c -+++ b/src/auditctl-llist.c -@@ -1,7 +1,7 @@ - /* - * ausearch-llist.c - Minimal linked list library --* Copyright (c) 2005 Red Hat Inc., Durham, North Carolina. --* All Rights Reserved. -+* Copyright (c) 2005 Red Hat Inc. -+* All Rights Reserved. - * - * This software may be freely redistributed and/or modified under the - * terms of the GNU General Public License as published by the Free -@@ -15,7 +15,7 @@ - * - * You should have received a copy of the GNU General Public License - * along with this program; see the file COPYING. If not, write to the --* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor -+* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor - * Boston, MA 02110-1335, USA. - * - * Authors: -@@ -59,19 +59,17 @@ lnode *list_next(llist *l) - return l->cur; - } - --void list_append(llist *l, struct audit_rule_data *r, size_t sz) -+int list_append(llist *l, struct audit_rule_data *r, size_t sz) - { - lnode* newnode; - - newnode = malloc(sizeof(lnode)); -- if (newnode == NULL) { -- printf("Out of memory. Check %s file, %d line", __FILE__, __LINE__); -- return; -- } -+ if (newnode == NULL) -+ return 1; - - if (r) { - void *rr = malloc(sz); -- if (rr) -+ if (rr) - memcpy(rr, r, sz); - newnode->r = rr; - } else -@@ -89,6 +87,8 @@ void list_append(llist *l, struct audit_rule_data *r, size_t sz) - // make newnode current - l->cur = newnode; - l->cnt++; -+ -+ return 0; - } - - void list_clear(llist* l) ---- a/src/auditctl-llist.h -+++ b/src/auditctl-llist.h -@@ -1,6 +1,6 @@ - /* - * auditctl-llist.h - Header file for ausearch-llist.c --* Copyright (c) 2005 Red Hat Inc., Durham, North Carolina. -+* Copyright (c) 2005 Red Hat Inc. - * All Rights Reserved. - * - * This software may be freely redistributed and/or modified under the -@@ -50,7 +50,7 @@ void list_first(llist *l); - void list_last(llist *l); - lnode *list_next(llist *l); - static inline lnode *list_get_cur(llist *l) { return l->cur; } --void list_append(llist *l, struct audit_rule_data *r, size_t sz); -+int list_append(llist *l, struct audit_rule_data *r, size_t sz); - void list_clear(llist* l); - - #endif ---- a/src/ausearch-avc.c -+++ b/src/ausearch-avc.c -@@ -1,7 +1,7 @@ - /* - * ausearch-avc.c - Minimal linked list library for avcs --* Copyright (c) 2006,2008,2014 Red Hat Inc., Durham, North Carolina. --* All Rights Reserved. -+* Copyright (c) 2006,2008,2014 Red Hat Inc. -+* All Rights Reserved. - * - * This software may be freely redistributed and/or modified under the - * terms of the GNU General Public License as published by the Free -@@ -15,7 +15,7 @@ - * - * You should have received a copy of the GNU General Public License - * along with this program; see the file COPYING. If not, write to the --* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor -+* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor - * Boston, MA 02110-1335, USA. - * - * Authors: -@@ -62,15 +62,13 @@ static void alist_last(alist *l) - l->cur = cur; - } - --void alist_append(alist *l, anode *node) -+int alist_append(alist *l, anode *node) - { - anode* newnode; - - newnode = malloc(sizeof(anode)); -- if (newnode == NULL) { -- printf("Out of memory. Check %s file, %d line", __FILE__, __LINE__); -- return; -- } -+ if (newnode == NULL) -+ return 1; - - if (node->scontext) - newnode->scontext = node->scontext; -@@ -108,6 +106,8 @@ void alist_append(alist *l, anode *node) - // make newnode current - l->cur = newnode; - l->cnt++; -+ -+ return 0; - } - - int alist_find_subj(alist *l) ---- a/src/ausearch-avc.h -+++ b/src/ausearch-avc.h -@@ -1,6 +1,6 @@ - /* - * ausearch-avc.h - Header file for ausearch-string.c --* Copyright (c) 2006,2008 Red Hat Inc., Durham, North Carolina. -+* Copyright (c) 2006,2008 Red Hat Inc. - * All Rights Reserved. - * - * This software may be freely redistributed and/or modified under the -@@ -54,7 +54,7 @@ void alist_create(alist *l); - static inline void alist_first(alist *l) { l->cur = l->head; } - anode *alist_next(alist *l); - static inline anode *alist_get_cur(alist *l) { return l->cur; } --void alist_append(alist *l, anode *node); -+int alist_append(alist *l, anode *node); - void anode_init(anode *an); - void anode_clear(anode *an); - void alist_clear(alist* l); ---- a/src/ausearch-int.c -+++ b/src/ausearch-int.c -@@ -1,6 +1,6 @@ - /* - * ausearch-int.c - Minimal linked list library for integers --* Copyright (c) 2005,2008 Red Hat Inc., Durham, North Carolina. -+* Copyright (c) 2005,2008 Red Hat Inc. - * All Rights Reserved. - * - * This software may be freely redistributed and/or modified under the -@@ -41,15 +41,13 @@ int_node *ilist_next(ilist *l) - return l->cur; - } - --void ilist_append(ilist *l, int num, unsigned int hits, int aux) -+int ilist_append(ilist *l, int num, unsigned int hits, int aux) - { - int_node* newnode; - - newnode = malloc(sizeof(int_node)); -- if (newnode == NULL) { -- printf("Out of memory. Check %s file, %d line", __FILE__, __LINE__); -- return; -- } -+ if (newnode == NULL) -+ return 1; - - newnode->num = num; - newnode->hits = hits; -@@ -65,6 +63,8 @@ void ilist_append(ilist *l, int num, unsigned int hits, int aux) - // make newnode current - l->cur = newnode; - l->cnt++; -+ -+ return 0; - } - - void ilist_clear(ilist* l) ---- a/src/ausearch-int.h -+++ b/src/ausearch-int.h -@@ -1,6 +1,6 @@ - /* - * ausearch-int.h - Header file for ausearch-int.c --* Copyright (c) 2005,2008 Red Hat Inc., Durham, North Carolina. -+* Copyright (c) 2005,2008 Red Hat Inc. - * All Rights Reserved. - * - * This software may be freely redistributed and/or modified under the -@@ -48,7 +48,7 @@ void ilist_create(ilist *l); - static inline void ilist_first(ilist *l) { l->cur = l->head; } - int_node *ilist_next(ilist *l); - static inline int_node *ilist_get_cur(ilist *l) { return l->cur; } --void ilist_append(ilist *l, int num, unsigned int hits, int aux); -+int ilist_append(ilist *l, int num, unsigned int hits, int aux); - void ilist_clear(ilist* l); - - /* append a number if its not already on the list */ ---- a/src/ausearch-llist.c -+++ b/src/ausearch-llist.c -@@ -1,6 +1,6 @@ - /* - * ausearch-llist.c - Minimal linked list library --* Copyright (c) 2005-2008,2011,2016 Red Hat Inc., Durham, North Carolina. -+* Copyright (c) 2005-2008,2011,2016 Red Hat Inc. - * Copyright (c) 2011 IBM Corp. - * All Rights Reserved. - * -@@ -102,15 +102,13 @@ lnode *list_prev(llist *l) - return l->cur; - } - --void list_append(llist *l, lnode *node) -+int list_append(llist *l, lnode *node) - { - lnode* newnode; - - newnode = malloc(sizeof(lnode)); -- if (newnode == NULL) { -- printf("Out of memory. Check %s file, %d line", __FILE__, __LINE__); -- return; -- } -+ if (newnode == NULL) -+ return 1; - - if (node->message) - newnode->message = node->message; -@@ -123,7 +121,7 @@ void list_append(llist *l, lnode *node) - newnode->type = node->type; - newnode->a0 = node->a0; - newnode->a1 = node->a1; -- newnode->item = l->cnt; -+ newnode->item = l->cnt; - newnode->next = NULL; - - // if we are at top, fix this up -@@ -135,6 +133,8 @@ void list_append(llist *l, lnode *node) - // make newnode current - l->cur = newnode; - l->cnt++; -+ -+ return 0; - } - - int list_find_item(llist *l, unsigned int i) ---- a/src/ausearch-llist.h -+++ b/src/ausearch-llist.h -@@ -107,7 +107,7 @@ void list_last(llist *l); - lnode *list_next(llist *l); - lnode *list_prev(llist *l); - static inline lnode *list_get_cur(llist *l) { return l->cur; } --void list_append(llist *l, lnode *node); -+int list_append(llist *l, lnode *node); - void list_clear(llist* l); - int list_get_event(llist* l, event *e); - ---- a/src/ausearch-nvpair.c -+++ b/src/ausearch-nvpair.c -@@ -1,6 +1,6 @@ - /* - * ausearch-nvpair.c - Minimal linked list library for name-value pairs --* Copyright (c) 2006-08 Red Hat Inc., Durham, North Carolina. -+* Copyright (c) 2006-08 Red Hat Inc. - * All Rights Reserved. - * - * This software may be freely redistributed and/or modified under the -@@ -42,13 +42,11 @@ nvnode *search_list_next(nvlist *l) - return l->cur; - } - --void search_list_append(nvlist *l, nvnode *node) -+int search_list_append(nvlist *l, nvnode *node) - { - nvnode* newnode = malloc(sizeof(nvnode)); -- if (newnode == NULL) { -- printf("Out of memory. Check %s file, %d line", __FILE__, __LINE__); -- return; -- } -+ if (newnode == NULL) -+ return 1; - - newnode->name = node->name; - newnode->val = node->val; -@@ -66,6 +64,8 @@ void search_list_append(nvlist *l, nvnode *node) - // make newnode current - l->cur = newnode; - l->cnt++; -+ -+ return 0; - } - - int search_list_find_val(nvlist *l, long val) ---- a/src/ausearch-nvpair.h -+++ b/src/ausearch-nvpair.h -@@ -1,6 +1,6 @@ - /* - * ausearch-nvpair.h - Header file for ausearch-nvpair.c --* Copyright (c) 2006-08 Red Hat Inc., Durham, North Carolina. -+* Copyright (c) 2006-08 Red Hat Inc. - * All Rights Reserved. - * - * This software may be freely redistributed and/or modified under the -@@ -48,7 +48,7 @@ void search_list_create(nvlist *l); - static inline void search_list_first(nvlist *l) { l->cur = l->head; } - nvnode *search_list_next(nvlist *l); - static inline nvnode *search_list_get_cur(nvlist *l) { return l->cur; } --void search_list_append(nvlist *l, nvnode *node); -+int search_list_append(nvlist *l, nvnode *node); - void search_list_clear(nvlist* l); - - /* Given a numeric index, find that record. */ ---- a/src/ausearch-string.c -+++ b/src/ausearch-string.c -@@ -44,15 +44,13 @@ snode *slist_next(slist *l) - return l->cur; - } - --void slist_append(slist *l, snode *node) -+int slist_append(slist *l, snode *node) - { - snode* newnode; - - newnode = malloc(sizeof(snode)); -- if (newnode == NULL) { -- printf("Out of memory. Check %s file, %d line", __FILE__, __LINE__); -- return; -- } -+ if (newnode == NULL) -+ return 1; - - if (node->str) - newnode->str = node->str; -@@ -79,6 +77,8 @@ void slist_append(slist *l, snode *node) - // make newnode current - l->cur = newnode; - l->cnt++; -+ -+ return 0; - } - - void slist_clear(slist* l) ---- a/src/ausearch-string.h -+++ b/src/ausearch-string.h -@@ -49,7 +49,7 @@ void slist_create(slist *l); - static inline void slist_first(slist *l) { l->cur = l->head; } - snode *slist_next(slist *l); - static inline snode *slist_get_cur(slist *l) { return l->cur; } --void slist_append(slist *l, snode *node); -+int slist_append(slist *l, snode *node); - void slist_clear(slist* l); - - /* append a string if its not already on the list */ ---- a/tools/aulastlog/aulastlog-llist.c -+++ b/tools/aulastlog/aulastlog-llist.c -@@ -1,7 +1,7 @@ - /* - * aulastlog-llist.c - Minimal linked list library --* Copyright (c) 2008 Red Hat Inc., Durham, North Carolina. --* All Rights Reserved. -+* Copyright (c) 2008 Red Hat Inc.. -+* All Rights Reserved. - * - * This software may be freely redistributed and/or modified under the - * terms of the GNU General Public License as published by the Free -@@ -15,7 +15,7 @@ - * - * You should have received a copy of the GNU General Public License - * along with this program; see the file COPYING. If not, write to the --* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor -+* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor - * Boston, MA 02110-1335, USA. - * - * Authors: -@@ -41,15 +41,13 @@ lnode *list_next(llist *l) - return l->cur; - } - --void list_append(llist *l, lnode *node) -+int list_append(llist *l, lnode *node) - { - lnode* newnode; - - newnode = malloc(sizeof(lnode)); -- if (newnode == NULL) { -- printf("Out of memory. Check %s file, %d line", __FILE__, __LINE__); -- return; -- } -+ if (newnode == NULL) -+ return 1; - - newnode->sec = node->sec; - newnode->uid = node->uid; -@@ -62,7 +60,7 @@ void list_append(llist *l, lnode *node) - newnode->term = strdup(node->term); - else - newnode->term = NULL; -- newnode->item = l->cnt; -+ newnode->item = l->cnt; - newnode->next = NULL; - - // if we are at top, fix this up -@@ -74,6 +72,8 @@ void list_append(llist *l, lnode *node) - // make newnode current - l->cur = newnode; - l->cnt++; -+ -+ return 0; - } - - void list_clear(llist* l) ---- a/tools/aulastlog/aulastlog-llist.h -+++ b/tools/aulastlog/aulastlog-llist.h -@@ -1,6 +1,6 @@ - /* - * aulastlog-llist.h - Header file for aulastlog-llist.c --* Copyright (c) 2008 Red Hat Inc., Durham, North Carolina. -+* Copyright (c) 2008 Red Hat Inc. - * All Rights Reserved. - * - * This software may be freely redistributed and/or modified under the -@@ -53,7 +53,7 @@ static inline void list_first(llist *l) { l->cur = l->head; } - lnode *list_next(llist *l); - static inline lnode *list_get_cur(llist *l) { return l->cur; } - static inline unsigned int list_get_cnt(llist *l) { return l->cnt; } --void list_append(llist *l, lnode *node); -+int list_append(llist *l, lnode *node); - void list_clear(llist* l); - int list_update_login(llist* l, time_t t); - int list_update_host(llist* l, const char *h); - diff --git a/sdk_container/src/third_party/portage-stable/virtual/perl-Getopt-Long/perl-Getopt-Long-2.580.0.ebuild b/sdk_container/src/third_party/portage-stable/virtual/perl-Getopt-Long/perl-Getopt-Long-2.580.0.ebuild new file mode 100644 index 00000000000..db2561de730 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/virtual/perl-Getopt-Long/perl-Getopt-Long-2.580.0.ebuild @@ -0,0 +1,15 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Virtual for ${PN#perl-}" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + +RDEPEND=" + ~perl-core/${PN#perl-}-${PV} + dev-lang/perl:= + !perl-core/${PN#perl-}-${PV}-r999 +" diff --git a/sdk_container/src/third_party/portage-stable/virtual/rust/rust-1.81.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/virtual/rust/rust-1.81.0-r1.ebuild index 27f1d021437..332a8b70f29 100644 --- a/sdk_container/src/third_party/portage-stable/virtual/rust/rust-1.81.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/virtual/rust/rust-1.81.0-r1.ebuild @@ -11,7 +11,7 @@ DESCRIPTION="Virtual for Rust language compiler" # we do not allow multiple llvm versions in dev-lang/rust for # neither system nor bundled, so we just hardcode it here. SLOT="0/llvm-18" -KEYWORDS="amd64 arm arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86" +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" IUSE="rustfmt profiler" RDEPEND="|| ( diff --git a/sdk_container/src/third_party/portage-stable/virtual/service-manager/service-manager-1-r3.ebuild b/sdk_container/src/third_party/portage-stable/virtual/service-manager/service-manager-1-r3.ebuild new file mode 100644 index 00000000000..e5a5dfaca39 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/virtual/service-manager/service-manager-1-r3.ebuild @@ -0,0 +1,26 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Virtual for various service managers" + +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + +RDEPEND=" + !prefix-guest? ( + || ( + || ( + sys-apps/openrc + sys-apps/openrc-navi + ) + kernel_linux? ( + || ( + sys-apps/s6-rc + sys-apps/systemd + sys-process/runit + ) + ) + ) + )" diff --git a/sdk_container/src/third_party/portage-stable/x11-libs/pixman/Manifest b/sdk_container/src/third_party/portage-stable/x11-libs/pixman/Manifest index df565779061..d39b1701994 100644 --- a/sdk_container/src/third_party/portage-stable/x11-libs/pixman/Manifest +++ b/sdk_container/src/third_party/portage-stable/x11-libs/pixman/Manifest @@ -1 +1,2 @@ DIST pixman-0.43.4.tar.xz 636900 BLAKE2B c31e5700bfadcd72f522af50509a4a6cd7bbf90c918c75b108e50246f1c76e858125138902a222040ada192710ec788deb43eb65085416f3eff88e3ed970933e SHA512 b40fb05bd58dc78f4e4e9b19c86991ab0611b708657c9a7fb42bfe82d57820a0fde01a34b00a0848a41da6c3fb90c2213942a70f435a0e9467631695d3bc7e36 +DIST pixman-0.44.0.tar.xz 649200 BLAKE2B ea3f5fc5e6febfd3e6acf89b9bb7ce2d7c82d42ede2b3f7df69ce6d65ec2d75d3402523a1a3227135caac34633556dec3010a435ace23f2c8255ea210c03d5db SHA512 3ea293cd308a4faeb600939df2c98148154cf1faf8e435b9f33df46c33acfeb32572cb0c1e148ee9f6f39f9e8a49fbda627edcac03da2000d89e22941849a04d diff --git a/sdk_container/src/third_party/portage-stable/x11-libs/pixman/files/0.43.4-pixman-Adjust-arm-assembly-for-binutils-change.patch b/sdk_container/src/third_party/portage-stable/x11-libs/pixman/files/0.43.4-pixman-Adjust-arm-assembly-for-binutils-change.patch new file mode 100644 index 00000000000..c59ed7b3e81 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/x11-libs/pixman/files/0.43.4-pixman-Adjust-arm-assembly-for-binutils-change.patch @@ -0,0 +1,106 @@ +https://bugs.gentoo.org/942441 + +From 865e6ce00bb79a6b925ed4c2c436e1533e4472aa Mon Sep 17 00:00:00 2001 +From: Mike Hommey +Date: Fri, 12 Jul 2024 11:11:17 -0400 +Subject: [PATCH] pixman: Adjust arm assembly for binutils change + +A change in the latest version of binutils broke building pixman for arm. + +The binutils change: +https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=226749d5a6ff0d5c607d6428d6c81e1e7e7a994b + +Closes: https://gitlab.freedesktop.org/pixman/pixman/-/issues/96 +--- + pixman/pixman-arm-simd-asm.S | 44 ++++++++++++++++++------------------ + 1 file changed, 22 insertions(+), 22 deletions(-) + +diff --git a/pixman/pixman-arm-simd-asm.S b/pixman/pixman-arm-simd-asm.S +index 34d38f1..3dfe723 100644 +--- a/pixman/pixman-arm-simd-asm.S ++++ b/pixman/pixman-arm-simd-asm.S +@@ -820,13 +820,13 @@ generate_composite_function \ + .macro over_white_8888_8888_ca_1pixel_tail + mvn TMP0, WK1 + teq WK1, WK1, asr #32 +- bne 01f +- bcc 03f ++ bne 1f ++ bcc 3f + mov WK3, WK1 +- b 02f +-01: over_white_8888_8888_ca_combine WK1, WK3 +-02: pixst , 4, 3, DST +-03: ++ b 2f ++1: over_white_8888_8888_ca_combine WK1, WK3 ++2: pixst , 4, 3, DST ++3: + .endm + + .macro over_white_8888_8888_ca_2pixels_head +@@ -837,21 +837,21 @@ generate_composite_function \ + pixld , 8, 3, DST + mvn TMP0, WK1 + teq WK1, WK1, asr #32 +- bne 01f ++ bne 1f + movcs WK3, WK1 +- bcs 02f ++ bcs 2f + teq WK2, #0 +- beq 05f +- b 02f +-01: over_white_8888_8888_ca_combine WK1, WK3 +-02: mvn TMP0, WK2 ++ beq 5f ++ b 2f ++1: over_white_8888_8888_ca_combine WK1, WK3 ++2: mvn TMP0, WK2 + teq WK2, WK2, asr #32 +- bne 03f ++ bne 3f + movcs WK4, WK2 +- b 04f +-03: over_white_8888_8888_ca_combine WK2, WK4 +-04: pixst , 8, 3, DST +-05: ++ b 4f ++3: over_white_8888_8888_ca_combine WK2, WK4 ++4: pixst , 8, 3, DST ++5: + .endm + + .macro over_white_8888_8888_ca_process_head cond, numbytes, firstreg, unaligned_src, unaligned_mask, preload +@@ -1067,9 +1067,9 @@ generate_composite_function \ + .if \offset != 0 + ldrb ORIG_W, [SRC, #\offset] + .endif +- beq 01f ++ beq 1f + teq STRIDE_M, #0xFF +- beq 02f ++ beq 2f + .endif + uxtb16 SCRATCH, \d /* rb_dest */ + uxtb16 \d, \d, ror #8 /* ag_dest */ +@@ -1079,13 +1079,13 @@ generate_composite_function \ + uxtab16 \d, \d, \d, ror #8 + mov SCRATCH, SCRATCH, ror #8 + sel \d, SCRATCH, \d +- b 02f ++ b 2f + .if \offset == 0 + 48: /* Last mov d,#0 of the set - used as part of shortcut for + * source values all 0 */ + .endif +-01: mov \d, #0 +-02: ++1: mov \d, #0 ++2: + .endm + + .macro in_reverse_8888_8888_tail numbytes, reg1, reg2, reg3, reg4 +-- +2.45.2 + diff --git a/sdk_container/src/third_party/portage-stable/x11-libs/pixman/pixman-0.43.4.ebuild b/sdk_container/src/third_party/portage-stable/x11-libs/pixman/pixman-0.43.4.ebuild index c4dd7875742..f81d1c4ed4d 100644 --- a/sdk_container/src/third_party/portage-stable/x11-libs/pixman/pixman-0.43.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/x11-libs/pixman/pixman-0.43.4.ebuild @@ -23,6 +23,10 @@ SLOT="0" IUSE="cpu_flags_ppc_altivec cpu_flags_arm_iwmmxt cpu_flags_arm_iwmmxt2 cpu_flags_arm_neon loongson2f cpu_flags_x86_mmxext cpu_flags_x86_sse2 cpu_flags_x86_ssse3 static-libs test" RESTRICT="!test? ( test )" +PATCHES=( + "${FILESDIR}"/${PV}-pixman-Adjust-arm-assembly-for-binutils-change.patch +) + pkg_pretend() { [[ ${MERGE_TYPE} != binary ]] && use test && tc-check-openmp } diff --git a/sdk_container/src/third_party/portage-stable/x11-libs/pixman/pixman-0.44.0.ebuild b/sdk_container/src/third_party/portage-stable/x11-libs/pixman/pixman-0.44.0.ebuild new file mode 100644 index 00000000000..456ea42b857 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/x11-libs/pixman/pixman-0.44.0.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +EGIT_REPO_URI="https://gitlab.freedesktop.org/pixman/pixman.git" + +if [[ ${PV} = 9999* ]]; then + GIT_ECLASS="git-r3" +fi + +inherit ${GIT_ECLASS} meson-multilib multiprocessing toolchain-funcs + +DESCRIPTION="Low-level pixel manipulation routines" +HOMEPAGE="http://www.pixman.org/ https://gitlab.freedesktop.org/pixman/pixman/" +if [[ ${PV} != 9999* ]]; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + SRC_URI="https://www.x.org/releases/individual/lib/${P}.tar.xz" +fi + +LICENSE="MIT" +SLOT="0" +IUSE="cpu_flags_ppc_altivec cpu_flags_arm_neon loongson2f cpu_flags_x86_mmxext cpu_flags_x86_sse2 cpu_flags_x86_ssse3 static-libs test" +RESTRICT="!test? ( test )" + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use test && tc-check-openmp +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use test && tc-check-openmp +} + +multilib_src_configure() { + local emesonargs=( + $(meson_feature cpu_flags_x86_mmxext mmx) + $(meson_feature cpu_flags_x86_sse2 sse2) + $(meson_feature cpu_flags_x86_ssse3 ssse3) + $(meson_feature cpu_flags_ppc_altivec vmx) + $(meson_feature loongson2f loongson-mmi) + $(meson_feature test openmp) # only used in unit tests + $(meson_feature test tests) + -Ddefault_library=$(usex static-libs both shared) + -Ddemos=disabled + -Dgtk=disabled + -Dlibpng=disabled + ) + + if [[ ${ABI} == arm64 ]]; then + emesonargs+=($(meson_feature cpu_flags_arm_neon a64-neon)) + elif [[ ${ABI} == arm ]]; then + emesonargs+=($(meson_feature cpu_flags_arm_neon neon)) + fi + + meson_src_configure +} + +multilib_src_test() { + export OMP_NUM_THREADS=$(makeopts_jobs) + meson_src_test -t 100 +} diff --git a/sdk_container/src/third_party/portage-stable/x11-libs/pixman/pixman-9999.ebuild b/sdk_container/src/third_party/portage-stable/x11-libs/pixman/pixman-9999.ebuild index 28146520889..456ea42b857 100644 --- a/sdk_container/src/third_party/portage-stable/x11-libs/pixman/pixman-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/x11-libs/pixman/pixman-9999.ebuild @@ -1,7 +1,7 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 EGIT_REPO_URI="https://gitlab.freedesktop.org/pixman/pixman.git" @@ -9,7 +9,7 @@ if [[ ${PV} = 9999* ]]; then GIT_ECLASS="git-r3" fi -inherit ${GIT_ECLASS} flag-o-matic meson-multilib multiprocessing toolchain-funcs +inherit ${GIT_ECLASS} meson-multilib multiprocessing toolchain-funcs DESCRIPTION="Low-level pixel manipulation routines" HOMEPAGE="http://www.pixman.org/ https://gitlab.freedesktop.org/pixman/pixman/" @@ -20,7 +20,7 @@ fi LICENSE="MIT" SLOT="0" -IUSE="cpu_flags_ppc_altivec cpu_flags_arm_iwmmxt cpu_flags_arm_iwmmxt2 cpu_flags_arm_neon loongson2f cpu_flags_x86_mmxext cpu_flags_x86_sse2 cpu_flags_x86_ssse3 static-libs test" +IUSE="cpu_flags_ppc_altivec cpu_flags_arm_neon loongson2f cpu_flags_x86_mmxext cpu_flags_x86_sse2 cpu_flags_x86_ssse3 static-libs test" RESTRICT="!test? ( test )" pkg_pretend() { @@ -32,14 +32,7 @@ pkg_setup() { } multilib_src_configure() { - if ( use arm || use arm64 ) && tc-is-clang ; then - # See bug #768138 and https://gitlab.freedesktop.org/pixman/pixman/-/issues/46 - append-cflags $(test-flags-CC -fno-integrated-as) - fi - local emesonargs=( - $(meson_feature cpu_flags_arm_iwmmxt iwmmxt) - $(meson_use cpu_flags_arm_iwmmxt2 iwmmxt2) $(meson_feature cpu_flags_x86_mmxext mmx) $(meson_feature cpu_flags_x86_sse2 sse2) $(meson_feature cpu_flags_x86_ssse3 ssse3)