diff --git a/changelog/security/2025-02-26-weekly-updates.md b/changelog/security/2025-02-26-weekly-updates.md new file mode 100644 index 0000000000..e8697a29f5 --- /dev/null +++ b/changelog/security/2025-02-26-weekly-updates.md @@ -0,0 +1,9 @@ +- binutils ([CVE-2024-53589](https://nvd.nist.gov/vuln/detail/CVE-2024-53589), [CVE-2025-1176](https://nvd.nist.gov/vuln/detail/CVE-2025-1176), [CVE-2025-1178](https://nvd.nist.gov/vuln/detail/CVE-2025-1178), [CVE-2025-1179](https://nvd.nist.gov/vuln/detail/CVE-2025-1179), [CVE-2025-1180](https://nvd.nist.gov/vuln/detail/CVE-2025-1180), [CVE-2025-1181](https://nvd.nist.gov/vuln/detail/CVE-2025-1181), [CVE-2025-1182](https://nvd.nist.gov/vuln/detail/CVE-2025-1182)) +- curl ([CVE-2025-0167](https://nvd.nist.gov/vuln/detail/CVE-2025-0167), [CVE-2025-0665](https://nvd.nist.gov/vuln/detail/CVE-2025-0665), [CVE-2025-0725](https://nvd.nist.gov/vuln/detail/CVE-2025-0725)) +- gnutls ([CVE-2024-12243](https://nvd.nist.gov/vuln/detail/CVE-2024-12243)) +- libarchive ([CVE-2024-57970](https://nvd.nist.gov/vuln/detail/CVE-2024-57970)) +- libcap ([CVE-2025-1390](https://nvd.nist.gov/vuln/detail/CVE-2025-1390)) +- libtasn1 ([CVE-2024-12133](https://nvd.nist.gov/vuln/detail/CVE-2024-12133)) +- mit-krb5 ([CVE-2025-24528](https://nvd.nist.gov/vuln/detail/CVE-2025-24528)) +- openssh ([CVE-2025-26465](https://nvd.nist.gov/vuln/detail/CVE-2025-26465), [CVE-2025-26466](https://nvd.nist.gov/vuln/detail/CVE-2025-26466)) +- podman ([CVE-2024-11218](https://nvd.nist.gov/vuln/detail/CVE-2024-11218)) diff --git a/changelog/updates/2025-02-26-weekly-updates.md b/changelog/updates/2025-02-26-weekly-updates.md new file mode 100644 index 0000000000..dc90dac8dc --- /dev/null +++ b/changelog/updates/2025-02-26-weekly-updates.md @@ -0,0 +1,15 @@ +- SDK: cmake ([3.31.5](https://cmake.org/cmake/help/v3.31/release/3.31.html)) +- SDK: rust ([1.84.1](https://releases.rs/docs/1.84.1/) (includes [1.84.0](https://releases.rs/docs/1.84.0/))) +- base, dev: binutils ([2.44](https://lists.gnu.org/archive/html/info-gnu/2025-02/msg00001.html)) +- base, dev: cracklib ([2.10.3](https://github.com/cracklib/cracklib/releases/tag/v2.10.3)) +- base, dev: curl ([8.12.1](https://curl.se/ch/8.12.1.html) (includes [8.12.0](https://curl.se/ch/8.12.0.html))) +- base, dev: e2fsprogs ([1.47.2](https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.47.2)) +- base, dev: gnutls ([3.8.9](https://lists.gnupg.org/pipermail/gnutls-help/2025-February/004875.html)) +- base, dev: hwdata ([0.391](https://github.com/vcrhonek/hwdata/releases/tag/v0.391)) +- base, dev: libtasn1 ([4.20.0](https://lists.gnu.org/archive/html/info-gnu/2025-02/msg00004.html)) +- base, dev: linux-headers ([6.12](https://kernelnewbies.org/Linux_6.12)) +- base, dev: nettle ([3.10.1](https://lists.gnu.org/archive/html/info-gnu/2024-12/msg00008.html)) +- base, dev: openssh ([9.9_p2](https://www.openssh.com/txt/release-9.9p2)) +- base, dev: util-linux ([2.40.4](https://raw.githubusercontent.com/util-linux/util-linux/refs/tags/v2.40.4/Documentation/releases/v2.40.4-ReleaseNotes) (includes [2.40.3](https://raw.githubusercontent.com/util-linux/util-linux/refs/tags/v2.40.3/Documentation/releases/v2.40.3-ReleaseNotes))) +- sysext-podman: podman ([5.3.2](https://github.com/containers/podman/releases/tag/v5.3.2)) +- sysext-python: truststore ([0.10.1](https://github.com/sethmlarson/truststore/blob/v0.10.1/CHANGELOG.md)) diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-arch/libarchive/0001-Handle-truncation-in-the-middle-of-a-GNU-long-linkname.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-arch/libarchive/0001-Handle-truncation-in-the-middle-of-a-GNU-long-linkname.patch new file mode 100644 index 0000000000..a998542542 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-arch/libarchive/0001-Handle-truncation-in-the-middle-of-a-GNU-long-linkname.patch @@ -0,0 +1,31 @@ +From 82912103214506316bd9990d73f33d743d55f570 Mon Sep 17 00:00:00 2001 +From: Tim Kientzle +Date: Mon, 9 Dec 2024 21:09:29 -0800 +Subject: [PATCH] Handle truncation in the middle of a GNU long linkname + (#2422) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Thanks to gbdngb12 김동건 for reporting this. + +Resolves Issue #2415 +--- + libarchive/archive_read_support_format_tar.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/libarchive/archive_read_support_format_tar.c b/libarchive/archive_read_support_format_tar.c +index 4aaf1b90ce..b1344ae57d 100644 +--- a/libarchive/archive_read_support_format_tar.c ++++ b/libarchive/archive_read_support_format_tar.c +@@ -1146,7 +1146,9 @@ header_gnu_longlink(struct archive_read *a, struct tar *tar, + struct archive_string linkpath; + archive_string_init(&linkpath); + err = read_body_to_string(a, tar, &linkpath, h, unconsumed); +- archive_entry_set_link(entry, linkpath.s); ++ if (err == ARCHIVE_OK) { ++ archive_entry_set_link(entry, linkpath.s); ++ } + archive_string_free(&linkpath); + return (err); + } diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-arch/libarchive/README.md b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-arch/libarchive/README.md new file mode 100644 index 0000000000..ba76d80f31 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-arch/libarchive/README.md @@ -0,0 +1,5 @@ +The +`0001-Handle-truncation-in-the-middle-of-a-GNU-long-linkname.patch` +patch addresses CVE-2024-57970. Currently it is only a part of the +master branch so this patch could be dropped when updating to either +3.8.0 or 3.7.8. diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-crypt/mit-krb5/0001-Prevent-overflow-when-calculating-ulog-block-size.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-crypt/mit-krb5/0001-Prevent-overflow-when-calculating-ulog-block-size.patch new file mode 100644 index 0000000000..078cce7ad5 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-crypt/mit-krb5/0001-Prevent-overflow-when-calculating-ulog-block-size.patch @@ -0,0 +1,59 @@ +From 78ceba024b64d49612375be4a12d1c066b0bfbd0 Mon Sep 17 00:00:00 2001 +From: Zoltan Borbely +Date: Tue, 28 Jan 2025 16:39:25 -0500 +Subject: [PATCH] Prevent overflow when calculating ulog block size + +In kdb_log.c:resize(), log an error and fail if the update size is +larger than the largest possible block size (2^16-1). + +CVE-2025-24528: + +In MIT krb5 release 1.7 and later with incremental propagation +enabled, an authenticated attacker can cause kadmind to write beyond +the end of the mapped region for the iprop log file, likely causing a +process crash. + +[ghudson@mit.edu: edited commit message and added CVE description] + +ticket: 9159 (new) +tags: pullup +target_version: 1.21-next +--- + lib/kdb/kdb_log.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/src/lib/kdb/kdb_log.c b/src/lib/kdb/kdb_log.c +index 2659a250187..68fae919a52 100644 +--- a/lib/kdb/kdb_log.c ++++ b/lib/kdb/kdb_log.c +@@ -183,7 +183,7 @@ extend_file_to(int fd, unsigned int new_size) + */ + static krb5_error_code + resize(kdb_hlog_t *ulog, uint32_t ulogentries, int ulogfd, +- unsigned int recsize) ++ unsigned int recsize, const kdb_incr_update_t *upd) + { + unsigned int new_block, new_size; + +@@ -195,6 +195,12 @@ resize(kdb_hlog_t *ulog, uint32_t ulogentries, int ulogfd, + new_block *= ULOG_BLOCK; + new_size += ulogentries * new_block; + ++ if (new_block > UINT16_MAX) { ++ syslog(LOG_ERR, _("ulog overflow caused by principal %.*s"), ++ upd->kdb_princ_name.utf8str_t_len, ++ upd->kdb_princ_name.utf8str_t_val); ++ return KRB5_LOG_ERROR; ++ } + if (new_size > MAXLOGLEN) + return KRB5_LOG_ERROR; + +@@ -291,7 +297,7 @@ store_update(kdb_log_context *log_ctx, kdb_incr_update_t *upd) + recsize = sizeof(kdb_ent_header_t) + upd_size; + + if (recsize > ulog->kdb_block) { +- retval = resize(ulog, ulogentries, log_ctx->ulogfd, recsize); ++ retval = resize(ulog, ulogentries, log_ctx->ulogfd, recsize, upd); + if (retval) + return retval; + } diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-crypt/mit-krb5/README.md b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-crypt/mit-krb5/README.md new file mode 100644 index 0000000000..4a5523920f --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-crypt/mit-krb5/README.md @@ -0,0 +1,11 @@ +The `0001-Prevent-overflow-when-calculating-ulog-block-size.patch` +patch is for addressing CVE-2025-24528. Not sure when it can be +dropped - it currently is a part of a master branch, which is targeted +for version 1.22. So maybe when we update to 1.22 this patch can be +dropped. The krb5-1.21 branch didn't have this patch at the time of +writing (2025-02-25). + +The patch was slightly modified to take into account that the patches +in this package are applied not from the top directory, but from +inside the `src` subdirectory (the S variable is modified in the +ebuild). diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-libs/libcap/0001-pam-cap-Fix-potential-configuration-parsing-error.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-libs/libcap/0001-pam-cap-Fix-potential-configuration-parsing-error.patch new file mode 100644 index 0000000000..839aed2ccc --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-libs/libcap/0001-pam-cap-Fix-potential-configuration-parsing-error.patch @@ -0,0 +1,32 @@ +From 1ad42b66c3567481cc5fa22fc1ba1556a316d878 Mon Sep 17 00:00:00 2001 +From: Tianjia Zhang +Date: Mon, 17 Feb 2025 10:31:55 +0800 +Subject: pam_cap: Fix potential configuration parsing error + +The current configuration parsing does not actually skip user names +that do not start with @, but instead treats the name as a group +name for further parsing, which can result in matching unexpected +capability sets and may trigger potential security issues. Only +names starting with @ should be parsed as group names. + +Signed-off-by: Tianjia Zhang +Signed-off-by: Andrew G. Morgan +--- + pam_cap/pam_cap.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/pam_cap/pam_cap.c b/pam_cap/pam_cap.c +index 24de329..3ec99bb 100644 +--- a/pam_cap/pam_cap.c ++++ b/pam_cap/pam_cap.c +@@ -166,6 +166,7 @@ static char *read_capabilities_for_user(const char *user, const char *source) + + if (line[0] != '@') { + D(("user [%s] is not [%s] - skipping", user, line)); ++ continue; + } + + int i; +-- +cgit 1.2.3-korg + diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-libs/libcap/README.md b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-libs/libcap/README.md new file mode 100644 index 0000000000..a931f4f466 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-libs/libcap/README.md @@ -0,0 +1,3 @@ +The `0001-pam-cap-Fix-potential-configuration-parsing-error.patch` +patch addresses CVE-2025-1390. It can be dropped when updating to +2.74. 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 31b59a853c..c7b28ba2f8 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 @@ -10,6 +10,9 @@ # Keep versions on both arches in sync. =app-containers/cri-tools-1.32.0 ~arm64 +# Needed to address CVE-2024-11218. +=app-containers/podman-5.3.2 ~amd64 ~arm64 + # Seems to be the only available ebuild in portage-stable right now. =app-crypt/adcli-0.9.2 ~arm64 @@ -39,6 +42,9 @@ # The only available ebuild (from GURU) has ~amd64 and no keyword for arm64 yet. =dev-libs/jose-12 ** +# Needed to address CVE-2024-12133. +=dev-libs/libtasn1-4.20.0 ~amd64 ~arm64 + # The only available ebuild (from GURU) has ~amd64 and no keyword for arm64 yet. =dev-libs/luksmeta-9-r1 ** @@ -54,14 +60,22 @@ # Keep versions on both arches in sync. =net-firewall/conntrack-tools-1.4.8-r1 ~arm64 + +# Needed to address CVE-2024-12243. +=net-libs/gnutls-3.8.9 ~amd64 ~arm64 + +# Keep versions on both arches in sync. =net-libs/libnetfilter_cthelper-1.0.1-r1 ~arm64 =net-libs/libnetfilter_cttimeout-1.0.1 ~arm64 -# Needed to address CVE-2024-54661 -=net-misc/socat-1.8.0.2 ~amd64 ~arm64 +# Needed to address CVE-2025-0167, CVE-2025-0665, CVE-2025-0725. +=net-misc/curl-8.12.1 ~amd64 ~arm64 # Keep versions on both arches in sync. -=net-nds/openldap-2.6.8 ~amd64 +=net-misc/openssh-9.9_p2 ~arm64 + +# Needed to address CVE-2024-54661 +=net-misc/socat-1.8.0.2 ~amd64 ~arm64 # Package has not been stabilised yet. =sys-apps/azure-vm-utils-0.4.0 ~amd64 ~arm64 @@ -69,10 +83,11 @@ # Keep versions on both arches in sync. =sys-apps/policycoreutils-3.7 ~arm64 =sys-apps/semodule-utils-3.7 ~arm64 +=sys-apps/util-linux-2.40.4 ~arm64 =sys-apps/zram-generator-1.2.1 ~arm64 # Needed to avoid pulling python into production images. -=sys-auth/sssd-2.9.6-r1 ~amd64 ~arm64 +=sys-auth/sssd-2.9.6-r1 ~arm64 # Keep versions on both arches in sync. =sys-boot/mokutil-0.7.2 ** @@ -80,6 +95,11 @@ # Enable ipvsadm for arm64. =sys-cluster/ipvsadm-1.31-r1 ~arm64 +# Needed to address CVE-2024-53589, CVE-2025-1176, CVE-2025-1178, +# CVE-2025-1179, CVE-2025-1180, CVE-2025-1181, CVE-2025-1182. +=sys-devel/binutils-2.44 ~amd64 ~arm64 +=sys-libs/binutils-libs-2.44 ~amd64 ~arm64 + # Keep versions on both arches in sync. =sys-libs/libsemanage-3.7 ~arm64 =sys-process/audit-4.0.2-r1 ~arm64 diff --git a/sdk_container/src/third_party/portage-stable/app-admin/sudo/Manifest b/sdk_container/src/third_party/portage-stable/app-admin/sudo/Manifest index 746aebd541..9997003e13 100644 --- a/sdk_container/src/third_party/portage-stable/app-admin/sudo/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-admin/sudo/Manifest @@ -1,8 +1,2 @@ -DIST sudo-1.9.15p5.tar.gz 5306611 BLAKE2B 73ee598c2a2848d5be24f97492b13eba2f326c514799220e43a1aeafc6692224a7555fb7cc0a96a2720751d3e4d98e752804db589ac3c1476f24e71f5b9bc720 SHA512 ebac69719de2fe7bd587924701bdd24149bf376a68b17ec02f69b2b96d4bb6fa5eb8260a073ec5ea046d3ac69bb5b1c0b9d61709fe6a56f1f66e40817a70b15a -DIST sudo-1.9.15p5.tar.gz.sig 566 BLAKE2B ddd8fed1b3721aafdb32b762834168063c3f0f003ef5d83f1883615320da6fe89b08d72c8e893c8b2bf9fd892a40e47cc77d72672e43b5a24db50e7194d9bc4c SHA512 97480a3d27b546a93e997c3a1e8169904a7625ab8fa6198d0b7e1d2d040f55b2d58462cd08e5cc97c2f1c817b12343e35cdd7db207aee42785f2b95b17c600b0 -DIST sudo-1.9.16.tar.gz 5392026 BLAKE2B 19daa789af3ca2c4832950f0dd6f26a97285fdc155f0d7c18ec1f1accafce9b86f2f5730d3bb0b8e7717c0c55f4079928e03acb3974cb2652c58d4bcb2f74a12 SHA512 1b0254eb5b75422bffd31a2ae8c56cb4e8e2ecc08e2fa687eddb638d4f2de2585fa7621c868c03423e9d636bfb5679a3758d504155dbdfd3eebfbdcbd8b58f7c -DIST sudo-1.9.16.tar.gz.sig 566 BLAKE2B 9eb9fd2db0de5b9ce965c2109a9722e0b5f0793b7c9003123b1540d7cb5b8178043221296fd51c7f0b24ce1b1cda9f196a6d50083da172ca2afcb8f130d8eae1 SHA512 edf066f9ffdf2653468f8b45866a65214f0dff0164318d5f6bd9252f6211e82522161b1b9621798fbc9112253e6940d7137d18e8b42e8c6e5ba52ccac64d99cf -DIST sudo-1.9.16p1.tar.gz 5396038 BLAKE2B 7f973510658e91af54121d8c4c634b26231ef270abac50f658c9ad8a446a7dbbc44cb878561fb8da51e4ec15ebc8873fdaed05be142907f96964ff42c7e4f896 SHA512 3239d16513c431383b6d54cf40690a9b8fcf905d9b8f5a2085679dd5daeaacbd7efb153b41fd672fc634277c3203aaa1dc18e6a6c01799ebc9948763ec93a038 -DIST sudo-1.9.16p1.tar.gz.sig 566 BLAKE2B 0f68bb4a653cfaacf05d6c148f690ae0022035090e6e60df7efde6b25193ac46d12905ca898e5aadb8339ca3f08e27a4408edeb75f26f7e483f136026835aa24 SHA512 96cdd7f646d2fe7eeefce7710ba421be12a9bfd6811284ba8ccb3f7288b328531bbd7215cf0182c13670f2ec7c0ee25dfd6396214ddd61ee4ee153fec19bef7e DIST sudo-1.9.16p2.tar.gz 5398419 BLAKE2B ef9f1c2cd4044454a808d1dff5f865355e1bd061d1b5c93a005207e28e9b9df7c267cf01358ce60dd2c98f6844b51dab00eac4e7a08bade1d621235c3a4774bf SHA512 1e2ea762671890a03b0ea4b95b3849f2d3a4c301432db8767433e9d80c517efd8b7a68e0bbce1b178aff5857907600f1f5e0d889779cb27e38c2f602395f6f06 DIST sudo-1.9.16p2.tar.gz.sig 566 BLAKE2B 90f90658a7d6ec3b32f6a726a2cd28e156826a65749a88a2a29d970e97804d2d75de856bc85c9a459233b59e35564c5fbf93aff53ffe42d17d0e94dd23724acd SHA512 7f0e3269c9befada535590b2cfc36f96cd70831b5c030df5b3bf8c7cb3eff296d22193429f940db4a0df849b4d8080e4006086c49869b4bbae663836b2632b49 diff --git a/sdk_container/src/third_party/portage-stable/app-admin/sudo/files/sudo-1.9.16-allow-disabling-secure-path.patch b/sdk_container/src/third_party/portage-stable/app-admin/sudo/files/sudo-1.9.16-allow-disabling-secure-path.patch deleted file mode 100644 index 8fda41a2b7..0000000000 --- a/sdk_container/src/third_party/portage-stable/app-admin/sudo/files/sudo-1.9.16-allow-disabling-secure-path.patch +++ /dev/null @@ -1,54 +0,0 @@ -https://github.com/sudo-project/sudo/commit/131e7e2de02ab53cfefefe93978d7fee4cb8142d - -From 131e7e2de02ab53cfefefe93978d7fee4cb8142d Mon Sep 17 00:00:00 2001 -From: Andy Fiddaman -Date: Tue, 17 Sep 2024 12:49:13 +0000 -Subject: [PATCH] Allow --secure-path-value=no - -This adds support for --with-secure-path-value=no to allow packagers -to ship the sudoers configuration file with the secure path -line commented out if required. ---- a/configure.ac -+++ b/configure.ac -@@ -177,6 +177,7 @@ AC_SUBST([sssd_lib]) - AC_SUBST([nsswitch_conf]) - AC_SUBST([netsvc_conf]) - AC_SUBST([secure_path]) -+AC_SUBST([secure_path_config]) - AC_SUBST([secure_path_status]) - AC_SUBST([editor]) - AC_SUBST([pam_session]) -@@ -230,6 +231,7 @@ sesh_file="$libexecdir/sudo/sesh" - visudo="$sbindir/visudo" - nsswitch_conf=/etc/nsswitch.conf - secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" -+secure_path_config= - secure_path_status="disabled" - pam_session=on - pam_login_service=sudo -@@ -1068,9 +1070,11 @@ AC_ARG_WITH(ldap-secret-file, [AS_HELP_STRING([--with-ldap-secret-file], [path t - test -n "$with_ldap_secret_file" && ldap_secret="$with_ldap_secret_file" - SUDO_DEFINE_UNQUOTED(_PATH_LDAP_SECRET, "$ldap_secret", [Path to the ldap.secret file]) - --AC_ARG_WITH(secure-path-value, [AS_HELP_STRING([--with-secure-path-value], [value of secure_path in the default sudoers file])], -+AC_ARG_WITH(secure-path-value, [AS_HELP_STRING([--with-secure-path-value], [value of secure_path in the default sudoers file, or "no" to comment out by default])], - [case $with_secure_path_value in -- yes|no) AC_MSG_ERROR([must give --secure-path-value an argument.]) -+ yes) AC_MSG_ERROR([must give --with-secure-path-value an argument.]) -+ ;; -+ no) secure_path_config="# " - ;; - *) secure_path="$with_secure_path_value" - ;; ---- a/plugins/sudoers/sudoers.in -+++ b/plugins/sudoers/sudoers.in -@@ -48,7 +48,7 @@ Defaults!@visudo@ env_keep += "SUDO_EDITOR EDITOR VISUAL" - ## Use a hard-coded PATH instead of the user's to find commands. - ## This also helps prevent poorly written scripts from running - ## artbitrary commands under sudo. --Defaults secure_path="@secure_path@" -+@secure_path_config@Defaults secure_path="@secure_path@" - ## - ## You may wish to keep some of the following environment variables - ## when running commands via sudo. - diff --git a/sdk_container/src/third_party/portage-stable/app-admin/sudo/sudo-1.9.15_p5-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-admin/sudo/sudo-1.9.15_p5-r1.ebuild deleted file mode 100644 index 918c043541..0000000000 --- a/sdk_container/src/third_party/portage-stable/app-admin/sudo/sudo-1.9.15_p5-r1.ebuild +++ /dev/null @@ -1,289 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit flag-o-matic pam libtool tmpfiles toolchain-funcs - -MY_P="${P/_/}" -MY_P="${MY_P/beta/b}" - -DESCRIPTION="Allows users or groups to run commands as other users" -HOMEPAGE="https://www.sudo.ws/" - -if [[ ${PV} == 9999 ]] ; then - inherit mercurial - EHG_REPO_URI="https://www.sudo.ws/repos/sudo" -else - VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/sudo.ws.asc - inherit verify-sig - - uri_prefix= - case ${P} in - *_beta*|*_rc*) uri_prefix=beta/ ;; - esac - - SRC_URI=" - https://www.sudo.ws/sudo/dist/${uri_prefix}${MY_P}.tar.gz - ftp://ftp.sudo.ws/pub/sudo/${uri_prefix}${MY_P}.tar.gz - verify-sig? ( - https://www.sudo.ws/sudo/dist/${uri_prefix}${MY_P}.tar.gz.sig - ftp://ftp.sudo.ws/pub/sudo/${uri_prefix}${MY_P}.tar.gz.sig - ) - " - - if [[ ${PV} != *_beta* && ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" - fi - - BDEPEND="verify-sig? ( sec-keys/openpgp-keys-sudo )" -fi - -S="${WORKDIR}/${MY_P}" - -# Basic license is ISC-style as-is, some files are released under -# 3-clause BSD license -LICENSE="ISC BSD" -SLOT="0" -IUSE="gcrypt ldap nls offensive pam sasl +secure-path selinux +sendmail skey ssl sssd" - -DEPEND=" - sys-libs/zlib:= - virtual/libcrypt:= - gcrypt? ( dev-libs/libgcrypt:= ) - ldap? ( - >=net-nds/openldap-2.1.30-r1:= - sasl? ( - dev-libs/cyrus-sasl - net-nds/openldap:=[sasl] - ) - ) - pam? ( sys-libs/pam ) - sasl? ( dev-libs/cyrus-sasl ) - selinux? ( sys-libs/libselinux ) - skey? ( >=sys-auth/skey-1.1.5-r1 ) - ssl? ( dev-libs/openssl:= ) - sssd? ( sys-auth/sssd[sudo(+)] ) -" -RDEPEND=" - ${DEPEND} - >=app-misc/editor-wrapper-3 - virtual/editor - ldap? ( dev-lang/perl ) - pam? ( sys-auth/pambase ) - selinux? ( sec-policy/selinux-sudo ) - sendmail? ( virtual/mta ) -" -BDEPEND+=" - app-alternatives/yacc - virtual/pkgconfig -" - -REQUIRED_USE=" - ?? ( pam skey ) - ?? ( gcrypt ssl ) -" - -MAKEOPTS+=" SAMPLES=" - -src_prepare() { - default - - elibtoolize -} - -set_secure_path() { - # First extract the default ROOTPATH from build env - SECURE_PATH=$(unset ROOTPATH; . "${EPREFIX}"/etc/profile.env; echo "${ROOTPATH}") - - case "${SECURE_PATH}" in - */usr/sbin*) - ;; - *) - SECURE_PATH=$(unset PATH; . "${EPREFIX}"/etc/profile.env; echo "${PATH}") - ;; - esac - - if [[ -z ${SECURE_PATH} ]] ; then - ewarn " Failed to detect SECURE_PATH, please report this" - fi - - # Then remove duplicate path entries - cleanpath() { - local newpath thisp IFS=: - for thisp in $1 ; do - if [[ :${newpath}: != *:${thisp}:* ]] ; then - newpath+=:${thisp} - else - einfo " Duplicate entry ${thisp} removed..." - fi - done - SECURE_PATH=${newpath#:} - } - cleanpath /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin${SECURE_PATH:+:${SECURE_PATH}} - - # Finally, strip gcc paths, bug #136027 - rmpath() { - local e newpath thisp IFS=: - for thisp in ${SECURE_PATH} ; do - for e ; do - [[ ${thisp} == ${e} ]] && continue 2 ; - done - newpath+=:${thisp} - done - SECURE_PATH=${newpath#:} - } - rmpath '*/gcc-bin/*' '*/gnat-gcc-bin/*' '*/gnat-gcc/*' -} - -src_configure() { - local SECURE_PATH - - set_secure_path - - # bug #767712 - tc-export PKG_CONFIG - - # https://github.com/sudo-project/sudo/issues/420 - append-cflags -std=gnu17 - - # - audit: somebody got to explain me how I can test this before I - # enable it.. - Diego - # - plugindir: autoconf code is crappy and does not delay evaluation - # until `make` time, so we have to use a full path here rather than - # basing off other values. - local myeconfargs=( - # We set all of the relevant options by ourselves (patched - # into the toolchain) and setting these in the build system - # actually causes a downgrade when using e.g. -D_FORTIFY_SOURCE=3 - # (it'll downgrade to =2). So, this has no functional effect on - # the hardening for users. It's safe. - --disable-hardening - - # requires some python eclass - --disable-python - --enable-tmpfiles.d="${EPREFIX}"/usr/lib/tmpfiles.d - --enable-zlib=system - --with-editor="${EPREFIX}"/usr/libexec/editor - --with-env-editor - --with-plugindir="${EPREFIX}"/usr/$(get_libdir)/sudo - --with-rundir="${EPREFIX}"/run/sudo - --with-vardir="${EPREFIX}"/var/db/sudo - --without-linux-audit - --without-opie - $(use_enable gcrypt) - $(use_enable nls) - $(use_enable sasl) - $(use_enable ssl openssl) - $(use_with ldap) - $(use_with ldap ldap_conf_file /etc/ldap.conf.sudo) - $(use_with offensive insults) - $(use_with offensive all-insults) - $(use_with pam) - $(use_with pam pam-login) - "$(use_with secure-path secure-path "${SECURE_PATH}")" - $(use_with selinux) - $(use_with sendmail) - $(use_with skey) - $(use_with sssd) - ) - - econf "${myeconfargs[@]}" -} - -src_install() { - default - - if use ldap ; then - dodoc README.LDAP.md - - cat <<-EOF > "${T}"/ldap.conf.sudo - # See ldap.conf(5) and README.LDAP.md for details - # This file should only be readable by root - - # supported directives: host, port, ssl, ldap_version - # uri, binddn, bindpw, sudoers_base, sudoers_debug - # tls_{checkpeer,cacertfile,cacertdir,randfile,ciphers,cert,key} - EOF - - if use sasl ; then - cat <<-EOF >> "${T}"/ldap.conf.sudo - - # SASL directives: use_sasl, sasl_mech, sasl_auth_id - # sasl_secprops, rootuse_sasl, rootsasl_auth_id, krb5_ccname - EOF - fi - - insinto /etc - doins "${T}"/ldap.conf.sudo - fperms 0440 /etc/ldap.conf.sudo - - insinto /etc/openldap/schema - newins docs/schema.OpenLDAP sudo.schema - fi - - if use pam ; then - pamd_mimic system-auth sudo auth account session - pamd_mimic system-auth sudo-i auth account session - fi - - keepdir /var/db/sudo/lectured - fperms 0700 /var/db/sudo/lectured - # bug #652958 - fperms 0711 /var/db/sudo - - # Don't install into /run as that is a tmpfs most of the time - # (bug #504854) - rm -rf "${ED}"/run || die - - # bug #697812 - find "${ED}" -type f -name "*.la" -delete || die -} - -pkg_postinst() { - tmpfiles_process sudo.conf - - # bug #652958 - local sudo_db="${EROOT}/var/db/sudo" - if [[ "$(stat -c %a "${sudo_db}")" -ne 711 ]] ; then - chmod 711 "${sudo_db}" || die - fi - - if use ldap ; then - ewarn - ewarn "sudo uses the ${ROOT}/etc/ldap.conf.sudo file for ldap configuration." - ewarn - if grep -qs '^[[:space:]]*sudoers:' "${ROOT}"/etc/nsswitch.conf ; then - ewarn "In 1.7 series, LDAP is no more consulted, unless explicitly" - ewarn "configured in ${ROOT}/etc/nsswitch.conf." - ewarn - ewarn "To make use of LDAP, add this line to your ${ROOT}/etc/nsswitch.conf:" - ewarn " sudoers: ldap files" - ewarn - fi - fi - if use prefix ; then - ewarn - ewarn "To use sudo on Prefix, you need to change file ownership and permissions" - ewarn "with root privileges, as follows:" - ewarn - ewarn " # chown root:root ${EPREFIX}/usr/bin/sudo" - ewarn " # chown root:root ${EPREFIX}/usr/lib/sudo/sudoers.so" - ewarn " # chown root:root ${EPREFIX}/etc/sudoers" - ewarn " # chown root:root ${EPREFIX}/etc/sudoers.d" - ewarn " # chown root:root ${EPREFIX}/var/db/sudo" - ewarn " # chmod 4111 ${EPREFIX}/usr/bin/sudo" - ewarn - fi - - elog "To use the -A (askpass) option, you need to install a compatible" - elog "password program from the following list. Starred packages will" - elog "automatically register for the use with sudo (but will not force" - elog "the -A option):" - elog "" - elog " [*] net-misc/ssh-askpass-fullscreen" - elog " net-misc/x11-ssh-askpass" - elog "" - elog "You can override the choice by setting the SUDO_ASKPASS environmnent" - elog "variable to the program you want to use." -} diff --git a/sdk_container/src/third_party/portage-stable/app-admin/sudo/sudo-1.9.16-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-admin/sudo/sudo-1.9.16-r2.ebuild deleted file mode 100644 index 2403907f5c..0000000000 --- a/sdk_container/src/third_party/portage-stable/app-admin/sudo/sudo-1.9.16-r2.ebuild +++ /dev/null @@ -1,296 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools flag-o-matic pam tmpfiles toolchain-funcs - -MY_P="${P/_/}" -MY_P="${MY_P/beta/b}" - -DESCRIPTION="Allows users or groups to run commands as other users" -HOMEPAGE="https://www.sudo.ws/" - -if [[ ${PV} == 9999 ]] ; then - inherit mercurial - EHG_REPO_URI="https://www.sudo.ws/repos/sudo" -else - VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/sudo.ws.asc - inherit verify-sig - - uri_prefix= - case ${P} in - *_beta*|*_rc*) uri_prefix=beta/ ;; - esac - - SRC_URI=" - https://www.sudo.ws/sudo/dist/${uri_prefix}${MY_P}.tar.gz - ftp://ftp.sudo.ws/pub/sudo/${uri_prefix}${MY_P}.tar.gz - verify-sig? ( - https://www.sudo.ws/sudo/dist/${uri_prefix}${MY_P}.tar.gz.sig - ftp://ftp.sudo.ws/pub/sudo/${uri_prefix}${MY_P}.tar.gz.sig - ) - " - - if [[ ${PV} != *_beta* && ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" - fi - - BDEPEND="verify-sig? ( sec-keys/openpgp-keys-sudo )" -fi - -S="${WORKDIR}/${MY_P}" - -# Basic license is ISC-style as-is, some files are released under -# 3-clause BSD license -LICENSE="ISC BSD" -SLOT="0" -IUSE="gcrypt ldap nls offensive pam sasl +secure-path selinux +sendmail skey ssl sssd" - -DEPEND=" - sys-libs/zlib:= - virtual/libcrypt:= - gcrypt? ( dev-libs/libgcrypt:= ) - ldap? ( - >=net-nds/openldap-2.1.30-r1:= - sasl? ( - dev-libs/cyrus-sasl - net-nds/openldap:=[sasl] - ) - ) - pam? ( sys-libs/pam ) - sasl? ( dev-libs/cyrus-sasl ) - selinux? ( sys-libs/libselinux ) - skey? ( >=sys-auth/skey-1.1.5-r1 ) - ssl? ( dev-libs/openssl:= ) - sssd? ( sys-auth/sssd[sudo(+)] ) -" -RDEPEND=" - ${DEPEND} - >=app-misc/editor-wrapper-3 - virtual/editor - ldap? ( dev-lang/perl ) - pam? ( sys-auth/pambase ) - selinux? ( sec-policy/selinux-sudo ) - sendmail? ( virtual/mta ) -" -BDEPEND+=" - app-alternatives/yacc - virtual/pkgconfig -" - -REQUIRED_USE=" - ?? ( pam skey ) - ?? ( gcrypt ssl ) -" - -MAKEOPTS+=" SAMPLES=" - -PATCHES=( - "${FILESDIR}"/${PN}-1.9.16-allow-disabling-secure-path.patch -) - -src_prepare() { - default - - # eautoreconf temporarily for allow-disabling-secure-path patch - # in 1.9.16; revert to elibtoolize once that is gone. - eautoreconf -} - -set_secure_path() { - # First extract the default ROOTPATH from build env - SECURE_PATH=$(unset ROOTPATH; . "${EPREFIX}"/etc/profile.env; echo "${ROOTPATH}") - - case "${SECURE_PATH}" in - */usr/sbin*) - ;; - *) - SECURE_PATH=$(unset PATH; . "${EPREFIX}"/etc/profile.env; echo "${PATH}") - ;; - esac - - if [[ -z ${SECURE_PATH} ]] ; then - ewarn " Failed to detect SECURE_PATH, please report this" - fi - - # Then remove duplicate path entries - cleanpath() { - local newpath thisp IFS=: - for thisp in $1 ; do - if [[ :${newpath}: != *:${thisp}:* ]] ; then - newpath+=:${thisp} - else - einfo " Duplicate entry ${thisp} removed..." - fi - done - SECURE_PATH=${newpath#:} - } - cleanpath /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin${SECURE_PATH:+:${SECURE_PATH}} - - # Finally, strip gcc paths, bug #136027 - rmpath() { - local e newpath thisp IFS=: - for thisp in ${SECURE_PATH} ; do - for e ; do - [[ ${thisp} == ${e} ]] && continue 2 ; - done - newpath+=:${thisp} - done - SECURE_PATH=${newpath#:} - } - rmpath '*/gcc-bin/*' '*/gnat-gcc-bin/*' '*/gnat-gcc/*' -} - -src_configure() { - local SECURE_PATH - - set_secure_path - - # bug #767712 - tc-export PKG_CONFIG - - # https://github.com/sudo-project/sudo/issues/420 - append-cflags -std=gnu17 - - # - audit: somebody got to explain me how I can test this before I - # enable it.. - Diego - # - plugindir: autoconf code is crappy and does not delay evaluation - # until `make` time, so we have to use a full path here rather than - # basing off other values. - local myeconfargs=( - # We set all of the relevant options by ourselves (patched - # into the toolchain) and setting these in the build system - # actually causes a downgrade when using e.g. -D_FORTIFY_SOURCE=3 - # (it'll downgrade to =2). So, this has no functional effect on - # the hardening for users. It's safe. - --disable-hardening - - # requires some python eclass - --disable-python - --enable-tmpfiles.d="${EPREFIX}"/usr/lib/tmpfiles.d - --enable-zlib=system - --with-editor="${EPREFIX}"/usr/libexec/editor - --with-env-editor - --with-plugindir="${EPREFIX}"/usr/$(get_libdir)/sudo - --with-rundir="${EPREFIX}"/run/sudo - --with-vardir="${EPREFIX}"/var/db/sudo - --without-linux-audit - --without-opie - $(use_enable gcrypt) - $(use_enable nls) - $(use_enable sasl) - $(use_enable ssl openssl) - $(use_with ldap) - $(use_with ldap ldap_conf_file /etc/ldap.conf.sudo) - $(use_with offensive insults) - $(use_with offensive all-insults) - $(use_with pam) - $(use_with pam pam-login) - $(use_with secure-path) - "$(use_with secure-path secure-path-value "${SECURE_PATH}")" - $(use_with selinux) - $(use_with sendmail) - $(use_with skey) - $(use_with sssd) - ) - - econf "${myeconfargs[@]}" -} - -src_install() { - default - - if use ldap ; then - dodoc README.LDAP.md - - cat <<-EOF > "${T}"/ldap.conf.sudo - # See ldap.conf(5) and README.LDAP.md for details - # This file should only be readable by root - - # supported directives: host, port, ssl, ldap_version - # uri, binddn, bindpw, sudoers_base, sudoers_debug - # tls_{checkpeer,cacertfile,cacertdir,randfile,ciphers,cert,key} - EOF - - if use sasl ; then - cat <<-EOF >> "${T}"/ldap.conf.sudo - - # SASL directives: use_sasl, sasl_mech, sasl_auth_id - # sasl_secprops, rootuse_sasl, rootsasl_auth_id, krb5_ccname - EOF - fi - - insinto /etc - doins "${T}"/ldap.conf.sudo - fperms 0440 /etc/ldap.conf.sudo - - insinto /etc/openldap/schema - newins docs/schema.OpenLDAP sudo.schema - fi - - if use pam ; then - pamd_mimic system-auth sudo auth account session - pamd_mimic system-auth sudo-i auth account session - fi - - keepdir /var/db/sudo/lectured - fperms 0700 /var/db/sudo/lectured - # bug #652958 - fperms 0711 /var/db/sudo - - # Don't install into /run as that is a tmpfs most of the time - # (bug #504854) - rm -rf "${ED}"/run || die - - # bug #697812 - find "${ED}" -type f -name "*.la" -delete || die -} - -pkg_postinst() { - tmpfiles_process sudo.conf - - # bug #652958 - local sudo_db="${EROOT}/var/db/sudo" - if [[ "$(stat -c %a "${sudo_db}")" -ne 711 ]] ; then - chmod 711 "${sudo_db}" || die - fi - - if use ldap ; then - ewarn - ewarn "sudo uses the ${ROOT}/etc/ldap.conf.sudo file for ldap configuration." - ewarn - if grep -qs '^[[:space:]]*sudoers:' "${ROOT}"/etc/nsswitch.conf ; then - ewarn "In 1.7 series, LDAP is no more consulted, unless explicitly" - ewarn "configured in ${ROOT}/etc/nsswitch.conf." - ewarn - ewarn "To make use of LDAP, add this line to your ${ROOT}/etc/nsswitch.conf:" - ewarn " sudoers: ldap files" - ewarn - fi - fi - if use prefix ; then - ewarn - ewarn "To use sudo on Prefix, you need to change file ownership and permissions" - ewarn "with root privileges, as follows:" - ewarn - ewarn " # chown root:root ${EPREFIX}/usr/bin/sudo" - ewarn " # chown root:root ${EPREFIX}/usr/lib/sudo/sudoers.so" - ewarn " # chown root:root ${EPREFIX}/etc/sudoers" - ewarn " # chown root:root ${EPREFIX}/etc/sudoers.d" - ewarn " # chown root:root ${EPREFIX}/var/db/sudo" - ewarn " # chmod 4111 ${EPREFIX}/usr/bin/sudo" - ewarn - fi - - elog "To use the -A (askpass) option, you need to install a compatible" - elog "password program from the following list. Starred packages will" - elog "automatically register for the use with sudo (but will not force" - elog "the -A option):" - elog "" - elog " [*] net-misc/ssh-askpass-fullscreen" - elog " net-misc/x11-ssh-askpass" - elog "" - elog "You can override the choice by setting the SUDO_ASKPASS environmnent" - elog "variable to the program you want to use." -} diff --git a/sdk_container/src/third_party/portage-stable/app-admin/sudo/sudo-1.9.16_p1-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-admin/sudo/sudo-1.9.16_p1-r1.ebuild deleted file mode 100644 index a4c126a9a2..0000000000 --- a/sdk_container/src/third_party/portage-stable/app-admin/sudo/sudo-1.9.16_p1-r1.ebuild +++ /dev/null @@ -1,294 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit flag-o-matic pam tmpfiles toolchain-funcs - -MY_P="${P/_/}" -MY_P="${MY_P/beta/b}" - -DESCRIPTION="Allows users or groups to run commands as other users" -HOMEPAGE="https://www.sudo.ws/" - -if [[ ${PV} == 9999 ]] ; then - inherit autotools mercurial - EHG_REPO_URI="https://www.sudo.ws/repos/sudo" -else - VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/sudo.ws.asc - inherit libtool verify-sig - - uri_prefix= - case ${P} in - *_beta*|*_rc*) uri_prefix=beta/ ;; - esac - - SRC_URI=" - https://www.sudo.ws/sudo/dist/${uri_prefix}${MY_P}.tar.gz - ftp://ftp.sudo.ws/pub/sudo/${uri_prefix}${MY_P}.tar.gz - verify-sig? ( - https://www.sudo.ws/sudo/dist/${uri_prefix}${MY_P}.tar.gz.sig - ftp://ftp.sudo.ws/pub/sudo/${uri_prefix}${MY_P}.tar.gz.sig - ) - " - - if [[ ${PV} != *_beta* && ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" - fi - - BDEPEND="verify-sig? ( sec-keys/openpgp-keys-sudo )" -fi - -S="${WORKDIR}/${MY_P}" - -# Basic license is ISC-style as-is, some files are released under -# 3-clause BSD license -LICENSE="ISC BSD" -SLOT="0" -IUSE="gcrypt ldap nls offensive pam sasl +secure-path selinux +sendmail skey ssl sssd" - -DEPEND=" - sys-libs/zlib:= - virtual/libcrypt:= - gcrypt? ( dev-libs/libgcrypt:= ) - ldap? ( - >=net-nds/openldap-2.1.30-r1:= - sasl? ( - dev-libs/cyrus-sasl - net-nds/openldap:=[sasl] - ) - ) - pam? ( sys-libs/pam ) - sasl? ( dev-libs/cyrus-sasl ) - selinux? ( sys-libs/libselinux ) - skey? ( >=sys-auth/skey-1.1.5-r1 ) - ssl? ( dev-libs/openssl:= ) - sssd? ( sys-auth/sssd[sudo(+)] ) -" -RDEPEND=" - ${DEPEND} - >=app-misc/editor-wrapper-3 - virtual/editor - ldap? ( dev-lang/perl ) - pam? ( sys-auth/pambase ) - selinux? ( sec-policy/selinux-sudo ) - sendmail? ( virtual/mta ) -" -BDEPEND+=" - app-alternatives/yacc - virtual/pkgconfig -" - -REQUIRED_USE=" - ?? ( pam skey ) - ?? ( gcrypt ssl ) -" - -MAKEOPTS+=" SAMPLES=" - -src_prepare() { - default - - if [[ ${PV} == 9999 ]] ; then - eautoreconf - else - elibtoolize - fi -} - -set_secure_path() { - # First extract the default ROOTPATH from build env - SECURE_PATH=$(unset ROOTPATH; . "${EPREFIX}"/etc/profile.env; echo "${ROOTPATH}") - - case "${SECURE_PATH}" in - */usr/sbin*) - ;; - *) - SECURE_PATH=$(unset PATH; . "${EPREFIX}"/etc/profile.env; echo "${PATH}") - ;; - esac - - if [[ -z ${SECURE_PATH} ]] ; then - ewarn " Failed to detect SECURE_PATH, please report this" - fi - - # Then remove duplicate path entries - cleanpath() { - local newpath thisp IFS=: - for thisp in $1 ; do - if [[ :${newpath}: != *:${thisp}:* ]] ; then - newpath+=:${thisp} - else - einfo " Duplicate entry ${thisp} removed..." - fi - done - SECURE_PATH=${newpath#:} - } - cleanpath /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin${SECURE_PATH:+:${SECURE_PATH}} - - # Finally, strip gcc paths, bug #136027 - rmpath() { - local e newpath thisp IFS=: - for thisp in ${SECURE_PATH} ; do - for e ; do - [[ ${thisp} == ${e} ]] && continue 2 ; - done - newpath+=:${thisp} - done - SECURE_PATH=${newpath#:} - } - rmpath '*/gcc-bin/*' '*/gnat-gcc-bin/*' '*/gnat-gcc/*' -} - -src_configure() { - local SECURE_PATH - - set_secure_path - - # bug #767712 - tc-export PKG_CONFIG - - # https://github.com/sudo-project/sudo/issues/420 - append-cflags -std=gnu17 - - # - audit: somebody got to explain me how I can test this before I - # enable it.. - Diego - # - plugindir: autoconf code is crappy and does not delay evaluation - # until `make` time, so we have to use a full path here rather than - # basing off other values. - local myeconfargs=( - # We set all of the relevant options by ourselves (patched - # into the toolchain) and setting these in the build system - # actually causes a downgrade when using e.g. -D_FORTIFY_SOURCE=3 - # (it'll downgrade to =2). So, this has no functional effect on - # the hardening for users. It's safe. - --disable-hardening - - # requires some python eclass - --disable-python - --enable-tmpfiles.d="${EPREFIX}"/usr/lib/tmpfiles.d - --enable-zlib=system - --with-editor="${EPREFIX}"/usr/libexec/editor - --with-env-editor - --with-plugindir="${EPREFIX}"/usr/$(get_libdir)/sudo - --with-rundir="${EPREFIX}"/run/sudo - --with-vardir="${EPREFIX}"/var/db/sudo - --without-linux-audit - --without-opie - $(use_enable gcrypt) - $(use_enable nls) - $(use_enable sasl) - $(use_enable ssl openssl) - $(use_with ldap) - $(use_with ldap ldap_conf_file /etc/ldap.conf.sudo) - $(use_with offensive insults) - $(use_with offensive all-insults) - $(use_with pam) - $(use_with pam pam-login) - $(use_with secure-path) - "$(use_with secure-path secure-path-value "${SECURE_PATH}")" - $(use_with selinux) - $(use_with sendmail) - $(use_with skey) - $(use_with sssd) - ) - - econf "${myeconfargs[@]}" -} - -src_install() { - default - - if use ldap ; then - dodoc README.LDAP.md - - cat <<-EOF > "${T}"/ldap.conf.sudo - # See ldap.conf(5) and README.LDAP.md for details - # This file should only be readable by root - - # supported directives: host, port, ssl, ldap_version - # uri, binddn, bindpw, sudoers_base, sudoers_debug - # tls_{checkpeer,cacertfile,cacertdir,randfile,ciphers,cert,key} - EOF - - if use sasl ; then - cat <<-EOF >> "${T}"/ldap.conf.sudo - - # SASL directives: use_sasl, sasl_mech, sasl_auth_id - # sasl_secprops, rootuse_sasl, rootsasl_auth_id, krb5_ccname - EOF - fi - - insinto /etc - doins "${T}"/ldap.conf.sudo - fperms 0440 /etc/ldap.conf.sudo - - insinto /etc/openldap/schema - newins docs/schema.OpenLDAP sudo.schema - fi - - if use pam ; then - pamd_mimic system-auth sudo auth account session - pamd_mimic system-auth sudo-i auth account session - fi - - keepdir /var/db/sudo/lectured - fperms 0700 /var/db/sudo/lectured - # bug #652958 - fperms 0711 /var/db/sudo - - # Don't install into /run as that is a tmpfs most of the time - # (bug #504854) - rm -rf "${ED}"/run || die - - # bug #697812 - find "${ED}" -type f -name "*.la" -delete || die -} - -pkg_postinst() { - tmpfiles_process sudo.conf - - # bug #652958 - local sudo_db="${EROOT}/var/db/sudo" - if [[ "$(stat -c %a "${sudo_db}")" -ne 711 ]] ; then - chmod 711 "${sudo_db}" || die - fi - - if use ldap ; then - ewarn - ewarn "sudo uses the ${ROOT}/etc/ldap.conf.sudo file for ldap configuration." - ewarn - if grep -qs '^[[:space:]]*sudoers:' "${ROOT}"/etc/nsswitch.conf ; then - ewarn "In 1.7 series, LDAP is no more consulted, unless explicitly" - ewarn "configured in ${ROOT}/etc/nsswitch.conf." - ewarn - ewarn "To make use of LDAP, add this line to your ${ROOT}/etc/nsswitch.conf:" - ewarn " sudoers: ldap files" - ewarn - fi - fi - if use prefix ; then - ewarn - ewarn "To use sudo on Prefix, you need to change file ownership and permissions" - ewarn "with root privileges, as follows:" - ewarn - ewarn " # chown root:root ${EPREFIX}/usr/bin/sudo" - ewarn " # chown root:root ${EPREFIX}/usr/lib/sudo/sudoers.so" - ewarn " # chown root:root ${EPREFIX}/etc/sudoers" - ewarn " # chown root:root ${EPREFIX}/etc/sudoers.d" - ewarn " # chown root:root ${EPREFIX}/var/db/sudo" - ewarn " # chmod 4111 ${EPREFIX}/usr/bin/sudo" - ewarn - fi - - elog "To use the -A (askpass) option, you need to install a compatible" - elog "password program from the following list. Starred packages will" - elog "automatically register for the use with sudo (but will not force" - elog "the -A option):" - elog "" - elog " [*] net-misc/ssh-askpass-fullscreen" - elog " net-misc/x11-ssh-askpass" - elog "" - elog "You can override the choice by setting the SUDO_ASKPASS environmnent" - elog "variable to the program you want to use." -} diff --git a/sdk_container/src/third_party/portage-stable/app-admin/sudo/sudo-1.9.16_p2-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-admin/sudo/sudo-1.9.16_p2-r1.ebuild index 3c7cda1458..9d6ed763c8 100644 --- a/sdk_container/src/third_party/portage-stable/app-admin/sudo/sudo-1.9.16_p2-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-admin/sudo/sudo-1.9.16_p2-r1.ebuild @@ -3,7 +3,7 @@ EAPI=8 -inherit flag-o-matic pam tmpfiles toolchain-funcs +inherit pam tmpfiles toolchain-funcs MY_P="${P/_/}" MY_P="${MY_P/beta/b}" @@ -25,10 +25,8 @@ else SRC_URI=" https://www.sudo.ws/sudo/dist/${uri_prefix}${MY_P}.tar.gz - ftp://ftp.sudo.ws/pub/sudo/${uri_prefix}${MY_P}.tar.gz verify-sig? ( https://www.sudo.ws/sudo/dist/${uri_prefix}${MY_P}.tar.gz.sig - ftp://ftp.sudo.ws/pub/sudo/${uri_prefix}${MY_P}.tar.gz.sig ) " diff --git a/sdk_container/src/third_party/portage-stable/app-admin/sudo/sudo-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-admin/sudo/sudo-9999.ebuild index a4c126a9a2..8fff95b78b 100644 --- a/sdk_container/src/third_party/portage-stable/app-admin/sudo/sudo-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-admin/sudo/sudo-9999.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -inherit flag-o-matic pam tmpfiles toolchain-funcs +inherit pam tmpfiles toolchain-funcs MY_P="${P/_/}" MY_P="${MY_P/beta/b}" @@ -25,10 +25,8 @@ else SRC_URI=" https://www.sudo.ws/sudo/dist/${uri_prefix}${MY_P}.tar.gz - ftp://ftp.sudo.ws/pub/sudo/${uri_prefix}${MY_P}.tar.gz verify-sig? ( https://www.sudo.ws/sudo/dist/${uri_prefix}${MY_P}.tar.gz.sig - ftp://ftp.sudo.ws/pub/sudo/${uri_prefix}${MY_P}.tar.gz.sig ) " @@ -148,9 +146,6 @@ src_configure() { # bug #767712 tc-export PKG_CONFIG - # https://github.com/sudo-project/sudo/issues/420 - append-cflags -std=gnu17 - # - audit: somebody got to explain me how I can test this before I # enable it.. - Diego # - plugindir: autoconf code is crappy and does not delay evaluation diff --git a/sdk_container/src/third_party/portage-stable/app-alternatives/awk/awk-4.ebuild b/sdk_container/src/third_party/portage-stable/app-alternatives/awk/awk-4.ebuild index bc74e2572c..2c26d9a417 100644 --- a/sdk_container/src/third_party/portage-stable/app-alternatives/awk/awk-4.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-alternatives/awk/awk-4.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022-2023 Gentoo Authors +# Copyright 2022-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -10,7 +10,7 @@ ALTERNATIVES=( nawk:sys-apps/nawk ) -inherit app-alternatives +inherit app-alternatives eapi9-ver DESCRIPTION="/bin/awk and /usr/bin/awk symlinks" 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" @@ -49,18 +49,11 @@ pkg_preinst() { has_version "app-alternatives/awk[mawk]" && HAD_MAWK=1 - local v - for v in ${REPLACING_VERSIONS}; do - if ver_test "${v}" -lt 4; then - SHOW_MAWK_WARNING=1 - fi + ver_replacing -lt 4 && SHOW_MAWK_WARNING=1 - # if we are upgrading from a new enough version, leftover manpage - # symlink cleanup was done already - if ver_test "${v}" -ge 3; then - return - fi - done + # if we are upgrading from a new enough version, leftover manpage + # symlink cleanup was done already + ver_replacing -ge 3 && return # otherwise, remove leftover files/symlinks created by eselect-awk (sic!) shopt -s nullglob diff --git a/sdk_container/src/third_party/portage-stable/app-arch/gzip/gzip-1.13-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/gzip/gzip-1.13-r1.ebuild index 376a342bae..6a5ffb05ff 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/gzip/gzip-1.13-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/gzip/gzip-1.13-r1.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gzip.asc -inherit flag-o-matic verify-sig +inherit eapi9-ver flag-o-matic verify-sig DESCRIPTION="Standard GNU compressor" HOMEPAGE="https://www.gnu.org/software/gzip/" @@ -80,14 +80,9 @@ src_install() { } pkg_postinst() { - if [[ -n ${REPLACING_VERSIONS} ]]; then - local ver - for ver in ${REPLACING_VERSIONS}; do - if ver_test "${ver}" -lt "1.12-r2"; then - ewarn "This package no longer installs 'uncompress'." - ewarn "Please use 'gzip -d' to decompress .Z files." - fi - done + if ver_replacing -lt "1.12-r2"; then + ewarn "This package no longer installs 'uncompress'." + ewarn "Please use 'gzip -d' to decompress .Z files." fi # ensure to preserve the symlinks before app-alternatives/gzip diff --git a/sdk_container/src/third_party/portage-stable/app-arch/zstd/Manifest b/sdk_container/src/third_party/portage-stable/app-arch/zstd/Manifest index 152b021960..5996706b0a 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/zstd/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-arch/zstd/Manifest @@ -1 +1,2 @@ DIST zstd-1.5.6.tar.gz 2406875 BLAKE2B fe17cf0950f8ee2cc07bfa2b41e97f36a1832e396386cb94a55bede975dc974920578cf147b39eecbc5b53ff06fe0dc1fe781a4cab9bc9f767ea28c0e786422e SHA512 54a578f2484da0520a6e9a24f501b9540a3fe3806785d6bc9db79fc095b7c142a7c121387c7eecd460ca71446603584ef1ba4d29a33ca90873338c9ffbd04f14 +DIST zstd-1.5.7.tar.gz 2434947 BLAKE2B ef6bcf13bbb79edce2de21ef4860b01dcb4d2dd47ebd03657d5331c3bb1a207ef128e99ed907a32e787dca7bb51df225ebd8abb2097d03d02c003ca713e1e271 SHA512 b4de208f179b68d4c6454139ca60d66ed3ef3893a560d6159a056640f83d3ee67cdf6ffb88971cdba35449dba4b597eaa8b4ae908127ef7fd58c89f40bf9a705 diff --git a/sdk_container/src/third_party/portage-stable/app-arch/zstd/zstd-1.5.7.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/zstd/zstd-1.5.7.ebuild new file mode 100644 index 0000000000..e64deb3eb4 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-arch/zstd/zstd-1.5.7.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit meson-multilib + +DESCRIPTION="zstd fast compression library" +HOMEPAGE="https://facebook.github.io/zstd/" +SRC_URI="https://github.com/facebook/zstd/releases/download/v${PV}/${P}.tar.gz" +S="${WORKDIR}"/${P}/build/meson + +LICENSE="|| ( BSD GPL-2 )" +SLOT="0/1" +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="+lzma lz4 static-libs test zlib" +RESTRICT="!test? ( test )" + +RDEPEND=" + lzma? ( app-arch/xz-utils ) + lz4? ( app-arch/lz4:= ) + zlib? ( sys-libs/zlib ) +" +DEPEND="${RDEPEND}" + +MESON_PATCHES=( + # Workaround until Valgrind bugfix lands + "${FILESDIR}"/${PN}-1.5.4-no-find-valgrind.patch +) + +PATCHES=( +) + +src_prepare() { + cd "${WORKDIR}"/${P} || die + default + + cd "${S}" || die + eapply "${MESON_PATCHES[@]}" +} + +multilib_src_configure() { + local native_file="${T}"/meson.${CHOST}.${ABI}.ini.local + + # This replaces the no-find-valgrind patch once bugfix lands in a meson + # release + we can BDEPEND on it (https://github.com/mesonbuild/meson/pull/11372) + cat >> ${native_file} <<-EOF || die + [binaries] + valgrind='valgrind-falseified' + EOF + + local emesonargs=( + -Ddefault_library=$(multilib_native_usex static-libs both shared) + + $(meson_native_true bin_programs) + $(meson_native_true bin_contrib) + $(meson_use test bin_tests) + + $(meson_native_use_feature zlib) + $(meson_native_use_feature lzma) + $(meson_native_use_feature lz4) + + --native-file "${native_file}" + ) + + meson_src_configure +} + +multilib_src_test() { + meson_src_test --timeout-multiplier=2 +} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/catatonit/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/catatonit/Manifest index 2d8bb7fdb1..bfb6f6685e 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/catatonit/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/catatonit/Manifest @@ -1 +1,2 @@ DIST catatonit-0.2.0.tar.gz 16608 BLAKE2B 27b6ed1148aaef963140c42e2cb6a7a8c9c25f01eef62cf519c3b1c230c8f30838f5b9cb54bf0b37b1194084f3f0c750e20316738a330d6a01c830b71b45623c SHA512 115e72002e35bb2a03919f9422a9cb2d9a0e4f087862d4ffd20e9508af6d67efc359a577ec059574f2f6c98966a1f080b65dffc8dfb83b3c2ed48e63e2aeac3b +DIST catatonit-0.2.1.tar.gz 18479 BLAKE2B df489287a3c134fa0f9188a1c8bfd05b085b2173b733be3d3bc8f7e99ac2bd8529815a2fe33e09e15a6609e8310cda7ff3f6b51270ed687a4f217d40dd603655 SHA512 39fb66900e9c9541470a70bec66dc77cf04ef237aa69bbc4fbb4025ef3de5c335f8b28cb41d60cd4525683a61d270dc8582b200606c474817035a0ffd9afb849 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/catatonit/catatonit-0.2.1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/catatonit/catatonit-0.2.1.ebuild new file mode 100644 index 0000000000..32ce922290 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/catatonit/catatonit-0.2.1.ebuild @@ -0,0 +1,31 @@ +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="A container init that is so simple it's effectively brain-dead" +HOMEPAGE="https://github.com/openSUSE/catatonit" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/openSUSE/catatonit.git" +else + SRC_URI="https://github.com/openSUSE/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv" +fi + +LICENSE="GPL-2+" +SLOT="0" + +src_prepare() { + default + eautoreconf +} + +src_install() { + default + dodir /usr/libexec/podman + dosym -r /usr/bin/"${PN}" /usr/libexec/podman/"${PN}" +} diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.7.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.7.ebuild index 1c146f45be..37ce5d63a2 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.7.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/gnupg/gnupg-2.4.7.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/p11-kit/p11-kit-0.25.5.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/p11-kit/p11-kit-0.25.5.ebuild index 41fce9d3d3..b8bcdf82c2 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/p11-kit/p11-kit-0.25.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/p11-kit/p11-kit-0.25.5.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://github.com/p11-glue/p11-kit/releases/download/${PV}/${P}.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 ~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 ~ppc-macos ~x64-macos ~x64-solaris" IUSE="+libffi gtk-doc nls systemd test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/rhash/rhash-1.4.5.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/rhash/rhash-1.4.5.ebuild index f6708fd1b4..8df81edec4 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/rhash/rhash-1.4.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/rhash/rhash-1.4.5.ebuild @@ -12,7 +12,7 @@ S="${WORKDIR}/RHash-${PV}" LICENSE="0BSD" SLOT="0/1" -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 nls ssl static-libs" RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/tpm2-tss-4.1.3-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/tpm2-tss-4.1.3-r2.ebuild new file mode 100644 index 0000000000..259611caed --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/tpm2-tss-4.1.3-r2.ebuild @@ -0,0 +1,111 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic linux-info multilib-minimal tmpfiles udev + +DESCRIPTION="TCG Trusted Platform Module 2.0 Software Stack" +HOMEPAGE="https://github.com/tpm2-software/tpm2-tss" +SRC_URI="https://github.com/tpm2-software/${PN}/releases/download/${PV}/${P}.tar.gz" + +LICENSE="BSD-2" +SLOT="0/4" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +IUSE="doc +fapi +openssl mbedtls +policy static-libs test" +RESTRICT="!test? ( test )" + +REQUIRED_USE=" + ^^ ( mbedtls openssl ) + fapi? ( openssl !mbedtls ) + policy? ( openssl !mbedtls ) +" + +RDEPEND=" + acct-group/tss + acct-user/tss + sys-apps/util-linux:=[${MULTILIB_USEDEP}] + fapi? ( + dev-libs/json-c:=[${MULTILIB_USEDEP}] + >=net-misc/curl-7.80.0[${MULTILIB_USEDEP}] + ) + mbedtls? ( net-libs/mbedtls:0=[${MULTILIB_USEDEP}] ) + openssl? ( dev-libs/openssl:=[${MULTILIB_USEDEP}] ) +" + +DEPEND=" + ${RDEPEND} + test? ( app-crypt/swtpm + dev-libs/uthash + dev-util/cmocka + sys-apps/iproute2[-minimal] + fapi? ( >=net-misc/curl-7.80.0 ) ) +" + +BDEPEND=" + sys-apps/acl + virtual/pkgconfig + doc? ( app-text/doxygen ) +" + +PATCHES=( + "${FILESDIR}/${PN}-4.0.2-Dont-install-files-into-run.patch" +) + +pkg_setup() { + local CONFIG_CHECK="~TCG_TPM" + linux-info_pkg_setup + kernel_is ge 4 12 0 || ewarn "At least kernel 4.12.0 is required" +} + +src_prepare() { + default + eautoreconf +} + +multilib_src_configure() { + # Fails with inlining + filter-flags -fno-semantic-interposition + # tests fail with LTO enabbled. See bug 865275 and 865279 + filter-lto + + local myconf=( + --localstatedir=/var + $(multilib_native_use_enable doc doxygen-doc) + $(use_enable fapi) + $(use_enable policy) + $(use_enable static-libs static) + $(multilib_native_use_enable test unit) + $(multilib_native_use_enable test integration) + $(multilib_native_use_enable test self-generated-certificate) + --disable-tcti-libtpms + --disable-tcti-spi-ltt2go + --disable-tcti-spi-ftdi + --disable-tcti-i2c-ftdi + --disable-defaultflags + --disable-weakcrypto + --with-crypto="$(usex mbedtls mbed ossl)" + --with-runstatedir=/run + --with-udevrulesdir="$(get_udevdir)/rules.d" + --with-udevrulesprefix=60- + --without-sysusersdir + --with-tmpfilesdir="/usr/lib/tmpfiles.d" + ) + + ECONF_SOURCE=${S} econf "${myconf[@]}" +} + +multilib_src_install() { + default + keepdir /var/lib/tpm2-tss/system/keystore + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + tmpfiles_process tpm2-tss-fapi.conf + udev_reload +} + +pkg_postrm() { + udev_reload +} diff --git a/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.3-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.3-r1.ebuild index 33dcb4d841..77da1bd61f 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.3-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.3-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -9,7 +9,7 @@ if [[ ${PV} == 9999 ]] ; then 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" + 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" diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-9.2.0-glibc-2.41.patch b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-9.0.0-glibc-2.41.patch similarity index 100% rename from sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-9.2.0-glibc-2.41.patch rename to sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-9.0.0-glibc-2.41.patch diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-7.2.14.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-7.2.14.ebuild index ace01a5894..a76a8cce20 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-7.2.14.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-7.2.14.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -13,7 +13,7 @@ QEMU_DOCS_VERSION="7.2.0" # bug #830088 QEMU_DOC_USEFLAG="+doc" -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{11..12} ) PYTHON_REQ_USE="ncurses,readline" FIRMWARE_ABI_VERSION="7.2.0" diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-7.2.15.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-7.2.15.ebuild index 11b2753234..a76a8cce20 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-7.2.15.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-7.2.15.ebuild @@ -13,7 +13,7 @@ QEMU_DOCS_VERSION="7.2.0" # bug #830088 QEMU_DOC_USEFLAG="+doc" -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{11..12} ) PYTHON_REQ_USE="ncurses,readline" FIRMWARE_ABI_VERSION="7.2.0" diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.2.3.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.2.3.ebuild index 01ec0ca376..c846c2c1cc 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.2.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.2.3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -13,7 +13,7 @@ QEMU_DOCS_VERSION=$(ver_cut 1-2).0 # bug #830088 QEMU_DOC_USEFLAG="+doc" -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{11..12} ) PYTHON_REQ_USE="ensurepip(-),ncurses,readline" FIRMWARE_ABI_VERSION="7.2.0" diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.2.7.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.2.7.ebuild index aad4de6c27..e2772508ce 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.2.7.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.2.7.ebuild @@ -13,7 +13,7 @@ QEMU_DOCS_VERSION=$(ver_cut 1-2).0 # bug #830088 QEMU_DOC_USEFLAG="+doc" -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{11..12} ) PYTHON_REQ_USE="ensurepip(-),ncurses,readline" FIRMWARE_ABI_VERSION="7.2.0" diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.2.8.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.2.8.ebuild index 7c5adb09c1..6b1b71c8db 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.2.8.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-8.2.8.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -13,7 +13,7 @@ QEMU_DOCS_VERSION=$(ver_cut 1-2).0 # bug #830088 QEMU_DOC_USEFLAG="+doc" -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{11..12} ) PYTHON_REQ_USE="ensurepip(-),ncurses,readline" FIRMWARE_ABI_VERSION="7.2.0" diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.0.4.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.0.4.ebuild index 13ae2d10fa..c26e1853f6 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.0.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.0.4.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -13,7 +13,7 @@ QEMU_DOCS_VERSION=$(ver_cut 1-2).0 # bug #830088 QEMU_DOC_USEFLAG="+doc" -PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_COMPAT=( python3_{11..13} ) PYTHON_REQ_USE="ensurepip(-),ncurses,readline" FIRMWARE_ABI_VERSION="7.2.0" @@ -322,6 +322,7 @@ PATCHES=( "${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 + "${FILESDIR}"/${PN}-9.0.0-glibc-2.41.patch ) diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.1.2.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.1.2.ebuild index 55b0215c9f..c999dbdbb8 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.1.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.1.2.ebuild @@ -13,7 +13,7 @@ QEMU_DOCS_VERSION=$(ver_cut 1-2).0 # bug #830088 QEMU_DOC_USEFLAG="+doc" -PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_COMPAT=( python3_{11..13} ) PYTHON_REQ_USE="ensurepip(-),ncurses,readline" FIRMWARE_ABI_VERSION="7.2.0" @@ -321,6 +321,7 @@ PATCHES=( "${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 + "${FILESDIR}"/${PN}-9.0.0-glibc-2.41.patch ) diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.2.0.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.2.0.ebuild index e62552d849..3fda0219f1 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.2.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9.2.0.ebuild @@ -13,13 +13,13 @@ QEMU_DOCS_VERSION=$(ver_cut 1-3) # bug #830088 QEMU_DOC_USEFLAG="+doc" -PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_COMPAT=( python3_{11..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 +inherit eapi9-ver linux-info toolchain-funcs python-r1 udev fcaps \ + readme.gentoo-r1 pax-utils xdg-utils if [[ ${PV} == *9999* ]]; then QEMU_DOCS_PREBUILT=0 @@ -319,7 +319,7 @@ PATCHES=( "${FILESDIR}"/${PN}-9.2.0-capstone-include-path.patch "${FILESDIR}"/${PN}-8.1.0-skip-tests.patch "${FILESDIR}"/${PN}-8.1.0-find-sphinx.patch - "${FILESDIR}"/${PN}-9.2.0-glibc-2.41.patch + "${FILESDIR}"/${PN}-9.0.0-glibc-2.41.patch ) QA_PREBUILT=" @@ -930,16 +930,6 @@ src_install() { 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 @@ -953,7 +943,7 @@ pkg_postinst() { DISABLE_AUTOFORMATTING=true readme.gentoo_print_elog - if use pin-upstream-blobs && firmware_abi_change; then + if use pin-upstream-blobs && ver_replacing -lt ${FIRMWARE_ABI_VERSION}; then ewarn "This version of qemu pins new versions of firmware blobs:" if has_version 'sys-firmware/edk2-bin'; then 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 a689524062..3bca5a4feb 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 @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -13,13 +13,13 @@ QEMU_DOCS_VERSION=$(ver_cut 1-3) # bug #830088 QEMU_DOC_USEFLAG="+doc" -PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_COMPAT=( python3_{11..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 +inherit eapi9-ver linux-info toolchain-funcs python-r1 udev fcaps \ + readme.gentoo-r1 pax-utils xdg-utils if [[ ${PV} == *9999* ]]; then QEMU_DOCS_PREBUILT=0 @@ -246,7 +246,7 @@ 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/ipxe-1.21.1_p20230601[binary,qemu] ~sys-firmware/seabios-bin-${SEABIOS_VERSION} ~sys-firmware/sgabios-0.1_pre10[binary] ) @@ -930,16 +930,6 @@ src_install() { 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 @@ -953,7 +943,7 @@ pkg_postinst() { DISABLE_AUTOFORMATTING=true readme.gentoo_print_elog - if use pin-upstream-blobs && firmware_abi_change; then + if use pin-upstream-blobs && ver_replacing -lt ${FIRMWARE_ABI_VERSION}; then ewarn "This version of qemu pins new versions of firmware blobs:" if has_version 'sys-firmware/edk2-bin'; then 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 8c789e51ea..974716429c 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 @@ -24,11 +24,8 @@ DIST bash-5.2.tar.gz 10950833 BLAKE2B 51b196e710794ebad8eac28c31c93eb99ac1a7db30 DIST bash-5.2.tar.gz.sig 95 BLAKE2B 2991b7c46ef1cdca08062f419be47fca7551f4c5d9aad8a5c1da74974f5e7707d23914b4cecf9b6c9610471146b2c49b611bb62a5d974f1c37cceb77b719851c SHA512 a161664f124f906be32709f66702f8f780e6d52e558ea45e71ec60a959c9435ff68477ee65a0a9f6c0051d5592f5044fb3b410cf3cd3ae5a8a323789b01be258 DIST bash-5.3-beta.tar.gz 10667630 BLAKE2B d6d3a1efd5ed69b131e2831e35c4a620968132e7d9da079de155decb4d3c736cd6c9f1180523e85dd41aeecdb9b380e4768bc551afafaee478168c462ce90929 SHA512 f8f02b4a90312c8e7c589efd1a0a43a4db3bcb47d19cb95190961e4ae254b2d6d26472197ce216868d914fe1adf62741f927552239559a1c3b2c64dfcfaa8cb0 DIST bash-5.3-beta.tar.gz.sig 94 BLAKE2B a4b85d5755e200abddd5669c3d21b1ee6be8036b27934e25473c14b15ffc1bc7cbbd5a94f39a0dc6bf6050908590509f0ba39d28c33947154cc966e11d454c8c SHA512 72184ca2afe3d0c8c2165516499a61da2aecc0c8c83661cab0038c3d849623115729d2ade73c4b5973ea9b5e8169af4bc2aea51f0b70356af26342285adab2f5 -DIST bash-5.3_beta_p20250109-2ea356081dbfbac2c791f9b8072ed4b824e3d9df.tar.gz 15708913 BLAKE2B 0fcfb544b4c167ddb6e6bebde283519d4dd0ea95d531c6d499b5bbbc073ec355955a6f0fcaf9efe6de57fc8395f72636ebb077c4bc2506e58b30c2c98429e528 SHA512 7200a9e2bedbcb2b6ffabf32f324df33e6d9f8a12155f9112a22588d313c197202e3ae96930a7ab2d454e45b7ef708afabb371bb7ba13c1ee0d1b9ad58b77cac -DIST bash-5.3_beta_p20250124-25e213a551dc808c7f29360075bad4806fb9fec5.tar.gz 15722261 BLAKE2B 6c948112e782bb1d633951ac6f93e9f3ebf3937624b2823dc5a4b304abd109eb307415ad915c55e96d78c2b0831702bcbff308a95830e4cd153e837746fdaeed SHA512 012c5830aa1f55ea7ad57ad23a518406208d32cff78f911f2c87257e3653bb7efd1638f875a1df66c7babbc2b0530b97af72d111917e336b9131086f4e3fdee9 -DIST bash-5.3_beta_p20250128-0390b4354a9e5df517ef2d4f9d78a099063b22b4.tar.gz 15725245 BLAKE2B 381c8c069c245f4a93c4cbda31d2a26951491425b0dce590f2100325ff0a6ce2cd97b48aaccbf800d94b691ed5a1686343ee244ae8e7bd442504a5c3fb416b03 SHA512 2c212e49d2be8f195bdf338b723872ed69c655a933c5bf540496f5b5bf8fa8510715df29996e9737d718331bdbbce30317f99896687ea576d36bec36aa56a884 -DIST bash-5.3_beta_p20250210-3cfc255efe9a05fe8b28cc03a1b6a3fac59741c0.tar.gz 15724570 BLAKE2B 253a9fe0ad81541421a640c17b4178f3569e85bcf02639492b9b87c7437d2bf4f0430648094383942e0110ac3c1130fc18aa1140dafd4fe085aaef4351c31510 SHA512 e2a30d3a894a310af63dd82be88df856d7064898138600597c50e5b0c7e5a942e14f7336b79dac847419a1008f1c47cf2eda43fb528988afa253b216c12d4ad6 DIST bash-5.3_beta_p20250212-c3ca11424d2ae66cafa2f931b008dfb728e209a5.tar.gz 15731015 BLAKE2B a2409a10d4ee849ba3589a7eb988b99dacf888933d0d05eddda6f4ed44ddffead761d5530c49d732b158cc818569671c9cf5129b617ccf45f9b9e86659d6d1fd SHA512 166e52bfae6c07f6791c11cd80924419f7c4bbd841bfc69565b2ab298d5179ebc4c639c1dd0491136f10e686f9080c6f23b601e8225fe0dc8b633c7f79977c82 +DIST bash-5.3_beta_p20250224-e608233770b0ba5fe20cb46842992b64f7252383.tar.gz 15744147 BLAKE2B 8c9497c8dc0feefe93bac7351973fc6b2663c75d7ee9e7f6ef44687f84c1c2081fe11685c9535cd0d3185c8d3f37180234f5103483e8dedbcd34b86462ec4bac SHA512 e6aadfcb9ab18a7ba2d2d67d04adef3e7bf2ce72091c222b45267ea26e5fd31ab58cdd574c4f8ebb1e6dee60fe8c4912732bb5a4ac5d8b85d255b50e60ef43dd 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_beta_p20250109.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_beta_p20250109.ebuild deleted file mode 100644 index b7349ed9f9..0000000000 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_beta_p20250109.ebuild +++ /dev/null @@ -1,411 +0,0 @@ -# Copyright 1999-2025 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="2ea356081dbfbac2c791f9b8072ed4b824e3d9df" - 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_beta_p20250128.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_beta_p20250128.ebuild deleted file mode 100644 index 028070f3ef..0000000000 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_beta_p20250128.ebuild +++ /dev/null @@ -1,414 +0,0 @@ -# Copyright 1999-2025 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="0390b4354a9e5df517ef2d4f9d78a099063b22b4" - 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 - - # builtins/evalstring.c needs y.tab.h but can't (easily) specify the dep on it from above - emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" y.tab.h - 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[*]}" y.tab.h - 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_beta_p20250210.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_beta_p20250210.ebuild deleted file mode 100644 index ac7775b331..0000000000 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_beta_p20250210.ebuild +++ /dev/null @@ -1,414 +0,0 @@ -# Copyright 1999-2025 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="3cfc255efe9a05fe8b28cc03a1b6a3fac59741c0" - 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 - - # builtins/evalstring.c needs y.tab.h but can't (easily) specify the dep on it from above - emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" y.tab.h - 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[*]}" y.tab.h - 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_beta_p20250124.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_beta_p20250224.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_beta_p20250124.ebuild rename to sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_beta_p20250224.ebuild index c4d191110d..05ae39cc87 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_beta_p20250124.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_beta_p20250224.ebuild @@ -45,7 +45,7 @@ elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then # 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="25e213a551dc808c7f29360075bad4806fb9fec5" + BASH_COMMIT="e608233770b0ba5fe20cb46842992b64f7252383" 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 @@ -179,10 +179,6 @@ src_configure() { # 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 diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-9999.ebuild index 58079b36be..ebd7607905 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -179,10 +179,6 @@ src_configure() { # 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 diff --git a/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.69-r9.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.69-r9.ebuild index 4b8630c820..9892267aba 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.69-r9.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.69-r9.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -13,7 +13,7 @@ else SRC_URI=" mirror://gnu/${PN}/${P}.tar.xz - ftp://alpha.gnu.org/pub/gnu/${PN}/${P}.tar.xz + https://alpha.gnu.org/pub/gnu/${PN}/${P}.tar.xz https://dev.gentoo.org/~polynomial-c/dist/${P}-runstatedir_patches.tar.xz verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig ) " 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 0160cc909d..bb185c875b 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 @@ -10,12 +10,11 @@ DIST cmake-3.30.6-SHA-256.txt 1646 BLAKE2B 370ec5fecb60a7ee6bf36503553a7478b66cf DIST cmake-3.30.6-SHA-256.txt.asc 833 BLAKE2B 73b841a2eb1d476696506706d95f371e5c46c2b777c012bf1d930f072c242bb431cde282ab371bf62a7845c92ba014270e3599d3c30d8503335ce249aa3ecb5c SHA512 34374445ecb012c4607fcf65fc6719dda16af189c0d2d38898a5cd506fc6c24462437556810c693ca45773cb8824cd0a03445ee07b69e010d1b7c509e32c617d DIST cmake-3.30.6.tar.gz 11503061 BLAKE2B a381bea86b7cedb5dfae3598a4a243e74b0b34e78c105fe7ee17343593700c30f1dc42b06cbd872894a043f68e23853e7b1fdc6cb2161584f57e4aa89515e23a SHA512 8349d522ae098d72df625ef44700b672a5f85e7bd6c44ee9c0c3ba3f07561348f715f4d5a6f4a9b0e92bd9984e590473bc684160841f94842b5ee128fcc0bb07 DIST cmake-3.31.0-docs.tar.xz 562756 BLAKE2B ef1d145658fd197ea515f05fbbad54b213bf458f3068829634242bc43bdb4f97bd45fcc45c9958919d2a78276ffc1d14d507822831f44fe9be5080ecc62e75fe SHA512 b4025633a0f42003005dfacdaea55c67e08d8f9082c8c6c564540b4d536246acedece41adb76cb00042d2f25f85b3817d23f70e393eb22a0857693d51ca60748 -DIST cmake-3.31.3-SHA-256.txt 1646 BLAKE2B ad01a76e00bb35a48b617ae343bf10ea4f64e5057c595715d22c086cd371775f6bebc70c763049d426dc85073c966b41a3fbc05155c912835d97252371c7efc4 SHA512 cd5b8c8ea2bdfcc19a0d34b8f2051f932fde931f89cb40b3111badc476e92def3724ac6867e90bba070ad288ef8f73da1eb00c76bd32509027b4cfa0c6c03e01 -DIST cmake-3.31.3-SHA-256.txt.asc 833 BLAKE2B 03b24dd074e8f518713b58d44394bff7b4d3c2150bb1204ae5ca37b2e06031b60a96e1494bc19d100e4da9be78f71b093f6e66ddd5190d30528a09b87084a4c6 SHA512 e4549a1680b7ecfb1801b3f09d1504df07f2d3d383f021e1ea007f3ec23e35eeb3494d05eff6bf100ef165ad0267a05595dcc550e85879d2dd2f17b5fbb59d9a -DIST cmake-3.31.3.tar.gz 11708383 BLAKE2B ab2114133bb0821c236c5e742f5af6abce81b7efd4ab16cca74af9030aa0439f545a06d5fd407794733bff3728ed0419e81168382f43caa5abd4ca2bdba68cde SHA512 d7209c023ce7d45aa3fe4aee78271b89b3c4b1b71b183e978ba0b709255c8db0530d565e083e2dd881df3a18274d901930f70827614ee4df7bb6f4c7d50eae7e -DIST cmake-3.31.4-SHA-256.txt 1646 BLAKE2B d9bcb6f0c0e47e9ae1e82082371fdc9d78c4207b0e85c465ff7c843fb6fd09072fbb36e0232d3bdae4238a33df6ef384c77077b7e5244dca15bdb4a8ad8c1d30 SHA512 cbaa3a5b48139d44c09e97f4c540e69988beab4fe0b9d70e0129e61ca9c42906a647fee48c703a0e066286b4afa99b98981922344250542b59c0510279b9a200 -DIST cmake-3.31.4-SHA-256.txt.asc 833 BLAKE2B 934ed510e0c8e5b49d5ae57bae1bc32cda5425b0d9a4f516fd452b9550b2b9ba43d5ac0dc09ad4ca6752cbbc88843965c19e3f12c461f3d4d2f5700e7d80fd0c SHA512 6d7e3f520828cadeb8d458f78cf317f3ee0106e46102d02dc31bcaa4d45a974f7a6447826856f5e60ad8d60f8b453c6f923e5b99f2ca72125aa722c741f305c5 -DIST cmake-3.31.4.tar.gz 11708192 BLAKE2B 7b51c138fdabec174de74319fa9cc5920973e96f46b8fa9859c95763180c3f29c8ba9401936afd23ccf72790bd0fa12c4236eff1c487e78898442c7dd0a295d6 SHA512 86fef54e3c60a2d050bad97968a76f9c2a663fbd0be433fe3ecbb3268e3ef8243dfcb52f0d7ba9d8b03341c142ee02b33d367dd56597e1af79f6efb553b9eb82 DIST cmake-3.31.5-SHA-256.txt 1646 BLAKE2B 45b9e829febf185ba9f532c208e6b49bcf56e6ffbdf2fb46fb8e6bc6cc58bb890a4a27cb00eb7acfc12b595aa20dcd1343142ab9e1fd42baee12af941cb786de SHA512 1b5a6f405cdb1cfaf52a5666b67d76261121ee66e6c9b73338da72af5f6eb6a27f87b642f657ab9d64bc491b9d8526cae4699e8f053e44550b2e01c3a0f3aa1a DIST cmake-3.31.5-SHA-256.txt.asc 833 BLAKE2B 0206a62c7816b4115e56e1f1519b6357610037f18949a3a5ce894bfd364de39918073fa267516ec4071eaf35fd641363cdaeeb0704de5918d2f6aace9e7bdfbe SHA512 016ec25b29b28845c1a2680e0b25f35b7ce89e466493caa99acaad4f8e32f9173a72afcecdddd90e89ea00ac10df3fa0dc37b3edc1de1923198e393f9f54e769 DIST cmake-3.31.5.tar.gz 11706495 BLAKE2B 16375229d7344b10db40c76fe2fc8a3f90626683b3846a1d0ead22ae6312cc71c58ff4d4314216c0ea34f4c7c4bb8610c5923b875063d08bb247cc1c4ee1ceab SHA512 1981efafa8916371caf58b1fcbf9c9d73d365ec119279860ee2fa11f4ff72d87bb3a4570eb20a45fae95260bb8f565daf2f579a890b2dad588207b3fcc158e43 +DIST cmake-3.31.6-SHA-256.txt 1646 BLAKE2B f5d3bb67759b4b227bd38eb7de8405052fd55cef528d3a4d4754d77815cdb018831fadcb51e590186faa5e7911bd6d9ceba29d971a7d125435df06132276a00d SHA512 8e3d939ccab2260380fce92c31ba8244c7b4d19c7245d5bc9607e9352f2e7fa1e0e4ecc8555f8418f9659f53c142111dd34aba0739d947f387e5a88345dd6b46 +DIST cmake-3.31.6-SHA-256.txt.asc 833 BLAKE2B a99307a7e8011a1df30a2f364ae68b2f5d286d0d98f8a9b5d27283aa109963d6989218a8b3787666d7aa3a7e37e4d6468077c16b6550727efd1295f8c0504caa SHA512 c7a728110790a85ba89dace68c9bd4c22c81ae4482a758297fdb49e7eb11ccf0056d0d4fcf100be71eed7cc2ae3f633722df801dba2d61dd0fafb476d5b09128 +DIST cmake-3.31.6.tar.gz 11710589 BLAKE2B ea1bee1a98568407dfc164f82bf0e3ab082124bbbb12cfa18489bdbe9964418ee30fb62b4915bc06645bcd2cf1e17bfb9c210812da070acbba848db186d06044 SHA512 839d06b6ebd0bf78cbe8f7ae3a7c00026e70d759a81ac51aa103f35ad985ac69be9e667aae7b5fe48c5e0c41baec791259279679dbdf2ddd8b63a48382a8a2a0 +DIST cmake-4.0.0-rc1.tar.gz 11822440 BLAKE2B 644177b912908bf54861aae9b01c14512ab02a99a7699e95dd775d9661abff556400dbedd841258211baf86bef68271e019052470a13d06ce8392104eab245a8 SHA512 7b08a425907e5eef820ca4db8732825bbd7880ac8a4566c103b9ebfe8d3407aa048213e2c4bd685c5f728d5aa975f4a46fc4f76509b7484a0e9cd604e2b81973 +DIST cmake-4.0.0_rc1-docs.tar.xz 577536 BLAKE2B 74a742ffef8e1af1652746e1c177d4198155145a039635e6a0ea40af463f3a2d45b6c6ce7d3a9b1fee24f0c1cfd1c3aa95c27669ca3c6281d54e701fc0ece202 SHA512 74c20067d3b82493024b2f2711b55b93998ce3b5f35ab5a154f33a8268a35a29d01127c55ce6b85b80ff252d15284ed1065e1338422124f6722a4190a984637c diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.31.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.31.5.ebuild index ad9d99bf2b..c3e9336a86 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.31.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.31.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-20240902 )" fi diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.31.4-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.31.6.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.31.4-r1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.31.6.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.31.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-4.0.0_rc1.ebuild similarity index 94% rename from sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.31.3.ebuild rename to sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-4.0.0_rc1.ebuild index 35abe94a13..1a457fe0e9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.31.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-4.0.0_rc1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -9,7 +9,8 @@ EAPI=8 : ${CMAKE_DOCS_PREBUILT:=1} CMAKE_DOCS_PREBUILT_DEV=sam -CMAKE_DOCS_VERSION=$(ver_cut 1-2).0 +CMAKE_DOCS_VERSION=${PV} +#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" @@ -26,7 +27,7 @@ MY_P="${P/_/-}" DESCRIPTION="Cross platform Make" HOMEPAGE="https://cmake.org/" -if [[ ${PV} == 9999 ]] ; then +if [[ ${PV} == *9999* ]] ; then CMAKE_DOCS_PREBUILT=0 EGIT_REPO_URI="https://gitlab.kitware.com/cmake/cmake.git" @@ -49,7 +50,7 @@ else 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 )" + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20240902 )" fi fi @@ -59,7 +60,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="BSD" SLOT="0" -IUSE="${CMAKE_DOCS_USEFLAG} dap gui ncurses qt6 test" +IUSE="${CMAKE_DOCS_USEFLAG} dap gui ncurses test" RESTRICT="!test? ( test )" RDEPEND=" @@ -72,14 +73,7 @@ RDEPEND=" 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] ) - ) + gui? ( dev-qt/qtbase:6[gui,widgets] ) ncurses? ( sys-libs/ncurses:= ) " DEPEND="${RDEPEND}" @@ -224,6 +218,10 @@ src_prepare() { # https://gitlab.kitware.com/cmake/cmake/-/issues/20740 filter-lto + # 4.0.0_rc1 is missing this, fails to configure + # https://gitlab.kitware.com/cmake/cmake/-/issues/26712 + touch .clang-tidy Utilities/.clang-tidy || die + if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then CMAKE_BINARY="${S}/Bootstrap.cmk/cmake" cmake_src_bootstrap @@ -244,7 +242,7 @@ src_configure() { -DBUILD_QtDialog=$(usex gui) ) - use gui && mycmakeargs+=( -DCMake_QT_MAJOR_VERSION=$(usex qt6 6 5) ) + use gui && mycmakeargs+=( -DCMake_QT_MAJOR_VERSION=6 ) cmake_src_configure } @@ -261,7 +259,7 @@ src_test() { pushd "${BUILD_DIR}" > /dev/null || die # Excluded tests: - # BootstrapTest: we actualy bootstrap it every time so why test it. + # BootstrapTest: we actually bootstrap it every time so why test it? # BundleUtilities: bundle creation broken # CMakeOnly.AllFindModules: pthread issues # CTest.updatecvs: which fails to commit as root 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 fd9c8b6aae..3a300e66af 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-3460100.zip 10851427 BLAKE2B 7462e83ca84e3e9aac7236f575fd2bdddac7744ae700a63fe8fdc9d2df3157c59fd374d99a0526bd4d9f742005ee7a90f3d78057861d3c3fcba9f897630e48db SHA512 1ad7dfc938d182f69ea9367b4f5ead1d48b991626521249e8b58c9fb4c2553e348ce402de9cc81b0ad699d4c45c467de56a98ee39f9c3555c6fafff15fba41ce DIST sqlite-doc-3470200.zip 10957830 BLAKE2B cbc40dd440d1c5af4ad4333090a7306bd54ec43250a478b6900b8f74bd721035018ea7647f3a208d42cc0639827325be26a9412d17af7d390f4e584d4c6acf44 SHA512 48349d512b7cd9bc6f6a5da3a2b2285de159d4653667311adb0f5e6a970060db940a590c2d01b529afc1614065b22434d5b3ac4d8d0122d003d74926745ba56e DIST sqlite-doc-3490000.zip 11327988 BLAKE2B ecabc9b9217953874cc575ef06d93f3ef5da25d82c0837b827daca3ca1da54968d7f3f2498ec7fee22d43fb2a2bcc2077be396dfc5f6e4ee62e1493d7be20e9e SHA512 89823a426aba9db78597f99df6fe2162601d0133d7490c83c939414372c293e9f313bd2e46c5e5d4b19dd3846337f53eb788208c91a1fa7ffc768a0a5966da03 +DIST sqlite-doc-3490100.zip 11333315 BLAKE2B 28fe302820898861e404f5c6dd1c05c3ff3ff10a8b713604f0ccec6b21ca7b82d61ba720903d7e9d8e9ec5de701900c5972037c23627ddd1a2734e95a92c5d6a SHA512 0eb6af0483bca7f6efd6baf00210adcca1d23ea5b474728aa96614a93a868ec6f9257d9b5f29c452fed5323c64fc180ee3845695ddbbcd7836dac69aecdfc833 DIST sqlite-src-3460100.zip 14276926 BLAKE2B df16ea944e317df8ed64fdfab289e3699ec71725ce55e2b30450adaeb41c061b4fba1eb8c41ba638b0edcd12b23264a1f9e413b69fd593c2b65fb1037d3fc8b2 SHA512 6d32a0db9f95d3cec34f02f3fd45b453bf7c422d4d4d9570790f641e7d190b8b31be8e8715afacc1b6e4417f15a4d15a0b28e608ae0b4b5f3054b075783b916e DIST sqlite-src-3470200.zip 14421983 BLAKE2B dcaea5be0099b2dad1b53403933f0037ace48b1f248040c1b5cc116ac2ad6c9b44c71b8efe3afd16bef01119b440d1a2ec9d553a22f855e0ba55793684f53d8d SHA512 a6280a02304bfae173d9e9ebf376b2d3624658f04af4d8e95d5a042e24cf0405a47c0a4023f4dbc2790716cd85e16b97fcc0a83c1534e6d554f4eb0bfb0a3ed3 DIST sqlite-src-3490000.zip 14371111 BLAKE2B 895d8869b3bc0abeb5faf8cdd0de29e0d86f44fa6eafb154e0df4373161fe79c5e35d360100064778f0a3f57a232e15dc8ec73ef5e75d23a4c8ffc880d2c571d SHA512 a414c544ca4288ab475c449327b3e2136e9d01145fc8b9c723ccfd30e356cc90411ca74ae969f3fe4c8212cad4d0969b2f3a72922ee073049c25e4984336eb7c +DIST sqlite-src-3490100.zip 14372402 BLAKE2B c7f6a574698512e2fde44e54ed2a101e7307821b0015287bbf5ab151f5f59432fe051fda1d1caec865928717f51c42f1161187fb768180088574ca225cd29250 SHA512 24c81cee52e5655f4e9d6496a366e4787352b5108ea27eb5ce3dc07ef3e1975205bb250584b0758fb2832add84ca922b09a4d925e0dc2f55dd3613a58b414ec3 diff --git a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/files/sqlite-3.49.1-jimsh.patch b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/files/sqlite-3.49.1-jimsh.patch new file mode 100644 index 0000000000..68203390c7 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/files/sqlite-3.49.1-jimsh.patch @@ -0,0 +1,36 @@ +# https://bugs.gentoo.org/949981 +# https://github.com/msteveb/jimtcl/commit/9b754b8033b9f2a1dc8ba1227df2e5d75185dda7 +--- a/autosetup/jimsh0.c ++++ b/autosetup/jimsh0.c +@@ -2088,9 +2088,13 @@ enum wbuftype { + #define UNIX_SOCKETS 0 + #endif + +-#ifndef MAXPATHLEN +-#define MAXPATHLEN JIM_PATH_LEN +-#endif ++# ifndef MAXPATHLEN ++# ifdef PATH_MAX ++# define MAXPATHLEN PATH_MAX ++# else ++# define MAXPATHLEN JIM_PATH_LEN ++# endif ++# endif + + + +@@ -4173,14 +4177,6 @@ int Jim_regexpInit(Jim_Interp *interp) + #define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) + #endif + +-# ifndef MAXPATHLEN +-# ifdef PATH_MAX +-# define MAXPATHLEN PATH_MAX +-# else +-# define MAXPATHLEN JIM_PATH_LEN +-# endif +-# endif +- + #if defined(__MINGW32__) || defined(__MSYS__) || defined(_MSC_VER) + #define ISWINDOWS 1 + diff --git a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.49.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.49.1.ebuild new file mode 100644 index 0000000000..ce81dc0b27 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.49.1.ebuild @@ -0,0 +1,445 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit 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/2025/${PN}-src-${SRC_PV}.zip + doc? ( https://sqlite.org/2025/${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}] ) +" +if [[ ${PV} == 9999 ]]; then + BDEPEND+=" dev-vcs/fossil" +else + BDEPEND+=" app-arch/unzip" +fi + +PATCHES=( + "${FILESDIR}"/${PN}-3.47.2-hwtime.h-Don-t-use-rdtsc-on-i486.patch + # https://sqlite.org/forum/forumpost/f93323a743 + "${FILESDIR}"/${PN}-3.49.0-icu-tests.patch + # https://bugs.gentoo.org/949981 + "${FILESDIR}"/${PN}-3.49.1-jimsh.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 + + 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 + options+=( --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 + options+=( --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 + options+=( --enable-rtree --enable-geopoly ) + + # Support Session extension. + # https://sqlite.org/compile.html#enable_session + # https://sqlite.org/sessionintro.html + options+=( --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 + options+=( --with-icu-config ) + 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 + + if [[ ${CHOST} != *-darwin* ]] ; then + # set SONAME for the library + options+=( --soname=legacy ) + fi + + # https://sqlite.org/forum/forumpost/4f4d06a9f6683bb9 + tc-export_build_env BUILD_CC + + CC_FOR_BUILD=${BUILD_CC} 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 [[ ${CHOST} == *-darwin* ]] ; then + # fix install_name, soname=legacy doesn't work for this (but + # breaks the build instead) + install_name_tool \ + -id "${EPREFIX}/usr/$(get_libdir)/libsqlite3$(get_libname 0)" \ + "${ED}/usr/$(get_libdir)/libsqlite3$(get_libname ${PV})" \ + || die "failed to fix install_name" + fi + + 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-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-9999.ebuild index e0fe683ea6..2b47259e17 100644 --- a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-9999.ebuild @@ -3,7 +3,7 @@ EAPI=8 -inherit autotools flag-o-matic multilib-minimal toolchain-funcs +inherit flag-o-matic multilib-minimal toolchain-funcs DESCRIPTION="SQL database engine" HOMEPAGE="https://sqlite.org/" @@ -19,8 +19,8 @@ else #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 ) + https://sqlite.org/2025/${PN}-src-${SRC_PV}.zip + doc? ( https://sqlite.org/2025/${PN}-doc-${DOC_PV}.zip ) " S="${WORKDIR}/${PN}-src-${SRC_PV}" @@ -43,7 +43,6 @@ 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 @@ -142,7 +141,6 @@ src_unpack() { src_prepare() { default - eautoreconf multilib_copy_sources } @@ -196,7 +194,8 @@ multilib_src_configure() { # 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 + append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS + options+=( --enable-fts4 ) options+=( --enable-fts5 ) # Support hidden columns. @@ -205,7 +204,7 @@ multilib_src_configure() { # Support memsys5 memory allocator. # https://sqlite.org/compile.html#enable_memsys5 # https://sqlite.org/malloc.html#memsys5 - append-cppflags -DSQLITE_ENABLE_MEMSYS5 + options+=( --enable-memsys5 ) # Support sqlite3_normalized_sql() function. # https://sqlite.org/c3ref/expanded_sql.html @@ -231,12 +230,12 @@ multilib_src_configure() { # 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 + options+=( --enable-rtree --enable-geopoly ) # Support Session extension. # https://sqlite.org/compile.html#enable_session # https://sqlite.org/sessionintro.html - append-cppflags -DSQLITE_ENABLE_SESSION + options+=( --enable-session ) # Support scan status functions. # https://sqlite.org/compile.html#enable_stmt_scanstatus @@ -280,8 +279,7 @@ multilib_src_configure() { 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" + options+=( --with-icu-config ) fi options+=( @@ -320,7 +318,13 @@ multilib_src_configure() { fi fi - econf "${options[@]}" + # set SONAME for the library + options+=( --soname=legacy ) + + # https://sqlite.org/forum/forumpost/4f4d06a9f6683bb9 + tc-export_build_env BUILD_CC + + CC_FOR_BUILD=${BUILD_CC} econf "${options[@]}" } multilib_src_compile() { diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.2-r101.ebuild b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.2-r101.ebuild index ca60147d34..118411bb37 100644 --- a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.2-r101.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-15.2-r101.ebuild @@ -75,7 +75,7 @@ LICENSE="GPL-3+ LGPL-2.1+" SLOT="0" IUSE="cet debuginfod guile lzma multitarget nls +python rocm +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-embedded/u-boot-tools/Manifest b/sdk_container/src/third_party/portage-stable/dev-embedded/u-boot-tools/Manifest index 16374ec837..dddf658918 100644 --- a/sdk_container/src/third_party/portage-stable/dev-embedded/u-boot-tools/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-embedded/u-boot-tools/Manifest @@ -1,2 +1,3 @@ DIST u-boot-2024.01.tar.bz2 19926911 BLAKE2B c62a22f56276426917b0db508ad7dc82efa4fe7be14c5e7d79ecdea172b2b383981b7e65b7e920b196d0162a17fb362ef97a8d758a1b30e509e3c66748d2c106 SHA512 45bd093ba3bda23e43cdde83d8656c1ee1348ac2886ecff1fee475f101ac4965a5be6565408fa5b990c723f3fdc833edfca60a719f735a43040cd14a1b59a88b +DIST u-boot-2025.01.tar.bz2 32890299 BLAKE2B fc25edd7079de9ef803508b1686b6ac1778e637325a38d9fcb5ba66c875a31132456b6ee429200284a0ba48802db50ea33267dafe066b89481eff3c11882d763 SHA512 e22202b568f90de15e4e20317e13d68ce106256eadeeae5017241cdd4a1d133cdfd14297b403c7391bf65d022061ad4e1cbe862c480fddbd13f97b756305f188 DIST u-boot-tools-2024.01-fix-invalid-escape-sequence.patch 1285 BLAKE2B ad0af975b59794f21a44472a1f1b4542e75e478d51e649a6c339a4af9963cb4b822e6eba6819cbd3d35c09f3c33f1995288ef296e07466a427cf1f0dd0a399e1 SHA512 8675c267ca5a234924bdf8fc03dcaf75501cf86ac7a9b2e7fbc7982b9620e8863af289c124c5e91cccee58cc116b4d2798be745dedc1b28099a143f3464ad4d6 diff --git a/sdk_container/src/third_party/portage-stable/dev-embedded/u-boot-tools/u-boot-tools-2025.01.ebuild b/sdk_container/src/third_party/portage-stable/dev-embedded/u-boot-tools/u-boot-tools-2025.01.ebuild new file mode 100644 index 0000000000..8e38578e83 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-embedded/u-boot-tools/u-boot-tools-2025.01.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +MY_P="u-boot-${PV/_/-}" +DESCRIPTION="utilities for working with Das U-Boot" +HOMEPAGE="https://www.denx.de/wiki/U-Boot/WebHome" +SRC_URI=" + https://ftp.denx.de/pub/u-boot/${MY_P}.tar.bz2 +" +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86" +IUSE="envtools" + +RDEPEND=" + dev-libs/openssl:= + net-libs/gnutls:= + sys-apps/util-linux:= +" +DEPEND="${RDEPEND}" +BDEPEND=" + dev-lang/swig + app-alternatives/yacc + app-alternatives/lex + virtual/pkgconfig +" + +src_prepare() { + default + sed -i 's:\bpkg-config\b:${PKG_CONFIG}:g' \ + scripts/kconfig/{g,m,n,q}conf-cfg.sh \ + scripts/kconfig/Makefile \ + tools/Makefile || die +} + +src_configure() { + tc-export AR BUILD_CC CC PKG_CONFIG + tc-export_build_env +} + +src_compile() { + # Unset a few KBUILD variables. Bug #540476 + unset KBUILD_OUTPUT KBUILD_SRC + + local myemakeargs=( + V=1 + AR="${AR}" + CC="${CC}" + HOSTCC="${BUILD_CC}" + HOSTCFLAGS="${BUILD_CFLAGS} ${BUILD_CPPFLAGS}"' $(HOSTCPPFLAGS)' + HOSTLDFLAGS="${BUILD_LDFLAGS}" + ) + + emake "${myemakeargs[@]}" tools-only_defconfig + + emake "${myemakeargs[@]}" \ + NO_SDL=1 \ + HOSTSTRIP=: \ + STRIP=: \ + CONFIG_ENV_OVERWRITE=y \ + $(usex envtools envtools tools-all) +} + +src_test() { :; } + +src_install() { + cd tools || die + + if ! use envtools; then + dobin dumpimage fdtgrep gen_eth_addr img2srec mkeficapsule mkenvimage mkimage + fi + + dobin env/fw_printenv + + dosym fw_printenv /usr/bin/fw_setenv + + insinto /etc + doins env/fw_env.config + + doman ../doc/mkimage.1 +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go-bootstrap/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/go-bootstrap/Manifest index 4720d69dde..5a98689175 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/go-bootstrap/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go-bootstrap/Manifest @@ -14,3 +14,19 @@ DIST go-1.20.14-linux-ppc64le-bootstrap.tbz 90575770 BLAKE2B 0c76ba27d41d329a7c5 DIST go-1.20.14-linux-riscv64-bootstrap.tbz 93091456 BLAKE2B 197811a57c728ef546b9660328ab6624b87ae085e98264e5b3317fc66581fc0ee8ef95af3040c07a6cebfe30da88d209bf5bdb8ee11a647b716fa3122031724a SHA512 a3faaeaac90354a9be130d01108c8fdb178a0427d7dab0362c570428216ddd362f55044021082cbbb466f3a69458869d4978bd28652f7a4e55295d357c9c7c54 DIST go-1.20.14-linux-s390x-bootstrap.tbz 94671247 BLAKE2B 7ff60a7c1245b66cbe852662589fe3a87c4fc29a1134dd46ad76272b9bc619b7ffba823374658a0f8d54a440d808d3eb8d97788483bbe69628bda167f4377109 SHA512 bc6c7efddfcc90fe2f1bbb2dee7f4396eb5b478eee7236216ca00c5bd4ce1dc0e3315edb58bf6ef3f7a7e5c45950e6f5be9163cfffd1cf5c36004aaa4916a1b7 DIST go-1.20.14-solaris-amd64-bootstrap.tbz 95085901 BLAKE2B aed378201db555121bae1ab049d44b297dc922d7cd977c3d6f2dbff1b3cc46f59a697a211c244ed2f012d5c8ea6211501527512325188e34a3ccd2946ef6dbe8 SHA512 22a8b79ab2eb08319d1d9fb517458cdafd1a4fcbba2da70935d65ccdcc3808978ca0dbb045a7cfde2ca43eb6effd3ce687d2f99ee24dedcae9967b414fd6fe57 +DIST go-bootstrap-1.22.12-darwin-amd64.tbz 64955332 BLAKE2B 8b5f2a60f2e2d250e5e944decaafe4bbae02b989467a30ad01542b5b95820b2bd5127ce42467e82d10bcdd6985b097b2b38a6e61b19071916b8f9dfab04b8ea7 SHA512 d143031c7032620460190618ccbc0112dd0f01e2cf64c48a75b554538be0d49b979d02050189e81a50b4f172bb5ffe4db5163936c1d8a6bfc09c5e2ea12bbed8 +DIST go-bootstrap-1.22.12-darwin-arm64.tbz 62274977 BLAKE2B 2fb43878eff785652fa41edbcdb9fbb7c2d54b3f012a594a8c14d997a10b31aba347fc93a9887b39cad5b1817e9249224e22fba3a2ced90241c75f93b9eee2fa SHA512 161312a2a8ea953215b006ff73cf2e0345db4a7079429fabe022e2a0f3dfa2dba441bf05b0ef9450d39a20f4d2e5ac1a5d1dd659030551a996c869670d0e4bdc +DIST go-bootstrap-1.22.12-linux-386.tbz 61905608 BLAKE2B 036006e1d73663c9adc0746c1e6b048df0630fd6dcb35513e3085f92225e71e3e0678b551d9b6bcae8efbb71684c0718bf49d06941661c88f56c4e9473464778 SHA512 be643e1a327221ccffe6b9bdeeeea38b6bad0fcea9bd8305a774a0a93103042f3f96b2d51983d87f92971cb71d8f1817a3da57048646a8b76f83641fae94bb36 +DIST go-bootstrap-1.22.12-linux-amd64.tbz 64061301 BLAKE2B eee49d2ffe36dc50bdffad69bc2e106736f62e04d1bca3da55400f47f032f2bb79ef772eb6eac0f9fac17bc340770a6bed5c86e4968da4c8613d032bff4dd426 SHA512 3ba2083435af5be97cd02f36d27d100b62285d1f680d519309619d47e07fd0184a4dbf92c5f00b2c661b62ffc66ab03e0add0331a122730e35270a2dc9a83b5c +DIST go-bootstrap-1.22.12-linux-arm.tbz 61282567 BLAKE2B 4ca77e3d4488973f4ea190003d9ab181de0bb6a216074bbc85118e39420e03749bb83b326d1f5221a8ca117e78656af15bfde3e28b1b276d999476892ea87e59 SHA512 0d3a8fa91872c94de22bf07969573196593b556592c017dcdde794dd620cee92d1ac33a2d3505cd1d3ca55df167595b82c18991e7cb06d8399a6d25adf3bf6fd +DIST go-bootstrap-1.22.12-linux-arm64.tbz 60296549 BLAKE2B 29417911aa5c9096c1fddb6bff4684865c873a51a2acbdf8fff18556cd3d920d92bce6df8cf8401e34c187ee44dd840e521bd9457aef76ba8948170ef755e337 SHA512 7bb3a375a65eab9d5e5a66bf070948034734af245b4cb06825009fb10f122a7a41f0f718f3838e2a8d37dcf8440348c1dfbc12370f65651388c473400850e84f +DIST go-bootstrap-1.22.12-linux-loong64.tbz 60917942 BLAKE2B 59904642dcf0874afafb714dc31e2dd71920615d45f4111933661786921436a20f10bd1625e3742f040d250934b103f9ffe37f317ca1ba55dd92bd96bbb759cf SHA512 f170b92ed621a7ec0c83c77b4cdd8ce7ccac3fa05f659a40cbf729b3e28a20181dc0295464ca627100cc8141e3a3d7f05e0a811d55d7abf661020faf7511755c +DIST go-bootstrap-1.22.12-linux-mips.tbz 58135007 BLAKE2B f84fddc176549fa3b903c307c90df9b5177d79322b61b6647795fbdfc728fd9d642c7eda0634e41f6ed3563c5fdc1ce7d4d26ff179a19c60270ac9c9752cae03 SHA512 eb0642cbf7f5cef2ea40809f98fb66f882236defb948c0034deeb6e7b332ed7eabda6f4028bd417d1b6a48c06d7c970dff818f54dd9f20db3bcff9322070382a +DIST go-bootstrap-1.22.12-linux-mips64.tbz 57252236 BLAKE2B 1ef06b548fbeb7fbafde5119b62259bec42e234deedc48e7909bd5699eede30dd5ef019416879959e302775f7e685079e1f8ebc393c48c8b6321722d5ed139cc SHA512 ade5f0e2b5d9de43e09bf281b6ce83784684a03e6fde5197283efba24bdefba20d938378f0c6d7a31db74762a0542de1473f866abf41f0e6271d140f993c7b6e +DIST go-bootstrap-1.22.12-linux-mips64le.tbz 57548639 BLAKE2B edb1866b1940f3c213f3a4090086e4be814947bccf5b27b492584e241ca3a723bd5b895d87d4fb8e68cb50b7f046aeb76f734a17290e61a4cd1e1b1b9bc42238 SHA512 2956596b9ae5c98b5b78d95db68ce424857510bcdcb82682bb135606ada8c987ac888840de9b4e0b3700120734665b8e880590d459ffd249c426baef61c964ae +DIST go-bootstrap-1.22.12-linux-mipsle.tbz 58434883 BLAKE2B d926b7990b8e458bbc8f0890a29ae1959b2e1926e8e29a708a7076ceb53e02c0294f15708dcd8a99e1141d09b519dfa686a164e3e81faa793ba0b2e0a2a4b93d SHA512 ca5cf6fb254267e66d80a6a140da3bbeee532f2c8200370e81db315cd4e88837f9fc640f23286b843f6bfb432a10f7b53a63da14f0bb0538fecf7740f3657ac5 +DIST go-bootstrap-1.22.12-linux-ppc64.tbz 59542900 BLAKE2B 81ed60e3f64f76bd8f97aac7a79f4026fc7f4a644e92ed011d7b4295398ef52838dfcef2e8c9e8163bf7f2949611a77246a086bcaf713755768a147690656b2f SHA512 b6230a2dc29cd5547e15f06bcfdb5f74a6060ce5050c0ac9a4ab1ee3c4046dbea22a7f59ad8351302d2d697bccee0426edd27105b67b6c0d330e655db3ed7036 +DIST go-bootstrap-1.22.12-linux-ppc64le.tbz 60214299 BLAKE2B 9506975d7ed9170c28078d6d10bf9fcbd11040368360803964c178f015dba5fc73e3a8e69af62e00cea014a712a2dec619e39826255f7c15ecc160ce9255b97d SHA512 3c24fe4979b7c6c3eed39fd7ba477c32d68c6555126085696d54531323f6c96776f83ace18bb4b0a305827bbb5449bfabf90fe9bc4bdbf74c99392b0a69a10d6 +DIST go-bootstrap-1.22.12-linux-riscv64.tbz 61337982 BLAKE2B 04bad675e1d0bbd7578acf8ac545b09bb0542cc8336b3e7ed0d62c0a2620ab63c3d1e28644bfdce984130ef851d19e59375ab9ffe8e3cea6f9dbb8cd0ac56246 SHA512 b0002a0a1fa976b1b575920053bb88cd89fb5b76ff1e34bde1ef001cc87f70541a60f755d9dd9d898ca05bfb59a4b79e6892082f43b5cb78c62c8703b14c10d1 +DIST go-bootstrap-1.22.12-linux-s390x.tbz 62183020 BLAKE2B f6fb0f28e2e24523b49263cc5f74c7d0c54e7933ce56fd3c6774b4d003cc0d8ae774d86133f84cc475bb6270b2c3f44f6576f81689f38e8fffd679f097d0963b SHA512 34144ead46490c57b486f01ca86e78025c45b74c721128047095bab02fc9e31c7681e172f4726bb87d422889eb78b3e9762de242e7c9eb1770ac322edb1c933f +DIST go-bootstrap-1.22.12-solaris-amd64.tbz 63917252 BLAKE2B ec274db725ae7e27174e708c8e719494a2053de01d829d594c29d16c23576bd1118968855b0b9ac4e904817c3f06ce6ac49301d749f3c8c4615066d92af5f5ea SHA512 22021ce136c6885a5f90cb42a6f8683c5ad1f6dae5f2f6f0c296556ddc571ec4d5b0c200b1739dda6121d717729a1f1ab27eeac46d9589187d96105996423d0a diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go-bootstrap/files/make-go-bootstraps b/sdk_container/src/third_party/portage-stable/dev-lang/go-bootstrap/files/make-go-bootstraps index 8340dbaecf..6ad27296b5 100755 --- a/sdk_container/src/third_party/portage-stable/dev-lang/go-bootstrap/files/make-go-bootstraps +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go-bootstrap/files/make-go-bootstraps @@ -31,25 +31,23 @@ go_tuples=( solaris-amd64 ) -go_version=$(go version) -go_version=${go_version##*go} -go_version=${go_version%% *} +go_tag=$(go env GOVERSION) +go_version=${go_tag#go} +go_repo="https://github.com/golang/go" build_path=$(mktemp -d /tmp/go-bootstraps-XXXXXX) -pushd "${build_path}" -git clone https://github.com/golang/go.git -cd go -git checkout go"${go_version}" -cd src -for tuple in ${go_tuples[@]}; do +pushd "${build_path}" > /dev/null +git clone --depth 1 --quiet --branch "${go_tag}" "${go_repo}" "${build_path}/go" +for tuple in "${go_tuples[@]}"; do printf "Building go version %s bootstrap tarball for %s\n" "${go_version}" "${tuple}" + pushd go/src > /dev/null GO386=softfloat GOOS=${tuple%%-*} GOARCH=${tuple##*-} ./bootstrap.bash - rm -fr ../../go-${tuple}-bootstrap + git clean -d -f -x + popd > /dev/null + rm -fr "go-${tuple}-bootstrap" + mv "go-${tuple}-bootstrap.tbz" "go-bootstrap-${go_version}-${tuple}.tbz" done -cd ../.. rm -fr go -for f in *tbz; do - mv "${f}" "${f/go/go-${go_version}}" - done -popd -mv "${build_path}" "${build_path%-*}" -printf "The bootstrap tarballs are stored in %s\n" "${build_path%-*}" +popd /dev/null +final_path="${HOME}/go-bootstrap-${go_version}" +mv "${build_path}" "${final_path}" +printf "The bootstrap tarballs are stored in %s\n" "${final_path}" diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go-bootstrap/go-bootstrap-1.22.12.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/go-bootstrap/go-bootstrap-1.22.12.ebuild new file mode 100644 index 0000000000..e590f0e854 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go-bootstrap/go-bootstrap-1.22.12.ebuild @@ -0,0 +1,51 @@ +# Copyright 2020-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Bootstrap package for dev-lang/go" +HOMEPAGE="https://golang.org" +BOOTSTRAP_DIST="https://dev.gentoo.org/~williamh/dist" +SRC_URI=" + x64-macos? ( ${BOOTSTRAP_DIST}/${P}-darwin-amd64.tbz ) + arm64-macos? ( ${BOOTSTRAP_DIST}/${P}-darwin-arm64.tbz ) + x86? ( ${BOOTSTRAP_DIST}/${P}-linux-386.tbz ) + amd64? ( ${BOOTSTRAP_DIST}/${P}-linux-amd64.tbz ) + arm64? ( ${BOOTSTRAP_DIST}/${P}-linux-arm64.tbz ) + arm? ( ${BOOTSTRAP_DIST}/${P}-linux-arm.tbz ) + loong? ( ${BOOTSTRAP_DIST}/${P}-linux-loong64.tbz ) + mips? ( + abi_mips_n64? ( + !big-endian? ( ${BOOTSTRAP_DIST}/${P}-linux-mips64le.tbz ) + big-endian? ( ${BOOTSTRAP_DIST}/${P}-linux-mips64.tbz ) + ) + abi_mips_o32? ( + !big-endian? ( ${BOOTSTRAP_DIST}/${P}-linux-mipsle.tbz ) + big-endian? ( ${BOOTSTRAP_DIST}/${P}-linux-mips.tbz ) + ) + ) + ppc64? ( + !big-endian? ( ${BOOTSTRAP_DIST}/${P}-linux-ppc64le.tbz ) + big-endian? ( ${BOOTSTRAP_DIST}/${P}-linux-ppc64.tbz ) + ) + riscv? ( ${BOOTSTRAP_DIST}/${P}-linux-riscv64.tbz ) + s390? ( ${BOOTSTRAP_DIST}/${P}-linux-s390x.tbz ) + x64-solaris? ( ${BOOTSTRAP_DIST}/${P}-solaris-amd64.tbz ) +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="-* ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos ~x64-solaris" +IUSE="abi_mips_n64 abi_mips_o32 big-endian" +RESTRICT="strip" +QA_PREBUILT="*" + +S="${WORKDIR}" + +src_install() { + dodir /usr/lib + mv go-*-bootstrap "${ED}/usr/lib/go-bootstrap" || die + + # testdata directories are not needed on the installed system + rm -fr $(find "${ED}"/usr/lib/go-bootstrap -iname testdata -type d -print) +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/go/Manifest index 39b7ef1b56..79f26d9c18 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/go/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go/Manifest @@ -2,3 +2,4 @@ DIST go1.22.11.src.tar.gz 27565913 BLAKE2B d4b8f746846f0ba45307ecf732e035c262848 DIST go1.22.12.src.tar.gz 27566409 BLAKE2B ea8ce4abd7d6548aef14c0803a07b4beba8728f40f96db5feb6eb4b48fce5866fbccd0b2d1e670dafd2e58e6ec814ef6f83a16ed6b6214be76597748bf87ec9d SHA512 de498f72c398c5587abb6e6943a21b1b9835fde16dbda4d64a1ad847f5b2399ed289fe327255dcde104ad9e7f3fd6c520ddb13ee1900ba5d5c45aa5e1c1e30c8 DIST go1.23.5.src.tar.gz 28179014 BLAKE2B 6fe6101054a0c10ce415aea65367a48ef8397c88d66bad01b7c72107a6c60daf0b9a47f7c1cd6c8da9855ab04309f25941cc867e6a9f90ac51d1ab0c54662313 SHA512 b04317afeab2d0ced7c36b8682dd32ac085d95d874cf3f614daa34859d7f7f2b75138132e7a64e237c6b4d711d5b03a4d20533f92a44840915630f4ea7cfafa2 DIST go1.23.6.src.tar.gz 28179132 BLAKE2B 25c988547604c35de65aedfdee5af9f35f7a1c43f634c0147373d9c86baf2bb10068463f70013ef60acd3088149eb16502958b1ca63d7cee310e32eaddf1578a SHA512 c504476d42cdbcd1b6afe53c0974e82c19eb0efac974bc06d41c1641440676891cfe6416455a0cfc81fe82902a9b82ea0a1d95089c676667d05487e45f5e04e3 +DIST go1.24.0.src.tar.gz 30663922 BLAKE2B 1a74d268ad2bcfd4773eb9d24f0618491680a5347edba60606b3f50144e2d8879509b2640046e5fa535ff126958deb49c4224443210e3bd79523e65208b616e3 SHA512 36ba9a3a541208fd33aa49b969d892578e209570541d2b6ca6ff784250d8b6777597d347b823c6026acf0c2741b4abc9012693004e623a1434b06cfecdbebaa8 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.24.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.24.0.ebuild new file mode 100644 index 0000000000..4208235a02 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.24.0.ebuild @@ -0,0 +1,137 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +export CBUILD=${CBUILD:-${CHOST}} +export CTARGET=${CTARGET:-${CHOST}} + +# See "Bootstrap" in release notes +GO_BOOTSTRAP_MIN=1.22.12 +MY_PV=${PV/_/} + +inherit go-env toolchain-funcs + +case ${PV} in +*9999*) + EGIT_REPO_URI="https://github.com/golang/go.git" + inherit git-r3 + ;; +*) + SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz " + S="${WORKDIR}"/go + case ${PV} in + *_beta*|*_rc*) ;; + *) +# KEYWORDS="-* ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" + ;; + esac +esac + +DESCRIPTION="A concurrent garbage collected and typesafe programming language" +HOMEPAGE="https://go.dev" + +LICENSE="BSD" +SLOT="0/${PV}" +IUSE="cpu_flags_x86_sse2" + +RDEPEND=" +arm? ( sys-devel/binutils[gold(-)] ) +arm64? ( sys-devel/binutils[gold(-)] )" +BDEPEND="|| ( + >=dev-lang/go-${GO_BOOTSTRAP_MIN} + >=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN} )" + +# the *.syso files have writable/executable stacks +QA_EXECSTACK='*.syso' + +# Do not complain about CFLAGS, etc, since Go doesn't use them. +QA_FLAGS_IGNORED='.*' + +# The tools in /usr/lib/go should not cause the multilib-strict check to fail. +QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" + +# This package triggers "unrecognized elf file(s)" notices on riscv. +# https://bugs.gentoo.org/794046 +QA_PREBUILT='.*' + +# Do not strip this package. Stripping is unsupported upstream and may +# fail. +RESTRICT=" strip" + +DOCS=( + CONTRIBUTING.md + PATENTS + README.md + SECURITY.md +) + +go_tuple() { + echo "$(go-env_goos $@)_$(go-env_goarch $@)" +} + +go_cross_compile() { + [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]] +} + +PATCHES=( + "${FILESDIR}"/go-never-download-newer-toolchains.patch +) + +src_compile() { + if has_version -b ">=dev-lang/go-${GO_BOOTSTRAP_MIN}"; then + export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go" + elif has_version -b ">=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN}"; then + export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap" + else + eerror "Go cannot be built without go or go-bootstrap installed" + die "Should not be here, please report a bug" + fi + + # Go's build script does not use BUILD/HOST/TARGET consistently. :( + export GOHOSTARCH=$(go-env_goarch ${CBUILD}) + export GOHOSTOS=$(go-env_goos ${CBUILD}) + export CC=$(tc-getBUILD_CC) + + export GOARCH=$(go-env_goarch) + export GOOS=$(go-env_goos) + export CC_FOR_TARGET=$(tc-getCC) + export CXX_FOR_TARGET=$(tc-getCXX) + use arm && export GOARM=$(go-env_goarm) + use x86 && export GO386=$(go-env_go386) + + cd src + bash -x ./make.bash || die "build failed" +} + +src_test() { + go_cross_compile && return 0 + cd src + PATH="${GOBIN}:${PATH}" \ + ./run.bash -no-rebuild -k || die "tests failed" +} + +src_install() { + dodir /usr/lib/go + # The use of cp is deliberate in order to retain permissions + cp -R . "${ED}"/usr/lib/go + einstalldocs + + # testdata directories are not needed on the installed system + # The other files we remove are installed by einstalldocs + rm -r $(find "${ED}"/usr/lib/go -iname testdata -type d -print) || die + rm "${ED}"/usr/lib/go/{CONTRIBUTING.md,PATENTS,README.md} || die + rm "${ED}"/usr/lib/go/{SECURITY.md,codereview.cfg,LICENSE} || die + + local bin_path + if go_cross_compile; then + bin_path="bin/$(go_tuple)" + else + bin_path=bin + fi + local f x + for x in ${bin_path}/*; do + f=${x##*/} + dosym ../lib/go/${bin_path}/${f} /usr/bin/${f} + done +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-9999.ebuild index 3625ad6512..4208235a02 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-9999.ebuild @@ -7,7 +7,7 @@ export CBUILD=${CBUILD:-${CHOST}} export CTARGET=${CTARGET:-${CHOST}} # See "Bootstrap" in release notes -GO_BOOTSTRAP_MIN=1.20.14 +GO_BOOTSTRAP_MIN=1.22.12 MY_PV=${PV/_/} inherit go-env toolchain-funcs @@ -88,10 +88,6 @@ src_compile() { die "Should not be here, please report a bug" fi - export GOROOT_FINAL="${EPREFIX}"/usr/lib/go - export GOROOT="${PWD}" - export GOBIN="${GOROOT}/bin" - # Go's build script does not use BUILD/HOST/TARGET consistently. :( export GOHOSTARCH=$(go-env_goarch ${CBUILD}) export GOHOSTOS=$(go-env_goos ${CBUILD}) @@ -110,30 +106,22 @@ src_compile() { src_test() { go_cross_compile && return 0 - cd src - - # https://github.com/golang/go/issues/42005 - rm cmd/link/internal/ld/fallocate_test.go || die - PATH="${GOBIN}:${PATH}" \ ./run.bash -no-rebuild -k || die "tests failed" - cd .. - rm -fr pkg/*_race || die - rm -fr pkg/obj/go-build || die } src_install() { dodir /usr/lib/go # The use of cp is deliberate in order to retain permissions - cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go + cp -R . "${ED}"/usr/lib/go einstalldocs - insinto /usr/lib/go - doins go.env VERSION* - # testdata directories are not needed on the installed system - rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print) + # The other files we remove are installed by einstalldocs + rm -r $(find "${ED}"/usr/lib/go -iname testdata -type d -print) || die + rm "${ED}"/usr/lib/go/{CONTRIBUTING.md,PATENTS,README.md} || die + rm "${ED}"/usr/lib/go/{SECURITY.md,codereview.cfg,LICENSE} || die local bin_path if go_cross_compile; then @@ -146,21 +134,4 @@ src_install() { f=${x##*/} dosym ../lib/go/${bin_path}/${f} /usr/bin/${f} done - - # install the @golang-rebuild set for Portage - insinto /usr/share/portage/config/sets - newins "${FILESDIR}"/go-sets.conf go.conf -} - -pkg_postinst() { - [[ -z ${REPLACING_VERSIONS} ]] && return - elog "After ${CATEGORY}/${PN} is updated it is recommended to rebuild" - elog "all packages compiled with previous versions of ${CATEGORY}/${PN}" - elog "due to the static linking nature of go." - elog "If this is not done, the packages compiled with the older" - elog "version of the compiler will not be updated until they are" - elog "updated individually, which could mean they will have" - elog "vulnerabilities." - elog "Run 'emerge @golang-rebuild' to rebuild all 'go' packages" - elog "See https://bugs.gentoo.org/752153 for more info" } diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.40.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.40.0-r1.ebuild index 5cdfd02824..135515a286 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.40.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.40.0-r1.ebuild @@ -109,12 +109,14 @@ dual_scripts() { check_rebuild() { # Fresh install - if [[ -z "${REPLACING_VERSIONS}" ]]; then - return 0; + if [[ -z ${REPLACING_VERSIONS} ]]; then + return 0 + fi + # Major Upgrade - # doesn't matter if there's multiple copies, it still needs a rebuild - # if the string is anything other than "5.CURRENTMAJOR" - elif [[ "${REPLACING_VERSIONS%.*}" != "${PV%.*}" ]]; then + local v + for v in ${REPLACING_VERSIONS}; do + [[ ${v%.*} == "${SHORT_PV}" ]] && continue echo "" ewarn "UPDATE THE PERL MODULES:" ewarn "After updating dev-lang/perl the installed Perl modules" @@ -130,10 +132,11 @@ check_rebuild() { ewarn "You should then call perl-cleaner to clean up any old files and trigger any" ewarn "remaining rebuilds portage may have missed." ewarn "Use: perl-cleaner --all" - return 0; + return 0 + done # Reinstall w/ USE Change - elif + if ( use perl_features_ithreads && ( has_version '=dev-lang/perl-5.38.2-r3[-perl_features_ithreads]' ) ) || \ ( ! use perl_features_ithreads && ( has_version '=dev-lang/perl-5.38.2-r3[perl_features_ithreads]' ) ) || \ ( use perl_features_quadmath && ( has_version '=dev-lang/perl-5.38.2-r3[-perl_features_quadmath]' ) ) || \ diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.40.1_rc1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.40.1_rc1.ebuild index 49d74632e5..760c17c59b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.40.1_rc1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.40.1_rc1.ebuild @@ -104,12 +104,14 @@ dual_scripts() { check_rebuild() { # Fresh install - if [[ -z "${REPLACING_VERSIONS}" ]]; then - return 0; + if [[ -z ${REPLACING_VERSIONS} ]]; then + return 0 + fi + # Major Upgrade - # doesn't matter if there's multiple copies, it still needs a rebuild - # if the string is anything other than "5.CURRENTMAJOR" - elif [[ "${REPLACING_VERSIONS%.*}" != "${PV%.*}" ]]; then + local v + for v in ${REPLACING_VERSIONS}; do + [[ ${v%.*} == "${SHORT_PV}" ]] && continue echo "" ewarn "UPDATE THE PERL MODULES:" ewarn "After updating dev-lang/perl the installed Perl modules" @@ -125,10 +127,11 @@ check_rebuild() { ewarn "You should then call perl-cleaner to clean up any old files and trigger any" ewarn "remaining rebuilds portage may have missed." ewarn "Use: perl-cleaner --all" - return 0; + return 0 + done # Reinstall w/ USE Change - elif + if ( use perl_features_ithreads && ( has_version '=dev-lang/perl-5.38.2-r3[-perl_features_ithreads]' ) ) || \ ( ! use perl_features_ithreads && ( has_version '=dev-lang/perl-5.38.2-r3[perl_features_ithreads]' ) ) || \ ( use perl_features_quadmath && ( has_version '=dev-lang/perl-5.38.2-r3[-perl_features_quadmath]' ) ) || \ diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/python/Manifest index 333811d947..520fd5237c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/Manifest @@ -28,7 +28,9 @@ DIST Python-3.9.21.tar.xz 19647056 BLAKE2B 7f77a7fb38d9a9f4fda7007587f744ade5f32 DIST Python-3.9.21.tar.xz.asc 833 BLAKE2B f6e666179d745638a38ace35e13c26cc3e07c116a8c8362cc260a74113cd29a5c1909d2091f2eed4bb088bc71b79ed18c5503739d1cc3cb7ff95d625f4311421 SHA512 1e5e5a5db8074a7ee5eb51e6c789d6e46467165d72d2d636d1fc0d3e15d4355051f9f7ad3063ba43b37b611095765c9d654ed890067c201c087da1eecb620ef9 DIST python-gentoo-patches-2.7.18_p16.tar.xz 35448 BLAKE2B 0139c0944f62f9cdd236f6a8557e0ed19704c7d72869af1cb7d8bd3e646a746cd4a0201e1b44232a5e78ef49f254db20b0d0271bf744fbfd4fe0f1e99b8f3e6c SHA512 810be590d0e06fab4b2165e6852ca49662f09dcd7e20b47a29f613ad7653252c8dfac3f0eb228d77c8a914efa7c08788b2fbd552a4b47504f5fd0ec17450c48f DIST python-gentoo-patches-3.10.16_p1.tar.xz 24964 BLAKE2B 93cf5d208f80f1017e4afdcf7d3551d150a1d68c378312af43c668156d98f10087d2b6f315f717823a9aae1114e2baa999f61ce179639e5511d30ed9620c9570 SHA512 74ad92d3256d744e3572c0d858b4ba4d5f0f6fda84d8f3c1a1fb675376c2d525e2d9fd636a65c8a859a0a312eda00877b13ba311f620b6a51e47dfb082843333 +DIST python-gentoo-patches-3.10.16_p2.tar.xz 29428 BLAKE2B fa63d2fcdbb53e3b6381eaadfbcfca02a03eddd7035dd4776c706fd1aa0226a2c809260ba5a543a209a63563dab12ea109bf03a2026ea4b5797fa6afc7b45c52 SHA512 0186abf035632a3f8018052f8021c1d0dadbc28b7d03551f6992a658fe53878ac9ea86b79512e0e147efecedfda133cf7936746946238177918be9c695248f15 DIST python-gentoo-patches-3.11.11_p1.tar.xz 11644 BLAKE2B d080e1b987ea0e1b397113f20a5c84f6a34d6619a3ed9f7389fd10d95636169563fba97d212477ca7f9b93d2bd0b66c9521fc61963bb468805a661ca3ab287a7 SHA512 f6045adf25923053fc9a60506b9164c9c062580d6886f1a3dcaca00dc4affe69aa9e138f8ce93f093798ccf33322ccca2aca674ab87457df98a93dcaca234b44 +DIST python-gentoo-patches-3.11.11_p2.tar.xz 16224 BLAKE2B d8404c8c87e109d2c699dbab63c20a319c6efd5b62dab5fcc1b53b5b291e25686e69ef92b495eed0d80491cfa29ae9f523df6b53c7c6a12c3f713c53e3c5b7c6 SHA512 f1bf897305678c2b113aef4553d14e916e83312708352765725d754dffbf2f5dd7ef0f7cd84a774e4a8c18dde8a517d7eaf8e58720d73d25430b28fe49906258 DIST python-gentoo-patches-3.12.8.tar.xz 10772 BLAKE2B 9833b5ee6c307a4aa1335fd966fcd64a0f3732a97a190abdd3121b3496ea68ead9436af4ec5e3e8c0e781fd68df41403a1b2e5f29f264fc8569a883141e5f7f9 SHA512 d5906845a6259f7349a0299e185f569750b493c64ea1f6537dc8bfc0babc9b54de7db1c4f1b5b6ec2f7076937ad07ca0ca9c4941bbb8d542da6c687957bdbd5e DIST python-gentoo-patches-3.12.8_p1.tar.xz 11088 BLAKE2B 4d7ccf4759b624aafde1ef2a0a341cda8f4d3e7c4d86586201a910d77327219e61b134985f2fe85e83892ad4ba607b4e661aed675cc038e4cc193efe9fbe6f6e SHA512 6f1d6ab2b9e958ae7d2ca3f204b7c7eb1435998919cf5a577a82bbf1339232f92a2f517c248afb9e1802850acd2b59b84c41e87f4b8582e19ec88155743cdaae DIST python-gentoo-patches-3.12.9.tar.xz 10736 BLAKE2B 1f87d1bba8c094936e5cd3e0ef2eede0dbca3e658430f81b398735d8f02fff1f87739914014dbcb17163f8a969ffc5e7e4cce7d71557ce3c2e58487e6ed8b80f SHA512 342f11df85926e32455d52115d06b817a17f7ae104e3ea8e852046d321d829835bba7c07803c50dd5433ac8b615499428d5bc1a088b484ca0c4304eb8b2cb879 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-2.7.18_p16-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-2.7.18_p16-r2.ebuild index 7489ef62fd..c0e5d15a2c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-2.7.18_p16-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-2.7.18_p16-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" @@ -30,7 +30,7 @@ SLOT="${PYVER}" KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" IUSE=" berkdb bluetooth build examples gdbm +ncurses +readline - +sqlite +ssl tk valgrind wininst +xml + +sqlite +ssl valgrind wininst +xml " RESTRICT="test" @@ -54,12 +54,6 @@ RDEPEND=" readline? ( >=sys-libs/readline-4.1:= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) ssl? ( dev-libs/openssl:= ) - tk? ( - >=dev-lang/tcl-8.0:= - >=dev-lang/tk-8.0:= - dev-tcltk/blt:= - dev-tcltk/tix - ) xml? ( >=dev-libs/expat-2.1:= ) " # bluetooth requires headers from bluez @@ -142,7 +136,7 @@ src_configure() { use readline || disable+=" readline" use sqlite || disable+=" _sqlite3" use ssl || export PYTHON_DISABLE_SSL="1" - use tk || disable+=" _tkinter" + disable+=" _tkinter" use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. export PYTHON_DISABLE_MODULES="${disable}" @@ -156,6 +150,9 @@ src_configure() { einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" fi + # bug #945717 + append-flags -std=gnu17 + append-flags -fwrapv filter-flags -malign-double @@ -295,10 +292,9 @@ src_install() { if ! use sqlite; then rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die fi - if ! use tk; then - rm -r "${ED}/usr/bin/idle${PYVER}" || die - rm -r "${libdir}/"{idlelib,lib-tk} || die - fi + + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,lib-tk} || die dodoc Misc/{ACKS,HISTORY,NEWS} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.16_p2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.16_p2.ebuild new file mode 100644 index 0000000000..5e5ed7bb19 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.16_p2.ebuild @@ -0,0 +1,595 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils +inherit prefix python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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 +" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-wheels ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + valgrind? ( dev-debug/valgrind ) + test? ( app-arch/xz-utils ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-python ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +pkg_pretend() { + use test && check-reqs_pkg_pretend +} + +pkg_setup() { + use test && check-reqs_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + rm -r Modules/expat || die + rm -r Modules/_ctypes/libffi* || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # https://bugs.gentoo.org/850151 + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs) + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 and bug #864911. + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross. + --without-lto + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. + PYTHON_DISABLE_MODULES+=" _ctypes _crypt" \ + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Avoid as many dependencies as possible for the cross build. + cat >> Makefile <<-EOF || die + MODULE_NIS=disabled + MODULE__DBM=disabled + MODULE__GDBM=disabled + MODULE__DBM=disabled + MODULE__SQLITE3=disabled + MODULE__HASHLIB=disabled + MODULE__SSL=disabled + MODULE__CURSES=disabled + MODULE__CURSES_PANEL=disabled + MODULE_READLINE=disabled + MODULE__TKINTER=disabled + MODULE_PYEXPAT=disabled + MODULE_ZLIB=disabled + EOF + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the Python it was pointed to + # immediately. + PYTHON_DISABLE_MODULES+=" _ctypes _crypt" emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + local disable + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + export PYTHON_DISABLE_MODULES="${disable}" + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + # Set baseline test skip flags. + COMMON_TEST_SKIPS=( + -x test_gdb + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + COMMON_TEST_SKIPS+=( + -x test_builtin + -x test_capi + -x test_cmath + -x test_float + # timeout + -x test_free_threading + -x test_math + -x test_numeric_tower + -x test_random + -x test_statistics + # bug 653850 + -x test_resource + -x test_strtod + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + powerpc64-*) # big endian + COMMON_TEST_SKIPS+=( + -x test_descr + ) + ;; + riscv*) + COMMON_TEST_SKIPS+=( + -x test_urllib2 + ) + ;; + sparc*) + COMMON_TEST_SKIPS+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn + + -x test_ctypes + -x test_descr + # bug 931908 + -x test_exceptions + ) + ;; + esac + + # musl-specific skips + use elibc_musl && COMMON_TEST_SKIPS+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + "${COMMON_TEST_SKIPS[@]}" + + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_concurrent_futures + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + profile_task_flags+=( + -x test_os + ) + ;; + hppa*) + profile_task_flags+=( + -x test_descr + # bug 931908 + -x test_exceptions + -x test_os + ) + ;; + powerpc64-*) # big endian + profile_task_flags+=( + # bug 931908 + -x test_exceptions + ) + ;; + riscv*) + profile_task_flags+=( + -x test_statistics + ) + ;; + esac + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + local -x PROFILE_TASK="${profile_task_flags[*]}" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-ffi + --with-system-libmpdec + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + + # disable implicit optimization/debugging flags + local -x OPT= + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + if tc-is-cross-compiler ; then + build_cbuild_python + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + export PATH="${WORKDIR}/${P}-${CBUILD}:${PATH}" + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + hprefixify setup.py + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + # Prevent using distutils bundled by setuptools. + # https://bugs.gentoo.org/823728 + export SETUPTOOLS_USE_DISTUTILS=stdlib + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + # Gentoo hack to disable accessing system site-packages + export GENTOO_CPYTHON_BUILD=1 + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + fi + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Restore saved value from above. + local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + "${COMMON_TEST_SKIPS[@]}" + ) + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + emake DESTDIR="${D}" TEST_MODULES=no altinstall + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use ensurepip; then + rm -r "${libdir}"/ensurepip || die + fi + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.11_p1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.11_p1.ebuild index 2c83f81efc..0d603d3092 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.11_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.11_p1.ebuild @@ -4,7 +4,7 @@ EAPI="8" WANT_LIBTOOL="none" -inherit autotools check-reqs flag-o-matic multiprocessing pax-utils +inherit autotools check-reqs eapi9-ver flag-o-matic multiprocessing pax-utils inherit prefix python-utils-r1 toolchain-funcs verify-sig MY_PV=${PV/_rc/rc} @@ -613,17 +613,14 @@ src_install() { } pkg_postinst() { - local v - for v in ${REPLACING_VERSIONS}; do - if ver_test "${v}" -lt 3.11.0_beta4-r2; then - ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files" - ewarn "installed previously are no longer valid and will be regenerated" - ewarn "(or ignored) on the next import. This may cause sandbox failures" - ewarn "when installing some packages and checksum mismatches when removing" - ewarn "old versions. To actively prevent this, rebuild all packages" - ewarn "installing Python 3.11 modules, e.g. using:" - ewarn - ewarn " emerge -1v /usr/lib/python3.11/site-packages" - fi - done + if ver_replacing -lt 3.11.0_beta4-r2; then + ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files" + ewarn "installed previously are no longer valid and will be regenerated" + ewarn "(or ignored) on the next import. This may cause sandbox failures" + ewarn "when installing some packages and checksum mismatches when removing" + ewarn "old versions. To actively prevent this, rebuild all packages" + ewarn "installing Python 3.11 modules, e.g. using:" + ewarn + ewarn " emerge -1v /usr/lib/python3.11/site-packages" + fi } diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.11_p2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.11_p2.ebuild new file mode 100644 index 0000000000..b4ca94a695 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.11_p2.ebuild @@ -0,0 +1,626 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +WANT_LIBTOOL="none" + +inherit autotools check-reqs eapi9-ver flag-o-matic multiprocessing pax-utils +inherit prefix python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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 +" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-crypt/libb2 + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-wheels ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( app-arch/xz-utils ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-python ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +pkg_pretend() { + use test && check-reqs_pkg_pretend +} + +pkg_setup() { + use test && check-reqs_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + rm -r Modules/expat || die + rm -r Modules/_ctypes/libffi* || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # https://bugs.gentoo.org/850151 + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs) + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. + PYTHON_DISABLE_MODULES+=" _ctypes _crypt" \ + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Avoid as many dependencies as possible for the cross build. + cat >> Makefile <<-EOF || die + MODULE_NIS_STATE=disabled + MODULE__DBM_STATE=disabled + MODULE__GDBM_STATE=disabled + MODULE__DBM_STATE=disabled + MODULE__SQLITE3_STATE=disabled + MODULE__HASHLIB_STATE=disabled + MODULE__SSL_STATE=disabled + MODULE__CURSES_STATE=disabled + MODULE__CURSES_PANEL_STATE=disabled + MODULE_READLINE_STATE=disabled + MODULE__TKINTER_STATE=disabled + MODULE_PYEXPAT_STATE=disabled + MODULE_ZLIB_STATE=disabled + EOF + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + PYTHON_DISABLE_MODULES+=" _ctypes _crypt" emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + # Set baseline test skip flags. + COMMON_TEST_SKIPS=( + # this is actually test_gdb.test_pretty_print + -x test_pretty_print + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + COMMON_TEST_SKIPS+=( + -x test_builtin + -x test_capi + -x test_cmath + -x test_float + # timeout + -x test_free_threading + -x test_math + -x test_numeric_tower + -x test_random + -x test_statistics + # bug 653850 + -x test_resource + -x test_strtod + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + powerpc64-*) # big endian + COMMON_TEST_SKIPS+=( + -x test_descr + -x test_gdb + ) + ;; + riscv*) + COMMON_TEST_SKIPS+=( + -x test_urllib2 + ) + ;; + sparc*) + COMMON_TEST_SKIPS+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn + + -x test_ctypes + -x test_descr + -x test_gdb + # bug 931908 + -x test_exceptions + ) + ;; + esac + + # musl-specific skips + use elibc_musl && COMMON_TEST_SKIPS+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + "${COMMON_TEST_SKIPS[@]}" + + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_concurrent_futures + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + profile_task_flags+=( + -x test_os + ) + ;; + hppa*) + profile_task_flags+=( + -x test_descr + # bug 931908 + -x test_exceptions + -x test_os + ) + ;; + powerpc64-*) # big endian + profile_task_flags+=( + # bug 931908 + -x test_exceptions + ) + ;; + riscv*) + profile_task_flags+=( + -x test_statistics + ) + ;; + esac + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + local -x PROFILE_TASK="${profile_task_flags[*]}" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-ffi + --with-system-libmpdec + --with-platlibdir=lib + --with-pkg-config=yes + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + + # disable implicit optimization/debugging flags + local -x OPT= + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + if tc-is-cross-compiler ; then + build_cbuild_python + myeconfargs+=( + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python + ) + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + hprefixify setup.py + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # force-disable modules we don't want built + local disable_modules=( NIS ) + use gdbm || disable_modules+=( _GDBM _DBM ) + use sqlite || disable_modules+=( _SQLITE3 ) + use ssl || disable_modules+=( _HASHLIB _SSL ) + use ncurses || disable_modules+=( _CURSES _CURSES_PANEL ) + use readline || disable_modules+=( READLINE ) + use tk || disable_modules+=( _TKINTER ) + + local mod + for mod in "${disable_modules[@]}"; do + echo "MODULE_${mod}_STATE=disabled" + done >> Makefile || die + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + # Prevent using distutils bundled by setuptools. + # https://bugs.gentoo.org/823728 + export SETUPTOOLS_USE_DISTUTILS=stdlib + export PYTHONSTRICTEXTENSIONBUILD=1 + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + # Gentoo hack to disable accessing system site-packages + export GENTOO_CPYTHON_BUILD=1 + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + fi + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Restore saved value from above. + local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # this just happens to skip test_support.test_freeze that is broken + # without bundled expat + # TODO: get a proper skip for it upstream + local -x LOGNAME=buildbot + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + "${COMMON_TEST_SKIPS[@]}" + ) + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # -j1 hack for now for bug #843458 + emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use ensurepip; then + rm -r "${libdir}"/ensurepip || die + fi + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} + +pkg_postinst() { + if ver_replacing -lt 3.11.0_beta4-r2; then + ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files" + ewarn "installed previously are no longer valid and will be regenerated" + ewarn "(or ignored) on the next import. This may cause sandbox failures" + ewarn "when installing some packages and checksum mismatches when removing" + ewarn "old versions. To actively prevent this, rebuild all packages" + ewarn "installing Python 3.11 modules, e.g. using:" + ewarn + ewarn " emerge -1v /usr/lib/python3.11/site-packages" + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.9.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.9.ebuild index 34d02eeb61..67bd154d44 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.9.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.9.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 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 d407b16c0a..901c5d2d0b 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 @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="8" @@ -7,7 +7,7 @@ LLVM_COMPAT=( 18 ) LLVM_OPTIONAL=1 WANT_LIBTOOL="none" -inherit autotools check-reqs flag-o-matic linux-info llvm-r1 +inherit autotools check-reqs eapi9-ver flag-o-matic linux-info llvm-r1 inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs inherit verify-sig @@ -659,17 +659,14 @@ src_install() { } pkg_postinst() { - local v - for v in ${REPLACING_VERSIONS}; do - if ver_test "${v}" -lt 3.13.0_beta2; then - ewarn "Python 3.13.0b2 has changed its module ABI. The .pyc files" - ewarn "installed previously are no longer valid and will be regenerated" - ewarn "(or ignored) on the next import. This may cause sandbox failures" - ewarn "when installing some packages and checksum mismatches when removing" - ewarn "old versions. To actively prevent this, rebuild all packages" - ewarn "installing Python 3.13 modules, e.g. using:" - ewarn - ewarn " emerge -1v /usr/lib/python3.13/site-packages" - fi - done + if ver_replacing -lt 3.13.0_beta2; then + ewarn "Python 3.13.0b2 has changed its module ABI. The .pyc files" + ewarn "installed previously are no longer valid and will be regenerated" + ewarn "(or ignored) on the next import. This may cause sandbox failures" + ewarn "when installing some packages and checksum mismatches when removing" + ewarn "old versions. To actively prevent this, rebuild all packages" + ewarn "installing Python 3.13 modules, e.g. using:" + ewarn + ewarn " emerge -1v /usr/lib/python3.13/site-packages" + fi } diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.2.ebuild index 39406d1356..77efc9e367 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.2.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 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.21_p1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.21_p1.ebuild index 2fe534a1d8..e8160fe107 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.21_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.21_p1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="8" @@ -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 +ncurses pgo +readline +sqlite +ssl test tk valgrind diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/Manifest index ce1b51dead..b64ba91b59 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/Manifest @@ -168,22 +168,24 @@ DIST rust-1.78.0-i686-unknown-linux-gnu.tar.xz 219666344 BLAKE2B 9302eae6c99af55 DIST rust-1.78.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 8c23ee14f8db7c4a776f4b5b986384c9e2c79e6449e019c67b526ec219e92e35be5c46a4a2d8187aee0ab958c7ba5f2e10ae40f4c7cd083cbef59bbfc96b0c13 SHA512 ea13084528d4b8d558309a0d5c392c734140a854d9543beb0c9b3c5bd2fb530ba154c608920ad125683e1e9888228422352c3b1c1fdfa9d70df1bd4728193944 DIST rust-1.78.0-loongarch64-unknown-linux-gnu.tar.xz 170256096 BLAKE2B 07507d4517a9e421bcaa763cc93956d5c57d458f7b20f97f186f902702675b305e79c89142f5c9774b11e0842a82c8cb63247b71dacf1c362c0588b52dd86d3d SHA512 fc21d32b4ec72a3a5a353cbabb902df2676e3341a1f38ee45654eaf960bc677b0316af0474e5ce9d346d285a6f7f03ebeda7302b49650cd1ff8371c27166fd25 DIST rust-1.78.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B f99580babc5356c579b81fc0a4168dc1a57432d898e8e2422f00f9027477d704421cb217b5d56fa15a6fe9c01cbf8d4a727c6b01eedddbbcfe9d78e3cdfd24b5 SHA512 ab1ac741f6d71517a510a48fff1b903f325a35b83e35b7b73f4751c1f22e6944044d7a46f21e018659d7cf4ab5b430f6a4ff79971712af46a0d7705faf60e506 -DIST rust-1.78.0-mips-unknown-linux-gnu.tar.xz 70122976 BLAKE2B 78cd77109402f9121539db99bb263f37b9e8dbcd7d0fa102bd40437c4c051bb66d426fd223f062bd9715ce19f8b5f49ecc28ce59c0647dd4a29d9bc91fa68269 SHA512 85e8bdbfb750a20ce56756034f5b8a9a063baf38462ee9c47d0f495e09838b3d51db5428f56e4ca29f0d8bf5d8d7aac6508fbbefbc21b144230111683e2623ef -DIST rust-1.78.0-mips64-unknown-linux-gnuabi64.tar.xz 71942612 BLAKE2B 5735673c7c02f49193d69d02276f7eb1f380f487777a6e8751012ceec1a690dadd88e4b51ef6e393a7bcc066968eb306f4ad1df206bc48e0aab7bea40fc7373e SHA512 1cf95c52279b7ee3a003e2667004494f90d50ef84f57930b6682588c502c9ac1e441e9521d0888e3286cc97628fc0445fb5e5adb8c03ff1da9aca7a10a172d62 -DIST rust-1.78.0-mips64el-unknown-linux-gnuabi64.tar.xz 71921684 BLAKE2B 3aacca634a1749e43ec3d84c5388a16cfc0bef94e27c3221c40b43a296e0a79044af314b1704638f8f8ee9a03cc3f8a3932a252a19c7b91bd43b8b8e4f50dab3 SHA512 1fa047f55f4539fd16110525dbf94b3121e05513f25d81c6e95a30b2f6b099e30292545808a861816c779f060cf7ee9235b11311d1b0005e1c54ed1dc2dbd005 -DIST rust-1.78.0-mipsel-unknown-linux-gnu.tar.xz 71388596 BLAKE2B b0d87f4297f2b1fed10308ceb8809aec9323c2754212481ecf7c080ce993f485612ab5c82625feac644f14499c38780b3d1ea5af7c85f0167c26de5cda461332 SHA512 12a5955673f17243ada754bac4afdadc8ab6d3d6e4fc157328ab0067372d4206ace6ad99c168033cba23481167c24bdc4eafa0de24fd033ff7cf6ba1e16baa21 DIST rust-1.78.0-powerpc-unknown-linux-gnu.tar.xz 183422544 BLAKE2B a37b4b4c3ba381e0456f46ac7d311ff6b11701026d568653f86d08e5170f9f21177e87efe329ea8fe259a6ab7991f096bb716af2bf3000569c9797db61a41c72 SHA512 eacce0850bbd9dd9a8a94177234d867dcf8d94c7c2e9f4260207b25364abffc8523e2b85e868b9dd9d4bd02ea4be06fb0c5fbcf5621ace2c0e93041a96cf7ad3 DIST rust-1.78.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B ad0201eb1760590381c0e7ee30f612a44157e10a634eb585f253788702653b3658c636c3f8c971a0c96de8944cb4c6960fd555f35dc1ee45fad18c7410ab4b7d SHA512 de5026257f1bd95146cb8057569d643a79ba440aab21efb4ea7df985a527654234c499f16cf75a29eb29cf9d7771893f0d4cfabc3483435ab73ce781aa573ebd DIST rust-1.78.0-powerpc64-unknown-linux-gnu.tar.xz 181366112 BLAKE2B c6edeeddc3934e6b93e65776a01c7f19c5e560716490eac2f52b56ba0ff58b974ee2be8e858265c4242d017106880a368244f5565e6f0438258b0cb0bfaa9a0e SHA512 7e0182680d216757d62627b07041d1e36eaae47ed341a548e29d6fe192f5e99a7f933461da025f4341d4c9b816ed3d8d3224bee12e29a0e7fc8bcd9a93c5069c DIST rust-1.78.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B eb94775f878935e94b7a678d4588dd586de8ddd47120670326b6b9ed891edb009d637a2c99b0548e8d74d07960a02558f8421e0754d487e93b57bc2bfc19f052 SHA512 490b0ff842eafdf23adf754051c0f4abec2bfda438bc2e3f57cfe5232f1358318c31bcf6a9ea89284f26389f2f1212dc3ad467b14da465d655bbc6974981cd58 DIST rust-1.78.0-powerpc64le-unknown-linux-gnu.tar.xz 192130524 BLAKE2B ca961dcd50d9071f0bf7b8f354aa0e78b4e3d4c9bd0b6c72f7a712bbe906833aa8982eb87d9065644c65e57e395ab09ed85bd24cf43477071e0c5cd8ed8590e7 SHA512 c890386b3a82ea36aca2f8753b0fc81a956ce3157b89ccd573403ec99b257299f84c976dc7972278371cca1b3945b21a50d276e10b4cd42647a9d26e0ebdd947 DIST rust-1.78.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 2bf8596c462d1231ad884a417c5b676447b8474023b5769343ec5a7788cb42c89b937987226db9bd526b3f4ff0a39648e4ee1136c3733d316e35b8ff7295b6ea SHA512 6bc9965d32420bd86422e4d5fefd82a46a169d5d80d298ccca08fb421858d5bc077f785a52f3404f29f394f2dc471a747fec208931d19358aebadab6d9952e0f +DIST rust-1.78.0-r101-mips-unknown-linux-gnu.tar.xz 70274408 BLAKE2B f5d23c8cf4e21036b0f8377551d6bbc8d89e3b1cdecf14beb710dac45df05ba79d97e49eb4e6b80b4698bb3de0c1972d4b0bd8f70a0d62e68fc3845a161d609d SHA512 989476ea8efb7cfd569ec5a553e41581ab0f54e8c315f8105fedc5c3ef8fa8d0264d5042d22b66042c58c58e9c16c9d3f1d5e72cd00c41d8a10afaef40003023 +DIST rust-1.78.0-r101-mips64-unknown-linux-gnuabi64.tar.xz 70394716 BLAKE2B a22fb1ad2b88d9722cfc7cdeb4d31c2e62ab74a8ad79c21fc010f908baf09f82ef2b7947820e175036648a45481132617317ae57e1bcef2b37aac365f2d62f16 SHA512 71f575192dfb89d9419efb3a3015a645658e1f62983211635b6fbef99500a21ade5ccb4db505bcb7277506bfd48a8eccc7f9e6d5422241eef8d9ee1e8ba6f3cf +DIST rust-1.78.0-r101-mips64el-unknown-linux-gnuabi64.tar.xz 71914956 BLAKE2B d1384ddd387b283b8d2a5311c2069850c65ae92ac6e07ed9ebc55dc08bdf09d6258127e1515f2d033feab705342be7faaf045ae0e0f8d7894d8802c4274c94f3 SHA512 269ffec27fa609f0b6eca7ad6e97949f2c54d5c51b24acecace11404f4b773d46cf306ed49913fb5d4dc0283aa2f3da99b45dec1579a88b153d70c384fbdb1b0 +DIST rust-1.78.0-r101-mipsel-unknown-linux-gnu.tar.xz 71873968 BLAKE2B d52864914342a9f7454f0edb38246e02d78027f8e5ab38392ca5df9918ca0ce69f2628b1ded7c6d51ac30e3e482389a2c7a719deb207061c5896a5ae83706c04 SHA512 23ace566cbaca65fecb3168e1feecbeab9b3774cdabf6e4a44133d9f30dffc382411611131da793879e17766b4f56fb1917714c1f4aae17f1b9f788e02bdbebf +DIST rust-1.78.0-r101-powerpc64-unknown-linux-musl.tar.xz 73110652 BLAKE2B 2756c47f66fee7de77a856dcbfa508add0ad5912c9b212604135b92da16150e3d7bf4c81b96c86ad76ef43579a511ac6203374899077087c2d043fd451846c01 SHA512 0280ed768ac92311369a0d8db9f8db77796dd444bf8f58294a9132079fe97b131fdec2cb5d8836a0f16226f27fa314d5dc56331d46966faf1f17f5cbea97d2c5 +DIST rust-1.78.0-r101-powerpc64le-unknown-linux-musl.tar.xz 75237408 BLAKE2B 6ce4dac16d4a6a75063f1d7636cf77544ebcdc5654de9110892edda0ac8c9a3b9b9aaa658923f5b50abaae7c3e7ec1f55a45ae7be3ad1de3af3fa9f6602c2093 SHA512 211870a247513b6788992e39689b5a538f4955225586104b1d22f5a0ee5441a367c66e2139cbdd747f5a295d1fe3680fdaa4bef600151e8b1133d3e57461fad8 +DIST rust-1.78.0-r101-riscv64gc-unknown-linux-musl.tar.xz 80098596 BLAKE2B 3444867bec7a545bfb421e23ae5322170caff2b7c14abc286111c6ac5fe14d52edd30be66e83719bd810cb421bd6dade204828c7623ed11da5d266778c6376f8 SHA512 5b634320e9376b03e3c77a0113d64b8f8de83997468cdf2dee6c362079dc7dd8c063e9a946b845655c0029b07b5febee6a1e5612068995483fd07898ba2f70c3 +DIST rust-1.78.0-r101-sparc64-unknown-linux-gnu.tar.xz 68488956 BLAKE2B c77189fd35f8704c8cd9575976dc01158d43b2db9ec16e4114b6599a06c134fbcb85e6f1701915c72f909c28707def1799a37879f6cd2740e27473c81ddb2fa7 SHA512 4c7f783aa93efaa7d570f6e4fd35af732d4649f5b9bb7c5f79bec0e9f874e58ca63875dcb79777f7bc97c915aa1b44a3704819efc1d0e0cf557be79b15e934a7 DIST rust-1.78.0-riscv64gc-unknown-linux-gnu.tar.xz 194762504 BLAKE2B b3a802e4b6efcd6c0c3155258b57483c24731e0564d0077f65706ac46898828c4e4d612996c16b63f9dbd5770ac6ab05cad27a27f1083f431e13aeb68e1e77be SHA512 530e5409755dcef86a9d074a3d387dedb5966689d7f47706e43daa5a9a8c65249f4d2b42916363b14924c11e1a5f5d934e9a1d9b47b1ed7206e85496fee27604 DIST rust-1.78.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 6b8f4a535ae61cf04523254267c2f816e51e459a670b5c2aaa1a28d44092745d7c64baa399583a18cf84e03df2a910409cf99140e3337654a1a051e84d3865a1 SHA512 b226ead3b0dd067eea71d3b5088925f0cfa381aaab6f809e58dff83d00c17da4d99a9d241d49eb66e5db381cd9c63a21c2f5be3ab85658b0bf00b91e970c271a -DIST rust-1.78.0-riscv64gc-unknown-linux-musl.tar.xz 79587932 BLAKE2B ef34a7416459f50e9d8e6c8dc7f07435eb9bb93b8e07ba2211d539f9955b102c85a591706bc332127e246eeb842d1308a0568147ea3ba10463a6eb27a1fcb075 SHA512 53b28404505217a80369631e8630df21058f4d0eca4e9503f817b7960ddab95245303c571c0ec03208e5f550f239b247354a63b32c07eb6856e78ee70a02661a DIST rust-1.78.0-s390x-unknown-linux-gnu.tar.xz 207632244 BLAKE2B dd548d618a050991121afe1d8ec7d9fa5eab19d9fead94440f34627562bda9b5f544cbb03a06cd6e85eec4c8d5279b4237cd14c9754f95795e7a26f0b20036e6 SHA512 f17a472ba144efd41f791854931e1e2eb566f126037a1f234b0b54191941a77d8c340687c4c47e0bd4fbe306079cddb36637e998439845ec82206e4c567979af DIST rust-1.78.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 5ea16c70fbdcce4cc17c37e9c3b642fc6deae9e2033821d21d3598652b8ed2dbab58cf09dec4e5b2f913cb9fb25820ccf3511af5eb84441e9bee6ba702005def SHA512 8384b20c9f9b6654fd69e90a91aa8572d22b4abbf83ca3b349b7672a5d8db131053ad1b6f8a48881be0060d3db2eaef52075d3a9b15a3c9ef9bb366d592fbcf0 -DIST rust-1.78.0-sparc64-unknown-linux-gnu.tar.xz 61524980 BLAKE2B 382473f85771b60201a27d4a7812b7a76953f800fb780f415cdedc1e183d6142f4e2cca6d0ad7718c80cd7a181652b175e6c2b51f8f0f303db6fe58b59afaa40 SHA512 0049d8262cd426f1f368919f13969f57ea724ceb15f257c71af7d831e607de874344b3be8a38c10f0d87a4fb72b6b69b77459a63f72ae5e1acbb5c601f30eaff DIST rust-1.78.0-x86_64-unknown-linux-gnu.tar.xz 163959816 BLAKE2B 1987a6a0ea169d67214bf403cb1e6ada022eed163be6ac72e6e46d1596eba6f282cf87e0581e9ac1b264dee4c59edececc9085b0d16cacabc79f9375da652a24 SHA512 6bb0481804a1de8ee9fde7d4793d45e80f071534f2c3756867d95e99bfc4766de2618b5fd6b1d5e8f4794e54c7056124538fd301c5ec20351f8dada54ef4c20b DIST rust-1.78.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 1b6b8e54c0eebbde2a803d14db3d75363c306c621845cad89c927a51a5df0ccb5d1406c8806a82d5d611d0a12c6d6c5ed0f113fe802e4b6a8e504e64562e168c SHA512 10072d0684b40a71176f36ad85b7161e1392b3f52c035bfd0c6bbf5889599234a7201d85a13f04de0269ef9d8e0c51d15a4e9a9151b3fa27cf9a6e8663203786 DIST rust-1.78.0-x86_64-unknown-linux-musl.tar.xz 245914600 BLAKE2B 66cc40b70ca70eebee5c173eefb07758a8a7421cbf421329b3b405bdab1651334a5ff1202b450139c89039a4c3fd6ecf8b78ed218c62e81c983e6bb7353a335c SHA512 21190a0034aab2757cdcbc2e456fdacc972634f25f5c75daa089030a82b407037d3c7d3528c8d126d48d2a6840edf97526007bef41689a86ef1eec8f8c569f08 @@ -202,22 +204,24 @@ DIST rust-1.79.0-i686-unknown-linux-gnu.tar.xz 220956232 BLAKE2B ab8bfc213938a0c DIST rust-1.79.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 838bd51b74f1f6c77a5ad10cf992f3e398f2f68510685d1146ea3b15bdb2ab7a994aec3e96b5b3a1a14a82c082a87c8cbfc77f01609bde2e096f1934a1fa61eb SHA512 f8a2aa8271348761c5c8c93406c65fdc05502c8d21d67fff82f1a706770891a820bd05acf8d3e8401a44a66c35a11f40e3594d5b42b6554060b3bb58a0dc6afd DIST rust-1.79.0-loongarch64-unknown-linux-gnu.tar.xz 171612592 BLAKE2B d06003c1817a191d8aea38068ad03449090538962aa9ae74423343032b2e1aae4784daa702fdee4f4b089341fcbac1d03048783b7cf082eee46df1a2b6323b31 SHA512 86c39ca2b43fd58893e490008c99ce7f8e8c8e087701b90838de8f589a3e5b5b0d3b20c86ea9803da2ed72301d44b68866fe219b65a5af9f0e7e3120b3d9b994 DIST rust-1.79.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 6f826cc05d126b8c6422674c9dfb496a61424144d7a76bf4e5225d7bc782c0d63dd55ea03c534494b633601bd027a922458d9f06dec5f5cf701c8907fe53cbf6 SHA512 c443a8a08ae2e65e3ff46e4b5f910ac24b8dda0ba62b67dd41888cf1504a78e9a6ff9415480b8c684a7f9390bf7b279e3fb7a7a22bc4139d6a91457753df4131 -DIST rust-1.79.0-mips-unknown-linux-gnu.tar.xz 70170340 BLAKE2B d9283d882f7206ec4cbfc18ca3df426e224a65773744738fa526d076cbb39e3c5b70b9f05c0a56d8f12acf1341aca21956326e8ce1351ae3d96b8f5519540545 SHA512 344e1285e19aab88091e74c13ded45a796243dc80f87bd67d3af42c2f0c6dfae4d2504dbd3ddc576f31354b3145f7b8d6028a0ca1eeb279ba116b8a4ad37eecc -DIST rust-1.79.0-mips64-unknown-linux-gnuabi64.tar.xz 70583384 BLAKE2B 352e491cbd7c24ea39431ac835d86a8587abe64b1bb675522b7ad710c70a25ec461d63d3aee7e764f171731b8b568d618e9cda374ac2f9552a0713f7f2ade50c SHA512 ad844420ad95ee20713cecfa3e97e9e9bfbb31de74b17afc66a4e1be6b174d00cb2b5948c89ccb574ad1cc37cc1b6e8d161c72931420f617d6db7c65eb7d4764 -DIST rust-1.79.0-mips64el-unknown-linux-gnuabi64.tar.xz 72593292 BLAKE2B 2643741c2fb44bc2b2509d00ebd5818a6bfa6b77f4c79e2039ba46c41938036707423fa4d92e6fc412ce160c657ef75efaea0910cd4350a96c4fd88a49494cb5 SHA512 d9a5aff946452b459a01fd0bcc2f900ac2d6665b0285d3fa8913e7e0c481cd527089e4eef4616939796df6d892ef2369af1f87552e6f5a1571576592cd76c6e4 -DIST rust-1.79.0-mipsel-unknown-linux-gnu.tar.xz 72133948 BLAKE2B 0eb5a697129d053142f77e5c84dabdc8d0183c61396d7b4a18ddeb2c8c008c790e25382ed320292e9516e80d55d683697752001a435315a3aec5b81fec2f96a6 SHA512 5051499a4a468761a22e3887a2de114a328c8f82ba3f8044134b8c257ed773a4c980dc8c91e91fd4897aa23ce64277686a87565baab5b4cb8139c73396761ced DIST rust-1.79.0-powerpc-unknown-linux-gnu.tar.xz 184251688 BLAKE2B 372338527063379f922bb3ea83c98f21b2201cf0e75f61cb0a42c1c1c6b651eeab1532d972af72a2afdc7afb5e7a96c40b0482c248350b7886a1274c869d2a08 SHA512 e1a26ddaf53b070edaa630bfcf6ba94659f841804e2feb90fab05e8856cc616d413f5af45b67cab57fea2483221c8caa52e373e7e7d29039541ab2142c4187a3 DIST rust-1.79.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 22c2867d40f0fe13888112294ea2571718064a30983903f7ce8b13a4a13684c34ac224990ebb0254e262686c097bed6e46d9a70e86bb282c447c9e690ef551d8 SHA512 68ea8142bb72430fadf274549d1830a8348ba74a02a52bdab1cf1b811e70592896f8cf9d34687bacc34aaa06603f89e5794211227c573a4f29ed34744b0f5a2d DIST rust-1.79.0-powerpc64-unknown-linux-gnu.tar.xz 182063040 BLAKE2B 0bf5d662cf69bff1a345dc54525319dfec98b2743744eb03712e9a2cce8cd45d968b9cc67ffa33a5b5a5a47f3a0a5568103d4e3de3efc7c2d837453dcdc077c7 SHA512 f65745bdb3c98f20c37c7bbe737ebd3b1107868fd56f1a9c42a4adfc14592e853cdd19217354070e5d18d31145be18c3b10681768d9f025b5846488937bd8a78 DIST rust-1.79.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 80be893561f5021b4e57843a5a6c9db7f97d9e31a0748c2ef1768fe0074f29401a39de781d1eadadfe760e8d7f9a286045c6bec2bee1b2a889ccfb9625ae8477 SHA512 843e1cdda3dbceb93cd0b345ef0f551946cc37dc5085f52cfcc3c9f6e31f8d4d6b176afdf1c255f5bd7283473b717963aa0e6bd905c2eb89f3543cf5e88dfff0 DIST rust-1.79.0-powerpc64le-unknown-linux-gnu.tar.xz 192753084 BLAKE2B ba53cdb229484dca210de50bc7cd493fae04b4c664551fb5b7f7bd6bc7dc3bbb59b79d183f20a9dada393d586eb49956fda1a358bb5b5761fe8d65f7ab58b3a1 SHA512 d8db247ecfb154247d7243e8caaab0680bb81e11aa0ed3e627b6a0d96a21a0a2099a7bdcdacb57a8b84910d6716754843d80a9149a8ee02fdbb6bc411a352112 DIST rust-1.79.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 3e5ce77c7a2afdf0ddc4d8d53bf7ccaf8506986c1cf196837a3a6d82d648b4515b4c8cbeedb2998df233a1c5428ccfd82865482c0d0493248fb0631e100d4986 SHA512 5e63caeb8b20c7dde37099cdc0c246694b67dc2380104c83d3cbff7810cac521104d4d6cf6763559e13cc9e4bb5387bad761e79fc7bacf48536db1918b59246d +DIST rust-1.79.0-r101-mips-unknown-linux-gnu.tar.xz 70843208 BLAKE2B 402910e3fdfa17d56e8f95e4859a9d5343fc70023f801024f01d73e2b516419cae61723518a04043b84f406efc6fa91f3a10186e34ab15a816221646cf6d74f7 SHA512 14e398476644885a5c7c16cc37ef024f52694520ed778c8c156b728c09f031c67cf3a2cbe9ef67f7ebc7f5848763517e1ad018ed96743549eb3273d71111bfbf +DIST rust-1.79.0-r101-mips64-unknown-linux-gnuabi64.tar.xz 70537948 BLAKE2B e0a0a9df7b8cbecbb6567444e768e74de19dae8afea4e7de1014d6184f3a46fd0c9b95b8d26453b69fc174e50816d4250d2514419ac4cb6655faaab79fe5d08f SHA512 35a56f902a06a68734a7065e376d9e569d7e04c5cfc7455b426780ffb54875bfb6162404579f5f17d3501474b1a88c85719b59dd6696cf27834898ca28174e4c +DIST rust-1.79.0-r101-mips64el-unknown-linux-gnuabi64.tar.xz 72112728 BLAKE2B e8583fa5d898f5641c03e9af9cd43a657bf4fa89bc1e2b7dbccddde434611adc48ff15ee2d8e6022dab848503669c96cdf3eda73117c8d6cacec87369c779c6c SHA512 a35cdac30641fc3e6bf4ab53ca9c8814ec11a358dcb035641bd142f8aa72a5a06e59b4841f81a2a8a2c827492465542ec9ab4011d347e73f3dbebef682af8aca +DIST rust-1.79.0-r101-mipsel-unknown-linux-gnu.tar.xz 72401632 BLAKE2B ab52f9ddbc12124acea6c8b81a00b1324c7bffab7a01d654b909cf70342da9920440cea8d1602796c75875b6a9f36a62fb663221a916dfe709045a6be1379a53 SHA512 0d7948972091449e551881d0a4d51d3c7142347c8b8469759ed41c2dc0d03171e271ed9e6d1d4611495fbda07fec543a5801cce8e4adadd0f7341cea184254cd +DIST rust-1.79.0-r101-powerpc64-unknown-linux-musl.tar.xz 73678376 BLAKE2B 9fcb25f118f86b6f877b19e59735b1bcda53c9e0ea65951ee1a589e6f9e8c85ceeac8a26c20043fdce1d2918327aea945616b4f11c3041cb722734f9640b4dee SHA512 fea61ac81ebdab075a832ff9e0e9b9b0ecc8f72d6c51f597749879caf746a4f903746408613522409d33b71a5b2088adf6485cac8857ff3ace8722ceee682234 +DIST rust-1.79.0-r101-powerpc64le-unknown-linux-musl.tar.xz 75735992 BLAKE2B 5cca64b3a6d625b45e7d455816d4f887f994d8e82c8fe09c7435767cb445f629dcbb87c1459d86319152ba7acec4113517d5d84b41bc1487d6d09f99bb6bafec SHA512 184feae95423d55c0d8292756c1e5b02308175a6e504c94e2032f278ed0cf7426d707d21ecfaaf87f9b30a0f13af62ba4afd7684ac4d9d7bdf64ebf1d25839b9 +DIST rust-1.79.0-r101-riscv64gc-unknown-linux-musl.tar.xz 80781040 BLAKE2B 1209e2c8392962677b982a0b28c60987effaad247bbf98d951cff570321463fd5ddf7846657ea2290a8de84876cbe1c0043245f9ada313c3cdcc4a78f7a43beb SHA512 82eb5392b58e282aeb8c1779336922b15479667b369c2f646f8cbef35bfc181cfeab2d2cca6c3c273f0f52125026f2ba0f8c5ac0b98b18a0146679c22d939f5e +DIST rust-1.79.0-r101-sparc64-unknown-linux-gnu.tar.xz 68919800 BLAKE2B 709aa35596a19acac927eeb9e479980eb4d9cd4eeda019993ba8ad290d28363c3ced6c22bfc24551a6d61340242a39b40557a9d69ae424f0d585bc8b130be169 SHA512 accdbc3d32b4339c3e2c6b572e78f7358c03d7ccfbd41a2eb341aff7cdf0d6c9550c11c85dd00c5614417424f5c0c02fe0c463d92a8d441900a547a83e674523 DIST rust-1.79.0-riscv64gc-unknown-linux-gnu.tar.xz 195616336 BLAKE2B a17b0f9022681233e23ae3c3eaaf93da6d730ba604a9d327cd4a2553cd8c7321929e294de27866e995a591554db4f31f2b9f371747e4b45e473ac2c2a466ba63 SHA512 8a8c6be44ecf5d4cf35bdb32c2a56136fb007e9502f7f42980b5cec135bc481252b890be74d6ba638c2d885d1fb9bea58349e6ba67dbbb8efccdfe7bd6c7009d DIST rust-1.79.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B a20afcbcc4814988594537e0ef1ded539c29987941044d2174c5f16b84286d3d8b29321bcd205f5081dcc8ed487d21f88396a0420a7fc3626748b8ad1e0ca2be SHA512 cee5e0ebd5e7fd00ddda6549f749603376284071db7f806175b1913b39a94a5540cf535f30d45afd06ae95ea42b0fc6b71517bede7f09dc0221d5516abf32450 -DIST rust-1.79.0-riscv64gc-unknown-linux-musl.tar.xz 77667868 BLAKE2B 004083faaffc342458cc90ddf34a56f4e3091beb1c4e3e5fd1872f3bfe7488b64da5c9ce7995483b5e4dbdf138c007ce1d08879ad3046587dc498687d3fbb538 SHA512 f14610a48d5898f0c47f1a3896fbb3abe85d57a062388f532e1150e3585f8c099c345c972d7f187bbb56074828f6f6e7ee54221127c5425f98856f62fd16b361 DIST rust-1.79.0-s390x-unknown-linux-gnu.tar.xz 208109368 BLAKE2B 8c110bff01f7a7456a6044a782198c74a793af0fe4acf6881fb9af4c8193cb6c513cbcc8113320fee027a6eb046a0ca4319d014379c6f670f915314448fb927a SHA512 07de1f7da8d8d23c63ed081cd56c96a9becbd4b7149f87636918bce8155a25ea95579ef8694adf6e455ba6cdc19776677f430713a6ef6c607a7efd26db4658a8 DIST rust-1.79.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 28a2586c96e2ee2263cae8c2dcd21a0017d09969114cc905a37408717c412a162fed12023df801497906a6aa77b294121699a56d05e270b28e2831796a15f4e8 SHA512 64c85ecf772b73e2e6f2002053a8bf659d518e7be2a9d0056fe38e991e47304471372206a8e45250d6a143086b3b1f4fc68f4e19388c040735e8475c981fd8a0 -DIST rust-1.79.0-sparc64-unknown-linux-gnu.tar.xz 62007828 BLAKE2B 7348970911c9661b2099f2c5d3309efb25e2906b0c560828c1bd877f145350d4aed594e52a7cee078abd523fcee13a0783b655696378d0119ebdf265606b40d0 SHA512 0afbd7cde595eb9a3c80ccc0943c1b5676cd1db9a2e78fb8e6af375424d8f7e67690ea9799961ea356f77dce15a347eedd5332dfc07dd8aa74b2aa2e6b5beb81 DIST rust-1.79.0-x86_64-unknown-linux-gnu.tar.xz 165014992 BLAKE2B abd9f73c8439f6f4f9ea1b586cb0b2d3ddf3351e42dd49e01e2267d1bc2f9dc27dbbe9b866d5a571a983e3c537f003ea9a6570258af64edc26cb86fdd8e64d86 SHA512 c027a015cc6544d288b51bad6ebf8a9afd40932a06972cf61bf64bfe4997dda7ecaa2d53c4f4fb2200bcf1a7df16c3a44ade1b8366a32ce9a4c85357cc76dd0c DIST rust-1.79.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 9cd1a51580d9f70f96c83b603716a5edbd8e1c4d4c2f53c07aa9d37c6c47f3bd252c0a1cf26b77bcd60842fb83ed74cd7b6e4ab3a039c3938423372485f8c1f4 SHA512 b65621f91085f4a5c6f84ed5e530fe56502ca12c5b18486afb1197156c5f6087110578647d428a58a1a6c04765569a28c38ae40a14c72fd41f39948349e8115d DIST rust-1.79.0-x86_64-unknown-linux-musl.tar.xz 247326760 BLAKE2B 36bf6787c69971ba7c445d1895001c005af0aeb48aaa3309e971237125a2b6de3ef5f1534572f8a3f4c1bc024962a8fd030e91b63c02f03444b5aec1a3ed2e5a SHA512 02e5c2a67f5470f3320b04e7c4f0a6f5dbd361d5a97aee7e5860d04224683166b21375794c94ae040a2cc6fc119380be9d3465b8c5e1798abd4142d621cf9f99 @@ -236,24 +240,24 @@ DIST rust-1.80.1-i686-unknown-linux-gnu.tar.xz 221151480 BLAKE2B 01c4a29b5cdc47b DIST rust-1.80.1-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 549b27298fbed09727ae6c6086127aab9c0ebf9a6fce70c2e102fd29e983e31b1907f3a2e7c18800ff7b2efcd6f49c36aa11a5021fb9f57e6148e62628cc56a2 SHA512 c20ea2b577aa263e70211198a9fe896b9d560b737d74d640ee107a89dd9d5b31bc843e2fdda75bf21318fd3aaaea58c4ee918d003f7bf7636aa5636fb657133a DIST rust-1.80.1-loongarch64-unknown-linux-gnu.tar.xz 172528232 BLAKE2B d308b0aab1ef8dc338025d9a106920f507035efdc04390e9618b6a936ec117b70c791d14d5a73aeb0533f1e8d1952ae36bc3d4e624239d5a64ecfaefa70aa5ab SHA512 1c6d689e43cad549f2f8aa96fd5bf52080276c1de386b771206c7533feb11a47bf515ea72dc7f406852ca7dc5632f1436dde69014d8bf35bd0f25bcc85c3cfa0 DIST rust-1.80.1-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 92b347907616b18ae06d85a1380d01bd078c3ea4a03fdf808b79794ffeb1d6661057688050130aec61d29062f07a030ebcf15fe3d866cb411325c44a2c393a33 SHA512 7245d91fc398d787e8bfa2e0bbceda9aa30665699f01bc5490f29f690fc1f8fd5d5ee8d4a941d38f0dc5c4cb7c275bf4b6d4bd3727b1bad65326594101f90cf4 -DIST rust-1.80.1-mips-unknown-linux-gnu.tar.xz 71930732 BLAKE2B 5e0bf58d3080f7250ebab43548ae90ed948237e6169852c18fb488c7f8b7c0d5eaaa2746627fe991b5344cdd7249e94c4fa71ff42a6055e505d4a99c59fbc643 SHA512 838ccea7a5c7a81af5c35901e574b8525978bb1afa8263ee266d0a2acaf7d62aa3da045b1451d6c068b5c25e97813b429fb79d1f62628d6f41e254fb94c1f38e -DIST rust-1.80.1-mips64-unknown-linux-gnuabi64.tar.xz 71570392 BLAKE2B b36ba5ccd967bf4c99dcc66f9331f805e14a95465eff69b9bfadadac9f65ddf92f2dcf4b955c8faa8ff872b0cad42f1716074e23ff0aac6ef6f9740fe588119b SHA512 80e930c81d0f0febf61a5ce082967ce519711b18fbf7f7ea6665697caf3de345a690fa618d46ebe5b0068f0d578f23b9424af2d59afd47ed42f1649d9488d77a -DIST rust-1.80.1-mips64el-unknown-linux-gnuabi64.tar.xz 75794060 BLAKE2B 26bb87e1be2ee3c311cba20df47da1728c2c5a395b366707ac2a5e5ff602b99ce24fdb0fb5495f687a1489b1889153bc764820ef481ecd9db19ff9d8e34a5bc6 SHA512 8781deaf66d84e87ed5d7fc10988c9417d98c45dae2cde2bfba817c74020faa9daf512c141fe92753a53113c96a4ece06738d7dbad626b901aaaad835df6d300 -DIST rust-1.80.1-mipsel-unknown-linux-gnu.tar.xz 71170176 BLAKE2B 26f3833281d3d0acbfd8e0c5bbe5f9fdd77e76d16080d23fbf81d4b8abfd7940bd73657afba835be4f584161e1e147406072cc77fe3e4be797848983fcce075a SHA512 f909b5e630dc155ef807e248e620c29ffcc18ef5bb4b2c5aa836afd754974f10dcf82efdda3b47c58778d1ab63fe98095fa4a051885763645b27fcce46dc0718 DIST rust-1.80.1-powerpc-unknown-linux-gnu.tar.xz 185400364 BLAKE2B 2b37d052d0fc4f612c298e87be9a0afcac3ef8548f3914530737d0435cbdf270e0c3b8422c08f84f96192f89805a9bff9d3fe570eb056afc1fd902202a806025 SHA512 1350aa8c105555778231b4ef7ce1c4c8850cc112ccc2f72621bbb3c011a0733da91df7521bbab0aa3269b4ad61231a631660593d7608d017083cd7af375fde30 DIST rust-1.80.1-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B da5dfb8d287b7a30a32443b0edb80a3994c68f732ce02a6f6d735d589db2c273962e02925fa88311698672eca10441850066c2f1ab2e48ded8ca33109e298509 SHA512 f0d381594d6b164e068cb80e39a508774633db64abd4a9ba68eba48fd627fbda6c0cdf849137f61e196ab44e0f93eba5d08f3dd60fe5820259b8d9fafdd51407 DIST rust-1.80.1-powerpc64-unknown-linux-gnu.tar.xz 183179096 BLAKE2B 0b7b7af392b8aa1a1df14ea4f53fd231c5c475eddbadd2105a5222393162b187109201f96dbb30c9877ff1c684af48b9868d17dbf26113193cab572d8ea40852 SHA512 67ce98a6f89997c13f576493644634f8ee5055952500e4f6d6ae096fee9570d6e5938c483892e76325905fec35184ff7f7edc21e4ec30199e821017890825289 DIST rust-1.80.1-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b5b296291d031d254a4be6f000abade2b5d67cea8cecb332505469af3ec3ed1e21454ba41f96ed4e77dc2324c339f136ad04f034191a639394e6d9390065ac19 SHA512 9ddacb0ccd9da29fb93c66a2d701a03af6a4a2e9911c06a09d9fd5bde2647931e6c61e623d418200038e232227010206561e431331ef866324e9020dfba4597b -DIST rust-1.80.1-powerpc64-unknown-linux-musl.tar.xz 74338592 BLAKE2B efa136a4510c20928dad1a15271620515f57d43473bcb9e0d4c5935e4dfbb535a6ddfd0d26576d3b0b354014a4d54606900afc32485cdf60be61bb6cb100ef18 SHA512 d330b0c1a046b754400e7ba48e9657c07ccb3f0aaace45600ca4649bb8df5aaf01664b8b967940e5e992347e05ed7249e5ed179536896e63a1a0ba6f21c1db0b DIST rust-1.80.1-powerpc64le-unknown-linux-gnu.tar.xz 194097292 BLAKE2B 1134beec940443b111594c86f912b2bf26bf3ace83cab3f0176175a6e891d047701e08e8ebc62094fdb4bd7b4d2de115ba0125ecd5ff6b3a20906db30c86c480 SHA512 4275343153b6acec8ba3a25dd4e85abc3ea7872a9cca4cea6f394fc24db6461db7fe7c047d158b61bb0635983a6a033f25da39f5fa1d6d9ee6d3eb956799dafa DIST rust-1.80.1-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 280558f7b575a5b79c7367715e74f333b7e9bb0d4f6ffd9939ed9daf33899dfc19cf59eca2cfafdd2ad1d6d71ea58486d04931fc3d089c9c491c8374985a1960 SHA512 6c784aa10878531b44e5927b2cab5a81efd4767a5e723747e4a9c506b4c48141b44c98ce364459db47ad8f03f4f066fe96d070806695d76a6abc9e0c7a53a09c -DIST rust-1.80.1-powerpc64le-unknown-linux-musl.tar.xz 76407768 BLAKE2B be93308a381a7d96d5bfcb6cfbdcf722d8b4a8c5a497f12bad8557758efb2e62e35332486cf9fcb5c29874fe172cf696d0370158e1a139f77d637490422ba7ff SHA512 cd5c6dd81997923c7bf719852fad819be7f24bbbc97a6fcd8d463a38e26784d3bf19aae62a3d2ee3643571b78829b78602746007128d9e160b26f293b13381f3 +DIST rust-1.80.1-r101-mips-unknown-linux-gnu.tar.xz 71802316 BLAKE2B b3fc9cd96d911fdb02ee26385e3110f6007feccfea11d8572aef51d0e1a964c4ff286e89fd294da89bb2b9bb2971a9851e180dbe1bdbbc328f1643e6ce09cd05 SHA512 40702ec4f97ee76193dd56d3aa1c78f67c0a496f3dd179d7ae114c8c59b2bba62e415814e9b05f7d2a703d9b38aea12ac35ad5d0541fa0c5006f0f849b85b134 +DIST rust-1.80.1-r101-mips64-unknown-linux-gnuabi64.tar.xz 71450476 BLAKE2B 275f24f77916d0473a60d2988138dd2f9c4496e8d8eedcf6e005ed655a4711e532d21bbc6d123d2043839439073cf86647bb2be61ed35c389b49dba718e9ef65 SHA512 905ce07d8263eccbc2a07abdd8039db758bca977e29462c5133de28e89754d7ecae5609ea577c9a2a050aa2de61ad72522764c3e023d579131406a4860104f20 +DIST rust-1.80.1-r101-mips64el-unknown-linux-gnuabi64.tar.xz 72935280 BLAKE2B 8b85067f15786b833c86b14e0dca4e36a99f50a6a645c510bfcbc9869ebb5d4b15521c293015eb4bf6e2d505ede4fc24e1f9729f402719b379233f6adcc85ca8 SHA512 4322e156d60a185217515809f4e1f72ac53d30321f5f6cec73e3f31ea0acf40ec9bf62bf4567b7d90117ccaf397a9961987631679125a74c3f354db8f72950d8 +DIST rust-1.80.1-r101-mipsel-unknown-linux-gnu.tar.xz 73461432 BLAKE2B 94a9d427fa16935bb2e319591413e489f1d0e0f4f5cd2d9435424a1013f676a79ce009575a7dde35c7b4718d8300131dc3049a8677885ebc118983bfa4527c92 SHA512 6551dd2e0d3d170d47d3e13c81872fa54caf2ed498a200bdff5ebb7dcd6a9e25b1fd11646d3376c6191f37ba494c931cd348546e3099f784af25821f08b7c600 +DIST rust-1.80.1-r101-powerpc64-unknown-linux-musl.tar.xz 74442008 BLAKE2B 1dbd23082c7b30021f8cdf0ac3adab6ceef4f852e8c6d13ab21936e8415addd6c581a029d2482f9e6299f6311bcee1158ef9cadd264d81e6cd7ab9814100a57c SHA512 bfef13e66c7f8ed34361b27387993b5caa3b2408f45646f2e4b4a9c6ca7b855700f04ba02fd2e501a09e16fb0a004082fd882ed2fc1caa611ad44a597ed89d19 +DIST rust-1.80.1-r101-powerpc64le-unknown-linux-musl.tar.xz 76588376 BLAKE2B c3a846c054bafa89413225dec32ef9d32bae853f38eaef3e574c7b1c7a9032b686e22b400e6891f82b02a60dc0445b604de73e9d771a5b3ce0377a39770e0b0e SHA512 7ecfc90d96588482c01ecb32e57f713c81abe0258c84eca18f85902c8095a382f87e8dd8147d77a13d6f6305c952058090666ff70606ad6fdc6f8b5825da1f95 +DIST rust-1.80.1-r101-riscv64gc-unknown-linux-musl.tar.xz 81741252 BLAKE2B a91073a86147649110440cc9793f20bf217b713a771b504aea1d48ede0a21b53d83c3e95e36f3d3fcbf77cfcd69b3c085fb4a436dcc20385f69a6c6debf9e972 SHA512 71b101688cd0cfc5ecad6830a72387c05acda4c900329c31161110d1c7d7aa684e2a3fc315b127b4af91790d2817e213b5eed5becbe87061b7b5f3769596c7e3 +DIST rust-1.80.1-r101-sparc64-unknown-linux-gnu.tar.xz 69865020 BLAKE2B 16b37864349bd32d9554f3e101a7da225d13f96c928ad1d0dd6adc708559d9572f3ae88fb05cfe9382e95a292d215f9000f18473237e30f60bd0cfbeba698203 SHA512 12cd53f0287bf74848ee3c9ee71309f9b25eb38317f554ebbe4d9a5006a124950e05e0a9e07056fc213380b81009412e42d6d36a0ac9129d6e0f26e9c4c0b987 DIST rust-1.80.1-riscv64gc-unknown-linux-gnu.tar.xz 194141700 BLAKE2B e174c185d35d3974c923233807ff1a27f6736af2a8b97f92153c0518aad4f46653d5e5bab219b51ee1b58cac7216a29e5ad6499a982de8f52f6871903a307b71 SHA512 4d69bfd0fdd2de634a3ab873e8e2929c53baec12e4edcb220b8054c672324dba7a94d06a9c35474b8ba74b2e408d7b42a857ad11a4b7a346509b5fde23e8c779 DIST rust-1.80.1-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 274048978581a816fd8a9c396e7adffa509004121d5e9dc8df53a9f4a850dc7a0bca8652760c1f27c1c0dd57be5a91ff60e2d39ad7681b17efdea91312d0fc40 SHA512 5c34ff90acd4307a57733f8371abf4712c3ca06bf9db88f1d3e3ed9dda1c16a7775d713804ec4f1bc46089428b6b5472ab7e416f10e21d33f10b84b1a33d1957 -DIST rust-1.80.1-riscv64gc-unknown-linux-musl.tar.xz 83359176 BLAKE2B 27ed3232a01fe69a7ebb6c18c7caede9d5ca6f755b52ca0f4a2f3faa073762638b13cec4f4c63602ec709d70d3c4333db5bdb97468e77a3c3a491b44060c484b SHA512 858f2366104e368efc5564228c9247d110b57fc3a196b4c56077fccda104fd8ed87f93a6e3ba2291203d05041c819555f87736c1ff3f5b494f47bdccc1a0874a DIST rust-1.80.1-s390x-unknown-linux-gnu.tar.xz 209785288 BLAKE2B 01792daab79e7abed8bdeca53295928429b6814672aa4e0426316ec790d22b22abf25d3d5513582206d18f53147e60d252a0557ab9cca3b594c89ad603d94ea7 SHA512 66b20f5d001e978e2db5277da5f01271f0500a59877a849ccadebd5823eaeee35066abdd5d449e024cd5ae8ee41dd60fad77a00648cac1db62137d6722729fd6 DIST rust-1.80.1-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 5c0a1a6036d3c3e9af835c281fd347a842cea15bea5f3d5f109f4080a2f93020d5e1c1a7de1894c03e8a2c87c6560f792a0c8024e68eb55d10e50da098f1e621 SHA512 7bbc3e8d3b039b522e62101714f5edb85046cfc06375df4b49c9ece891f8fc57e86027e1fd12a5837be7623c9137840551389e7dec4b2700e1dac0ae69121729 -DIST rust-1.80.1-sparc64-unknown-linux-gnu.tar.xz 69671332 BLAKE2B ae9d7c680dc77bb2beec0e80aaf59768a21091814247b74ac1930a7c66f7b6426fa35e772b97e2aa1983cbaf37981df47e39c5b940ba4288e1791ede7b1a0bae SHA512 dbc895498ae43921d6a15c4d36d9e35756ae8660782a07cacd607d1ebdb75982d67ef78ae2803160c07c2f9067b608aebbec7812799cb45bb893c936379fa9a7 DIST rust-1.80.1-x86_64-unknown-linux-gnu.tar.xz 167553060 BLAKE2B abc6430cfbbea5dd0ea42a6a3e2796b6f499d5a8343616d310ed22b541bdb15803d882dca9be743a81768bdf55f78c7a803bb594844d7dc3d2bdf09bd3f3d312 SHA512 73e6000af98efe5d90ab484ad88f455f07ccdabe49400d25ac16eeaa51327a5d17eaaae5ef3eb0b04b9aba2015c379eeb2a00076d82ba959e53e3dba470a228b DIST rust-1.80.1-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B bb52100a14bfa2775ca7cab5cd0f9dbc489ec3b26a8687876c97b666435c44ce58d86fd9f11d4f4832e79c05fa3ddefd7157edc91a3da25ffeba07da61fbddf9 SHA512 08aad912e47341bff29ee1d1b52cd02df8e609747f7061e61ed6a401d798140a8587378aa992b0d52af955a44d2284eefa00f27a6e94b4ed561c06eed60ad6fe DIST rust-1.80.1-x86_64-unknown-linux-musl.tar.xz 248220632 BLAKE2B 7f0954379658df0a5cb0bb4bd49fdd1d216bfa5a200789124667d13ad97f0a5278f57e5b6278a969558c834de43a5d7e3f5ad3e331cc5a4c428dc097453a9394 SHA512 079cd3384c0b7f85d5fb2f02f27febe423ff533d71463097fbaa90449a955699fc25d8e4ae16489f7d7920c34c318c0f2e8185eeb9c6fd64c0851e4366c5eca2 @@ -272,24 +276,24 @@ DIST rust-1.81.0-i686-unknown-linux-gnu.tar.xz 224016868 BLAKE2B cbc147e42563ba1 DIST rust-1.81.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 3cfb29d5ff9f00e5f14631466a3a5bc5ae0a3dadeed3e2b22ee000ebc57bf02ca6db5f2ac01756a6fdc753bb4cd83e5e6ed8fd9e356b6325f5b7eb17e7714d7e SHA512 1fd1ca2016876f2456eb832bc9c6d1ab2be237a619d5f6fd4e1ee0f31bdad3d3c1c95d5f45069512d0c8a140115a594be3d1f888fd9b5a342ddd7cda1d5e5ce7 DIST rust-1.81.0-loongarch64-unknown-linux-gnu.tar.xz 200885152 BLAKE2B 46b23442632d7c3368454a031643a795cf54b732d2c180960008e38be97070708a433d1094f529aa78479fbd89adf1c4ceac38af919f28577e8f766029cf40c3 SHA512 2e090423c8c5ddc1dc29d5ad19cdaebb9abad45bc7a229f911385f50cd2951b587a187ed8deb01aa41aa643465d7c7ac2b91d94c80265c03362de39b99eba82e DIST rust-1.81.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 70aa0a550992b32ef666751336ebe2c81f3834d4117942cdc7f8b1eeadb1e5efa5fc63e283517e5535f406ff0e36b4577e559e24281e388a362463ed046fa340 SHA512 70c85d06e5b29968b6efb10efbece2761f81697395bf037581adf9e3aec0141266ae59644b6951e646749bcc23b038d5601b804c6d389b64c87b4be24847db42 -DIST rust-1.81.0-mips-unknown-linux-gnu.tar.xz 73640352 BLAKE2B 91f833acb8378361428112a802b1ca3a92a08ac86922161bf7d8c5f5f8c2fa13f5f8eee655363dcdcb853211e4575b3d1161f4b914d7dc8ba005f4fd681198e7 SHA512 abb641fbd5c0f895e2401045cdaba390445af5004e04f090218bb8a098e487e6844280cd162873a0664e7fbaf25227477f2ccf6da9c20568dcf332d9ad713ede -DIST rust-1.81.0-mips64-unknown-linux-gnuabi64.tar.xz 73301608 BLAKE2B f9190465942a0b85d810e3a16f4f1850b70d29409743496b22a01621640a86213c82cbffc45d630ee604aba34fe5ee0783cf018af85b037660c4ca61a57ce9b7 SHA512 51305596f1a2462b03c74c7c0789c5d2c4f7094caef5753a1cefab8b4371ca57cd0d91528b1a6e957151b2484cff5b45f3341a48196bd095212657483ce94f6a -DIST rust-1.81.0-mips64el-unknown-linux-gnuabi64.tar.xz 74961740 BLAKE2B 6a712c1c1485be3e7f8a2599c13c0f296c38c77771d635d1099608a3ee1fe6ed3474876f5518c6a417456ac8087b0f4b415fde371873f81d9d3bd778721bf917 SHA512 5eefdf363f13afee128745cdde805794a88bb63151b6f18598096c3ba0f826aae2519cfc61f93b458de5da1d0765d9e48beb844f226346f54dedadfc19f3840d -DIST rust-1.81.0-mipsel-unknown-linux-gnu.tar.xz 75296988 BLAKE2B e0f030e08fe4aaeade0637e601c5c71dd49dc65ba1b9a8a9cffe48b66b6c38547b745cc2d2802232e914fa1e8d01725b57a7b92a5b5986b752fe5e6c480de080 SHA512 90bf79b7f83eeec7729b8fb4cadad33c1ce7c911457fae8d2c4d0e2ade68675e4aad484fe8f41163065e7a9096d36f0045c95aa24bb097e00122ed31a1c24544 DIST rust-1.81.0-powerpc-unknown-linux-gnu.tar.xz 213304904 BLAKE2B b9d126cc787323ec18e978aaccbb8f92ccf753314fcc6a5d2d496400f4bc7885b543bd7ecae782a6c1dba737708358be26be68f69b47e982617e9a80af47d279 SHA512 a84bdad9877f7c8df2cd495447cca2a0e1448a8a13ee0fbcd2ca6f662317cbebf9425238edf3b5a1277b723b9c44eb4d363339c00a35e0ff86b6a568b61ec2f2 DIST rust-1.81.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d2fba08b5be0026227e071993272a12e0d27af3b8e3b2fbd039a9c9a229317e9014d2e0f2c981387e6b46907e258e309424c2aef22d3512743d28ce035a85dc3 SHA512 156319d1904834794476d80a3b047a4099b983cb950ab3e9882ff34c0451eddff7cad8b160406abf23df40d195fdce925052177de2243ec8e8415edaac3c643c DIST rust-1.81.0-powerpc64-unknown-linux-gnu.tar.xz 210257620 BLAKE2B 686cb5e08befb0d4a19a7e34478c6916abd6aa7a05f09d83a7f8c4fcf59e144371a7442a1f14cd34b149dd056df119d5748ece4311d69af79725cb9b3b662126 SHA512 14f5feaeba8cb9e0a3326e5d74cba9be832fe6570308d5735f7fe7486fe240ef0f3cd2396c853bf34cc784f05fedd7a975dcb922775c59f3262a67fac1383839 DIST rust-1.81.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d30e35436bbe3869278f4936b2b132d0a243bf0288470e837246a59239c2813025757f684f23c639517836e25895835a7ab0fd488834e2f53cfd1155e1c8a2fd SHA512 3b302c6c999df3e9aa0ab1a0638692cb6f88d44598e00bc862ecd2c384afffb259b8072738055800efc9f0c5b8de07a0fe3de1cab1bde28a9faf1951411a9bf6 -DIST rust-1.81.0-powerpc64-unknown-linux-musl.tar.xz 76312476 BLAKE2B ab03fcae936cce1f2d4890d91e2e10b21ebdde72fbfb3d766436dc2ed18946e498e90c68158182c949ab92f0be02276fdd21d33ed17439d6bcc50526db1c386c SHA512 5812da254dbffa39c6ec6d2208d5223d7a2b57adc597fff2980c9f7f40ef7b9614ea43354840acd87f8349165b7df2d79974f0acb7ef71046bbba86653c982c1 DIST rust-1.81.0-powerpc64le-unknown-linux-gnu.tar.xz 224307656 BLAKE2B 3891f93aa2bfb62fe23b463cdbd7db50182bb175cfadf2969b32d093897f517afb7dd97ecaefe90f220998f7436d41651c32e5a46957c2114d1ebc70834dd917 SHA512 9f6fa6bf0d5ba935b9ad5661287ad8aad5fc8d6b28fdbce6cd81730539d087ea512dba7b0133de08761d12b580b8b1c5d7ca35a4f1277a8bb683c109177ce83a DIST rust-1.81.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e96b56de2542596db2db9030382e8d87a9fee884888b58c0050b81487eaf22c2e6d62d11dfc7763a1f647318c2bd0b29e03dcbbe1809ea8162432874758caa7c SHA512 0e568a763276ca4e9c359d6dfc32d1f369ee04e160026c7660ff5f14175022175d23589df9c03c0c8c270d7e74a5e54754d23c8a1b0545b67b6d6c3d3ee82628 -DIST rust-1.81.0-powerpc64le-unknown-linux-musl.tar.xz 78549196 BLAKE2B 09c359d64f54a6fd4a2ed2e05007bb18ac9abd5223486c8ecd3f08c4f6a0c0de5e22e5f2bd8ba7759949945045e9c84074cb9a133802f3f5a8fe10d97b3e777d SHA512 6345439d1f8e93a47b41593b3a815e23087b77d20722531f05d197e6a96e1699955aac48846a94caa6580e8fc5f30ea7f6edc45fa2e3c5308dc95728c12813e0 +DIST rust-1.81.0-r101-mips-unknown-linux-gnu.tar.xz 73402288 BLAKE2B 7c9a140a71d933be17d1d37f50ea1e99b85d517e1fa71946e23cd52b63e8c0bd8c1745da62e8409a51e68a1c4c7b0c87d3835d152905d1012f5c02023aac1725 SHA512 3892b1709f60c770036342c68ead1fe2a0423dd0673b1d276d1a4c7c293e6336374fb2086416ee3a9235099c3a74c3b85e6bf0e5c32262f8d453b000afb162ed +DIST rust-1.81.0-r101-mips64-unknown-linux-gnuabi64.tar.xz 73118804 BLAKE2B 06952eab52e267c3e62d075b5ce78f03ab2df82f0a5cbc6af533271ead719ad57722f1cc736d65f5d9cf8f397487fdd72c734feb9a78b13faf48b7fcb306741f SHA512 871fc5144fd519aaeb4ed8ead742f5c4e2bb2316244e9f3874666b9a6c2daa6db9ffec2bdc3f0b7d342f578cad7c0ea821968b706678b2c2bebf83b0d92d27ee +DIST rust-1.81.0-r101-mips64el-unknown-linux-gnuabi64.tar.xz 74730252 BLAKE2B 9a7e17498595829f7be1842b62404faba0c1dd50bcd80ae276b9440e0aa4b8d5ad0cac76507b03f5cf1819c8b3abde5a12e74cd947a62e6c6c1111d043158930 SHA512 1fdcf19f726bc60fa9ebc77b49a49becfa430b5ee857fb8e202048905f6dcd9dbf681c10c7b0fe857041a00d1d66406b1d92d4ded2e82d8ca69992e67496a6d7 +DIST rust-1.81.0-r101-mipsel-unknown-linux-gnu.tar.xz 75069920 BLAKE2B 572d9816ab022b6ce3b13738b218cd80e704f63e3cb452ec9eafb78c92f27a81ffcf91e981dd9a676c95abae1d9df86e974d6911f2fb95d72b7de11d5634aad3 SHA512 2561fb6180bd2fc56e9d317ee049b79bcf05517a32b3e12e507d665a6c8499a5543eba213bf825431597bf3816655288c675cf7784c3cf0eabcc03a457a16ba6 +DIST rust-1.81.0-r101-powerpc64-unknown-linux-musl.tar.xz 76092208 BLAKE2B 4574cc1cbebbc5fa489941b31479744816731e372ad62b0540253eeaf8f236b4d933801e6b92ceca356a487a199c934766c6c2a8a465844728653a60ff8f7153 SHA512 1c635647eb3aae80f0f2351bfbf00975572d3b0b35b800de4b5ecebcf36fe6ee5b617747b79d2268bfe9f3b2a36d42128a600ee344ae7d3efae93f133e2a78d3 +DIST rust-1.81.0-r101-powerpc64le-unknown-linux-musl.tar.xz 78292868 BLAKE2B f0c31989811c4e713e1eae6d0240c83abe02788aeb0bd226f3eb6056615fefd1d05f846476de45421acf0246d064587af1df40ac5648aeac290fa4bba4e4a839 SHA512 c7e773fdf013d42a20d73a0b1c13f7752fd8d16f02f0c785dd3548b34977ba60fe8f664d7839ce45cb88f4592f46b706b716e5edbb888b29205a292979950f5a +DIST rust-1.81.0-r101-riscv64gc-unknown-linux-musl.tar.xz 83525016 BLAKE2B 186275fa3c6214541fce09c0203f61f168c4b2a9dab64ed5c0ff3c472ae387592db2a886c31ea39488d8010f414c4e6b9a19066214b1abab15822faa0c167fde SHA512 54654cefbdec5be8530b4af75d71f979a278d33959b21d5f04653adcd168a5212e61a646c1e38e5e07355c169bd19ad2794763d4c8838d962e17a64078a4b0e9 +DIST rust-1.81.0-r101-sparc64-unknown-linux-gnu.tar.xz 71277824 BLAKE2B ad0c0ef5a45010dfa4c7bb2cc3e8368378772ba32f6e464ab802a5ef8ea5f0cf671fb052a01cbd2da8f7e02e63e59ad0f544893686774999dd72cbb92a52c5a6 SHA512 515c4562378bc66acf96bb61a6675e56b57f97fb905a6779d78e1a6904a8108a89b847952e261447c35252518e1862eb994735ea884a75c8437c4fda7b63d347 DIST rust-1.81.0-riscv64gc-unknown-linux-gnu.tar.xz 223006516 BLAKE2B 5627ee83ed51726bcdb50757393f2333d76d705e18d65681c1872df6dd3e2beb9a18910b4d5e7da5c30f83b4c9f80117f2ef9c212cdd92eebc6cfce182ef579f SHA512 57cf209d364d43164402cddeed0ebe41b3e3ca69f79cec4f83055cf999493ed1cd87bc852b90707b2809cacceb39a83c4236712220105cd6a71be30250d4ae6e DIST rust-1.81.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 0eaff43543493165dd86a2ffa30a4039b599302970e5c4380e8640c8c61881480c86b2ef98159ccf464c2fe39e23d14191aa11fccecb8ea8f56feebabfcd0d2a SHA512 4b5b7f01801692aa4087b5f010993d4b14b73be9c2dc964555ba140a939e434400cb4ed4756238725dcb2ab66e5ed67bb1d4688a92fcbc6c8af23f21fdaee568 -DIST rust-1.81.0-riscv64gc-unknown-linux-musl.tar.xz 83775176 BLAKE2B 6022f9c9ca652de040157434052dbe6079b03e1fce14880b3484599da0a217bd1da8e829e7fd1ec2f783a84873fd8b93138a5824e3628d6099ed92f47963f799 SHA512 16441a47b6cf4b7291d42d9ac07ad1e6a1cfc36d394d533517866f3ac66d240cbcd40bfde157de1b3161d55cf54b285cd36dc4758592c073cb6b8ed3e4d7cab8 DIST rust-1.81.0-s390x-unknown-linux-gnu.tar.xz 212322092 BLAKE2B 11237159a0e70c84e296cd54ac52721a887057ad12269328cf67483d55e603df3f55381c4413871b83fe58a26a52c32ba5e77e7b3426016eb35a207275598c29 SHA512 1ca177d52cd897da497191c4ff869ad9e22047d37f4955e134d51a8ac5a5c24d9ff109a6e955e71df0ac0fa1776939ee39ae384f2fa12ac4740e2aecf92dfd61 DIST rust-1.81.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B a982e7308aca7fac8a93d299a9dcb00f5bea71e1b7061fada84fdf2cbe1cc5bf7ea65abff857a234896b950e06e1bc76c0e796a9570039b2314ac17dc4e9f4ea SHA512 cf8cfdecaeb589db64df6ff0418d68332c8b516d401f0e9bccf9651bb085f57d3bef4941fa60788ca372a9a2407a406dfb24c153a64549925a47c15196815683 -DIST rust-1.81.0-sparc64-unknown-linux-gnu.tar.xz 71498356 BLAKE2B f987c017bc779fda3d74cf8bb845ae5bb5e1ffb146a0ee58e413ce6b726f475d457d2ab95cf0342d48ba6e74aeb43ed94a200fcf8f4dda8a86d4f796d7c6a152 SHA512 7c88530c718e377c44a54399af0f1b954e86b3040eb49b2a1ae7caa08e33a43073d65b1a027147675fb81f7ae983cff5eb27230bd5da33a9c16689a924606b43 DIST rust-1.81.0-x86_64-unknown-linux-gnu.tar.xz 170439044 BLAKE2B 5377d8972a729b0135c2461adcdc179719a0af99e8e9656b3c9eb487144c306d49dd42737d71195773e4b03e4287215955a7bab34094c19a9f07fba04a706a62 SHA512 a648b735d91348dfda6a66b4ca09f3449ff4abbd1d727fce8c91ec409a82bfc873988b06aa0907e145c486d035df12c68fa14466ccd2148ac0a99d5934335ae2 DIST rust-1.81.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 9f39dedf33efd6fe4d66e10e3cb064851b1637a50e97d3bc19c48bf989e1e94d694df493eb437d2c2e58989933dbb05a7d25c276b26331475f44ea2d9d52909c SHA512 37908051e511cf223e92379ecf577ee1644d6aa13583b622b78d445367ca9e8a4253d77a5237831eeef15607c71e99ae3ef42451803466fad303bb523e13475c DIST rust-1.81.0-x86_64-unknown-linux-musl.tar.xz 251142276 BLAKE2B da30177914f8574ff896b64a60279913d48330818c6e96e10d3180964ed542697f29c6ca7e7c81fb1b814e1d9ceb8bbf6e119596b59564a64a08e30ce72ce4b8 SHA512 3b772269362556bebbff72a13abf05f745fd88128367ab1e5879ed3c0f3f5a1f7370faec1b2bce521a38662d58d94a8e4eb6b085c8e0f166979af490492e17c8 @@ -308,24 +312,24 @@ DIST rust-1.82.0-i686-unknown-linux-gnu.tar.xz 232183760 BLAKE2B ce60a1471dee755 DIST rust-1.82.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 0deea40e9b63bd697756d46c1810938c03c9eab4401ca63d7294f991ec4e084ca51dc71853f5e9a7c32c895ae07a010ca2c9b83c78ec538ac3ca0306388a4884 SHA512 92eac1413e2af6e209ae03f43e642410e324bf043fb1ea152c60505adfa00100d205fb0175d63361633594a4ebb6e6c9494d73493aaafbf991afe7305bc76e21 DIST rust-1.82.0-loongarch64-unknown-linux-gnu.tar.xz 214922428 BLAKE2B 73ddfe865cbd529ca7c1550b989e173542aed51a27e20c2a29cb7c93b3b19e6a30c3eccddf123dbaa8d58672a13aff3443ab34e4634a9f98f7c572ac49ff7af1 SHA512 c75039a73becfe8c0990105ff16fab5ea16db30dfeb1eb85b3778ba070acaaab120bfa9e326b621a6fb34a5576cc829d76153d3376be9c5db74c3ee933571780 DIST rust-1.82.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 402210132f85edb9c31eda041a9978a3ec60eac8b31bfbd4742fb47afce36979e89de544f88aed7205a97e36ca9dec8d7d4a71890f197fdf93a0b3e252c2eb6c SHA512 53ccce83866480bb36b0fdda23ca1dade3f9bfac05b1ab49a8df3e5076d9acca57dd474e1587bcd91b4f286ed38738b5826bb355c903edd2ac257a9daf5d8442 -DIST rust-1.82.0-mips-unknown-linux-gnu.tar.xz 75893764 BLAKE2B aef2ccf94b0e4dcbbd369abfe9bbe3045e62fa0ce1fae3ddc34c9dc3af2828be0b6c18d265b0cdded27fa4ca5449f03fb53a4f5e7a0e5b410723e6ddf42b31dc SHA512 9289961d0542aa0f78195a976b3d8d9791d048883cff1d0c2d597f2a2eb53bc107bf2ff646124e3dc60f9bfca10c417b54623f2308e56b61525d7e607ac697d6 -DIST rust-1.82.0-mips64-unknown-linux-gnuabi64.tar.xz 75620212 BLAKE2B d016e3c1a58e3354b33731b90f33bb36edb49fd3fd7f2cba842dd5ca7a8dcf62741c5ef9a6715ca0a7dae027bd5ec8949000cb1f1ff35f9323b7c6dd5c76708c SHA512 5b2e28010648506846d3eb9ebbb98e405d2e8d982d193aed963f43461ec4b7181e62fe0aed0fd9d95352dfa5504420684ed3edbc7ae27190ab847c8fd68ba5a2 -DIST rust-1.82.0-mips64el-unknown-linux-gnuabi64.tar.xz 77251292 BLAKE2B b07ed9b53fb157b2d7d938d376e88cdc394b1cb40e2c46e3211b0885edb474e54cfa1f0a00bdabef179285415fb62ad22066682becfb86c577a819a21d13bed2 SHA512 ca7c0cc9c755e0bcd7a754f5f9f729583bbe396fa740feaad3d8d711ec0f5b802fe3cda7ac17d84ed4ce43e3e436f11240a2914d9f03097d78557a56fc103efc -DIST rust-1.82.0-mipsel-unknown-linux-gnu.tar.xz 77645292 BLAKE2B 8e7c8c8976a89b5787f721fdf1731426caf6895a744265ee79cf91e1c8a32071dcde73a2e3c36b6bb06ca830343534ff0018c0f6058337d2ea729dd5592916ec SHA512 20452b798f29078e2f8fb676808dd1472f6b6f794b4338522af55e095afc7d97d96bfaa8e547c6a050fba0603387201ab7dc0b5cae1233063987f5df137d978b DIST rust-1.82.0-powerpc-unknown-linux-gnu.tar.xz 220809284 BLAKE2B 3f87e36e6e635be68329e80a4273c1f538ee912c8cc29572a2b06cb04920239385f93ed2aa364667599df17962d3ca0b2625448643445921c44afbe3a718efad SHA512 59fb1570d46b717a118d832fc1f4928337ed525128dca72104ec2ab59f424b665bb7676a6757faf50f81e5365f332d409dcd01a8f49b57c834c875aaafa5c8ba DIST rust-1.82.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 4058694cec8383fb53982cc6a7c05e476b5460a5d43fdbbb95b07e36006cbf9eac7536002295853df5f14cdba0f25cbcfba96f527592fb6f6089e58e7aafb8f8 SHA512 3965cdcdf359cf62b8ead06d0720093c3853242555afa83a8b0f48876d623db1259e5373b7c96b550f7203abeec6f5f697fd24d56f178ce969816d583119fc1a DIST rust-1.82.0-powerpc64-unknown-linux-gnu.tar.xz 218119856 BLAKE2B 82c61658d4cd4d755dc4c058c15826a1ac0167da8b4c0ba842ee4f709cba4b584b9f505a816c7bd4cb49258a037ac3f34bb7a7dc0f52e32d57b2545e3a4c607f SHA512 9d2bf19f84c0cd03307be7b7b3687364966c2cfc646b8a9b21a6cd7b6424978c3559a26db6f46818cad543eac556689ba2ede976ab5efa63062cd4421b097dfe DIST rust-1.82.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B a38307a4e0ccdc64632a688b2e5fb9448e63e26045fca2af4fbf72de6dcf6b201dafb4df4c56ac20832738959ca13abb56901cf5f718d7d4046ca13d600b6c5d SHA512 c821fab5da52e50e95253d4aff61292b5155c736df75b27095c8ea40d6893cc2786dd148db71f68e1b0635eb740cbba6de0cbee01b5e4a603ce61a7abc3fbc28 -DIST rust-1.82.0-powerpc64-unknown-linux-musl.tar.xz 78453804 BLAKE2B bd6bef9a710d6c0aba9bfec0a77f6442e48124a195a02f6d1d76b3d1c3bce18c9a748fe463420ea50ae097601e9cf0885b953b0ff548313d1fbb7bc818270e79 SHA512 4db950c8d0ef642e9a1177c0a2691b7f6107b243ae163423c25f3eac1cf443356ae91c43328e7d30ce4990e3b094c4145674728da6ac08c501172907a917bb4d DIST rust-1.82.0-powerpc64le-unknown-linux-gnu.tar.xz 230915544 BLAKE2B 74d5bc710e370775a7b83232dae5442d251e6c02516dec8ef3bbf33f81cd877448f66b760f27705bdaf9c9637bd43f2c38502c5186c6582c4bc541e2c2c1d1a2 SHA512 1f82a50445e08eff5101c6c2a4b4d03d288bd6d8331ce2e36a2a8c826a93a1267c333b14bac84e6b943c9fe1ade6706e793dbed8ca158f184c3f74b3f116e0d8 DIST rust-1.82.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 5287810a0750010ca193a713591fe95bf7ff9f706116caceba0d44763d9263b6e783defa1b9de543cecab36521168f78ed4166d13ac2638e1c18b317ed29531d SHA512 f3b4a607cc1d07bce086073caf3245335c0b03a9847922dac36491b5c3d7f6cf2b156bdc8cc0cf99c513057928a7931a82ccab077cfdd2620e0a77426b88a1c8 -DIST rust-1.82.0-powerpc64le-unknown-linux-musl.tar.xz 80767512 BLAKE2B bfb617107f03e9feb94df00570662727c44c14973ba7b88691a53b40778d8946ab95792fce0951e4e62143b6158b71e0c46a2836c7ff229fc0f49f40700285f3 SHA512 750d243dece6d9a6d1c16ef34cfddbb2632c8b65459b0eea1e13f695e9e92e622de7b9e7e8cb068fe45e1b1d5415bac6f2b24fa3a869341cd13f7e46d5e7fc5d +DIST rust-1.82.0-r102-mips-unknown-linux-gnu.tar.xz 75945532 BLAKE2B ac2cfca6177d445e5b569a96cc9f6107d76d4f88008036ce74a46ccbaf6b43d13df685ded80236ed099fae01a093551c954c7a59c7d1c46082f69589739662c1 SHA512 6a29118d05c7834aaa9de5bdb103edcc4a09a7acb423040d501db4c2f79ecb5a2af35d5c04f2589561f6792ad77c6aecbba9776b7d0d3f91c631b1865b5da9cf +DIST rust-1.82.0-r102-mips64-unknown-linux-gnuabi64.tar.xz 75619292 BLAKE2B c9376df707b9a1b4cec6a9b456c7c4f82c1babf1193bffb71ed45f7a59eed8372e61b1638c28d68ef86f01940c8ee8f3b9ffe9a38110846133c7b76d00c890d1 SHA512 759aafe631d8afbe4560a96b96602a2a12bf2f0e6382fb0ec36a6d466130b8352bb27152fb843d3a0aee84d7e8a87ebe42be9f77687816d6d9f00585679b3ac2 +DIST rust-1.82.0-r102-mips64el-unknown-linux-gnuabi64.tar.xz 77229084 BLAKE2B 9ae826a05192371fd1042af4dedb2e1034b4baae54803209a46d378c606baa0600d5a47fcb9b3572a38303830934820fe0c251691aa411c24133fa887493c86a SHA512 b5496de43cd80e29794491684f9f18a9b20e6fb776a2a86f191ef86905f281d96388a25aa424d31f361763b80c2582b3dd89767d5d653dac5115a5b1c70d4d38 +DIST rust-1.82.0-r102-mipsel-unknown-linux-gnu.tar.xz 77620820 BLAKE2B dd9311c53e5ea2e910bc20bc0c58c86b3f3e9971f5e290e68db2c9371ea62a9e8f992e0e45bc40af38b25f40f0168c280ea71044abc5281e8e9be7bba61569e3 SHA512 54e27887d8c280872d6beb0e7dfda0cfa978105241fa5599ef92c5bdf2f1e12cb39ec10a7f1ca4ef60b617af9739e8f8c14ba75453ff6ea17cc82fcde7f7e098 +DIST rust-1.82.0-r102-powerpc64-unknown-linux-musl.tar.xz 78493856 BLAKE2B 4ec6ac6c649ebcbd6fef3aeddff744833a297d457163b9a0a5ce21bb4223d9614530280603028137a8998a99a0ca8b44c67110c0f6b40df342279cebba62b47b SHA512 3c7345ef3127e5d093ce5e1e722c7f51b5ec1e3fd269e1a71ab34926f26b623cf0afdcd1fbb04b773dd1c00207da307b840cd25f53f38bff3ffc969420558313 +DIST rust-1.82.0-r102-powerpc64le-unknown-linux-musl.tar.xz 80786464 BLAKE2B 49de93234d90935c13faa1fc6cda78b48ce869207361a1c02a9715dc56a3c44e7a0854d1b7b524d32d4f020f7d90f97e602130a8d50e758da7f0f204862bd056 SHA512 42ba3d2e80e057f068ddc0d6d3e98afb6f448be1491c50111aee0140e0ecac977f81fb8bea5471328421ead3346f3cad3225cb568cc40519c14d63410e50b0c5 +DIST rust-1.82.0-r102-riscv64gc-unknown-linux-musl.tar.xz 82227072 BLAKE2B edbf2d8e9d354c17adac951a594c3eee10363f90ec06940801d1f097116abefa0f211b73391333878b366c98dfd03cce468a46547a68048daff77d19882abe70 SHA512 7de5fba216655d1bd6d4bdc9f0246d77247bc4839a580acea814a9bf6219a47602ed864febd064da4dce3cf051aec4fd1d15289f90b1f2638defb0e8a2a5e35e +DIST rust-1.82.0-r102-sparc64-unknown-linux-gnu.tar.xz 73900436 BLAKE2B 19bcf8702279e4ac923cca095d8ea1b267ac9aaca3f5f0921a9f96b387f64886722afeb1eca2400d163cf61509fe01b824f4271accf99ec5110e7b15bcd13a06 SHA512 02d479f0a8e9ace652a166e458b193228ecee25eca5215dd3a084ea3c350d2e848f9c351645ed4408f2eaf2846b3faba4b39d5d3a65b1926e79846d6f4996e6a DIST rust-1.82.0-riscv64gc-unknown-linux-gnu.tar.xz 217304308 BLAKE2B bc2a2af8119892842d188db23576f3952243f3a798e23f22d07444063a997223d11a23b1c256a665fd04aa608083d4f26a97c72c4ac36cedcd99a6ca157140a9 SHA512 9ba01e196be7ce7c62fc7c2ee9041e2cb30553f376eb6b3dce97121cc6052632f8867869383edfb02b47ce848d19a137b19787454eb424bd69c7749d10282731 DIST rust-1.82.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e41f6fcf79b8f017e60a0c3383f2619b857a1e9c74e45b3978a5e54de3804e2873a1a3a511bfdcd7b7bafc95de692ae2a02abe54153c97188e8a663f95c03967 SHA512 c99d3aa7c94c3a8e170f6eba054382d39ba35d4f83e5d1c550efa97b72060a198167da984ad301b304d0fe2f5145655498986571df27c102df25620db2e80ee6 -DIST rust-1.82.0-riscv64gc-unknown-linux-musl.tar.xz 82214464 BLAKE2B 37e4e2da7208df74daf9bc7293d22cdeba225d3824203cd6b5e2512522b10b9ba0ce3ec4a0b7ac41a5b3f27a6a363c5691087d11327eac62eb96f102a29673f9 SHA512 e0fc51143b85881218766adb777634cf1c5dc22ca65aa07616d903f6b8be294aa497331ed68300dc04ad7d2eaeaeb460c429172dbb313b7aad3fe76f4234db1f DIST rust-1.82.0-s390x-unknown-linux-gnu.tar.xz 219317068 BLAKE2B fbad24615d53a5d3ff9761f976d43aa969b208bde2ae87857c7389a97252de00df5f54bcd9b06c53c38ac3a6a49e1a47a06de3788c9a7693e937b3e12864c671 SHA512 1fa0cae2d2c857955c4fe981bf042cc20062b8c1805c2839a37825f2f914858ce7915f706a73a851d90cbb5de7446deafadfbe6d68ba01c0a03e2687d5dfd06e DIST rust-1.82.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 577b5759c302865372cbb882bce2160036a3d30cdd3852e7893f35a0c798e0292becf04ea8243f2c2fdc571cbe62693b2ead64635d8d15e943a72fab09dbb6bb SHA512 cf1e235feb153cc305af741f3fe3d23e90aed9b586cecfdbca94289a9673dcd844d471cb63d9222634a387b08919d8b9b48d30c9538ab4ffc4fcdbba00382b85 -DIST rust-1.82.0-sparc64-unknown-linux-gnu.tar.xz 73813440 BLAKE2B f0708d1425e59d533ed49e10581e5e1440a6e40b72c518caa5ab25d14a6970b38030f52661c22baf6968a0170e854e33ffeb61fe6e9890c05048f6158f7314fd SHA512 1c226cc73e87ea3635e5f0321ed3949f2bb1f77f62c1ee5ebf3c7619c516b2994f6a8347cbbb74f19d2b375d7f8c3df0d62b59929e79ef444f5ad33a7931d218 DIST rust-1.82.0-x86_64-unknown-linux-gnu.tar.xz 178075016 BLAKE2B 799dba2583b40f8b43cbc1370d32fddbd6c65787b601a5fa60eb3ae4113057a6c1bfb8f54046fb5c004d7e200d47a42f5bb1cca8382d7536b4b02462d1f00f6d SHA512 63f0b35fbbfef024ce2901aef4c924858f50246d682e4d11f93154f33267662319b043003a48fc9fe0631dd8385a6a4172399ad0257167b148ced4ac5eb62494 DIST rust-1.82.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 0506992a71455ce0d4f76d4e6af6ef687ad772e75f9b251b4ecd1b6482b2abf0f7b32267795d7d87bba07d7f38e1612c0281c87ba0d07156c90e44175ab3a11c SHA512 59c56ceefc1228cff372cc4f3ae40e04da58f90abd6647fe4b0a11e760c21902f58dbafbb48e7ad868ecb26b162ec3641587ff8b5366c16cdd6e28f4f457390b DIST rust-1.82.0-x86_64-unknown-linux-musl.tar.xz 258823060 BLAKE2B 71e284a1a62944677792a8f9b9c78eb1750afea218f9846859de52dfe24a98c467a8d1787a0d5d72f761c36ba20f4000e1ed193e11db28d7ca3ccccbeac51f0b SHA512 eac9e504c3dc230a3923cbfab01d4ce3d5639f7c8213d8c8c3e007fa6045e1f56a4f5e6ddbe2e6259fbbac2a3944e8b351d270d4f8ce20aa8e4843a7572e8931 @@ -344,64 +348,28 @@ DIST rust-1.83.0-i686-unknown-linux-gnu.tar.xz 233693080 BLAKE2B 16a77a02a2a4f33 DIST rust-1.83.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 96b38ba9f35d825723b04395f2d6dae8b652c8c2604d724183c328432a991c9cfe9efe35bdb7a8cb32ce74b29be953cf71f782a369a975272f1a1b311bda74a6 SHA512 875298edf8769158e89b7e2c7fc939dab1e738021b8bfecb9bb1a7b287ff0bd87bf49e1784c567f7c63d7149b8348a06b9222d1071980d3128fe826c42549e2a DIST rust-1.83.0-loongarch64-unknown-linux-gnu.tar.xz 230967340 BLAKE2B b1356c331f85ca97717dcaab94aded8f20c577bf61051583e03b8530127e5cd3688f92ff920a6b2083d3d59b7d9faeea2a2de4382cf49766a74a71fe76214bd5 SHA512 68ed82264a89c8bed255ecf1b92279c8de1446186223f1d44c16eab263749de06cf1e8e07720f1326abe4663006ee636089db788124f3f0c7c9adabd3f2a68aa DIST rust-1.83.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7aaae04be9c09c8775ce6713f172f3523a7b008c921c68f1cd751f0bfea8144ac2bfb454fa1fa0d5e8486e62839737ad08d3381acaed633dc62c67abea65cd9c SHA512 b55652804fe3e5a574bd84fcf099e5ae733f211c87c5f3352660839f5ad2c29efbc02e553971734bcb6e7cd6f389bc875bfc92043c68339d8eaac797b1b6742e -DIST rust-1.83.0-mips-unknown-linux-gnu.tar.xz 72991436 BLAKE2B 8403529314903f0312f08b2b74ea95215f24cfa935eb582419c693fc57612a1b99d4e6ab69c47ae581e300248870742b81c88f6a39b621c28e52af3e4e550945 SHA512 790209ab21a5e2687df22681e1f79520ec04f3a6b53e8f6f206597c96356186c32df0a10dcfa21d0db80fa34c6ec5599ba1ad37dbbd0d7ea76fa823d5bfc0c94 -DIST rust-1.83.0-mips64-unknown-linux-gnuabi64.tar.xz 72669108 BLAKE2B 2158004650406ac248c6df07b6adb9bfa0f7005b79624fb23e9597f69a6fdb1c2d1f72af4d617b41259bb1ea8b25255382374113de085c2e74414df21f9a07f3 SHA512 b88df5767f0d30f3f1ceeb6354f2463f28abae2752fceb6ad9676475b4e29fa5d27d2d4d9431e0ffa1735270aaf39df72d398dc07b23d140b7c4a03794113d0b -DIST rust-1.83.0-mips64el-unknown-linux-gnuabi64.tar.xz 74172208 BLAKE2B a4bada0ba428b92f2c97a6791c337cf24a1b0e477a92bae57c29ff56c9019da9fb50289443ad01f9b50d6644426d56791b5f141c6c3d3de38eccbefecc899135 SHA512 711c87b06d02cc919a54d017a3ca704dca75b33cc0027927c244cc1c9e3d7433313b88dc05de9afb31159e8ef3a8f6a014e9f74c0bc63039bc4127cef5da6460 -DIST rust-1.83.0-mipsel-unknown-linux-gnu.tar.xz 74567868 BLAKE2B ac2a7d3ef64108a14447f35fba5c04920027ce42de26d8da8eaeb9f991d8dfc7bbe58ee7c667784647901c4f8271dc650424abf3572741ffa95c6e6ea9931bde SHA512 a247496009f59e29319f34f92238ea7b0d0be7ea66f1af1197d1de7bee65bbb743b208b0cc4110dadf145d5bde7fbe21f751bfc08fd44559b491366d9028394a DIST rust-1.83.0-powerpc-unknown-linux-gnu.tar.xz 222744280 BLAKE2B e32f9066394634d5855395d202256ba67c58d55bbc675bd440ac4d051260e7d2d237d0f8c35d3ef02f33512279aa3298c1993b2084b27fa017e18f1debd1b15a SHA512 ef67f29075d4248361885d0860d3040797d6a7a941e99ad49d6249e78fec00e306153fc28bf907a0cb4c58ecac73d92c4d8287b56132469eeeb18983ee84f01a DIST rust-1.83.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 16cce0091bc65719fc410e4b76fe3bdf4b3774402d300b72f46dbf1de55ef6ae29adbe0fa2c66aea119536b9446a0eeb70789cc9db2a36b64ba8cbdaae707f16 SHA512 cf94525aa6a868d1825d5fcaadc82190a6866a107aeee8884b7fb56b5ac427436be91737cfcaa0d5f7a44f21833127ff028e9247f8626f38a98e40282feb63f9 DIST rust-1.83.0-powerpc64-unknown-linux-gnu.tar.xz 218928260 BLAKE2B cdb8b3e0eb20df2ad4415a991c535c4db36fcfd45364adc415c870acfd5c61953d5b95c173213fb6c420a354adaccce2afc60d63c5afa21c77ecbcfecb99245b SHA512 0b39efed4cd9f5d176d81be196948697b72686cec907a075fac8d052197838f0ab536fd995952b56f58ad45bf2a5d89ba46bbd97cc2bf9b166658b508a959c11 DIST rust-1.83.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B bd67bf4a611f731cb950240811504262d666656a891ee25f61dd12090e6176527c5d68a83c9fba7613e6523397aee4dc5aeb97706f80120e1b66738cd9ca1451 SHA512 fbe15871b6bca6fa89cb47df24e5621046e6ee5b5e008c2a738093c85d8130abee507eeaab5cb83af27dd079094fd6dd6a9597b6eb712eaa00e7f0b8c85aaae8 -DIST rust-1.83.0-powerpc64-unknown-linux-musl.tar.xz 67433444 BLAKE2B 0f1426eb3f60cb1f731b8e35f20a6711e6a900413480bc33a1f7da9ddfea26e947a33c9162ce78ab6a3623bff8aa83d0aa27b82109b22b201fff8482c3b480fc SHA512 d3e17f4a35062be865e29169e41ba93b3f8fb78b73bbe50a9330ecac29442c8d1ad6e68ba1422585e49a09de215cc7fb9d6d798c3aa60c8211f4a88fae3c32da DIST rust-1.83.0-powerpc64le-unknown-linux-gnu.tar.xz 231986816 BLAKE2B daf72e5a6382ec93d7222b624ebc8c2f27d4b4a0448ad227615f4f7c9e8d87b2d2a7c182d6f0f61a20b4f737e5f70467a0c2b6024eeeeb248cbfb37d655841f7 SHA512 6735080308340072dc3f258b755889c7a9f6e79b85c46e38de074823b6814289b1f9862a1ac69d3027386560ffe3c2eab339438a536e717f7b099f0de75b6b64 DIST rust-1.83.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7c88fadadd58fb4e2c63f10f01b1b3b719e1917f5c1217b5a858bf347483f0b71016107045f34916fa53e493b47532a94148c4fe95db6ec23222e8e6f70dd98f SHA512 da5e64c245bc962447384db3876f3d3724ebddacddf35b7fa47e2e7b408ffaaffe303549fba9c07af8a6974ba32da823989d1929068e0eb5c781881511012a6f -DIST rust-1.83.0-powerpc64le-unknown-linux-musl.tar.xz 69860332 BLAKE2B 63a29db5bf9b1664fa95a902c222430b1a38b6dd8e4093333bc65f0807023fcd20566654df2b666eb7729c4053c4ee848ca1cbdea8e47afa08fd391a515d51df SHA512 6ba407ddfc00c6e06365e014b7cdd54ac5b529d998c5c743ca5fe70f2da20c2067182e9fef1c4d43934d8fe9b87a73bcc48f3514da3c0f0ad07e09e4b9922eb8 +DIST rust-1.83.0-r2-mips-unknown-linux-gnu.tar.xz 72983684 BLAKE2B 5594646a37808d7e1549c7d4b94afda6e8ecae49168f9de262f0ce3000f96a2383a738c4a2afc6a767ba8df0a96e8b7a7abbc251d4b9998c3311684ecb195abb SHA512 36a10dc6e3c138e02cc2a6c07d5dbb15a91239a6a08e2232721d44b6985692acceb69858792d0597c6854b0ad00a92886bdae3c1bf3ed40c9534c7db6d19ad80 +DIST rust-1.83.0-r2-mips64-unknown-linux-gnuabi64.tar.xz 72710016 BLAKE2B 0c078a93d19120be58857349ff8349f49909174e8b4a9753dee859208fbb50c311a1fdbfab8f7226d9c9e1587d26db0afc2386ee33d234003d9221698379be45 SHA512 6a7ff1647f791bd4b93dcfdb37bbf1c184d45ea99bbb05106eb94540a3bcd361ed82336a9022278eede425331a5d813483b98fe49bcde7c6e4f5753f1df7f3ea +DIST rust-1.83.0-r2-mips64el-unknown-linux-gnuabi64.tar.xz 74143428 BLAKE2B a07103a332aa499d7c04647b36bc53bef7cc4ff32baaba6377a2b0ef698616be7f7bf69d08e17732a54e4ffbfdc3882374c62368349d9bfbc5b56a13adfc2c72 SHA512 f2b0f0241d2d71998d48f96868e33d8ecc112ee2f2a4831ea12b20817733d2f8c9c970741e40d69d2049d4034bcba49867eca09fcc6803f0a119d891f7fb6da1 +DIST rust-1.83.0-r2-mipsel-unknown-linux-gnu.tar.xz 74601216 BLAKE2B 6c571feae459eaed7d2e6f4255602bffe2c280f17c250a2245452bb76cd04dfd8c59e57c83553382deea2da278d3559c1b11b93ea82c167383bbdfea47d357e2 SHA512 6c450eea8076481d6b84adea87e1fec50f46a96c0d7cb7360753f07fcc5f6a9e3eab5ca84c3b95b899ed8a41ccb45948096f1dca376347a619ae00b76b2be100 +DIST rust-1.83.0-r2-powerpc64-unknown-linux-musl.tar.xz 75476800 BLAKE2B 35514974b5085ae00ff6745bd10cf9cdf571b18c6616508310ec8a9bbe37cd9ed0a432f3a954f0d68c102d63dfdb42be336845b8fca5fc2ec8b890edb2d22328 SHA512 9fec95767d39bf05d372c5eb4fcd55bb5f2c8b7aaadfa4e7c50dcab2291360286a2cd82b3c98413f79eac2dadc3ece0dd952b7a7a1aa782e9bc82edc4f5ffc4b +DIST rust-1.83.0-r2-powerpc64le-unknown-linux-musl.tar.xz 77797252 BLAKE2B 04502e1d3bb5694613b3fa5154b11020ded2e8989831bb57a329346d7d89bb2847fd228427cfade8d4a446b389021060f19d574303993d4081b6d74993d7dd22 SHA512 0e194fa74a7ed86c7486732e743fb8bb3b9b182f8711da0cd346dbe809dabe73c692e323685ce08868b2ac0f897fdd2b82134e5c452a7486d1a4e813f6ab0241 +DIST rust-1.83.0-r2-riscv64gc-unknown-linux-musl.tar.xz 78940572 BLAKE2B 8afb9b4c86b63c0c032cac0271e680cbb26e3aeca3c0424eef9c98e5cddc36ba12f401a90b55ed43294a496092fa00c1c0ed64660d307fa44d49a0f21a58799f SHA512 4900ed3f5192379fea443ff5b1c324af7f8dc2f5677fe8d13d18e283db56f48aac4e7e69c36ba4cd34580c83b333d998fbb79c7924bcb210dd8fb703812af085 +DIST rust-1.83.0-r2-sparc64-unknown-linux-gnu.tar.xz 70733240 BLAKE2B 731f040cfc2e8e34a6fb27a751cf20bec70e29a22b8c2a96c382a06583916f08c250dd8a6c593a6c2097128b33ff60b6e47e8efe5fb1a8b9bce65e68fe0a4d56 SHA512 2157b0a29df123126d711f91d7b09a2a48befbc5f76780f7420136d5fe7d6a8d53c0222a45e5f542c0d712df2e497245c4884962135b1aafbc9e4e1d5979bf2e DIST rust-1.83.0-riscv64gc-unknown-linux-gnu.tar.xz 218315040 BLAKE2B 91139066f3ac6a652db13985a225547eed242a6efaab0021bcf78b31e9e98fbedcdfe932110fa4c918f5eb3d8336b9b41a15dc2fcd316561d56e5bf205dd1567 SHA512 9bc1b82aff2e2447cb16680a8125378e33b7ceff4fdae7855bd7a79437f2df5b3989e82ffd68f157d50144018a74e6cc2053bda21de31d2c694aef29bf4e8bfc DIST rust-1.83.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e51ec506c4897e5e57cc94bfd3ba15d64e678a67b50acf48b8c69a5b95223006451d543275fc5291bb69369bead17a01d4934cda5b4744adfae2423200a002d0 SHA512 2d705740d928d49bd0eafe26cccf997f81c1f7ddd72bf6c4a4abe89e1984dca8e1b57af4b997939df355dea19abea2f45d430edafe88e7bb207abc0dc8d8ce3d -DIST rust-1.83.0-riscv64gc-unknown-linux-musl.tar.xz 78884296 BLAKE2B 1f59571a700a2e2547897f5b1ca7f447669e60c3b98995a0599ff98905b107e6b4d5cd74c6941bc5765a314723f8ef0b2583dde891a165d62d03c5e70900ea9f SHA512 99976036200eebac27453f06f41b6e347767576f619d6dbd74ea0c5a7fd888636f9c39fd6cc7c50d3fc91b429f710cbd7ca9fd7a036f3b30a89eb718a641dee1 DIST rust-1.83.0-s390x-unknown-linux-gnu.tar.xz 221194604 BLAKE2B 5d625e48296c171fe6da8ec70fa4daaf1632f6b63404d30ca0e908d63fcac3abc39f6fd9762d3670aa94f9a2587202d1b66f9751fd04e5e99f00caf8748243d6 SHA512 3aece2baaf66134ca339f3a9239c92ab7969c064eb35ede5dd61a3c2eca5eee4053b581edaab0acd6ba60cb7600b47902697e71c41873357fd53dbbe5c867d8b DIST rust-1.83.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B bf07a1e0454e46e030918a44bfb04e54bc49266951ee7d88f13f7a66da7fba0b4d65022248fba1e51248a69e1a1975246f81cdecd56cbedb6ecb69e54eabe39f SHA512 6412d9b17f2c1d63c7b2c44a38dbde01670dd96bced6384b826abea8402608f239acb6eaac273f9a02b7f593b58e84ac0cebc854d2213350a000be139cbc5a47 -DIST rust-1.83.0-sparc64-unknown-linux-gnu.tar.xz 63906648 BLAKE2B 2026153aa2e91a005be65e1602bfc1c6371835339a86722b47163bfa83d1ff0936223160704c6f8e5af0ed826487c27fd31a18bf904e608851e7ceec4e31af80 SHA512 8af0c1266e98f9d741c20d3e4046a6e57f18d951353d8764d633ca157db74f5747f3d0d2b9122a21ef49ac91ad8502dc01a1bee3c5c95caa62c4e0ebd3dd9ee3 DIST rust-1.83.0-x86_64-unknown-linux-gnu.tar.xz 180329116 BLAKE2B e2c661061e21c3ea6a75c0c9f43d0558405fe4f16f75d763f5a80c1d0c4d7cacd7bd7136e625872f9c22455439ee070ed9f84d661b9cb2d74b0f436153a34ffa SHA512 d4e05dc817f1fcde4b46b82300a95d79f7d908e804534b223a396ff27b19f195fcdebdc933204fab3e0a45202e394722fdfb217ecbb1c1332394e97200ffe089 DIST rust-1.83.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 1453c9047b590358731d4ea9e8d6dab0da1ea937fd9b9f6ee2137459d0a426df6333a9dc53dff65f6c82a17b93a98efc5dea33f9218145070a7605baffebc1da SHA512 f6a3636611d0bb5cb41989547388901bed0dbe54fe3d99d94391bc815718a85af52d0110747c3d7f1b6a455ebaa221b74c2c9fe11403b147325b6ec0c4bf46ef DIST rust-1.83.0-x86_64-unknown-linux-musl.tar.xz 260755616 BLAKE2B 0a61fad7f03645a9b4032fe4ca910663f0406a64a42cd113a09019199e6deceefce2a450ca14bc47745db08a9fe8970897fd01c2121f9b6bcb20b23652ada5de SHA512 2e219eec7b28a60e9bd160972042316460d91fe60f755c625bee30724059f4f9c4a29d567bea54718f9b8d739cc1c81cb4dedff0c868270861c866452d5cf8a3 DIST rust-1.83.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B f87ab0bb59b5e4fa9078bb973845bf606c61faf2c728db6cc3e9a61907fc2d1c9ea3ede7ec55c3388c53b0ff06ffcbbb89f63b585c36b5bff7637acc8b8f3336 SHA512 20740272925662be9178c9c87f8184c4d0a355051fa85fd8459563bd23bde798b01d53c823726d0788f6311a4f3c7f3c8bb8a2bf4f470c8d3b7d1303090a78ad -DIST rust-1.84.0-aarch64-unknown-linux-gnu.tar.xz 241841868 BLAKE2B 814ce6b3e7ee391fe93bdd8164a7c29c49e146eff2356c165a7cf14125c91188c8c3c89c3ccc8bcb006f1e30d3123b7332293d084b1888d11e47cfb105faa0c8 SHA512 a3b394dbe6e8a149c6d6bd18789f1b3393128c8add67c18788198d7c12c7e8a2b7d818424c6ec465d89e7423f39949258eb9c933aaaa946449540d2f8c458c86 -DIST rust-1.84.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B a83bd4fd2a71a9f080563427fd23bf9cb781f2728f04464a6aa44d38dec5d807eaa5b3ee3b232e58b2ed27d0185cdb546d8b2d0c8c2dc1da43cb001c5be540f9 SHA512 71fd88b65a74b2c83a8eaeb5bea37feb60339b18200a2eeba471a74ce844386a296ade9bff1c6c6413f32493fa7b1057e3a3740920ca1207bea4c02d7421b7cf -DIST rust-1.84.0-aarch64-unknown-linux-musl.tar.xz 219144116 BLAKE2B fae31bdcaa7b7839a5e071adbe24d507c4b39ed52b413219941057fff6d8416ea68e957606b658919fdbf9cb4d1b26f01692bb01e9f967147457717a30041cc9 SHA512 89ac6b14c23958c4df2e924d78093d5c652a910ace7b9166756e6d36bc215bca301d4e3b61f54c6128cb0d4a01d6941908e5b51fd1718ad81b3c495aaa64e6a2 -DIST rust-1.84.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B c64496baff24d7c2a83a5884e58de952114a1cbe4e9605c837576cd09b496d9af90dad5d70685cc01340b060c31ef05fcd02f95295ce9bf16fa4dee4b86687e8 SHA512 ce2b30bbf217d039cf5824c3cfb084a467547698049e6c088b27af17af95f312d434119aac7cb9a9333fbb19654cdb2466f4686c14d42f6b6e50dcf235f5a57a -DIST rust-1.84.0-arm-unknown-linux-gnueabi.tar.xz 203482932 BLAKE2B 409cf02ab8977b80f4fefdfaebd6f5de75182682737ffc2df8fbbb35a8d925b4b7d77867c210f206f4e3db19db5cc295e20ca24223ac55f98926a2b62564f202 SHA512 57cc5de6b72e7db5ab5051118f1e4a6a59f29256b85f9e661d7fd91e93fd961cc690a87ecebce6e39696ce7ed0e124e5fa65c6d591f31cc56d3c691c42c0528f -DIST rust-1.84.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B c61e1c691426c5ec80b2b1b8a7dd63968a3a5e8421a12ac1507bf54ffe0229b8b2a8a386694e6b731a47844b6c1882eba188ae39c6eda0f79bae21891cf6f747 SHA512 3bb76c15085f4292d7bb10382df18da44c29bce03db486da22ada9eeadec5561bbf00809a8b37c4d389552c257e947f60b368502687fa7ff2d0aefdf2f51a924 -DIST rust-1.84.0-arm-unknown-linux-gnueabihf.tar.xz 203947296 BLAKE2B 12a6e18912f5c9819c76503d82490a5dd85037e5aff6bf7eb121ad433819ba0a717301102c720b8f22e43cf254c9e9974645b80cee0eb5605906d1505ca501b1 SHA512 4695723ebc0cf4d2db822593e85681faeb3968a8e86d81a7c7708fbfb328cc7c9c65534f483266b6f1358ed40e343dd9b6b35375833abd7e15a375efe01609b5 -DIST rust-1.84.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 2585ace544427a8539e292f78b399e1b4c3488e78922ca6335ecd857ade7b589b11c80ce1a80fab957fb5f301118745efb3ae37e43ba69407c58db5e0e8a6ed5 SHA512 d5e4ae979aa35b3d734c6397e7d1745e5d80620743eb2dc3c96ef13d31aa44db6f32088b89063f5c2f9af7f296fbfcba4f7ed277e95cc632d702cb352b1ce768 -DIST rust-1.84.0-armv7-unknown-linux-gnueabihf.tar.xz 209524676 BLAKE2B 3056c0415fa4aa71cca11f573de504eb06b350c3fa43bf17aed802e4db94f66ad38afcb9b7f8d2f8ba5665ed38e94f48a377f0194b0661d534340b5e1bdacfbf SHA512 de268b97f1b30198ad6065a4ea10fa3e6aa366f852c42413eb3c3efed971dda1e0dcb112958f56824265f8f4d205a09521ef200c3b362056f2fdca07c5558304 -DIST rust-1.84.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B ba8e7bf6831f78f31bb3590b87807a0fa44ceadae19e93cf76ede44d724e27c97cb27aa82f8cc9567da3f079fcea731965ef0966ddf1f93d03146d1f483cbfad SHA512 242055a1fe7232e6301633bbc81a15a649e9713c9bbd655ccce72ecedfd2e1b1f0d78de98842c2a8e40d42e760c4c040403521eabcea63be822caa54811bb7be -DIST rust-1.84.0-i686-unknown-linux-gnu.tar.xz 235927300 BLAKE2B f0825b84374556291893d644178f09cbe58e41fbe2742474b7c6d47f9ac379d5566d92a59fdbaa336765ea9aa0112027fb1f1c80758b4b03a38091cff7d0fa0c SHA512 9dbbf55dc04e6071ff597c75e194676c4d15bffcbec559c7a7622ce19c4300ecd460c5712ecebe4a4419cd1b0206cd18ab4596a8d9963f7aa0432eda5234d7c8 -DIST rust-1.84.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 9b8d092db5f894f563bbfb45666430f231ccdebcf05a811c3546be167d851a84891122c29ba3bceb6a2bf71e87817a29d703a40cad4f8fcdf3968d391347578a SHA512 51595e120a71958ed6551ff102f7891cdf3d9a6b9adaa990525b82ec75eb1c0266dce6350775139052a27d787612596cf083e9b0c3b9e7de5db8eb65a2546c59 -DIST rust-1.84.0-loongarch64-unknown-linux-gnu.tar.xz 234981212 BLAKE2B 1e6616834440eac754ad0725ce88ec7d83e6804bf084bb2ab1c2adff1fbbbb0861780ebf57116f4fa38ad67667b89d0d7e9ca7184f0c0ee65f7b23886652ee10 SHA512 47671edf5c751bffcf87ab3a76cdb1233eb64c3d6815825ff0130bbb8956e6bc452bd75395bf8f44abd7b78c23db8d9f0047b6538a4f9c12d729d25ba43d038f -DIST rust-1.84.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 4cb2035ed10a735a688b2b80975aa16b2a311c9ccf5c8b6ec63af4dbe30e06713621c119721cde6e44d504133343ea2aa5158dc6bbb6253aa330894161559374 SHA512 ec74e916f9479ab046f0d997f4eee99b1c23028a3aa207fa7be71762ce7cf428af53a6d172714653fb30e5d6d8d42936cc7fe3d9c7f3a33262703d15fc9baffb -DIST rust-1.84.0-mips-unknown-linux-gnu.tar.xz 75963912 BLAKE2B 228b0605577f889d782fe468f5598e88df27a77453acca5e3a74e009cdd1463ffd2449f638166862ae4c0b84577ef4c11d0f7ee9198d653716fcf53fb54955de SHA512 dd636652841fdaa13c8c25b331f604060d4e232610098b524ed593164d60b59fc91c0325bc08afad301a9c221c08f015affc9f6f988d250dbc1051b76039a463 -DIST rust-1.84.0-mips64-unknown-linux-gnuabi64.tar.xz 75736380 BLAKE2B bfb81353be437e6eca4fa2133439e3774b42e388c21e64051073738165b7454e1a98d0f4d3c74bf668d789f622ee38c06f2e6ac5e9acbcc35351076f4baedf95 SHA512 e5ddca3ebfe1c952b3729c77ca6ae0dc429fc95be63e26dff26a0724e4b7c00faadda7c13267ddf8edff9af1bdf5c4c8ef8ad67439d509f3ee4038e95d245804 -DIST rust-1.84.0-mips64el-unknown-linux-gnuabi64.tar.xz 77348484 BLAKE2B 9c6bbcf37929e6da2459c498bb47027954b7b99780de35f0ac3e549d3779a0f74e81276015cccafdd75a2da4d2ecf7838aebf0420e2132979d40b7f66666051a SHA512 fe8aaa46773ca38f192befbf2adb11d66f50856778f8c54d2d9064681110fee7b32a1749871fbf32c83da4a867c668b81fe14f4596dd276a748c909d12fdb676 -DIST rust-1.84.0-mipsel-unknown-linux-gnu.tar.xz 77647044 BLAKE2B 7779f6d6e86eceb3f3e28c771745a2b52856504c8819ae515d34003b4454c967ac5481f36bc8cce9e75289c75eb2df3b966eba629b25afedfca2b1543e65b28d SHA512 3b07c7e45fdcefc327e1d0bbb76a55a8edb62fb1cfd5551c18210460153c1b00ef9e6fbb77e65c4cc2d7fd938f31e1a39a50dbfe836c65cc2c6397b26d1a509d -DIST rust-1.84.0-powerpc-unknown-linux-gnu.tar.xz 226162544 BLAKE2B e1bb743b29f8dffed0e5b7f83da5ec58b4977dbb7621eb1a66f7d42dc9e588eecbd51013d2bca3dd24e679ec1f57bd8d1b9d5bd44fb155b8757b75c61f2649e1 SHA512 d09d52c64c097f9e8238c64a5e69530c8e7fc72db6c48c76f5118598d0c2c1186b40b053aa78b8b1d071cc716cc50ab7d824655af777b8a76c4131edac44e813 -DIST rust-1.84.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 8eded34d62506f87d38ef3c503f62d5687a646aec8a0ff699d73d1b0907d0735aa7f7893d3b5ee481f069a01998182c70e10d48f664268bdec44655449825e78 SHA512 a3a5a6ae3ac2f210253c2eae61b0c0647cf5f526866e0f5c0141a07f9587cd614573bb2728186889483806a1a3ab5885c9abcca91a16dc36d042bc78239592d4 -DIST rust-1.84.0-powerpc64-unknown-linux-gnu.tar.xz 222899356 BLAKE2B ff9b3bc680cae85485131d23fef5d04abffa69c7d4f4ad254a868707b1206bec543faf20a0be5c287c83165680da8dfbb9a0ce8c688e4f29231df2a589125450 SHA512 16440b2c604061dff6ebdb60af6697d3064ce6ec740c617968b22d8479cdb16cfb61330b2afeadbb544826c6fe90b245eba0de3956ae2924cf77ef8565defae0 -DIST rust-1.84.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 67fd274e3315a21ed0b23fc8bcf013ab20b905c373785b74bada5431d0d1cc1b63e7ea3dcbfe4bd8def0861d08ce13cf769796e244437cc6beab6db95f01c6b6 SHA512 87ea6ead36d9dfddb5a71690f4d434978dcd73264c32e93ab7d3ef74f7c5835fd5e73316f1bb827c418492dd30f3a5bac752054ce1e27d99600249b64412d1c2 -DIST rust-1.84.0-powerpc64-unknown-linux-musl.tar.xz 78604816 BLAKE2B 5955afafb06908ddc25e469ff609bab22ca0bfb3d7ae84ab82232cc2d9534e944a2813f513f1b690d6736d0bc496ec6d7239e84e7449c08ac48d8490aef74e04 SHA512 066a192edc3519ee1bf18b8aaa4e0e1f49306985c3cea6ca8c60e3cf257b29cc72fa605c65a55e39f408168e7a09cc371efa42f8ec783ce6bdff37de5450a479 -DIST rust-1.84.0-powerpc64le-unknown-linux-gnu.tar.xz 235629500 BLAKE2B 32903240ada4cf2640814374c55d71e3351a0dcf413d54041117a3f6603ddd6c19033368382bbb18c5d1f278c9bb3f5d6d0ace966bb1fcad9cc9389fdd066135 SHA512 626476e551869a066600f459e7a6e9c8435f61b4018efba5b3102af72ec7508cbd4464d0b60adce5c669d34adf4315ec3529d0ebdac6d294de7c7437da264367 -DIST rust-1.84.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 3e762822c5563db6efc128aab7ff704165dbe35cd06dda07c677ef2b94084a2ee37fdf77e8aaeaec4987de2f5bc73da9a2ab572e4e4d2b64a775a447b548e40b SHA512 113b7ef16977f24ad6acd72426ce389492aad7d8fc36bd3feeb921a21563e20c0144c3eaba3c63818556794df7904def0e83e5645cd4c766724898baca9ef208 -DIST rust-1.84.0-powerpc64le-unknown-linux-musl.tar.xz 80982656 BLAKE2B 9986395107b386ed047bb9843d46da27c44b5ecab77abec3902761b114131c5a28683cc52a19887af4a8d665a2e5d35146bfe0d358175de412673eda8cac8060 SHA512 13e0bcbcfcd3e0745b5d1c7b9ae379c7da3a629ec7467b7b8b0d7e623ccd314823162955157aa487927511934515f85b8847c5a7b14e5e1938884eca1a848777 -DIST rust-1.84.0-riscv64gc-unknown-linux-gnu.tar.xz 221099540 BLAKE2B 0941d02fed906487753188150220c7e5a957e68b40e2e33929a74c6c520d34b2547307f74738ca6728f7e68213da81c5d2b07bc8b5ab7c0048bb222cc4aa2d6d SHA512 fe57aa11719164bb3865049ac91d1739f02e098f096db77a290f55f22423a870e1e0bc19d3ae2fd0bf32e5c6c9b10d5f3884b0070c5ffcf58b5d77598653b811 -DIST rust-1.84.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e1100cd2dc56582472c312ce4d2a161a85cd371fc42bd281b14475f4ed922a38e8b79068aad5cf66c2c489965f782733edec1f72414f4b88628e4d661fea9014 SHA512 d54d69eca7651d166fa9c52bba562ce5008d5e6fd96eab8499a8dc9dcd178f009228e1d6788a4023478b29c2e477a379c6a2cc2b5c015072d87bbe929493eaab -DIST rust-1.84.0-riscv64gc-unknown-linux-musl.tar.xz 82884604 BLAKE2B 98fb594e11c35e2b93fc6bad089ee8d3a036b648eb2e7a5e5ea7a353291ad746d99f70949a3f12d884eb01dc881d8a521a877d7a54a81f9b72931f489d5a5575 SHA512 4133c5afac78201f72626c26d3359f5e4228be2f0a7f39e4c7c95e3797345fbe24e8c4a7daafb56836a8f00071d40916887a35656b7d9ebe43fd468f824345b0 -DIST rust-1.84.0-s390x-unknown-linux-gnu.tar.xz 225691648 BLAKE2B e007b7c08998a488162721b418c9bd22dcb8ffbe450da543be285d4708ed366fc01f0bc6f668b7058e544c3df7025977454e3aa98fd98d29970be28e2a6d6438 SHA512 cafcb20513a27bfdb9d4caf0e53f929f30f40592f340ee6683294ef52c438c913381c677b6c266efe85b2980ddcddf7d2f90fd22b2482a6ea7348084e5638598 -DIST rust-1.84.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 27b6afef3ca0c4df951e678469548784cbbc339772297966a449f17869ff7c47bad72c114edaca66d79dea6a63cf38755fa2c439e9283c7bb786a9c4eab02fb9 SHA512 6656f2ea30758ba23f7a1ac330695c262cea1c82d33bc64e968d8bbd5b39366e8d8e0983f6bdcbfa818225b63863fd941eeb9090d024e3d8ba254cb99f214a2e -DIST rust-1.84.0-sparc64-unknown-linux-gnu.tar.xz 67048992 BLAKE2B a84fcd2139ecdf9a5bd071518f7880e015a611a1d1ea9176ba3f8ed935e52254359bad0c15fb3d5e5fb2fb20913fcd3e3d4d29c764c04eb5269026d93c13dbf1 SHA512 47d0eee57de82fb155957631103399e2da1cafd74f7f16115549b4adde49fc58bd3a405acd0fc2e5095d89e3fbc5fa835a37f64b3e6f9079584de9b111a5cd60 -DIST rust-1.84.0-x86_64-unknown-linux-gnu.tar.xz 183288052 BLAKE2B 6a9bdf25e8ebdad1e8b36feee4d152235397eb3a52351a166905f350a8fccabdc4f03f4c1e490bc81d4f403f2810b37aeee964b49f4c375a9792ca8a054c61ac SHA512 4d37691577636ecd233e4c507da4aa2c6c31f965fec29a59eb22bbc6c8d765eaf95d63fc1ffe8ba9ad309f5a0a712e60c5a94a832164bae283f06b41fecc2579 -DIST rust-1.84.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 3ceb1130faa28ed9caf86b0c66471b04aa2663bf6188230fd96a0c0d4ff7a4255cb0e7e3e6e71d8a3de86798bd7f53ccdafe21285ae247d1f1718fbd0aa04d31 SHA512 bb782d01731f8aeb4a54555ac2163bbf625e83a17f5d8e10fa76217b345b247b4d653b5bada065fe647c8b19e1dc66316b1ebea252525fa194cb7bdc6370c59b -DIST rust-1.84.0-x86_64-unknown-linux-musl.tar.xz 263170948 BLAKE2B d4e43adbcc8ab3f49306d5ae624340f7e7b0844821c74140997510ca40d4bf252ff698e1295ab8138bae237d079c1e3cff6a46f895f55fbb7ba2c93054e1648c SHA512 6cf083cc2cda4591314ba49a302aba2aec8fd036eb9a72b775d16561d0739df23a1f3b0cb44d6539a068a47730142b09aeaafa1b0756703c51b539851e59bee5 -DIST rust-1.84.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 9abf6ad52601fa64e807a71bb6af5a9fd8c3ecda5589ec7232ffdbd7884db67535a5845216fe7ab9133fc114fdc12caee436bc1bb78a163f94a021060459b1e6 SHA512 f9a0c7fa85668b034f0a0891ddc0b9d8f624589c8c9485421e199abc9a82dec481ef3491a4e1286fdf6c6863221e7761cada393697ff1da93716321bcbca679c DIST rust-1.84.1-aarch64-unknown-linux-gnu.tar.xz 241951328 BLAKE2B 39af8e2258ee496150c12204975c44ddf8dd54f4bdd9414d774444403b9d9f997d6b0ea06c86a850ce75f8bdfb2049076b0487132d3df69fd0c36c6d290dea7c SHA512 285720f5da5eb6fc4d10c98e0d5e5961ec73fb8c99f2fdd60e7954c5fbae27f01ee1f97542af4c6181b2f8071ff0e0f4d7fb53d4019f355eedba19698af93c45 DIST rust-1.84.1-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b9624946128ad2d054d9f4ae3b54aa40657c4deb92a6fb44ad4f38f79ab24afa0c5a568b21ec54e62862ff7abf57102b424cc1383920f67f23be20902e1e5ab8 SHA512 23bba5bd8cf9c3ae591c6f48261b7e54be532dfcb6ffe133c6b374b831e3e00df54c89de4b6f34787dd1c5801c130b1d7b8a3168be46a97d3e412832f56c11e3 DIST rust-1.84.1-aarch64-unknown-linux-musl.tar.xz 218987176 BLAKE2B a5ce111633f0a999754878b1ed77c5ba2fd3e3649fea2c23c85709b168bea49c110a1f04e35b67381e724c0a942837ebfce1a06f4dbe545ba2edb64943d39265 SHA512 c3d9c0c25a0a722f21cf9515ac4f9f2cdc8b37bc0c8cae2239fd9924748f92d10834a41a85672b63740a6687c0cc75be33e2aab5c982acda7cd0c0571ad89641 @@ -416,28 +384,93 @@ DIST rust-1.84.1-i686-unknown-linux-gnu.tar.xz 236617104 BLAKE2B e4120991b23f8a2 DIST rust-1.84.1-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e18c919dccd29dc5521265db6f985ac53e9ccc2f4d7e07aadec2587e2a769acb72ee3249dbf2793679953b42e18fd957fff7ee3344b207ea1cda1e56dd4e91ab SHA512 60b34315ac9de14986d9cc05b1c40e4611ade8c568a288969d4f2d5a42cbfc930f11e7c628af9ad9707180cbbcad3c4e566f54538f8c36ff867663a25e2dbf8f DIST rust-1.84.1-loongarch64-unknown-linux-gnu.tar.xz 234696928 BLAKE2B 947b5e165c1763f6d24778d8eb88c4779e68e4f1b6333ebd429795c1e61bef773a33bea4450bfe16951c00e45e5e3eae2a1f80c9f127b57c08858f504d9f2e8e SHA512 edaaec4c8c260ffbb4f78c4c64fcf23573055fac6de3f545100efc266b0f41a35f4f49964c404efa7950fda1434ca061063d6d0e354b6042dd2b64f3b16fe8ea DIST rust-1.84.1-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B f4c848f1f0f9b77c128e848b62d1f91b2b20e6ffcc4038da6556ffc59c5bd6f5d4139f8e617f5a1ebe8106e702123a69ac6d8c8be95d189cc933bd21248563fa SHA512 2bce7fff1c7370ae3af8f9ac4c75ee3d503a9bf85b605a98442a1fbe7b88a89ef194b7d1c34bb6a08d6696bc675cd220e787e05b4955b0e12f0aa62ef2545497 -DIST rust-1.84.1-mips-unknown-linux-gnu.tar.xz 75956440 BLAKE2B eeb8beae339f65a7c9db48a42454712b8251313da054388f889c05dc9a16037bc915247c44de045e54da1f34c6a04ab7417cbfa0f772e6e4f6d24bdd08a6abc6 SHA512 8d2cdb12e997a6fb349beaaaefeeded29ab914e3ccb9f3b0938e8e2f88d42dc273d05d2c0c61655fe7fe334331b1da4c8be9800360b9f0c6639cfb466629fe0d -DIST rust-1.84.1-mips64-unknown-linux-gnuabi64.tar.xz 75712160 BLAKE2B 91567f8a593127fac8df26c7cfbc5f31113eb6626b539dce16e31ed53dd3c7774f46ff9bf5b4dd14fa5c37ddc19aa9e93ad472abd3745e5db55e3e67cc993b87 SHA512 cce78b6eb971b59b312f6bbb578336d5550a5845e05e33e60aea54504d110f14f7959586954e05cfe1107a29c003082003f486f0b4f7cbb941b1231f66a708a6 -DIST rust-1.84.1-mips64el-unknown-linux-gnuabi64.tar.xz 77372292 BLAKE2B 43985b65231fcf2bd24b4b667f238884cf78b00df22238f843870e8a794bb959566c8ab76e5188ee50e11bf4b3fa69f87c8745c043377878bef75d727731f880 SHA512 c4a48fc84855c074ddc61fe61e427cc7530374e31353b2d2b10a16a0af523393ed59370779d5ca7dd76c6fd2d06500ec4a34f884a0cfe137ad598d24ad35f915 -DIST rust-1.84.1-mipsel-unknown-linux-gnu.tar.xz 77625204 BLAKE2B 6f0fa1a2745593d7e47fcb3622752bef121c386e888e74e5a9918f969f70074dd66f3f5e12410ec695230182d19968ecaf91a88a1af8a1ce5939dfad57027f7c SHA512 ab2b11db7d131827557dd794700372f5aeb1209513cc93ef6a179f7644ffd493816bbf6bece6d62c56d9e1cc1cb023d8d1a9ad53f47ac5b82360de2b26000212 DIST rust-1.84.1-powerpc-unknown-linux-gnu.tar.xz 225950144 BLAKE2B 036db582096a06fedf5e97467d02ddd75dd027836f38814c0fb52aea46afaf7aa769c030d572099adcf2e541df9d85ae6fbf9ad806af5a443bd2507f359ac2f9 SHA512 27cd36ef0243bdb367ddeb941654227eae2a412036f9d7dcd8d8c78651ab83bc9e5313fafdad355a155b726aba9b32731a66f88cb9ab91e30dd7abdf5803e1b2 DIST rust-1.84.1-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 1fc0a161cac7ba4aaf273d3a6f130ff86beb1ca7e539b50cc948a4e4b5bb8bb857e963d4d3ce2ca4573800336791d4bb1aef9236cc3ee228500feb48b0800584 SHA512 8d77554d446a7e696d0ddba29ad4578629678c88a2ba905415e4207c608cade8da2c67b7dcbd446210dc1a4e3639f20bebef1a15a9629da95a5a1be65e4872da DIST rust-1.84.1-powerpc64-unknown-linux-gnu.tar.xz 222960252 BLAKE2B 56271e4c45216bdd422b5281022cc8db1b9a87475e983e1a7b43ace3937fe3f3743f6af6ff30eefaf1d16a147e273ab240b451b57108bf80112980b641ff8847 SHA512 1aa08a1cf7c3e40a6adf763306fe73197e8663ecf7d29cd266acb68ff60d7743836d7f7d9e9cd7c8f6bfaf61ed5452dbfb176b6c61181774b4fde7321e0c7941 DIST rust-1.84.1-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B c174fb8700c97b07c6e573ca8ae2df57daa9bff308584f2855289fe7eece81ba72eefd0e01cee29a694cf3eddb25da7f492c4369e5360fee62692ae2fb2f1315 SHA512 3532057cd95219cbe7483376ceee24b3844f4148b9436bc6da0c9ec6c75a6b7e5896044d06b53d7e4b0965498693fd22238b9a7d2bc5eaaec8abb55cdae084f3 -DIST rust-1.84.1-powerpc64-unknown-linux-musl.tar.xz 78584072 BLAKE2B 77ae16ee5779c875b9fecca3d29d8ab003cd9f6dbecc662d7679d33541e06fc37b17121470b1a5760d3bea66816c476ff417f7b69e77aebd68dbc2a45ffbdd89 SHA512 ee1a4c84d99c490966431b6f7ebd98258ab9741277f05522f6d8989a6887202bf9b29ce20395c2366f07b49bbc47daa33498b5f1cc5fe49bd817f19e21f31b44 DIST rust-1.84.1-powerpc64le-unknown-linux-gnu.tar.xz 235702728 BLAKE2B a3d113abc5eb3855e9abb4aa8428843f2ef682ae2786612370e4dfce662afd00ef665fa4325d0b270703e6a0e3fc52214e20713169c46bb1d9fe0bfb5ebd1273 SHA512 3962689137db3f59a4894b1f6b5ec87da7f96a384da0fec8d4722589b1852ba8ffd3ceb5de5f1d83f8d3d4eecdf38bb54b8b913907f13a681849e5e50ec643b3 DIST rust-1.84.1-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b12ca2366aa878274e24ed2d72db053d82b6b7c79b52e015841d708be8a0ff4d2950dedbd46916b0b3bca5a459b8abd674b7ace7fcd7f75d2728574f43e8a57a SHA512 1dc026ce19e375a0075df381e35921d841ad79d9be440dcc602810114d2bfad0eebd3c1cf99559fe30da599a0d3d995ff2579bb75a535c92091b0d6d579da316 -DIST rust-1.84.1-powerpc64le-unknown-linux-musl.tar.xz 80947924 BLAKE2B 4909b9fe3c9caf36db02cc76a321456685125be90fd223bde61e32e7cbdb117f2a420fd479c9a61df46de61d2e0e318363eba356dcc229799d269bdf8e7a8e80 SHA512 08f9744cd9464e9723bf45567faf3e888c671cc4ce8b037bdd12f8b915ef1226540d3b54af979a4fd1e47e8e9abf22fc271edda452a2d3e1739ccb337559b4ef +DIST rust-1.84.1-r1-mips-unknown-linux-gnu.tar.xz 75885456 BLAKE2B cb3e217ddea4a5bd0f6720fa119c5bf895e1762cec241a38421331fd61e1e6b7a6ed3f355ccfcb993412e2a7d2e6177ebbb80705314459cb117ae4a5f825fd9b SHA512 3e7de6d22ac261761889ef9b170307be14f63718e1b29028ca124409bed79774ee8505fc21126b02f73c109656efeee826c86d28469cac841af53c0ae29d1dc3 +DIST rust-1.84.1-r1-mips64-unknown-linux-gnuabi64.tar.xz 75708448 BLAKE2B 7a1fd05e33a7b1bfc10172c7dc8ae94b7ef51c8cddaa6fe14637f57edfe5616cf0d482845f8777fbd243a5f4a18aa23d79743e84bd3f288ac9579280a40e4dd2 SHA512 1d1a1b728939c5f9114ec26d559bc7e0845fb124f9929469eab748cf085e9a1a5e77ef1e9afac0e13bc54bdd07945c2dd9bc1df7532ebccd270837f3350da0bd +DIST rust-1.84.1-r1-mips64el-unknown-linux-gnuabi64.tar.xz 77288560 BLAKE2B 49161afe2beb0d41cb0acf8ac2d902c515ba4a00aaba3454f30e9bdd1852dad31336b5b8f1c13970183c5f45061485451a4677f8720fcb12ae95d35ea62a5f0f SHA512 8d14b64e15dbdf263d371eb3ba94b2a2bee8697ad41c54acc7fbb5fae0f238cf6a92ccd274896a87da6a227fc2b929b2f1ebe1f5c217700e6784639b515c4650 +DIST rust-1.84.1-r1-mipsel-unknown-linux-gnu.tar.xz 77640732 BLAKE2B e0f4ce16b345bec7faca84d0f643edb49880170c6a47390fad19b2a1cfc62b5b145dfa9b82e09e32c069734a14f959d171bdf96ae4ba31baff6d521e460d7af8 SHA512 e7423b959a2a8551842582f1559d260263cebaaad1ebb7f7818e1174f8cdbcfbfeea6dc9080825052367d73e99b428a59b5ffdf89e3b63dd9784969166202f58 +DIST rust-1.84.1-r1-powerpc64-unknown-linux-musl.tar.xz 78616944 BLAKE2B 756d3465e763bfbe2980089b9645a213bfe8e455a8de47cddc2317453d92038190fbf292908bdf319b753b36abf78771bc6b2dad15951bf5bc8452f5b57909ad SHA512 d23a95fcae389d77d2cda00b04e8902e73ed3d6edc6a6002685f527f6b529338bc61c112ddea7b4e2bb093ed94de51aba294f6f3b4a9da04a1e57939a45229ea +DIST rust-1.84.1-r1-powerpc64le-unknown-linux-musl.tar.xz 80956700 BLAKE2B 3e481a4054c59d598a063c0fb5fc40e23054dfb61a0eaf4184993288481357257ef79c1019d2797544fa642a711ee48eedfb606ede0e69fa004773f7a4399b4c SHA512 894d588d06c8633bb7cb3fb9c694013b87d711b7f955d92c0a567b64f35baa714048497929596f4a94f1301f3ce948072e55dcf6b860fbc83f1257fc0d11f9dd +DIST rust-1.84.1-r1-riscv64gc-unknown-linux-musl.tar.xz 82846388 BLAKE2B 6085c2d031de35dbe8b68536d23965ada580a9c1202a9c95cd0c3ec4df144f5e0a2a98e193452438802bf3cd3decbf8392762f6d8c80b8aebe6a04333f6be67f SHA512 06bea02d66b3f62cd56b60d6fc368c4ec720945196a392c6ff86d71293b10646feeda33d6cfbb613e514f0598182affcfe97439df5a9c4b6a4de539c5cd9525c +DIST rust-1.84.1-r1-sparc64-unknown-linux-gnu.tar.xz 74126868 BLAKE2B 11df438996a53a905aac4809b905735c28bfaec98fc54d357b923f5f4d285738cb5af957c633fc709185a029bdf52f84a7042d204257ea3601ba462aae75e213 SHA512 f205976c8d5e420eeb7c33a7624a3cbd65539a02e5947db3e7f28832f2b6923070c3728ebb4f4bf0397448becf48cc27719ce060a053d004462d2d76a93b984f DIST rust-1.84.1-riscv64gc-unknown-linux-gnu.tar.xz 222166452 BLAKE2B 9a0835109e1343f745db303d44deacbf81e0fc8f8d1ac4724dd503a6a6c394c82da3bf677d32bc72355606bc065c69fc37a3af1740d6b4e22d3dd4b12f1bc764 SHA512 788febdfdb46e41092665b828bd53fe98eb0bc04ba750845a5308b6069364dfb71b06f18c293d42bd0f608910c294595ecba821335cbe2f5a4499e663e74db36 DIST rust-1.84.1-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7ccccbef2b78d73eb2526d1c33adb20b145acf3ba1db234ec88a6b512c5bb7e0236892bd3593431eaaa670c98aa44d93ccf35ade406ab4321d058f6338fe37e2 SHA512 554b2cc566a5cc366eddb6de3c62862c0a39593e5331fb1f50138f5abae521e52e397470e1c841734d29a49ab31a24c02201c0fdf42c37a75673cb29e3744b95 -DIST rust-1.84.1-riscv64gc-unknown-linux-musl.tar.xz 82788252 BLAKE2B 0f59237ecdb6c746bf56a626f23191d3671a96efc8dbae99b5325cc41a64dea833f0f4af1d014d46d38f5738972010530d460ebb8982dbc79c0c4aef5dff069c SHA512 862ed15e5c9271f8a0c88d1281d546c65ab9276ccdb35152ac1a198baa2d887f69c8b1176c3aba5cdf282846207c8dc45c68daec0c059f804fed761d7d811128 DIST rust-1.84.1-s390x-unknown-linux-gnu.tar.xz 225661352 BLAKE2B 1ca5afa5c46eb65acbd85925971ed8eeb2bf87aaeb1158616e5ed0f7aeac1a44e262b333a56672a56bc52730cdb0cee56c825d4c45f0ce016591b3996b07e32f SHA512 4f8e1a74a8c29243f6220b1ff4cf694f7ad8afacb5884b05ef88d7bedb05fe2b4a34b38d614e7d72b94c2a923c0c7de733c36f3d51e8dbf3bae9aadcc01d45df DIST rust-1.84.1-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 44d6ea57f512ec3ae7e10bf475ce50eb1d4955de64033ae2c4f715be3323ca0c308d3049f3b18f194569ab6eca47abaa205607c8efb5d99432f5bae5311581d8 SHA512 fd447b1655a7033c5b22cbf4401e52b755867ec60e5bca1fa01e9b05e730c20f9c23d6eaff2c3e71287406ad823b25eec252d41187703937b638fab15c1c49dc -DIST rust-1.84.1-sparc64-unknown-linux-gnu.tar.xz 74153720 BLAKE2B 5aa5b75f1e530ff364319c6b01ba2704d7b32f6fbed8da59f0de42052188b32200b89f544e616a68217196c541e6ef82422421c4008cfd46f410048fd0f2a89a SHA512 bff721ab589acca4f29603e62644fc2cca5113bf62ad2943bca8650543be447280b64971bd232361d3fc1cade531edb22e86e25ce03749dfa079dbf7256d2a22 DIST rust-1.84.1-x86_64-unknown-linux-gnu.tar.xz 182944280 BLAKE2B ad8fd7b70e8687802e79a31eb913aa5f3dec61521bb98667c250988ccf69932d36fa94d15de3219aeb7820e776a818dbfe9a16ef9cc59059a7ac2d8e8e4e92f0 SHA512 cdc3ac3f8a3fd890bf6d43cd920bb72a077c66f273077409a8dea6d8a9a1f747169aebc5f645202a422c50b1bac5c55691e57a7b46b5b24bf2f1bfe8ad7ddb13 DIST rust-1.84.1-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B cc4f3a136c7b137743792db470427a0d7823ae37a88c52b7dce35cdb72602557119fa68d01e4fec338556148dd7d760b3b95740b6e23bf45e80042d9203b50c9 SHA512 1b6e80910fc91997badc3113412b177d136495c22c02a4483e0bf221e609617ba05a30f8756ad72931fa92cd1d837ec15c579ce27bcef65629622648880a9fd5 DIST rust-1.84.1-x86_64-unknown-linux-musl.tar.xz 263174048 BLAKE2B b3ec6201d10e5044ab27954a515a27d582a5aba75bb32437d4df2037225fc13fdaed68537add5baff1f390600ebdeab451a000624cab3a0a34b178043f0007b8 SHA512 f0c40edfdfcbef8472d0cf3c1bd167b2c7d9c238147048ad9d45ac8fac7d41b1e311757974fd6478b531c6788005aa4003c22ce223b47a2ad6444df10cfe4805 DIST rust-1.84.1-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 9424c40f72bda9334c904fea44d91ecd229c15e571bc6840831d90ce8e535cd9bfc472925baf155ced21626aa74afdc8f1d143233a24952a1bd59d84c8e56322 SHA512 0cfd282306cc4596d6c10f927277532be276e06c0ecde2e695d06159729ac4a99148b0a8db3de3ede4e81e1bd4a67be74f8e9e696f445e83d10394f1834b73e4 +DIST rust-1.85.0-aarch64-unknown-linux-gnu.tar.xz 241942608 BLAKE2B 2ef6ad834df56ecf2e67c98b9153474aa35531460d8968d3f1f17fbb4c1883ffc71c7aa55b6cce1980b07e45fa3a8405267d41477d230cdaf42da3aa28cf8be1 SHA512 259e091f46983170855fd7968dc7185bd91bd27e2786f054a5b6275bbdbac270b5cfffbf854ba5b2144bd200ec5d27a74044c67084fe7eda539619f2efb910f8 +DIST rust-1.85.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d2f1a6fff81e39a1e6c4f8812564f2700af2143b8ca8996dc1dc7039f58eb5f65b87365da4ae49761cdba7c0daa686de12925680cd2800864e986d80bb7dba60 SHA512 b69f894550b1d2b90efcab7170fdf2ab60ca3a66d726b77e486e43ed6224d8d747550e6adb3b98267428e566d491aa3136df7c072c44d80a1c36783bc6abd56c +DIST rust-1.85.0-aarch64-unknown-linux-musl.tar.xz 218899980 BLAKE2B bd6368e55b92577f5a2caf7a22606042853c4ee9c78e981196e5eed3ba808d15124bed30389846ad3ad3681006ce5d6748261937d25f55f8a7bdb8ea7f5a5b90 SHA512 2bee33ecf5b59c3b800de40604bd8ebccf2319cdc8eaf9e47f1ea6bf773cb2be19ba285a19fe40384f7e875a71bff43e5303dbbefb8a90d8cd70e60b13b6eed5 +DIST rust-1.85.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 4d64fd7558849092846f1dd3f8a934cb34729bda8086eb4277fd796a1abbf71acee9889e8b7bc23d5bc16410b74a8d233940daafc377e169b02f56d82f791ccd SHA512 3a62980e54ecb41e6479683dc8f06905a7e942c95bc71aaf79f6fec709003400bc9fa102a7f8388fb8710324053a209a94fb0453fe496c1d3ed87b22f7d28c59 +DIST rust-1.85.0-arm-unknown-linux-gnueabi.tar.xz 203320248 BLAKE2B b812310e77c30c751a2a413f01d0b3166651703b14975616858d2b994f9fd7c5f2b5d3a8d45b276423094eb7646d7be2295b861c781eb379730c8c206bd17bea SHA512 0a4fca498049d49331267d2e11e717dfc2ef2e87fcadb2fb645c5c88b70383390c33b7e72a79cbe98c81fb568da00f470c616f3d8becf1259118b9f1ea9620c1 +DIST rust-1.85.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 198a7e6fc724210b2216d8e5f56b5620fbba48d6258afd6e3afbbf7fd03ee338b653e57a29029933ac076a41d485d95ba64d95782ecd40597e7f177733547f70 SHA512 d77e6714ae17070834276dabc2437967febdb0f516d2785464fd24fef06b1c3383e6b014e1d0515bd8f60a192696cdf6a03df511d0bdd4ac14ec368b81d2cf5c +DIST rust-1.85.0-arm-unknown-linux-gnueabihf.tar.xz 204317348 BLAKE2B ec8dcaa36b5e177d63286fbf9d439b7b81643ead39f67c734d8864def5610fcdebb6b72f9a9a2ee56eac3ad29aad960681d33ddf5e3fa0b617c4bf560a493646 SHA512 2eb64a306c09920d3e239062591d364d82a34f9391cb6dc7bfde1a7419efa7582722e59a204cd1b7cc36723b0f74d50b8f8e9a527910300b334596827c1c7283 +DIST rust-1.85.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B cb5cdd491c659459c5c25ab30de1844e8fbc6a1b1c1ee3b0e990acea1c190ae00bcdf320b18b5c59aa81216e620f56204dabd08aa85d98cf5dec0df892b7de46 SHA512 5a0e0ff1e8340b3321ad5a5e5d837178583167153bd4b54cf3130292c324b276bb102fb2e102f16d09d59ee56dda6b725793725d6415b8b2c8c2b05677623e93 +DIST rust-1.85.0-armv7-unknown-linux-gnueabihf.tar.xz 209707420 BLAKE2B fd8edfbb889b0403a54342d9caa5a31c1e33b2e4acc818940f1c610bc3d5999e669bf95f226c6eda50e7291afac4693a1684437a9fef550b6591507d4f754bd8 SHA512 3b5bf6384de1cb53ca86debc15980eb297be7673fb27b05321bdc1711cdbfaaae0bccb9f036f15097016480eda07c300c4726b26d221b30de12bc7bbbd68ce29 +DIST rust-1.85.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 453021674f3737d5b8806f7740a8b937e7a89e2bf239a438123f82b0c36be31ac1d1e689434f206cef8dee64a0c497152b40c9023a010b2d3cbd03c046b2f936 SHA512 d4872e54e67bf364f39ec88ff4a5e63dfd912d498b298bbab0773238ecdf7c6fbb5bcb8c14bb4bb93b8c7b0703e6777949306ff9fc15d376393a719a5b43fe8d +DIST rust-1.85.0-i686-unknown-linux-gnu.tar.xz 235842204 BLAKE2B 9cd592c7cd70e705b137868ec553a1bdbcf4e69912e4e493eea195d857978183d1820c07e41f0dd46f196f8ca90afbeb78f1be1e25a10c120ffb7e1c23b34197 SHA512 f3a40d5b20031f4c0af0923a5568b362279db79044f033d7633478ebfa5e422f699d35fa76cdfa63f0e9188bf620af9585237b8f10d2011b37f44259add7b8de +DIST rust-1.85.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 406ed1133cb7d206dbb6c9e27b08e898464111e45bcf5060abf03580794cb7c847f9ae9d6ba80ff3b69e8593aa83313d208361ba30b2fbc1118b444de4c65775 SHA512 486a857ad3da7b47026b368d041820421745aa52c3bb2c13c853e1eefaa9a11d18914b18203262f6c1c2d8bbb881923f89884fe08202274790fc626464a6a462 +DIST rust-1.85.0-loongarch64-unknown-linux-gnu.tar.xz 234279384 BLAKE2B 425c1fffe9aca9cf41b9233f045666afcd732cb497261bc778ab655fa4bcf0b373dd51f4e153b5d74c00c4ce27c2054b63d063738c3d5c4bb34b4cc96e0523ea SHA512 6463ed75683b9c2f23669887d45cebb8eb3f0a375fa416e2ca2e0a8aef3b1c5520ac5c410c8158db2597f869266193d18b24903c085c1d312f0da18d8ad0d8aa +DIST rust-1.85.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 378beb36636925c7c8bbd49ac63548b52c758dceb4e83001757aa82e782c7e3b691dec11de0783afc4a064d2e02ef3737eb6577f28a5f44eccd927fcc056bc74 SHA512 9e0404924b419c7de3b07f245addaad6297b8f9ca3804d4d5bdebea7d40b6d207959e9fe70de92121afe9d0cb1a7ec726de64974c79a783569e7ff7a77c67850 +DIST rust-1.85.0-mips-unknown-linux-gnu.tar.xz 75862360 BLAKE2B 77b171fdf853930c1e8c3b225c05b15c3fb63ced5edad8b236adcb627a14c746052d4e59c2b5c8a49371915baaf48d5d924b151ea1c18d0aed0c62c393725e77 SHA512 e137ffca4a92e13d34e10720e09f560cc7ea4ed2a1ceb5824ee5847086654ed33f4a0be7ae4789c7d2d0bdbcf99e6f55d6bd3965c2a327b3f6e0487beab466ed +DIST rust-1.85.0-mips64-unknown-linux-gnuabi64.tar.xz 75572076 BLAKE2B 8f4952c93d74a0bc9a55519f4fbad22552d19440b47f92e742f0dbca109c243e7e5ac6b538597d18709c261c6ea29826594dac670439735de0e1cabeefbb0c8d SHA512 df7d08c006a4762499ec03b2afbde55ec9e38891313d6de455f9f88b889ca70ddccf977db78761bf7feadd7d9e6480d0033ffc050f5a9efa6ab67a8087b8e147 +DIST rust-1.85.0-mips64el-unknown-linux-gnuabi64.tar.xz 77077460 BLAKE2B 3ea75c95d344550b26449e3f30a374ad992f33d9ca38b9ff427d784cf371c94f36d1c65e230b1a51fb48ec641979aa0319eb3e7a8c4b4355ec6a9a7cefe00a38 SHA512 307f754765b8691d1edbaba7c6e80f7fefb146876cd13b3b7ec6bc9be107a6533f13d4b0300c8cb6d3bdacc49bc1f2d03c0b2af8480cfd7611620b2f829d090c +DIST rust-1.85.0-mipsel-unknown-linux-gnu.tar.xz 77505076 BLAKE2B 6f2f566fe9847007aa2aa926c6548fbfcbff1fe2694ba6e3849aff0152e81a3355eba345ece81b5e3c5cdccb24cb6568ecfdeb25a09142e4266d5052c46acb9d SHA512 352f48315cd0ed02a993b30bbc8a53acf3c9eb6b17320135fbee0413643c2da0d598668a028ffb90c7f88f61a171807c9d0454248efc62ef7fe6fa0ed0bf38cb +DIST rust-1.85.0-powerpc-unknown-linux-gnu.tar.xz 225995380 BLAKE2B fafd1fa46ecbd1add28199c00c91a363489c2931c1421f7a1b037a601a83831df9c5d0f04a95671ab87b1c35a54da7fabab677ede949a82f86e63f8fc5da0a62 SHA512 12299822a2e880141ed67a745c6ab29105f5167157cef9dd44ff84cb8778a46b40e2576bb47614e15801b45b13b186c1c49510465fb22bf1e4854de169d4dd83 +DIST rust-1.85.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7234b0a8ba935400b48036468497f1b1112a895f6a8ca62504332f615f350702460d5cc85343e346dc036e8f457144eb3da29c9b0517977b0768096c9db012e8 SHA512 f1937b4005f621213b863d190e38197b25f32de9ed52a3530b8164ebae4dab1d98a1d1bfcf1794a345c754d2e51ebd7cb04f289e783feddbd4628048a9141388 +DIST rust-1.85.0-powerpc64-unknown-linux-gnu.tar.xz 222816236 BLAKE2B 504e0082efb54c1b0b3810a787810a51c8c580ac16d0e1ade9f40f25d8f7b1400efceff17216194e243154b33362942644120110bad66db0ed41868c084cddb5 SHA512 3768134d99794d728fe919cab2721e2c473a75d9ade567deffdfbee968eb0b45c08ce93f3e7de6ab1fe5f140c20b3e6ce9d905a64d38d9659f2f80ca18bfee2b +DIST rust-1.85.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 14286c91f2df48c3b089e6900e23d9449ba4c9ffb0b8c54c2f6c7fc8c5a9554b32aaa81ff13966bf0af5671e906f2bdb024256bcbac107429aac9a75a0aaa24d SHA512 7eda585c5b5b81a8ca7bfcfd9f7536395c1ce63509ed3f1c8533c71ba95b346f70dcef39b86409b3042fdc76ac456eab94b628011c3bd7e9b1127cb1b9210312 +DIST rust-1.85.0-powerpc64-unknown-linux-musl.tar.xz 78304100 BLAKE2B 1db726eee4c923b324dc756d6e35f9f8e9e0733daf1ede21d1f2524d8d504468575e0acc98cd891a18fca80ebb367e6857a2c28dc995270ef47ae50c0f9acf88 SHA512 bec44fb7d74174d01d13ed387665a323daf3397a48f1879f6ba55e35721a58b5c4049c7302275675e8f378fb04581ccdd25d45eec7c3cd1a6ca71b8d227b9dfc +DIST rust-1.85.0-powerpc64le-unknown-linux-gnu.tar.xz 235325072 BLAKE2B ea6b5eb1b1e9ae9fdb93473f57c44efa57841d737025f206830cce9a3bae9f7bf8d0b52c2670c3da0fc949418c9ce11d15f2f7e9de8254f78184d9fbce20ddf5 SHA512 6c30cb1eb9c03a2950ab45316676a3f9dc5f3fc47426dffdd18791462ee9acafc9961ba075503c013f80c9234283bdc9cdad5833f8d39f0dd8428ec6c511dd5d +DIST rust-1.85.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e1277a410aa2185d80fa3f21ecbccd6434358f44b6ab1ec69084c04145fbfbd7d7c3327bcf05541f263aad93c7df2bb0044a5772a4cbab254467ef0a7665a0b4 SHA512 427850d45fb548827a725811c39d36d5268799b2fa6f852788a81d0547c20659c2bdec5dc86c3b7b08dfe0e62276dc181541ae804dce60cde64a0cf7343355d9 +DIST rust-1.85.0-powerpc64le-unknown-linux-musl.tar.xz 238652320 BLAKE2B 71dbeb007cb6912ef39cbfb07376fc1828442076eb752a8e4e820fcd53307658e5662c82691e7ec210ba6323b7fc600880bd33ea05230d48bef49b650d346a15 SHA512 d02316027f69c2d73d8c4b16840e9aca8725fa10057894ff63391234d027a776c5aa6017e7fc63e483b82b96315b8682e0900d6b5dc2b374eb2206265b7d9b14 +DIST rust-1.85.0-powerpc64le-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 3f7bada6bad051693c5cf00b268fdb464f7b196e99a17d975749cc4393399902021cb3fbe80d151297d15bff95e78e12e42765df982d8713f1c3cbd5688778dc SHA512 e9a9ae04f0072072d5cb6f39e73733f7279618a87a1391d3a5d74057c9727374622e51cde2c323f93bab0853bba3007ef542b8a3dac1c0aefe3b96a19686bb2c +DIST rust-1.85.0-riscv64gc-unknown-linux-gnu.tar.xz 222050624 BLAKE2B 79122ef27b8a45b20603f7387e413da0fb1e2211681c8837fd03a114d01b3f8964f2c149fba9c8a80e0a3dd2915a348ebf2983e9ead11d597c69ec4d0a05097e SHA512 6bc4aa613689d8e061b9a61cab038785cdb369440315912004b064b4b2bd94be9e990f8c6ea7862d7f11a74154dc4d8f7058b25d6c08cadccbc55b886764dc26 +DIST rust-1.85.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B a7b8934e9c87ecab26e42dc80b50ebdc1bcb72fd92ce6e37043f41ee63e4d8e04dab694ea0a392fa9ba2f505ec582d4f1725941a47e0df0c5cc6918e1c5f6a6e SHA512 ed36a3dd44abb8b37935e49210735c9efe748397af561ea7831c16dfed8c5cc14d34072a8d755a01a9817a7371656132efc08c324b157c858e8135940b69cbd4 +DIST rust-1.85.0-riscv64gc-unknown-linux-musl.tar.xz 82029208 BLAKE2B d9f64a4f869f10fd3648e029f82c41d023345871eae268752a4c132156caea3f3a0eb2c342927e7b25fba4329e11a91fb8b3f67a3226f94e6e15d26152b76529 SHA512 c26768e0e06c7367f65f2dca919426aeb3d9c35286379f8c64d6466e155c8c42149c6aaf25e08a8dc35117df280006b700dd103f82867915979fb06328065141 +DIST rust-1.85.0-s390x-unknown-linux-gnu.tar.xz 224665232 BLAKE2B 8312c7be936cd2b72b0eae88768dd9743f30547371f2e4cb3b53014d62128c7b2f33541d55929056f4b5768f98a0b9bd879998386675c504a0cf620a1448751c SHA512 39066b86e6bd7353bbe14a0fc134e83581e50277834de8c9de9410c7d075f51b7ef7d8fedf8f306be4524d80d9922a79e5df33680ea414d0c0f2724984c20cc3 +DIST rust-1.85.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 537f4602af42132ceb43178b2284b174e454167aba9b13b6e7617c2057a1dda63d206e684c483c3fcdb60d9fd18a1bc796f65dbdb7d98971938b50163f8eadbd SHA512 4016d04dc0f74976ec184c71b899919ffe7f1fb57037b9acfd3a48959235e0cf2ea22872dcde7d3bef63dff6e74a9a56e63f1ad424fb6ada44c1b16949f856ec +DIST rust-1.85.0-sparc64-unknown-linux-gnu.tar.xz 73889324 BLAKE2B 78bc1235716b655d32fc8c658df65fce0e8dafa0b12c250689bde721c864793d59d46d0446d1e45eb2c7b02e67c949118a485d8f2eb4c756c48f54c082dad43d SHA512 1b73f2112b85b976421ef387132384e683be00a4fc05c6b263233487521757a4051978156833a192c39fdb54b35980eca006d26d63cab37e48bd5d37b6ae730c +DIST rust-1.85.0-x86_64-unknown-linux-gnu.tar.xz 182464920 BLAKE2B 42169d926f43b9e883c9d2e632fc38047e6c21464b852bbaf4a1f09e2c772e24ccb2ebf73b10afe26158fbe9089c3e0fda0bfabda79a871a1f1aa2249a79eae7 SHA512 281891a1b8da021ca4c3d1d23353f2cfd138158c03f466786cc3d6730a069b51c4d70e684f22a59e838f800b00b0b3f6a04e7433123733fb6cb4c1b2f2a4307d +DIST rust-1.85.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7c84bfee06171633feecb2a3be2e85a9fff8941098cbe2b42c4b77b5c8d253f09a0e954fc6ac3c1073aa2999211f059ea5c20a483e5fe2c075997fe1c942b4f5 SHA512 7b4a698cfc41b23c9015e0b00d4ef377cb452992e15ae8d2faac6d1ad7dca3d59e80993be30c1d240fd2e732355d1941b348069c3da27f0a9df6dee637175967 +DIST rust-1.85.0-x86_64-unknown-linux-musl.tar.xz 263244196 BLAKE2B 5e8391ab184a3ac641aef3c4e8a6a4c90ecb12fcfd1264d2dd6c1a062af96bf40c0e7940521eff5f86614b6e8b6ee9a1d6dab4240be9accd8a4316403bd46841 SHA512 18c8a3cdf4f57465417930c6dc83cb51410b4b882e80f86b959c945167e1e0c04f4b5feb3c65ef9f2f9be1f10975d8e7424a8ad4e92ca4de843d0c7c83c9dbed +DIST rust-1.85.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 123423d989204841da45e388589a0c1a4fa4d9102f691686d79502288f7a6d882055497f22f3ed63229d78c22c843a802abad31089035769123618d35da915a6 SHA512 da076d70fe804ebbc02df656fc6e384b03ac2d2f0fc36fb536b877b81a81fb45b5faf1a60e5a4d7b99d6d9b873382f67a3242d6299c2e85321a2842d6ae08c55 +DIST rust-1.86.0_beta20250218-aarch64-unknown-linux-gnu.tar.xz 241961984 BLAKE2B 9553edf94165922470e138a62f2baead6e04aaa81384d22f5b6628462a1c5bbc2387fff5ff05a9efbb81aec5f28301f94d3c9b53899e80afc7997323dd44e089 SHA512 c846832d71d7203759749d8e3aca6c718b91b7e075e02a0a0eac71302d5ed2e23a23c611efc93c3dedec26e9e8931e819eb1d9fe757e9c7b51a6abc1cd6f0598 +DIST rust-1.86.0_beta20250218-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 0323dc2fc992e29d8619978d560c888f1873df3b403a7e2a25ab06ae5979d2eb6c42481612f9fcf0b5e435ede3735603d8c1eda733e0f3523b3bddb055d6662b SHA512 f17268a0c2b6568da4c621c23a2b43f2645a3cf2355d4eb7af22be6c6b11df23053eed35fb891f7bcaaff0400910bb7d0e7749d87b0541c401b8ece37d994c90 +DIST rust-1.86.0_beta20250218-aarch64-unknown-linux-musl.tar.xz 218887600 BLAKE2B a2be264a1d7c9b78209484d175c959278a9b9596a1a917c1033d04061ffa42d3e1aac491ea02fef1d5d2c3642be72ca04c912f581a5fdcf216a9bd86b3567d3c SHA512 d391a7cb96dc34cd95b862c888d7c5fa199de6924726c3e5b82de96296e890913716083b11f9e7ecb153531b07bc98fec753be4d94cbc57f27c7bff4f31db203 +DIST rust-1.86.0_beta20250218-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B c7267af92640e3b302b4d640e1239ded358b9595d601947371663da6aa26c3c7a2ef67aaa02563d583441888f771c118fdb718cdb002fbdd95d864c3914bdd90 SHA512 2b538a1601b1cc97c95b6b582bb5edd92a4b13222469bd35d04161d4c17c9ff5e9b26d0bfd59e893bd59a07f4a81c7bc25e8d6cd66a22b9d73c5108a8fa23592 +DIST rust-1.86.0_beta20250218-arm-unknown-linux-gnueabi.tar.xz 203409584 BLAKE2B d696b495d48a31cb684722648ace6f4366c8b6f60a06bb7bcd5eae8ae43d700e2d52134e0c79ce8f06cfbd63edf9a732fa5e882c7d8018aa0433404816d2f241 SHA512 37496d82befcb09b4dbc08c1f8786f96d6bcddfc56cf4abf27a17942d43bd3a4ffa3290c274e8ef7f3bce973e575ebe0cb167dd8955babb1dc9d918cdf5370be +DIST rust-1.86.0_beta20250218-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 671a4c2f524b2d92d6a6bc680921890a283adb6885e8e71974255ac637a9409579a9c6306b39967fb4637ca5e10f2409b8079dc5489c079a718a7994ea7eb09f SHA512 f6af86317c175f32e4a754e295f67787ac9d8e53e1b5338c17481f3ce2e95a3213fe2090ab268c0d62a31d9b41e9321e975cab28c61f7e3e6baa2dfdb40322a8 +DIST rust-1.86.0_beta20250218-arm-unknown-linux-gnueabihf.tar.xz 203645720 BLAKE2B 8dc6adc0de500d3ec04734c6517d0db29cb0a318ea6fd09a32dd01dde29f32730d851ddd37543798d649eb5384b529a6956419c32a4089ac5b41e57dbb205fdf SHA512 5d2e069bb09bc4a3039eb3d0b2a8748d7ab615feb312f612d24329dde791b88b63f577f7abe1522262145044225ccca7e7f42b6821f922972703ea6f0a06bbe2 +DIST rust-1.86.0_beta20250218-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 7eb7dad663c6d93267387d1c23eeaed237443fadc990e0c03846441b3e42ff837d79772067abac23eb5945af05b030049486236b1895e2824779c2c6857fd9e1 SHA512 9bf603601a935b8ee099d590bf75ed7d3ff97b02491f2b003455ed700f020e915b00fb0a86324900871037a042a1fe48c063a15e419349de68bb50b054d2de64 +DIST rust-1.86.0_beta20250218-armv7-unknown-linux-gnueabihf.tar.xz 209642508 BLAKE2B 0c10989b96bbaabf9d3d3f3a7fc827a94f10bd64c52dd4315ea1dcb7c375a6429f5dd2270504bae87a89a7f283579cc85848c16736e520b710d00ca0e3a69dd1 SHA512 17578a5739c9725ac435a9cecac094ea33478145089b307977a2473d8192c1a82faa856c6acc456285d68a5fd36aaea7e87d8599986091633cd4ad2052b55b99 +DIST rust-1.86.0_beta20250218-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 849ea0c53e4760159dd020a89c06841cb94e8bced3bf9559d3caa8fecd4cb176363f06197bbe89af9f2dcaf9d390e398d4d621dfeb3bebad60f891a8dd25ff6e SHA512 1d11e90ba660af35f3e6c151a108c46b7a2e4dfb00b89f09747b3ae04e5de57cbddc2603bac428deb2a4e259d19eab91ef1a11c5dfac06f7582253aff8e24aa9 +DIST rust-1.86.0_beta20250218-i686-unknown-linux-gnu.tar.xz 236420288 BLAKE2B e850782dc7712b0f33bc2c1aa4a4f9948c897d26fc21d3a3f5c82288dda6aec1ce641cc80ec05e80706616f8ba4c63d55138a0cdde3c69f5783ec459d298b0c5 SHA512 830ca4e65229c0e3aac37ec9686aded2d9e687f99f0575b2e82baaa1210a426f20c1ca0780c08e80b00f8669cc3ec34579150c6169e71620b9a6359624b91f16 +DIST rust-1.86.0_beta20250218-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 4bb60878bb7c2d01a9abf974b3153237bb5f193b826b048fa94efdf77f9c2d300c58d2faa8b154347d2483edf6a6a8a207b9b58a7aefaaf6e7ce0486fac8b039 SHA512 7b73d0974d0d1ef0f03a77e1eb18fd3dc49b1a46dfcfc787b97e6e85e467610f1cf248d552e6e2a2a2e018e451cb7b68b29492d4955e53258b4a0d83f06d536b +DIST rust-1.86.0_beta20250218-loongarch64-unknown-linux-gnu.tar.xz 234064868 BLAKE2B 7f79933f9bfc1423a0380264569717ae24de9a61a00d32e98eecf208a19dc972c45a75622d8e7beca4378f844d70e290a8367a4b7d6ac20a93852281cf88e359 SHA512 b3cde10427f8b86997a9a59c1a20629c2e26c7e02315a30c23ecc67dbc12a08bf65ea2c5f900ed2a5ff11cdc1c7f5c4a6a09396bf747662ddbdc635c9c7fa5b6 +DIST rust-1.86.0_beta20250218-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 05475853833084fef51946dd71bb53210b67880aa5231d85457578e78458827769e4e96ddd63360ab77dd2100b5025c33db297528b6a9f281076bfff690cbd79 SHA512 f7c3d430d55c1125256a111afa9986a71c5e003d7872b3fb2d5814ab6c9d01db27a325df484095f43926a00acbf8fc269e0b3db0300bb496b0bae176d77b16fe +DIST rust-1.86.0_beta20250218-powerpc-unknown-linux-gnu.tar.xz 226058044 BLAKE2B 8d9dc5a74f571266c80450b514a7ec31ff885b40c66a5f49ccac98ff211da57bdc069a38425603527b3ef16917e9f1ff58969444149ff3d2e748bbc7379ac622 SHA512 bd8babeb25a256a56b3fda300963834326fd97f2bfb14e3f93ff41737242bcb6b354a5e2b1260e25eb25a22d8304d9782a7cbf0e3219adde534dc6b2332f9c6c +DIST rust-1.86.0_beta20250218-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 5387f2d7ef2f6a0228ed8512ab431f05ffe885a1223fbd2e81be37536a0b55bfe1331654284bb70f9f1061173a31e9b09fde15f65af74c93f9fede5f0d435a4e SHA512 0611673cca4faebc7863f28e5c0fb60a9364ed980b1d025352cba9b1a64ce3778f4ccd149c1dd1d98fceeee144db5438f360ce0ce33682231203e9eb1ec5f812 +DIST rust-1.86.0_beta20250218-powerpc64-unknown-linux-gnu.tar.xz 222607376 BLAKE2B 474d684c6d04101200acf157389f11a8bb4759f90b27997e698a79bb117b47fca5441e42688198f87c9c05bd186c5e1a116ad095287c928c312d979df56f1f20 SHA512 b28c976ebdedbcda8113432b4cc03be379f58511bdda97831019fa2f8a9881baae9b5a1bf587e1de7a59f2aac00cec95f168d739769518ad31f27ae3a8ce2255 +DIST rust-1.86.0_beta20250218-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 8612b4387f98ac3e0e1cef6201b5afe4e76f58372f6bfbbaab3070e35fdc0fa6972ae6a85c8f8a9e9db07537fec0891adf6ca6eb64dc70d818c236bed4037f26 SHA512 e3c4a3f7b3c9304726502a398610ed9c8149b05a8bf33a5feb97be8600c0fec79456bf2556ddab4200ab3f410544b147703a69cc97db26bcbf33866e108f5bbb +DIST rust-1.86.0_beta20250218-powerpc64le-unknown-linux-gnu.tar.xz 235353360 BLAKE2B d0dfa8d88db47ebc5e73b9550cefb684832a6238376eadffcac2ee0bee25dbc836bc76439d59d84ddc4d63d8f92251791a47462ac0fb0294460c5e3170cd2b1f SHA512 97380f0f812c89e71056c09d55e7f4bf016a1dc82995d37bec1e4dd942cdbcdaa09347080bac08a0917b27e83dafc3c7ef2c18547b593b97ca9c1aeb796c7f58 +DIST rust-1.86.0_beta20250218-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 10b90d187f86edefea27d695b20d1b89d4c5fd71e3acf60c518c30254b428f96bb4abe78111949c3f921e30c2e652e61ad86e56e037d4f20b10eeb64470ee3bf SHA512 28c69aea648cc08b5c78f96a8359b8c15bb51401c8cf267b5dae1f4b6460e779981a82e60f1ff1d8636e5167eaa5c0e193645ca23aa6e20b445afabb9fe21c92 +DIST rust-1.86.0_beta20250218-riscv64gc-unknown-linux-gnu.tar.xz 221919388 BLAKE2B db2ebd1c76b198ec6fcc481918da3954663163be90eb81c5d3c7a92a124bdf7112d9d8fc67f20ed5d621a3075fb610bba45de41d3c44c9fcecc0681ffc7462f7 SHA512 418e16c07215463bed4093cd44cfcfad91948e24f20109de8c54e8e2a941b5ab3434a6e9e1fe829c57c4f6312e258b5470ceb0c1c7a86af53ed81221d8d52436 +DIST rust-1.86.0_beta20250218-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 1e06c31dcaaf1ce82b0c9cc913d7e3e23aef3ad7a58f2a6713896edd25e2fdff48a5ea9515382f149b59347afbeec5bac3525ad41b46523efb311105b15e3e8b SHA512 2c54c1fa5cb4b868222a7273b531ec8808a89ccb3686fd9cdc70c61b4a572493bf09659ef8c90b3e430cb153693191f505c62102cfcfd42b81a4bfc4b0adcb65 +DIST rust-1.86.0_beta20250218-s390x-unknown-linux-gnu.tar.xz 224063628 BLAKE2B a699b0e1f65270600139c20b5c730a6bd4d163a51fa1d25a14f79b617d491022b95afc6e4a5545367be3f3c15a531b09ebbb747697fe9507eaf72ca9dcce35ec SHA512 11e6d3f56f4f1f449f382be1fede741f6137371ff87cf31166af2d58949225988a9c1a6bebb1b72e399d2a07ccd67bff860b7b2f258e38fe779363089a91df75 +DIST rust-1.86.0_beta20250218-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 745a4734949b577804360bdbce5814ba2daafacc29148fd0278d8443dfc54412e58b34745e287d39ea03a61e9bacc44aeb8ae47111e63b4aa572427e68cfa8d9 SHA512 88e444dd8d78f7c9075f61e1f223cbb63683579aed03a6f68c80c0b6e68ec4fda561020af4d2a5360c01cc04415cecafad2b54809e3060280201caf017068079 +DIST rust-1.86.0_beta20250218-x86_64-unknown-linux-gnu.tar.xz 182371436 BLAKE2B 1859fdb803b9da3433460fbf73c52b37dadc95f1b1760f90ad23f93342a230cd7a95ab1bd3e3809e2979126e155deef7cec38888a4c2fce410371f8033a67a2e SHA512 0f4756631ababb4e9961b7ae380cd39e2c3c1a7415bdf07519d2553e95f6d710573eb3cb6a84eca9bcb03af6e557a81cd35771bdf839d3e4ade39238a5744c63 +DIST rust-1.86.0_beta20250218-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 56f1e00d3e7ca2092ab7a5cc3e8465af4037ba99100e0773c4a65867428fc8adbeb0a571cae36ac1dd182c24eb5e5b89e306f476ae357ab387f6d5ff4d6a6bcf SHA512 bf17821fe53a0de5bb58ab03e87a9cd326bc4c97941a306909375285014bcd1126e5e32d62dac4a522f7a72b892c8371dfa3111f25d661a5d4e1a2ea802d3cee +DIST rust-1.86.0_beta20250218-x86_64-unknown-linux-musl.tar.xz 262699948 BLAKE2B 2197f33e5ccbc2e31925457c3af92ffe90dc258e66e9788a7520ab7a9ff3571214f099b14f4db80dff38e519a6f57784e85f335765816c7f44ae2edd96ea04a7 SHA512 a074b931d940bbc0cefb2d56fb9437afa1d002cc599a1779422d0f215eb9382b5b0322e31e0c92408d958ee561dcc9eabe237a6f8c7158986cd10ae550f4d9f6 +DIST rust-1.86.0_beta20250218-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 2b0c359da43e5b3645632f88bf6f776763571ef7d08d043ee806dc4991fc84b9d0c0b87b10cf12cf354c3a026d0665e17baf1316d00b10f3fdb1f47d834dbf6a SHA512 30013c2d6ebb6d63a49f0a54be584e7dbfe24ae4065313e70cae138c8533bc0afc2c46f05862828f1a97d3c398be91e140380b1d3d83c0a54976dfe3b5314efb DIST rust-src-1.71.1.tar.xz 2460244 BLAKE2B e3a5b5bfb808310f96e760aab55310c7a790fa551d248c9c5dbb407e0a80653563d8df73a9e0973aa63d3286aad6c755b78098dd8db2dc1a2ed3cadb926b40e1 SHA512 659cc46e1ece2ddbcf5ab748bae48843bd36353cc633b59e4ac062d843af66919e8d5c39ccb72ebdbf94a0e26a8056ade6bd1c8fe9a936469bd405122a8ae35d DIST rust-src-1.74.1.tar.xz 2544036 BLAKE2B d95431b69f102782f51878ff73ce8802cac6dab7909497c3231d1c479b95dc2a618cc6efd8bac9c6bd59a2b10dc6be05199f1e1bd74e45cc640ee52352c29268 SHA512 11467d0936193c5a5be8c2eba1aefe2b7028af48494698863de2c4057d68ce33dcee1fc66dc2d68b1d32f0202ce49e9b906727849de8f8d904dd07930e76d5a4 DIST rust-src-1.75.0.tar.xz 2570256 BLAKE2B 9db7ccff07ffe6991233e9f530321fd6ba48c561dcf1226537afa70c7d045421d8e83c5300b0866ec6fccfaae96dd67b9f204e9e0e12108c0c766d467cd78909 SHA512 e7565cea2f1658a05237a698e38880df2544319b41b6d8b0805db5f1f94fd3bb4f986967d0440fcdfe3a135e33246f3c747665b964f57ff5942f56133af78cdd @@ -449,5 +482,6 @@ DIST rust-src-1.80.1.tar.xz 2870456 BLAKE2B 9096fab01b38cc3ea2a32a2ab2e9052e5988 DIST rust-src-1.81.0.tar.xz 2901440 BLAKE2B 7ad2855c21728cc323108f7e45416a425a222e550c132818b302dc2b9fabc1281e560b0f097e1fc41e682f52b4524c69737096e12cc9e97a677828efab96dc2b SHA512 d38b1afc17a4cc7ba67d2e1b7d3dfbcc2a61ad96e87b130064d6788538817c27bce06c9fd7a4733de5b5862ff5f6aa441bf71ebaaae9ff80a86c354a6ec05e14 DIST rust-src-1.82.0.tar.xz 2966368 BLAKE2B 4162e7393ac21a095ac1541ea7b62fafa561ce2153bdd2b3723d0f2e0130fb2fb1325ac8583d87d64b6cf6b76400d12aaac144c781e89a177483adb46854c81b SHA512 4f7817eb16dbddf15ab09206738569370c42abe117086b085a7cc8f7174f9c2b42571707558642c72597236610eeeca32575b665acbc2cbc4f7709e624c16cc4 DIST rust-src-1.83.0.tar.xz 2998424 BLAKE2B de758c5bfb29865a3ab7ab02d17b0282272fa7d1cf5da333a6a19d6a16813320317785e9bab02e3ba9ca6ee9f26e0c96b00a117f33b74c82b13ece44133e3130 SHA512 e1f0ccae1fd4202d86cde1f1e2f4491983ec49fafb2b9eaca6260e9173bea0e0cc2567946e48e3ce48f0a620f63dc44d30334f06c935628158de110d43c7d53b -DIST rust-src-1.84.0.tar.xz 3016148 BLAKE2B e948d4edb88f81ecfb49f56a3ca6331c4e9de17bd9f56af823e1cefdc5098abebc2bb013d7c12ca1713a43fec588f33befcb7146713eeade1511914f70146d62 SHA512 ccb45d57c7cdac311478a5b4689144297717e6404f9c4fb168127804f13f72c15433b32765f90ce56e6f34435229e754241cb3656b28a4b33c6070b6f79b7c53 DIST rust-src-1.84.1.tar.xz 3016012 BLAKE2B c9edeaf0797a22e384c54b3fe3e7c833464c09f8828474e05400a561a369d836626387caa495689e4b14fad691a85d6859098c84347211a6f79e2ef2c8d9d6f2 SHA512 564c440a05b67fd3a5dcb4dea21800d32ae65ca12230b804b5efa4bd468fe1b185bd7ed89041782018f70f60afd7554d7755edbe20e9cdc930a9fad390deb317 +DIST rust-src-1.85.0.tar.xz 3036988 BLAKE2B b7281b23eef60cf052e1641a29915c02c590166a73e5ae75890072ce80f95a2ab71cead3e3da7adf757ec0352d1dcc87ba4c3070282a27657b34420fe24a0c16 SHA512 613cfa603dc457cee34b154acef9573d766ce5757c9e8342b13d362f2e62b4cee47071a59df9fd5fa42ecade1a9efdada5784402aaf7254d5996558533bff8db +DIST rust-src-1.86.0_beta20250218.tar.xz 3035860 BLAKE2B 506df30188382d43798c6661a8b730c10a74a230bf5ceb7c04f2892f14a45630182ee174f79b564dc5a6dd8e3bc84963b8391fc9641efc57d0ed90e69b89d545 SHA512 4c7cc4d1860f7d97f615ff5dc030754a7fb72d1eb47b27a2e25dbb5a9b0326b8a1b82b6b60a784da910c4730d3b728bb27e1d27f30dabdb7e455143550f0c424 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/metadata.xml index bc1f3f39e1..b5d78dd6ed 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/metadata.xml @@ -25,5 +25,6 @@ rust-lang/rust + projg2/rust-bootstrap diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.71.1-r102.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.71.1-r102.ebuild index a631c26c99..4a8c1bec78 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.71.1-r102.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.71.1-r102.ebuild @@ -18,6 +18,20 @@ HOMEPAGE="https://www.rust-lang.org/" SRC_URI="$(rust_all_arch_uris ${MY_P}) rust-src? ( ${MY_SRC_URI} ) " +# No point keeping this in the eclass; this is the only revision that needs the logic +SRC_URI+=" +mips? ( + abi_mips_o32? ( + big-endian? ( $(rust_arch_uri mips-unknown-linux-gnu "${MY_P}") ) + !big-endian? ( $(rust_arch_uri mipsel-unknown-linux-gnu "${MY_P}") ) + ) + abi_mips_n64? ( + big-endian? ( $(rust_arch_uri mips64-unknown-linux-gnuabi64 "${MY_P}") ) + !big-endian? ( $(rust_arch_uri mips64el-unknown-linux-gnuabi64 "${MY_P}") ) + ) +) +" + # Keep this separate to allow easy commenting out if not yet built SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/${MY_P}-sparc64-unknown-linux-gnu.tar.xz -> ${MY_P}-sparc64-unknown-linux-gnu.sam.tar.xz ) " diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.79.0-r102.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.78.0-r102.ebuild similarity index 94% rename from sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.79.0-r102.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.78.0-r102.ebuild index 069025b78e..1b42457944 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.79.0-r102.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.78.0-r102.ebuild @@ -8,14 +8,14 @@ LLVM_OPTIONAL="yes" inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal -MY_P="rust-${PV}" +MY_P="rust-${PV}-r101" # curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src" MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2024-06-13/rust-src-${PV}.tar.xz" -GENTOO_BIN_BASEURI="https://dev.gentoo.org/~arthurzam/distfiles/${CATEGORY}/${PN}" # omit leading slash +GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PV}-r101" # omit leading slash DESCRIPTION="Systems programming language from Mozilla" HOMEPAGE="https://www.rust-lang.org/" -SRC_URI="$(rust_all_arch_uris ${MY_P}) +SRC_URI="$(rust_all_arch_uris rust-${PV}) rust-src? ( ${MY_SRC_URI} ) " # Keep this separate to allow easy commenting out if not yet built @@ -33,6 +33,10 @@ SRC_URI+=" mips? ( SRC_URI+=" riscv? ( elibc_musl? ( ${GENTOO_BIN_BASEURI}/${MY_P}-riscv64gc-unknown-linux-musl.tar.xz ) )" +SRC_URI+=" ppc64? ( elibc_musl? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64-unknown-linux-musl.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64le-unknown-linux-musl.tar.xz ) +) )" LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" @@ -92,7 +96,7 @@ src_unpack() { default_src_unpack - mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die + mv "${WORKDIR}/rust-${PV}-$(rust_abi)" "${S}" || die } patchelf_for_bin() { diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.78.0-r101.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.79.0-r103.ebuild similarity index 93% rename from sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.78.0-r101.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.79.0-r103.ebuild index 28e01814d1..1b42457944 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.78.0-r101.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.79.0-r103.ebuild @@ -8,14 +8,14 @@ LLVM_OPTIONAL="yes" inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal -MY_P="rust-${PV}" +MY_P="rust-${PV}-r101" # curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src" -MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2024-05-02/rust-src-${PV}.tar.xz" -GENTOO_BIN_BASEURI="https://dev.gentoo.org/~arthurzam/distfiles/${CATEGORY}/${PN}" # omit leading slash +MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2024-06-13/rust-src-${PV}.tar.xz" +GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PV}-r101" # omit leading slash DESCRIPTION="Systems programming language from Mozilla" HOMEPAGE="https://www.rust-lang.org/" -SRC_URI="$(rust_all_arch_uris ${MY_P}) +SRC_URI="$(rust_all_arch_uris rust-${PV}) rust-src? ( ${MY_SRC_URI} ) " # Keep this separate to allow easy commenting out if not yet built @@ -33,6 +33,10 @@ SRC_URI+=" mips? ( SRC_URI+=" riscv? ( elibc_musl? ( ${GENTOO_BIN_BASEURI}/${MY_P}-riscv64gc-unknown-linux-musl.tar.xz ) )" +SRC_URI+=" ppc64? ( elibc_musl? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64-unknown-linux-musl.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64le-unknown-linux-musl.tar.xz ) +) )" LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" @@ -92,7 +96,7 @@ src_unpack() { default_src_unpack - mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die + mv "${WORKDIR}/rust-${PV}-$(rust_abi)" "${S}" || die } patchelf_for_bin() { diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.80.1-r102.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.80.1-r103.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.80.1-r102.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.80.1-r103.ebuild index 327beab669..9f33d6b279 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.80.1-r102.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.80.1-r103.ebuild @@ -8,14 +8,14 @@ LLVM_OPTIONAL="yes" inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal -MY_P="rust-${PV}" +MY_P="rust-${PV}-r101" # curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src" MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2024-08-08/rust-src-${PV}.tar.xz" -GENTOO_BIN_BASEURI="https://dev.gentoo.org/~arthurzam/distfiles/${CATEGORY}/${PN}" # omit leading slash +GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PV}-r101" # omit leading slash DESCRIPTION="Systems programming language from Mozilla" HOMEPAGE="https://www.rust-lang.org/" -SRC_URI="$(rust_all_arch_uris ${MY_P}) +SRC_URI="$(rust_all_arch_uris rust-${PV}) rust-src? ( ${MY_SRC_URI} ) " # Keep this separate to allow easy commenting out if not yet built @@ -96,7 +96,7 @@ src_unpack() { default_src_unpack - mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die + mv "${WORKDIR}/rust-${PV}-$(rust_abi)" "${S}" || die } patchelf_for_bin() { diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.81.0-r102.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.81.0-r103.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.81.0-r102.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.81.0-r103.ebuild index f139c60a53..1f1b15fc82 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.81.0-r102.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.81.0-r103.ebuild @@ -8,14 +8,14 @@ LLVM_OPTIONAL="yes" inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature -MY_P="rust-${PV}" +MY_P="rust-${PV}-r101" # curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src" MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2024-09-05/rust-src-${PV}.tar.xz" -GENTOO_BIN_BASEURI="https://dev.gentoo.org/~arthurzam/distfiles/${CATEGORY}/${PN}" # omit leading slash +GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PV}-r101" # omit leading slash DESCRIPTION="Systems programming language from Mozilla" HOMEPAGE="https://www.rust-lang.org/" -SRC_URI="$(rust_all_arch_uris ${MY_P}) +SRC_URI="$(rust_all_arch_uris rust-${PV}) rust-src? ( ${MY_SRC_URI} ) " # Keep this separate to allow easy commenting out if not yet built @@ -96,7 +96,7 @@ src_unpack() { default_src_unpack - mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die + mv "${WORKDIR}/rust-${PV}-$(rust_abi)" "${S}" || die } patchelf_for_bin() { diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.82.0-r102.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.82.0-r103.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.82.0-r102.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.82.0-r103.ebuild index 535a893ad0..9ac8de92f2 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.82.0-r102.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.82.0-r103.ebuild @@ -8,14 +8,14 @@ LLVM_OPTIONAL="yes" inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature -MY_P="rust-${PV}" +MY_P="rust-${PV}-r102" # curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src" MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2024-10-17/rust-src-${PV}.tar.xz" -GENTOO_BIN_BASEURI="https://dev.gentoo.org/~arthurzam/distfiles/${CATEGORY}/${PN}" # omit leading slash +GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PV}-r102" # omit leading slash DESCRIPTION="Systems programming language from Mozilla" HOMEPAGE="https://www.rust-lang.org/" -SRC_URI="$(rust_all_arch_uris ${MY_P}) +SRC_URI="$(rust_all_arch_uris rust-${PV}) rust-src? ( ${MY_SRC_URI} ) " # Keep this separate to allow easy commenting out if not yet built @@ -96,7 +96,7 @@ src_unpack() { default_src_unpack - mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die + mv "${WORKDIR}/rust-${PV}-$(rust_abi)" "${S}" || die } patchelf_for_bin() { diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.83.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.83.0-r2.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.83.0-r1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.83.0-r2.ebuild index ad77ff518f..6f9f25068b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.83.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.83.0-r2.ebuild @@ -8,14 +8,14 @@ LLVM_OPTIONAL="yes" inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature -MY_P="rust-${PV}" +MY_P="rust-${PV}-r2" # curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src" MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2024-11-28/rust-src-${PV}.tar.xz" -GENTOO_BIN_BASEURI="https://dev.gentoo.org/~arthurzam/distfiles/${CATEGORY}/${PN}" # omit leading slash +GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PV}-r2" # omit leading slash DESCRIPTION="Systems programming language from Mozilla" HOMEPAGE="https://www.rust-lang.org/" -SRC_URI="$(rust_all_arch_uris ${MY_P}) +SRC_URI="$(rust_all_arch_uris rust-${PV}) rust-src? ( ${MY_SRC_URI} ) " # Keep this separate to allow easy commenting out if not yet built @@ -96,7 +96,7 @@ src_unpack() { default_src_unpack - mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die + mv "${WORKDIR}/rust-${PV}-$(rust_abi)" "${S}" || die } patchelf_for_bin() { diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.84.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.84.0-r1.ebuild deleted file mode 100644 index 33c87f94a2..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.84.0-r1.ebuild +++ /dev/null @@ -1,252 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LLVM_COMPAT=( 19 ) -LLVM_OPTIONAL="yes" - -inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature - -MY_P="rust-${PV}" -# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src" -MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2025-01-09/rust-src-${PV}.tar.xz" -GENTOO_BIN_BASEURI="https://dev.gentoo.org/~arthurzam/distfiles/${CATEGORY}/${PN}" # omit leading slash - -DESCRIPTION="Systems programming language from Mozilla" -HOMEPAGE="https://www.rust-lang.org/" -SRC_URI="$(rust_all_arch_uris ${MY_P}) - rust-src? ( ${MY_SRC_URI} ) -" -# Keep this separate to allow easy commenting out if not yet built -SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/${MY_P}-sparc64-unknown-linux-gnu.tar.xz ) " -SRC_URI+=" mips? ( - abi_mips_o32? ( - big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips-unknown-linux-gnu.tar.xz ) - !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mipsel-unknown-linux-gnu.tar.xz ) - ) - abi_mips_n64? ( - big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64-unknown-linux-gnuabi64.tar.xz ) - !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64el-unknown-linux-gnuabi64.tar.xz ) - ) -)" -SRC_URI+=" riscv? ( - elibc_musl? ( ${GENTOO_BIN_BASEURI}/${MY_P}-riscv64gc-unknown-linux-musl.tar.xz ) -)" -SRC_URI+=" ppc64? ( elibc_musl? ( - big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64-unknown-linux-musl.tar.xz ) - !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64le-unknown-linux-musl.tar.xz ) -) )" - -LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" -SLOT="${PV}" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt" - -RDEPEND=" - >=app-eselect/eselect-rust-20190311 - dev-libs/openssl - sys-apps/lsb-release - sys-devel/gcc:* - !dev-lang/rust:stable - !dev-lang/rust-bin:stable -" -BDEPEND=" - prefix? ( dev-util/patchelf ) - verify-sig? ( sec-keys/openpgp-keys-rust ) -" - -REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )" - -# stripping rust may break it (at least on x86_64) -# https://github.com/rust-lang/rust/issues/112286 -RESTRICT="strip" - -QA_PREBUILT=" - opt/${P}/bin/.* - opt/${P}/lib/.*.so* - opt/${P}/libexec/.* - opt/${P}/lib/rustlib/.*/bin/.* - opt/${P}/lib/rustlib/.*/lib/.* -" - -# 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="opt/${P}/lib/rustlib/*/lib*.rlib:lib.rmeta" - -VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/rust.asc" - -pkg_pretend() { - if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then - die "${CHOST} is not supported by upstream Rust. You must use a hard float version." - fi -} - -src_unpack() { - # sadly rust-src tarball does not have corresponding .asc file - # so do partial verification - if use verify-sig; then - for f in ${A}; do - if [[ -f ${DISTDIR}/${f}.asc ]]; then - verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc" - fi - done - fi - - default_src_unpack - - mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die -} - -patchelf_for_bin() { - local filetype=$(file -b ${1}) - if [[ ${filetype} == *ELF*interpreter* ]]; then - einfo "${1}'s interpreter changed" - patchelf ${1} --set-interpreter ${2} || die - elif [[ ${filetype} == *script* ]]; then - hprefixify ${1} - fi -} - -multilib_src_install() { - if multilib_is_native_abi; then - - # start native abi install - pushd "${S}" >/dev/null || die - local analysis std - analysis="$(grep 'analysis' ./components)" - std="$(grep 'std' ./components)" - local components="rustc,cargo,${std}" - use doc && components="${components},rust-docs" - use clippy && components="${components},clippy-preview" - use rustfmt && components="${components},rustfmt-preview" - use rust-analyzer && components="${components},rust-analyzer-preview,${analysis}" - # Rust component 'rust-src' is extracted from separate archive - if use rust-src; then - einfo "Combining rust and rust-src installers" - mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die - echo rust-src >> ./components || die - components="${components},rust-src" - fi - ./install.sh \ - --components="${components}" \ - --disable-verify \ - --prefix="${ED}/opt/${P}" \ - --mandir="${ED}/opt/${P}/man" \ - --disable-ldconfig \ - || die - - docompress /opt/${P}/man/ - - if use prefix; then - local interpreter=$(patchelf --print-interpreter "${EPREFIX}"/bin/bash) - ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${P}/bin" - find "${ED}/opt/${P}/bin" -type f -print0 | \ - while IFS= read -r -d '' filename; do - patchelf_for_bin ${filename} ${interpreter} \; || die - done - eend $? - fi - - local symlinks=( - cargo - rustc - rustdoc - rust-gdb - rust-gdbgui - rust-lldb - ) - - use clippy && symlinks+=( clippy-driver cargo-clippy ) - use rustfmt && symlinks+=( rustfmt cargo-fmt ) - use rust-analyzer && symlinks+=( rust-analyzer ) - - einfo "installing eselect-rust symlinks and paths" - 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 /opt/rust-bin-/bin/rustc- - local ver_i="${i}-bin-${PV}" - ln -v "${ED}/opt/${P}/bin/${i}" "${ED}/opt/${P}/bin/${ver_i}" || die - dosym "../../opt/${P}/bin/${ver_i}" "/usr/bin/${ver_i}" - done - - # symlinks to switch components to active rust in eselect - dosym "../../../opt/${P}/lib" "/usr/lib/rust/lib-bin-${PV}" - dosym "../../../opt/${P}/man" "/usr/lib/rust/man-bin-${PV}" - dosym "../../opt/${P}/lib/rustlib" "/usr/lib/rustlib-bin-${PV}" - dosym "../../../opt/${P}/share/doc/rust" "/usr/share/doc/${P}" - - # make all capital underscored variable - local CARGO_TRIPLET="$(rust_abi)" - CARGO_TRIPLET="${CARGO_TRIPLET//-/_}" - CARGO_TRIPLET="${CARGO_TRIPLET^^}" - cat <<-_EOF_ > "${T}/50${P}" - MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${PV}" - $(usev elibc_musl "CARGO_TARGET_${CARGO_TRIPLET}_RUSTFLAGS=\"-C target-feature=-crt-static\"") - _EOF_ - doenvd "${T}/50${P}" - - # 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/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 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}" - popd >/dev/null || die - #end native abi install - - else - local rust_target - rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))" - dodir "/opt/${P}/lib/rustlib" - cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\ - "${ED}/opt/${P}/lib/rustlib" || die - fi - - # BUG: installs x86_64 binary on other arches - rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die -} - -pkg_postinst() { - eselect rust update - - if has_version dev-debug/gdb || has_version llvm-core/lldb; then - elog "Rust installs helper scripts for calling GDB and LLDB," - elog "for convenience they are 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-bin/rust-bin-1.84.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.84.1-r2.ebuild similarity index 96% rename from sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.84.1-r1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.84.1-r2.ebuild index dc92f05479..df7968f995 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.84.1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.84.1-r2.ebuild @@ -8,14 +8,14 @@ LLVM_OPTIONAL="yes" inherit llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature -MY_P="rust-${PV}" +MY_P="rust-${PV}-r1" # curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src" MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2025-01-30/rust-src-${PV}.tar.xz" -GENTOO_BIN_BASEURI="https://dev.gentoo.org/~arthurzam/distfiles/${CATEGORY}/${PN}" # omit leading slash +GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PV}-r1" # omit leading slash DESCRIPTION="Systems programming language from Mozilla" HOMEPAGE="https://www.rust-lang.org/" -SRC_URI="$(rust_all_arch_uris ${MY_P}) +SRC_URI="$(rust_all_arch_uris rust-${PV}) rust-src? ( ${MY_SRC_URI} ) " # Keep this separate to allow easy commenting out if not yet built @@ -40,7 +40,7 @@ SRC_URI+=" ppc64? ( elibc_musl? ( LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" -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="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt" RDEPEND=" @@ -96,7 +96,7 @@ src_unpack() { default_src_unpack - mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die + mv "${WORKDIR}/rust-${PV}-$(rust_abi)" "${S}" || die } patchelf_for_bin() { diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.85.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.85.0.ebuild new file mode 100644 index 0000000000..2934104307 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.85.0.ebuild @@ -0,0 +1,319 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 19 ) +LLVM_OPTIONAL="yes" + +inherit edo llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature + +if [[ ${PV} == *9999* ]]; then + # We need to fetch a tarball in src_unpack + PROPERTIES+=" live" +elif [[ ${PV} == *beta* ]]; then + # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep "xz_url.*rust-src" + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + RUST_TOOLCHAIN_BASEURL=https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/ + SRC_URI="$(rust_all_arch_uris rust-beta rust-${PV}) + rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/rust-src-beta.tar.xz -> rust-src-${PV}.tar.xz ) + " +else + # curl -Ls static.rust-lang.org/dist/channel-rust-${PV}.toml | grep "xz_url.*rust-src" + SRC_URI="$(rust_all_arch_uris "rust-${PV}") + rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/2025-02-20/rust-src-${PV}.tar.xz ) + ppc64? ( elibc_musl? ( !big-endian? ( + $(rust_arch_uri powerpc64le-unknown-linux-musl rust-${PV}) + ) ) ) + " + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +if [[ ${PV} != *9999* && ${PV} != *beta* ]] ; then + GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PV}" # omit trailing slash + MY_P=rust-${PV} + # Keep this separate to allow easy commenting out if not yet built + SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/${MY_P}-sparc64-unknown-linux-gnu.tar.xz ) " + SRC_URI+=" mips? ( + abi_mips_o32? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips-unknown-linux-gnu.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mipsel-unknown-linux-gnu.tar.xz ) + ) + abi_mips_n64? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64-unknown-linux-gnuabi64.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64el-unknown-linux-gnuabi64.tar.xz ) + ) + )" + SRC_URI+=" riscv? ( + elibc_musl? ( ${GENTOO_BIN_BASEURI}/${MY_P}-riscv64gc-unknown-linux-musl.tar.xz ) + )" + SRC_URI+=" ppc64? ( big-endian? ( + elibc_musl? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64-unknown-linux-musl.tar.xz ) + ) )" +fi + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual stable +IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + sys-apps/lsb-release + sys-devel/gcc:* + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" +BDEPEND=" + prefix? ( dev-util/patchelf ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" +[[ ${PV} == *9999* ]] && BDEPEND+=" net-misc/curl" + +REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )" + +# stripping rust may break it (at least on x86_64) +# https://github.com/rust-lang/rust/issues/112286 +RESTRICT="strip" + +QA_PREBUILT=" + opt/rust-bin-${SLOT}/bin/.* + opt/rust-bin-${SLOT}/lib/.*.so* + opt/rust-bin-${SLOT}/libexec/.* + opt/rust-bin-${SLOT}/lib/rustlib/.*/bin/.* + opt/rust-bin-${SLOT}/lib/rustlib/.*/lib/.* +" + +# 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="opt/${P}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/rust.asc" + +pkg_pretend() { + if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then + die "${CHOST} is not supported by upstream Rust. You must use a hard float version." + fi +} + +src_unpack() { + if [[ ${PV} == *9999* ]]; then + # We need to fetch the latest nightly listing and get the apprapriate src_uri for our arch + local rust_bin_url rustc_src_url + # Cut down on webrequests by fetching the nightly toml once + curl -Ls static.rust-lang.org/dist/channel-rust-nightly.toml > "${WORKDIR}/channel-rust-nightly.toml" || + die "Failed to fetch nightly revision info" + rustc_src_url=$(grep 'xz_url.*rust-src' "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2) + rust_bin_url=$(grep "xz_url.*rust-nightly-$(rust_abi)" "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2) + einfo "Using nightly Rust from: ${rust_bin_url}" + + if use rust-src; then + einfo "Using nightly Rust-src from: ${rustc_src_url}" + # We need to fetch the rust-src tarball + einfo "Fetching nightly rust-src tarball ..." + curl --progress-bar -L "${rustc_src_url}" -o "${WORKDIR}/rust-src-${PV}.tar.xz" || + die "Failed to fetch nightly rust-src tarball." + # no verify-sig here, just unpack it + tar -xf "${WORKDIR}/rust-src-${PV}.tar.xz" || die "Failed to unpack nightly rust-src tarball" + fi + + einfo "Fetching nightly Rust tarball ..." + curl --progress-bar -L "${rust_bin_url}" -O || die "Failed to fetch nightly tarball" + if use verify-sig; then + einfo "Fetching nightly signature ..." + curl --progress-bar -L "${rust_bin_url}.asc" -O || die "Failed to fetch nightly signature" + verify-sig_verify_detached "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz" \ + "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz.asc" + fi + tar -xf "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz" || die "Failed to unpack nightly tarball" + else + # sadly rust-src tarball does not have corresponding .asc file + # so do partial verification + if use verify-sig; then + for f in ${A}; do + if [[ -f ${DISTDIR}/${f}.asc ]]; then + verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc" + fi + done + fi + + default_src_unpack + + fi + case ${PV} in + *9999*) + mv "${WORKDIR}/rust-nightly-$(rust_abi)" "${S}" || die + ;; + *beta*) + mv "${WORKDIR}/rust-beta-$(rust_abi)" "${S}" || die + ;; + *) + mv "${WORKDIR}/rust-${PV}-$(rust_abi)" "${S}" || die + ;; + esac +} + +patchelf_for_bin() { + local filetype=$(file -b ${1}) + if [[ ${filetype} == *ELF*interpreter* ]]; then + einfo "${1}'s interpreter changed" + patchelf ${1} --set-interpreter ${2} || die + elif [[ ${filetype} == *script* ]]; then + hprefixify ${1} + fi +} + +rust_native_abi_install() { + pushd "${S}" >/dev/null || die + local analysis="$(grep 'analysis' ./components || die "analysis not found in components")" + local std="$(grep 'std' ./components || die "std not found in components")" + local components=( "rustc" "cargo" "${std}" ) + use doc && components+=( "rust-docs" ) + use clippy && components+=( "clippy-preview" ) + use rustfmt && components+=( "rustfmt-preview" ) + use rust-analyzer && components+=( "rust-analyzer-preview" "${analysis}" ) + # Rust component 'rust-src' is extracted from separate archive + if use rust-src; then + einfo "Combining rust and rust-src installers" + case ${PV} in + *9999*) + mv -v "${WORKDIR}/rust-src-nightly/rust-src" "${S}" || die + ;; + *beta*) + mv -v "${WORKDIR}/rust-src-beta/rust-src" "${S}" || die + ;; + *) + mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die + ;; + esac + echo rust-src >> ./components || die + components+=( "rust-src" ) + fi + edo ./install.sh \ + --components="$(IFS=,; echo "${components[*]}")" \ + --disable-verify \ + --prefix="${ED}/opt/rust-bin-${SLOT}" \ + --mandir="${ED}/opt/rust-bin-${SLOT}/man" \ + --disable-ldconfig + + docompress /opt/${P}/man/ + + if use prefix; then + local interpreter=$(patchelf --print-interpreter "${EPREFIX}"/bin/bash) + ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${SLOT}/bin" + find "${ED}/opt/${SLOT}/bin" -type f -print0 | \ + while IFS= read -r -d '' filename; do + patchelf_for_bin ${filename} ${interpreter} \; || die + done + eend $? + fi + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths" + 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 /opt/rust-bin-/bin/rustc- + local ver_i="${i}-bin-${SLOT}" + ln -v "${ED}/opt/rust-bin-${SLOT}/bin/${i}" "${ED}/opt/rust-bin-${SLOT}/bin/${ver_i}" || die + dosym -r "/opt/rust-bin-${SLOT}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym -r "/opt/rust-bin-${SLOT}/lib" "/usr/lib/rust/lib-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/man" "/usr/lib/rust/man-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/lib/rustlib" "/usr/lib/rustlib-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/share/doc/rust" "/usr/share/doc/rust-bin-${SLOT}" + + # make all capital underscored variable + local CARGO_TRIPLET="$(rust_abi)" + CARGO_TRIPLET="${CARGO_TRIPLET//-/_}" + CARGO_TRIPLET="${CARGO_TRIPLET^^}" + cat <<-_EOF_ > "${T}/50${P}" + MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${SLOT}" + $(usev elibc_musl "CARGO_TARGET_${CARGO_TRIPLET}_RUSTFLAGS=\"-C target-feature=-crt-static\"") + _EOF_ + doenvd "${T}/50${P}" + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${PN}-${SLOT}" + /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/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${PN}-${SLOT}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${PN}-${SLOT}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${PN}-${SLOT}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${PN}-${SLOT}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${PN}-${SLOT}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${PN}-${SLOT}" + popd >/dev/null || die +} + +multilib_src_install() { + if multilib_is_native_abi; then + rust_native_abi_install + else + local rust_target + rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))" + dodir "/opt/${P}/lib/rustlib" + cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\ + "${ED}/opt/${P}/lib/rustlib" || die + fi + + # BUG: installs x86_64 binary on other arches + rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die +} + +pkg_postinst() { + eselect rust update + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are 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-bin/rust-bin-1.86.0_beta20250218.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.86.0_beta20250218.ebuild new file mode 100644 index 0000000000..97bd2bca57 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.86.0_beta20250218.ebuild @@ -0,0 +1,317 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 19 ) +LLVM_OPTIONAL="yes" + +inherit edo llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature + +if [[ ${PV} == *9999* ]]; then + # We need to fetch a tarball in src_unpack + PROPERTIES+=" live" +elif [[ ${PV} == *beta* ]]; then + # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep "xz_url.*rust-src" + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + RUST_TOOLCHAIN_BASEURL=https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/ + SRC_URI="$(rust_all_arch_uris rust-beta rust-${PV}) + rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/rust-src-beta.tar.xz -> rust-src-${PV}.tar.xz ) + " +else + # curl -Ls static.rust-lang.org/dist/channel-rust-${PV}.toml | grep "xz_url.*rust-src" + SRC_URI="$(rust_all_arch_uris "${PV}") + rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/2025-01-30/rust-src-${PV}.tar.xz ) + " + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PVR}" # omit trailing slash + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +if [[ ${PV} != *9999* && ${PV} != *beta* ]] ; then + # Keep this separate to allow easy commenting out if not yet built + SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-sparc64-unknown-linux-gnu.tar.xz ) " + SRC_URI+=" mips? ( + abi_mips_o32? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips-unknown-linux-gnu.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mipsel-unknown-linux-gnu.tar.xz ) + ) + abi_mips_n64? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips64-unknown-linux-gnuabi64.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips64el-unknown-linux-gnuabi64.tar.xz ) + ) + )" + SRC_URI+=" riscv? ( + elibc_musl? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-riscv64gc-unknown-linux-musl.tar.xz ) + )" + SRC_URI+=" ppc64? ( elibc_musl? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-powerpc64-unknown-linux-musl.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-powerpc64le-unknown-linux-musl.tar.xz ) + ) )" +fi + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual stable +IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + sys-apps/lsb-release + sys-devel/gcc:* + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" +BDEPEND=" + prefix? ( dev-util/patchelf ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" +[[ ${PV} == *9999* ]] && BDEPEND+=" net-misc/curl" + +REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )" + +# stripping rust may break it (at least on x86_64) +# https://github.com/rust-lang/rust/issues/112286 +RESTRICT="strip" + +QA_PREBUILT=" + opt/rust-bin-${SLOT}/bin/.* + opt/rust-bin-${SLOT}/lib/.*.so* + opt/rust-bin-${SLOT}/libexec/.* + opt/rust-bin-${SLOT}/lib/rustlib/.*/bin/.* + opt/rust-bin-${SLOT}/lib/rustlib/.*/lib/.* +" + +# 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="opt/${P}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/rust.asc" + +pkg_pretend() { + if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then + die "${CHOST} is not supported by upstream Rust. You must use a hard float version." + fi +} + +src_unpack() { + if [[ ${PV} == *9999* ]]; then + # We need to fetch the latest nightly listing and get the apprapriate src_uri for our arch + local rust_bin_url rustc_src_url + # Cut down on webrequests by fetching the nightly toml once + curl -Ls static.rust-lang.org/dist/channel-rust-nightly.toml > "${WORKDIR}/channel-rust-nightly.toml" || + die "Failed to fetch nightly revision info" + rustc_src_url=$(grep 'xz_url.*rust-src' "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2) + rust_bin_url=$(grep "xz_url.*rust-nightly-$(rust_abi)" "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2) + einfo "Using nightly Rust from: ${rust_bin_url}" + + if use rust-src; then + einfo "Using nightly Rust-src from: ${rustc_src_url}" + # We need to fetch the rust-src tarball + einfo "Fetching nightly rust-src tarball ..." + curl --progress-bar -L "${rustc_src_url}" -o "${WORKDIR}/rust-src-${PV}.tar.xz" || + die "Failed to fetch nightly rust-src tarball." + # no verify-sig here, just unpack it + tar -xf "${WORKDIR}/rust-src-${PV}.tar.xz" || die "Failed to unpack nightly rust-src tarball" + fi + + einfo "Fetching nightly Rust tarball ..." + curl --progress-bar -L "${rust_bin_url}" -O || die "Failed to fetch nightly tarball" + if use verify-sig; then + einfo "Fetching nightly signature ..." + curl --progress-bar -L "${rust_bin_url}.asc" -O || die "Failed to fetch nightly signature" + verify-sig_verify_detached "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz" \ + "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz.asc" + fi + tar -xf "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz" || die "Failed to unpack nightly tarball" + else + # sadly rust-src tarball does not have corresponding .asc file + # so do partial verification + if use verify-sig; then + for f in ${A}; do + if [[ -f ${DISTDIR}/${f}.asc ]]; then + verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc" + fi + done + fi + + default_src_unpack + + fi + case ${PV} in + *9999*) + mv "${WORKDIR}/rust-nightly-$(rust_abi)" "${S}" || die + ;; + *beta*) + mv "${WORKDIR}/rust-beta-$(rust_abi)" "${S}" || die + ;; + *) + mv "${WORKDIR}/rust-${PV}-$(rust_abi)" "${S}" || die + ;; + esac +} + +patchelf_for_bin() { + local filetype=$(file -b ${1}) + if [[ ${filetype} == *ELF*interpreter* ]]; then + einfo "${1}'s interpreter changed" + patchelf ${1} --set-interpreter ${2} || die + elif [[ ${filetype} == *script* ]]; then + hprefixify ${1} + fi +} + +rust_native_abi_install() { + pushd "${S}" >/dev/null || die + local analysis="$(grep 'analysis' ./components || die "analysis not found in components")" + local std="$(grep 'std' ./components || die "std not found in components")" + local components=( "rustc" "cargo" "${std}" ) + use doc && components+=( "rust-docs" ) + use clippy && components+=( "clippy-preview" ) + use rustfmt && components+=( "rustfmt-preview" ) + use rust-analyzer && components+=( "rust-analyzer-preview" "${analysis}" ) + # Rust component 'rust-src' is extracted from separate archive + if use rust-src; then + einfo "Combining rust and rust-src installers" + case ${PV} in + *9999*) + mv -v "${WORKDIR}/rust-src-nightly/rust-src" "${S}" || die + ;; + *beta*) + mv -v "${WORKDIR}/rust-src-beta/rust-src" "${S}" || die + ;; + *) + mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die + ;; + esac + echo rust-src >> ./components || die + components+=( "rust-src" ) + fi + edo ./install.sh \ + --components="$(IFS=,; echo "${components[*]}")" \ + --disable-verify \ + --prefix="${ED}/opt/rust-bin-${SLOT}" \ + --mandir="${ED}/opt/rust-bin-${SLOT}/man" \ + --disable-ldconfig + + docompress /opt/${P}/man/ + + if use prefix; then + local interpreter=$(patchelf --print-interpreter "${EPREFIX}"/bin/bash) + ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${SLOT}/bin" + find "${ED}/opt/${SLOT}/bin" -type f -print0 | \ + while IFS= read -r -d '' filename; do + patchelf_for_bin ${filename} ${interpreter} \; || die + done + eend $? + fi + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths" + 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 /opt/rust-bin-/bin/rustc- + local ver_i="${i}-bin-${SLOT}" + ln -v "${ED}/opt/rust-bin-${SLOT}/bin/${i}" "${ED}/opt/rust-bin-${SLOT}/bin/${ver_i}" || die + dosym -r "/opt/rust-bin-${SLOT}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym -r "/opt/rust-bin-${SLOT}/lib" "/usr/lib/rust/lib-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/man" "/usr/lib/rust/man-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/lib/rustlib" "/usr/lib/rustlib-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/share/doc/rust" "/usr/share/doc/rust-bin-${SLOT}" + + # make all capital underscored variable + local CARGO_TRIPLET="$(rust_abi)" + CARGO_TRIPLET="${CARGO_TRIPLET//-/_}" + CARGO_TRIPLET="${CARGO_TRIPLET^^}" + cat <<-_EOF_ > "${T}/50${P}" + MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${SLOT}" + $(usev elibc_musl "CARGO_TARGET_${CARGO_TRIPLET}_RUSTFLAGS=\"-C target-feature=-crt-static\"") + _EOF_ + doenvd "${T}/50${P}" + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${PN}-${SLOT}" + /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/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${PN}-${SLOT}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${PN}-${SLOT}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${PN}-${SLOT}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${PN}-${SLOT}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${PN}-${SLOT}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${PN}-${SLOT}" + popd >/dev/null || die +} + +multilib_src_install() { + if multilib_is_native_abi; then + rust_native_abi_install + else + local rust_target + rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))" + dodir "/opt/${P}/lib/rustlib" + cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\ + "${ED}/opt/${P}/lib/rustlib" || die + fi + + # BUG: installs x86_64 binary on other arches + rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die +} + +pkg_postinst() { + eselect rust update + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are 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-bin/rust-bin-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-9999.ebuild new file mode 100644 index 0000000000..2e2e6314f8 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-9999.ebuild @@ -0,0 +1,317 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +LLVM_OPTIONAL="yes" + +inherit edo llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal optfeature + +if [[ ${PV} == *9999* ]]; then + # We need to fetch a tarball in src_unpack + PROPERTIES+=" live" +elif [[ ${PV} == *beta* ]]; then + # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep "xz_url.*rust-src" + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + RUST_TOOLCHAIN_BASEURL=https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/ + SRC_URI="$(rust_all_arch_uris rust-beta rust-${PV}) + rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/rust-src-beta.tar.xz -> rust-src-${PV}.tar.xz ) + " +else + # curl -Ls static.rust-lang.org/dist/channel-rust-${PV}.toml | grep "xz_url.*rust-src" + SRC_URI="$(rust_all_arch_uris "${PV}") + rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/2025-01-30/rust-src-${PV}.tar.xz ) + " + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PVR}" # omit trailing slash + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +if [[ ${PV} != *9999* && ${PV} != *beta* ]] ; then + # Keep this separate to allow easy commenting out if not yet built + SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-sparc64-unknown-linux-gnu.tar.xz ) " + SRC_URI+=" mips? ( + abi_mips_o32? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips-unknown-linux-gnu.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mipsel-unknown-linux-gnu.tar.xz ) + ) + abi_mips_n64? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips64-unknown-linux-gnuabi64.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips64el-unknown-linux-gnuabi64.tar.xz ) + ) + )" + SRC_URI+=" riscv? ( + elibc_musl? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-riscv64gc-unknown-linux-musl.tar.xz ) + )" + SRC_URI+=" ppc64? ( elibc_musl? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-powerpc64-unknown-linux-musl.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-powerpc64le-unknown-linux-musl.tar.xz ) + ) )" +fi + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual stable +IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + sys-apps/lsb-release + sys-devel/gcc:* + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" +BDEPEND=" + prefix? ( dev-util/patchelf ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" +[[ ${PV} == *9999* ]] && BDEPEND+=" net-misc/curl" + +REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )" + +# stripping rust may break it (at least on x86_64) +# https://github.com/rust-lang/rust/issues/112286 +RESTRICT="strip" + +QA_PREBUILT=" + opt/rust-bin-${SLOT}/bin/.* + opt/rust-bin-${SLOT}/lib/.*.so* + opt/rust-bin-${SLOT}/libexec/.* + opt/rust-bin-${SLOT}/lib/rustlib/.*/bin/.* + opt/rust-bin-${SLOT}/lib/rustlib/.*/lib/.* +" + +# 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="opt/${P}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/rust.asc" + +pkg_pretend() { + if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then + die "${CHOST} is not supported by upstream Rust. You must use a hard float version." + fi +} + +src_unpack() { + if [[ ${PV} == *9999* ]]; then + # We need to fetch the latest nightly listing and get the apprapriate src_uri for our arch + local rust_bin_url rustc_src_url + # Cut down on webrequests by fetching the nightly toml once + curl -Ls static.rust-lang.org/dist/channel-rust-nightly.toml > "${WORKDIR}/channel-rust-nightly.toml" || + die "Failed to fetch nightly revision info" + rustc_src_url=$(grep 'xz_url.*rust-src' "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2) + rust_bin_url=$(grep "xz_url.*rust-nightly-$(rust_abi)" "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2) + einfo "Using nightly Rust from: ${rust_bin_url}" + + if use rust-src; then + einfo "Using nightly Rust-src from: ${rustc_src_url}" + # We need to fetch the rust-src tarball + einfo "Fetching nightly rust-src tarball ..." + curl --progress-bar -L "${rustc_src_url}" -o "${WORKDIR}/rust-src-${PV}.tar.xz" || + die "Failed to fetch nightly rust-src tarball." + # no verify-sig here, just unpack it + tar -xf "${WORKDIR}/rust-src-${PV}.tar.xz" || die "Failed to unpack nightly rust-src tarball" + fi + + einfo "Fetching nightly Rust tarball ..." + curl --progress-bar -L "${rust_bin_url}" -O || die "Failed to fetch nightly tarball" + if use verify-sig; then + einfo "Fetching nightly signature ..." + curl --progress-bar -L "${rust_bin_url}.asc" -O || die "Failed to fetch nightly signature" + verify-sig_verify_detached "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz" \ + "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz.asc" + fi + tar -xf "${WORKDIR}/rust-nightly-$(rust_abi).tar.xz" || die "Failed to unpack nightly tarball" + else + # sadly rust-src tarball does not have corresponding .asc file + # so do partial verification + if use verify-sig; then + for f in ${A}; do + if [[ -f ${DISTDIR}/${f}.asc ]]; then + verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc" + fi + done + fi + + default_src_unpack + + fi + case ${PV} in + *9999*) + mv "${WORKDIR}/rust-nightly-$(rust_abi)" "${S}" || die + ;; + *beta*) + mv "${WORKDIR}/rust-beta-$(rust_abi)" "${S}" || die + ;; + *) + mv "${WORKDIR}/rust-${PV}-$(rust_abi)" "${S}" || die + ;; + esac +} + +patchelf_for_bin() { + local filetype=$(file -b ${1}) + if [[ ${filetype} == *ELF*interpreter* ]]; then + einfo "${1}'s interpreter changed" + patchelf ${1} --set-interpreter ${2} || die + elif [[ ${filetype} == *script* ]]; then + hprefixify ${1} + fi +} + +rust_native_abi_install() { + pushd "${S}" >/dev/null || die + local analysis="$(grep 'analysis' ./components || die "analysis not found in components")" + local std="$(grep 'std' ./components || die "std not found in components")" + local components=( "rustc" "cargo" "${std}" ) + use doc && components+=( "rust-docs" ) + use clippy && components+=( "clippy-preview" ) + use rustfmt && components+=( "rustfmt-preview" ) + use rust-analyzer && components+=( "rust-analyzer-preview" "${analysis}" ) + # Rust component 'rust-src' is extracted from separate archive + if use rust-src; then + einfo "Combining rust and rust-src installers" + case ${PV} in + *9999*) + mv -v "${WORKDIR}/rust-src-nightly/rust-src" "${S}" || die + ;; + *beta*) + mv -v "${WORKDIR}/rust-src-beta/rust-src" "${S}" || die + ;; + *) + mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die + ;; + esac + echo rust-src >> ./components || die + components+=( "rust-src" ) + fi + edo ./install.sh \ + --components="$(IFS=,; echo "${components[*]}")" \ + --disable-verify \ + --prefix="${ED}/opt/rust-bin-${SLOT}" \ + --mandir="${ED}/opt/rust-bin-${SLOT}/man" \ + --disable-ldconfig + + docompress /opt/${P}/man/ + + if use prefix; then + local interpreter=$(patchelf --print-interpreter "${EPREFIX}"/bin/bash) + ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${SLOT}/bin" + find "${ED}/opt/${SLOT}/bin" -type f -print0 | \ + while IFS= read -r -d '' filename; do + patchelf_for_bin ${filename} ${interpreter} \; || die + done + eend $? + fi + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths" + 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 /opt/rust-bin-/bin/rustc- + local ver_i="${i}-bin-${SLOT}" + ln -v "${ED}/opt/rust-bin-${SLOT}/bin/${i}" "${ED}/opt/rust-bin-${SLOT}/bin/${ver_i}" || die + dosym -r "/opt/rust-bin-${SLOT}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym -r "/opt/rust-bin-${SLOT}/lib" "/usr/lib/rust/lib-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/man" "/usr/lib/rust/man-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/lib/rustlib" "/usr/lib/rustlib-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/share/doc/rust" "/usr/share/doc/rust-bin-${SLOT}" + + # make all capital underscored variable + local CARGO_TRIPLET="$(rust_abi)" + CARGO_TRIPLET="${CARGO_TRIPLET//-/_}" + CARGO_TRIPLET="${CARGO_TRIPLET^^}" + cat <<-_EOF_ > "${T}/50${P}" + MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${SLOT}" + $(usev elibc_musl "CARGO_TARGET_${CARGO_TRIPLET}_RUSTFLAGS=\"-C target-feature=-crt-static\"") + _EOF_ + doenvd "${T}/50${P}" + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${PN}-${SLOT}" + /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/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${PN}-${SLOT}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${PN}-${SLOT}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${PN}-${SLOT}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${PN}-${SLOT}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${PN}-${SLOT}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${PN}-${SLOT}" + popd >/dev/null || die +} + +multilib_src_install() { + if multilib_is_native_abi; then + rust_native_abi_install + else + local rust_target + rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))" + dodir "/opt/${P}/lib/rustlib" + cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\ + "${ED}/opt/${P}/lib/rustlib" || die + fi + + # BUG: installs x86_64 binary on other arches + rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die +} + +pkg_postinst() { + eselect rust update + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are 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-common/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/Manifest index 5535a17248..39547e8606 100644 --- 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 @@ -4,7 +4,9 @@ DIST rustc-1.82.0-src.tar.xz 219769328 BLAKE2B 611f33e134c2d459c9af1695c0a4d033d DIST rustc-1.82.0-src.tar.xz.asc 801 BLAKE2B 8138fb15b8d7ec15be45378fe663207a8e87e3c527348ab079995b1840a771ed6e9d5464eb8855ac9e006c0cfcf54b1a4fea489d31e6c9899cb03e6f4c737b67 SHA512 3cd6b27e72041baf9996efa10f25aca2e04f3e3727b60ecfd90c1bef9c52d216d2dc130802f935b110e35766645a27637a01661aa8d5acf02bf64b02a107c93c DIST rustc-1.83.0-src.tar.xz 353808388 BLAKE2B 217c85f7351a7c57a2684da2c7c81a32094187b3812dee628b327a5b2faca57235abc54d033c586c071c8bfa0c7360bb28761aaa42fe18414e388db704d81231 SHA512 64db57949c6ac1df6a3f4c6bd0938685a5fb1bc3d318b34ccfcfccb0f9eff1cffd4d8a53a190ef0409eeca9ad12bc6234c2c1de69196cc74ae02d6afa20d0ce6 DIST rustc-1.83.0-src.tar.xz.asc 801 BLAKE2B 3bacb43d50ebba579dc2d4f1726298a7887e303e15f039ef72b840e30d90bc2cf9cdbe4617a9ee113a2b1a48f1982e72cf30323d72cdfb9a65b5b4d734ca0024 SHA512 84b252ccaddc06cb05858ff64f582dd25823818c81b1e3a00362deeda06f09e6c36948fd316d5f0ca5e24949e6f99bb14a14dbd2af1cfbb85e679e27ab0a813c -DIST rustc-1.84.0-src.tar.xz 354993944 BLAKE2B e4697d8a9f42484556ed490390aef535b2214ccb3715ade57936211c1c637737da5f2b9a6c53a30df0fba1744fbd80d4d1382c0b74f6b36b36098bf187557201 SHA512 9e964c1b964e74083a9002fa04b072fa8fe7a520b24ad55e88a89bb2a2a2cd5727c5438d6db425b824ae7502ab215c2dd3f49777efd65f76bae09965df2e070a -DIST rustc-1.84.0-src.tar.xz.asc 801 BLAKE2B b1846702f36b92c479499f5eb704ce1e272131fc1b6b625c8d64c873a82ed79b1de8cceb1f21ae4b9dccf81e258547debf367b7b769ac94ed10a59dee18f79f1 SHA512 5ada0e0fed9901044eaa0d7cb657f685c7e183e91245714abe4a0a8bf3062a7de281932c7de7587220df0542511f6011d057bd8bed19d98c755eab74091cdfdb DIST rustc-1.84.1-src.tar.xz 355078168 BLAKE2B 849e8c909493bf76ce9749b9dcb1967180223b91a41d690bc477e78557d4e24949c9a8d8276d824af8c54ad62bc4a998e7a8efbc0bbd2008a4f64f51a7690d48 SHA512 f1cc4765736551508408126e44086988e8ddc30c1a929bf7b61c6be85ad0d65928dd5fb1041cfaeee8eb37d2208f2c1917e276aef2bc9a8e40e34f6713b349e1 DIST rustc-1.84.1-src.tar.xz.asc 801 BLAKE2B f3decd3470fd1eff33adbb376490a30eb8db28dd4176bde0fefe4f60acf79c3dd0e1a330d519b5319360136ea7d0a124f6720dea08617202d9e9298da992ccf6 SHA512 a241fe3efba293f3e872b74f09dd0d184e0239afd1416326d57bf1134d92721c65b187f5c99962b51671877a539f18e82d2d797c76af42615c11a8bb3905f796 +DIST rustc-1.85.0-src.tar.xz 274011696 BLAKE2B 9cb1c5b9fa9b0ee8a3150d634b58f4d14c38342f19cffbdcaa4e783150f9b3c516763d549d9998d90e11377cd59e9d9442a99079aafccdc005739b075574447a SHA512 3e9c933d1d9b6e5fb081837cf07eb1638b1a6b4fd1cb607dd860c5021ba7b521edbaf8ba0fa8f182f62178b72a3e1a3e6b26675e8fb6530871137852a074443c +DIST rustc-1.85.0-src.tar.xz.asc 801 BLAKE2B 8168c984f69356898f7a51199f3250a51c58a6512463cd5011acdff8c63754ba196bb050dba95b73d37c7e6d4bbcd3d1cb471d067a6615cd81b8969394e3539a SHA512 b96fffde7eb3d98cca6abe44e671fd4752416357ab3180d2a09a60fc022ac03d10e64ae285ef6276b8d881d6154fd7398f46666f5a2ea6f3023ea38fd543f59e +DIST rustc-1.86.0_beta20250218-src.tar.xz 280540916 BLAKE2B ed3fe1b1ce392ffd264dd78c00e43b478d14c6bf9bc7120aa484c46a72ff904abf3ed1d1d539828a22071997860d186ecf9d5d4abed25f14cbbe0068dee06a5e SHA512 bd8982d6adee08e0b39a58786741594e0c651cd107818178aca0ded3c3272239be3c4f0f6b617679bc8b1cea67e4b5924d6bb1ae8a9d5903fb77245dd8ac528b +DIST rustc-1.86.0_beta20250218-src.tar.xz.asc 801 BLAKE2B 8a7c489f9087342074262c64089922b97e886aa6d3f89c2a0ed1185e084c8bed07d57c363608f26536ca884d764aa43e3ade214ab4fe4e67e9c6d7e1338e93aa SHA512 d34b536200fdb4c7e85af005b1753ce88f32a1faa418a01de21de992679d744ec396fd0f9aaaf851569de1f4f06f14a6481b68b1378659b3475d30818421ea3a diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.84.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.84.0.ebuild deleted file mode 100644 index 0969c3472e..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.84.0.ebuild +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright 1999-2025 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.84.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.84.1.ebuild index 0969c3472e..778c5e0324 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.84.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.84.1.ebuild @@ -27,7 +27,7 @@ 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" +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86" # Legacy non-slotted versions bash completions will collide. RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.85.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.85.0.ebuild new file mode 100644 index 0000000000..223c50f26f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.85.0.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2025 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 shell-completion verify-sig + +DESCRIPTION="Common files shared between multiple slots of Rust" +HOMEPAGE="https://www.rust-lang.org/" + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + # In case cargo is not in sync we'll fetch it as a submodule + # Nightly users will probably already have the repo cloned and up-to-date anyway. + EGIT_REPO_URI="https://github.com/rust-lang/rust.git" + EGIT_SUBMODULES=( "-*" "src/tools/cargo" ) +elif [[ ${PV} == *beta* ]]; then + # Identify the snapshot date of the beta release: + # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep beta-src.tar.xz + MY_PV=beta + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + SRC_URI="https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz + verify-sig? ( https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc + -> rustc-${PV}-src.tar.xz.asc ) + " + S="${WORKDIR}/rustc-${MY_PV}-src" +else + MY_PV=${PV} + SRC_URI="https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz + verify-sig? ( https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz.asc ) + " + S="${WORKDIR}/rustc-${MY_PV}-src" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="0" + +# 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 [[ ${PV} == *9999* ]]; then + git-r3_src_unpack + else + if use verify-sig ; then + verify-sig_verify_detached "${DISTDIR}"/rustc-${PV}-src.tar.xz "${DISTDIR}"/rustc-${PV}-src.tar.xz.asc + fi + + # Avoid unpacking the whole tarball which would need check-reqs + tar -xf "${DISTDIR}"/rustc-${PV}-src.tar.xz "rustc-${MY_PV}-src/src/tools/cargo/src/etc/"{_cargo,cargo.bashcomp.sh} || die + fi +} + +src_configure() { + : +} + +src_compile() { + : +} + +src_install() { + newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo + dozshcomp src/tools/cargo/src/etc/_cargo +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.86.0_beta20250218.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.86.0_beta20250218.ebuild new file mode 100644 index 0000000000..223c50f26f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.86.0_beta20250218.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2025 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 shell-completion verify-sig + +DESCRIPTION="Common files shared between multiple slots of Rust" +HOMEPAGE="https://www.rust-lang.org/" + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + # In case cargo is not in sync we'll fetch it as a submodule + # Nightly users will probably already have the repo cloned and up-to-date anyway. + EGIT_REPO_URI="https://github.com/rust-lang/rust.git" + EGIT_SUBMODULES=( "-*" "src/tools/cargo" ) +elif [[ ${PV} == *beta* ]]; then + # Identify the snapshot date of the beta release: + # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep beta-src.tar.xz + MY_PV=beta + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + SRC_URI="https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz + verify-sig? ( https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc + -> rustc-${PV}-src.tar.xz.asc ) + " + S="${WORKDIR}/rustc-${MY_PV}-src" +else + MY_PV=${PV} + SRC_URI="https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz + verify-sig? ( https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz.asc ) + " + S="${WORKDIR}/rustc-${MY_PV}-src" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="0" + +# 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 [[ ${PV} == *9999* ]]; then + git-r3_src_unpack + else + if use verify-sig ; then + verify-sig_verify_detached "${DISTDIR}"/rustc-${PV}-src.tar.xz "${DISTDIR}"/rustc-${PV}-src.tar.xz.asc + fi + + # Avoid unpacking the whole tarball which would need check-reqs + tar -xf "${DISTDIR}"/rustc-${PV}-src.tar.xz "rustc-${MY_PV}-src/src/tools/cargo/src/etc/"{_cargo,cargo.bashcomp.sh} || die + fi +} + +src_configure() { + : +} + +src_compile() { + : +} + +src_install() { + newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo + dozshcomp src/tools/cargo/src/etc/_cargo +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-9999.ebuild new file mode 100644 index 0000000000..223c50f26f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-9999.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2025 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 shell-completion verify-sig + +DESCRIPTION="Common files shared between multiple slots of Rust" +HOMEPAGE="https://www.rust-lang.org/" + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + # In case cargo is not in sync we'll fetch it as a submodule + # Nightly users will probably already have the repo cloned and up-to-date anyway. + EGIT_REPO_URI="https://github.com/rust-lang/rust.git" + EGIT_SUBMODULES=( "-*" "src/tools/cargo" ) +elif [[ ${PV} == *beta* ]]; then + # Identify the snapshot date of the beta release: + # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep beta-src.tar.xz + MY_PV=beta + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + SRC_URI="https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz + verify-sig? ( https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc + -> rustc-${PV}-src.tar.xz.asc ) + " + S="${WORKDIR}/rustc-${MY_PV}-src" +else + MY_PV=${PV} + SRC_URI="https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz + verify-sig? ( https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz.asc ) + " + S="${WORKDIR}/rustc-${MY_PV}-src" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="0" + +# 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 [[ ${PV} == *9999* ]]; then + git-r3_src_unpack + else + if use verify-sig ; then + verify-sig_verify_detached "${DISTDIR}"/rustc-${PV}-src.tar.xz "${DISTDIR}"/rustc-${PV}-src.tar.xz.asc + fi + + # Avoid unpacking the whole tarball which would need check-reqs + tar -xf "${DISTDIR}"/rustc-${PV}-src.tar.xz "rustc-${MY_PV}-src/src/tools/cargo/src/etc/"{_cargo,cargo.bashcomp.sh} || die + fi +} + +src_configure() { + : +} + +src_compile() { + : +} + +src_install() { + newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo + dozshcomp src/tools/cargo/src/etc/_cargo +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/rust/Manifest index f47aaa2f52..13a4945a02 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/Manifest @@ -1,3 +1,4 @@ +DIST rust-1.86.0_beta20250218-vendor-in-install-phase.patch 22553 BLAKE2B a99d31c5ceeec4c74453849d87c35969ad3924cff48861a1c3009c78ac59440c8a1bd3088f0dace262558cff27197a932f3c81872d4ede4f3c5a03c27e6dc316 SHA512 228c551b7dfd4b43e3b34a97c7d55121cfc15f4c999c15e8ee2a30b41757099ae493148aaedf86f5e4e4143e26ae02464ab725162f1dcad68a0315cfadf3ab8a DIST rustc-1.71.1-src.tar.xz 151983068 BLAKE2B 3dfdbc246feb84a79ae94c2de978c5585ee06cf6b683d2245869b62e28f7c79f89cc589f5431537713bf088236a0b824acefc1b68e418e9eb72e1eea98054e3f SHA512 fd0e5a16bdbeb539184513583089e55f681cb772810df357b6b1464853f7022ac02edab3dd155b2262ed0047e2a25dea3808dd078dcdfce9d399384465009db4 DIST rustc-1.71.1-src.tar.xz.asc 801 BLAKE2B a88c073a70552d73e2d7695eceabdaa478f34501b7271fabf7f4a09f3efa545181f34353e45776b05918e6aeba88adb02f9731454f7085a7abf1602fc6589983 SHA512 9dd0406cf22f1daa7fcfd015fc1c6f8d36586aa99bf14c1491ee464c1f892ab759feb83e8b55b64713170fb777fdbe038fb5fd01a59c911b6599223baaba0677 DIST rustc-1.74.1-src.tar.xz 155968724 BLAKE2B e05f2379ac94b286f85791a138e1928e5b5b5a7749f0981d82c40c2a12860f55bf96bb2f0e924e35a0f8b2447b13052d38adea909aaa3199105787bb5a4861b3 SHA512 14c7e7ed2f38ab60299d8c7d41d78f042b6b57ef822d577b5138e60bdde31cf141eccd4332a25bc5da3d58eb5313d63c1448b5dfe9e11b8055bb8ea133a9038d @@ -20,7 +21,9 @@ DIST rustc-1.82.0-src.tar.xz 219769328 BLAKE2B 611f33e134c2d459c9af1695c0a4d033d DIST rustc-1.82.0-src.tar.xz.asc 801 BLAKE2B 8138fb15b8d7ec15be45378fe663207a8e87e3c527348ab079995b1840a771ed6e9d5464eb8855ac9e006c0cfcf54b1a4fea489d31e6c9899cb03e6f4c737b67 SHA512 3cd6b27e72041baf9996efa10f25aca2e04f3e3727b60ecfd90c1bef9c52d216d2dc130802f935b110e35766645a27637a01661aa8d5acf02bf64b02a107c93c DIST rustc-1.83.0-src.tar.xz 353808388 BLAKE2B 217c85f7351a7c57a2684da2c7c81a32094187b3812dee628b327a5b2faca57235abc54d033c586c071c8bfa0c7360bb28761aaa42fe18414e388db704d81231 SHA512 64db57949c6ac1df6a3f4c6bd0938685a5fb1bc3d318b34ccfcfccb0f9eff1cffd4d8a53a190ef0409eeca9ad12bc6234c2c1de69196cc74ae02d6afa20d0ce6 DIST rustc-1.83.0-src.tar.xz.asc 801 BLAKE2B 3bacb43d50ebba579dc2d4f1726298a7887e303e15f039ef72b840e30d90bc2cf9cdbe4617a9ee113a2b1a48f1982e72cf30323d72cdfb9a65b5b4d734ca0024 SHA512 84b252ccaddc06cb05858ff64f582dd25823818c81b1e3a00362deeda06f09e6c36948fd316d5f0ca5e24949e6f99bb14a14dbd2af1cfbb85e679e27ab0a813c -DIST rustc-1.84.0-src.tar.xz 354993944 BLAKE2B e4697d8a9f42484556ed490390aef535b2214ccb3715ade57936211c1c637737da5f2b9a6c53a30df0fba1744fbd80d4d1382c0b74f6b36b36098bf187557201 SHA512 9e964c1b964e74083a9002fa04b072fa8fe7a520b24ad55e88a89bb2a2a2cd5727c5438d6db425b824ae7502ab215c2dd3f49777efd65f76bae09965df2e070a -DIST rustc-1.84.0-src.tar.xz.asc 801 BLAKE2B b1846702f36b92c479499f5eb704ce1e272131fc1b6b625c8d64c873a82ed79b1de8cceb1f21ae4b9dccf81e258547debf367b7b769ac94ed10a59dee18f79f1 SHA512 5ada0e0fed9901044eaa0d7cb657f685c7e183e91245714abe4a0a8bf3062a7de281932c7de7587220df0542511f6011d057bd8bed19d98c755eab74091cdfdb DIST rustc-1.84.1-src.tar.xz 355078168 BLAKE2B 849e8c909493bf76ce9749b9dcb1967180223b91a41d690bc477e78557d4e24949c9a8d8276d824af8c54ad62bc4a998e7a8efbc0bbd2008a4f64f51a7690d48 SHA512 f1cc4765736551508408126e44086988e8ddc30c1a929bf7b61c6be85ad0d65928dd5fb1041cfaeee8eb37d2208f2c1917e276aef2bc9a8e40e34f6713b349e1 DIST rustc-1.84.1-src.tar.xz.asc 801 BLAKE2B f3decd3470fd1eff33adbb376490a30eb8db28dd4176bde0fefe4f60acf79c3dd0e1a330d519b5319360136ea7d0a124f6720dea08617202d9e9298da992ccf6 SHA512 a241fe3efba293f3e872b74f09dd0d184e0239afd1416326d57bf1134d92721c65b187f5c99962b51671877a539f18e82d2d797c76af42615c11a8bb3905f796 +DIST rustc-1.85.0-src.tar.xz 274011696 BLAKE2B 9cb1c5b9fa9b0ee8a3150d634b58f4d14c38342f19cffbdcaa4e783150f9b3c516763d549d9998d90e11377cd59e9d9442a99079aafccdc005739b075574447a SHA512 3e9c933d1d9b6e5fb081837cf07eb1638b1a6b4fd1cb607dd860c5021ba7b521edbaf8ba0fa8f182f62178b72a3e1a3e6b26675e8fb6530871137852a074443c +DIST rustc-1.85.0-src.tar.xz.asc 801 BLAKE2B 8168c984f69356898f7a51199f3250a51c58a6512463cd5011acdff8c63754ba196bb050dba95b73d37c7e6d4bbcd3d1cb471d067a6615cd81b8969394e3539a SHA512 b96fffde7eb3d98cca6abe44e671fd4752416357ab3180d2a09a60fc022ac03d10e64ae285ef6276b8d881d6154fd7398f46666f5a2ea6f3023ea38fd543f59e +DIST rustc-1.86.0_beta20250218-src.tar.xz 280540916 BLAKE2B ed3fe1b1ce392ffd264dd78c00e43b478d14c6bf9bc7120aa484c46a72ff904abf3ed1d1d539828a22071997860d186ecf9d5d4abed25f14cbbe0068dee06a5e SHA512 bd8982d6adee08e0b39a58786741594e0c651cd107818178aca0ded3c3272239be3c4f0f6b617679bc8b1cea67e4b5924d6bb1ae8a9d5903fb77245dd8ac528b +DIST rustc-1.86.0_beta20250218-src.tar.xz.asc 801 BLAKE2B 8a7c489f9087342074262c64089922b97e886aa6d3f89c2a0ed1185e084c8bed07d57c363608f26536ca884d764aa43e3ade214ab4fe4e67e9c6d7e1338e93aa SHA512 d34b536200fdb4c7e85af005b1753ce88f32a1faa418a01de21de992679d744ec396fd0f9aaaf851569de1f4f06f14a6481b68b1378659b3475d30818421ea3a diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/files/1.85.0-cross-compile-libz.patch b/sdk_container/src/third_party/portage-stable/dev-lang/rust/files/1.85.0-cross-compile-libz.patch new file mode 100644 index 0000000000..7bd45c4e09 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/files/1.85.0-cross-compile-libz.patch @@ -0,0 +1,26 @@ +From 768f7e50a6d9a3db4e4eef45dcb4c56e9b580389 Mon Sep 17 00:00:00 2001 +From: Matt Jolly +Date: Sun, 9 Feb 2025 21:12:43 +1000 +Subject: [PATCH] Update libz cross-compile patch for 9999 (1.86.0) + +See-also: https://paste.sr.ht/~kchibisov/682321e0fd4a3ece4a4b7b71591896f5cd3cdb22 +See-also: https://github.com/gentoo/gentoo/pull/35246#discussion_r1484525497 +--- a/compiler/rustc_llvm/build.rs ++++ b/compiler/rustc_llvm/build.rs +@@ -219,13 +219,7 @@ fn main() { + // of llvm-config, not the target that we're attempting to link. + let mut cmd = Command::new(&llvm_config); + cmd.arg(llvm_link_arg).arg("--libs"); +- +- // Don't link system libs if cross-compiling unless targeting Windows. +- // On Windows system DLLs aren't linked directly, instead import libraries are used. +- // These import libraries are independent of the host. +- if !is_crossed || target.contains("windows") { +- cmd.arg("--system-libs"); +- } ++ cmd.arg("--system-libs"); + + // We need libkstat for getHostCPUName on SPARC builds. + // See also: https://github.com/llvm/llvm-project/issues/64186 +-- +2.48.0 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.71.1-r101.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.71.1-r101.ebuild index ae01f2f9a3..ae1366fb5c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.71.1-r101.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.71.1-r101.ebuild @@ -38,8 +38,12 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai LoongArch Mips MSP43 ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} -_ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) -ALL_LLVM_EXPERIMENTAL_TARGETS=( ) +# https://github.com/rust-lang/llvm-project/blob/rustc-1.71.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=() +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 UoI-NCSA" SLOT="${PV}" @@ -50,12 +54,9 @@ 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 "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) - for _xx in "${_ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do - if [[ "${_xx}" == "${_x}" ]] ; then - ALL_LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) - break - fi - done + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi done LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) @@ -63,7 +64,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) BDEPEND="${PYTHON_DEPS} app-eselect/eselect-rust || ( - >=sys-devel/gcc-4.7 + >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) !system-llvm? ( @@ -246,13 +247,13 @@ src_configure() { rust_target="$(rust_abi)" - LLVM_EXPERIMENTAL_TARGETS=() - for _x in "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do - if use llvm_targets_${_x} ; then - LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) fi done - LLVM_EXPERIMENTAL_TARGETS=${LLVM_EXPERIMENTAL_TARGETS[@]} + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} local cm_btype="$(usex debug DEBUG RELEASE)" cat <<- _EOF_ > "${S}"/config.toml @@ -264,7 +265,7 @@ src_configure() { assertions = $(toml_usex debug) ninja = true targets = "${LLVM_TARGETS// /;}" - experimental-targets = "${LLVM_EXPERIMENTAL_TARGETS// /;}" + experimental-targets = "${RUST_EXPERIMENTAL_TARGETS// /;}" link-shared = $(toml_usex system-llvm) $(if is_libcxx_linked; then # https://bugs.gentoo.org/732632 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.74.1-r101.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.74.1-r101.ebuild index 68108ee8a5..3e8a2fb536 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.74.1-r101.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.74.1-r101.ebuild @@ -44,8 +44,12 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} -_ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) -ALL_LLVM_EXPERIMENTAL_TARGETS=( ) +# https://github.com/rust-lang/llvm-project/blob/rustc-1.74.1/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" @@ -56,12 +60,9 @@ 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 "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) - for _xx in "${_ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do - if [[ "${_xx}" == "${_x}" ]] ; then - ALL_LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) - break - fi - done + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi done LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) @@ -69,7 +70,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) BDEPEND="${PYTHON_DEPS} app-eselect/eselect-rust || ( - >=sys-devel/gcc-4.7 + >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) !system-llvm? ( @@ -304,13 +305,13 @@ src_configure() { rust_build="$(rust_abi "${CBUILD}")" rust_host="$(rust_abi "${CHOST}")" - LLVM_EXPERIMENTAL_TARGETS=() - for _x in "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do - if use llvm_targets_${_x} ; then - LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) fi done - LLVM_EXPERIMENTAL_TARGETS=${LLVM_EXPERIMENTAL_TARGETS[@]} + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} local cm_btype="$(usex debug DEBUG RELEASE)" cat <<- _EOF_ > "${S}"/config.toml @@ -322,7 +323,7 @@ src_configure() { assertions = $(toml_usex debug) ninja = true targets = "${LLVM_TARGETS// /;}" - experimental-targets = "${LLVM_EXPERIMENTAL_TARGETS// /;}" + experimental-targets = "${RUST_EXPERIMENTAL_TARGETS// /;}" link-shared = $(toml_usex system-llvm) $(if is_libcxx_linked; then # https://bugs.gentoo.org/732632 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.75.0-r101.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.75.0-r101.ebuild index 582cd097c1..c0b81f631a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.75.0-r101.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.75.0-r101.ebuild @@ -39,8 +39,12 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} -_ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) -ALL_LLVM_EXPERIMENTAL_TARGETS=( ) +# https://github.com/rust-lang/llvm-project/blob/rustc-1.75.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" @@ -51,12 +55,9 @@ 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 "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) - for _xx in "${_ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do - if [[ "${_xx}" == "${_x}" ]] ; then - ALL_LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) - break - fi - done + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi done LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) @@ -64,7 +65,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) BDEPEND="${PYTHON_DEPS} app-eselect/eselect-rust || ( - >=sys-devel/gcc-4.7 + >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) !system-llvm? ( @@ -270,13 +271,13 @@ src_configure() { rust_build="$(rust_abi "${CBUILD}")" rust_host="$(rust_abi "${CHOST}")" - LLVM_EXPERIMENTAL_TARGETS=() - for _x in "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do - if use llvm_targets_${_x} ; then - LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) fi done - LLVM_EXPERIMENTAL_TARGETS=${LLVM_EXPERIMENTAL_TARGETS[@]} + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} local cm_btype="$(usex debug DEBUG RELEASE)" cat <<- _EOF_ > "${S}"/config.toml @@ -288,7 +289,7 @@ src_configure() { assertions = $(toml_usex debug) ninja = true targets = "${LLVM_TARGETS// /;}" - experimental-targets = "${LLVM_EXPERIMENTAL_TARGETS// /;}" + experimental-targets = "${RUST_EXPERIMENTAL_TARGETS// /;}" link-shared = $(toml_usex system-llvm) $(if is_libcxx_linked; then # https://bugs.gentoo.org/732632 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.76.0-r101.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.76.0-r101.ebuild index 8d72491db7..f6114fd34e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.76.0-r101.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.76.0-r101.ebuild @@ -39,8 +39,12 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} -_ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) -ALL_LLVM_EXPERIMENTAL_TARGETS=( ) +# https://github.com/rust-lang/llvm-project/blob/rustc-1.76.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" @@ -51,12 +55,9 @@ 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 "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) - for _xx in "${_ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do - if [[ "${_xx}" == "${_x}" ]] ; then - ALL_LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) - break - fi - done + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi done LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) @@ -64,7 +65,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) BDEPEND="${PYTHON_DEPS} app-eselect/eselect-rust || ( - >=sys-devel/gcc-4.7 + >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) !system-llvm? ( @@ -269,13 +270,13 @@ src_configure() { rust_build="$(rust_abi "${CBUILD}")" rust_host="$(rust_abi "${CHOST}")" - LLVM_EXPERIMENTAL_TARGETS=() - for _x in "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do - if use llvm_targets_${_x} ; then - LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) fi done - LLVM_EXPERIMENTAL_TARGETS=${LLVM_EXPERIMENTAL_TARGETS[@]} + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} local cm_btype="$(usex debug DEBUG RELEASE)" cat <<- _EOF_ > "${S}"/config.toml @@ -287,7 +288,7 @@ src_configure() { assertions = $(toml_usex debug) ninja = true targets = "${LLVM_TARGETS// /;}" - experimental-targets = "${LLVM_EXPERIMENTAL_TARGETS// /;}" + experimental-targets = "${RUST_EXPERIMENTAL_TARGETS// /;}" link-shared = $(toml_usex system-llvm) $(if is_libcxx_linked; then # https://bugs.gentoo.org/732632 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.77.1-r101.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.77.1-r101.ebuild index 8e71a450c7..8ecaf535a2 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.77.1-r101.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.77.1-r101.ebuild @@ -39,8 +39,12 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} -_ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) -ALL_LLVM_EXPERIMENTAL_TARGETS=( ) +# https://github.com/rust-lang/llvm-project/blob/rustc-1.77.1/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" @@ -51,12 +55,9 @@ 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 "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) - for _xx in "${_ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do - if [[ "${_xx}" == "${_x}" ]] ; then - ALL_LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) - break - fi - done + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi done LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) @@ -64,7 +65,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) BDEPEND="${PYTHON_DEPS} app-eselect/eselect-rust || ( - >=sys-devel/gcc-4.7 + >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) !system-llvm? ( @@ -268,13 +269,13 @@ src_configure() { rust_build="$(rust_abi "${CBUILD}")" rust_host="$(rust_abi "${CHOST}")" - LLVM_EXPERIMENTAL_TARGETS=() - for _x in "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do - if use llvm_targets_${_x} ; then - LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) fi done - LLVM_EXPERIMENTAL_TARGETS=${LLVM_EXPERIMENTAL_TARGETS[@]} + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} local cm_btype="$(usex debug DEBUG RELEASE)" cat <<- _EOF_ > "${S}"/config.toml @@ -286,7 +287,7 @@ src_configure() { assertions = $(toml_usex debug) ninja = true targets = "${LLVM_TARGETS// /;}" - experimental-targets = "${LLVM_EXPERIMENTAL_TARGETS// /;}" + experimental-targets = "${RUST_EXPERIMENTAL_TARGETS// /;}" link-shared = $(toml_usex system-llvm) $(if is_libcxx_linked; then # https://bugs.gentoo.org/732632 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.78.0-r101.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.78.0-r101.ebuild index 7bcddb3c4d..f87df749f8 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.78.0-r101.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.78.0-r101.ebuild @@ -39,8 +39,12 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} -_ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) -ALL_LLVM_EXPERIMENTAL_TARGETS=( ) +# https://github.com/rust-lang/llvm-project/blob/rustc-1.78.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" @@ -51,12 +55,9 @@ 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 "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) - for _xx in "${_ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do - if [[ "${_xx}" == "${_x}" ]] ; then - ALL_LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) - break - fi - done + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi done LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) @@ -64,7 +65,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) BDEPEND="${PYTHON_DEPS} app-eselect/eselect-rust || ( - >=sys-devel/gcc-4.7 + >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) !system-llvm? ( @@ -268,13 +269,13 @@ src_configure() { rust_build="$(rust_abi "${CBUILD}")" rust_host="$(rust_abi "${CHOST}")" - LLVM_EXPERIMENTAL_TARGETS=() - for _x in "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do - if use llvm_targets_${_x} ; then - LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) fi done - LLVM_EXPERIMENTAL_TARGETS=${LLVM_EXPERIMENTAL_TARGETS[@]} + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} local cm_btype="$(usex debug DEBUG RELEASE)" cat <<- _EOF_ > "${S}"/config.toml @@ -285,7 +286,7 @@ src_configure() { assertions = $(toml_usex debug) ninja = true targets = "${LLVM_TARGETS// /;}" - experimental-targets = "${LLVM_EXPERIMENTAL_TARGETS// /;}" + experimental-targets = "${RUST_EXPERIMENTAL_TARGETS// /;}" link-shared = $(toml_usex system-llvm) $(if is_libcxx_linked; then # https://bugs.gentoo.org/732632 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.79.0-r101.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.79.0-r101.ebuild index 7bcddb3c4d..96171bb99b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.79.0-r101.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.79.0-r101.ebuild @@ -39,8 +39,12 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} -_ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) -ALL_LLVM_EXPERIMENTAL_TARGETS=( ) +# https://github.com/rust-lang/llvm-project/blob/rustc-1.79.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" @@ -51,12 +55,9 @@ 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 "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) - for _xx in "${_ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do - if [[ "${_xx}" == "${_x}" ]] ; then - ALL_LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) - break - fi - done + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi done LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) @@ -64,7 +65,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) BDEPEND="${PYTHON_DEPS} app-eselect/eselect-rust || ( - >=sys-devel/gcc-4.7 + >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) !system-llvm? ( @@ -268,13 +269,13 @@ src_configure() { rust_build="$(rust_abi "${CBUILD}")" rust_host="$(rust_abi "${CHOST}")" - LLVM_EXPERIMENTAL_TARGETS=() - for _x in "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do - if use llvm_targets_${_x} ; then - LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) fi done - LLVM_EXPERIMENTAL_TARGETS=${LLVM_EXPERIMENTAL_TARGETS[@]} + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} local cm_btype="$(usex debug DEBUG RELEASE)" cat <<- _EOF_ > "${S}"/config.toml @@ -285,7 +286,7 @@ src_configure() { assertions = $(toml_usex debug) ninja = true targets = "${LLVM_TARGETS// /;}" - experimental-targets = "${LLVM_EXPERIMENTAL_TARGETS// /;}" + experimental-targets = "${RUST_EXPERIMENTAL_TARGETS// /;}" link-shared = $(toml_usex system-llvm) $(if is_libcxx_linked; then # https://bugs.gentoo.org/732632 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.80.1-r101.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.80.1-r101.ebuild index 28e670946d..e535b914f8 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.80.1-r101.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.80.1-r101.ebuild @@ -39,8 +39,12 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} -_ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) -ALL_LLVM_EXPERIMENTAL_TARGETS=( ) +# https://github.com/rust-lang/llvm-project/blob/rustc-1.80.1/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" @@ -51,12 +55,9 @@ 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 "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) - for _xx in "${_ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do - if [[ "${_xx}" == "${_x}" ]] ; then - ALL_LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) - break - fi - done + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi done LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) @@ -64,7 +65,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) BDEPEND="${PYTHON_DEPS} app-eselect/eselect-rust || ( - >=sys-devel/gcc-4.7 + >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) !system-llvm? ( @@ -267,13 +268,13 @@ src_configure() { rust_build="$(rust_abi "${CBUILD}")" rust_host="$(rust_abi "${CHOST}")" - LLVM_EXPERIMENTAL_TARGETS=() - for _x in "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do - if use llvm_targets_${_x} ; then - LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) fi done - LLVM_EXPERIMENTAL_TARGETS=${LLVM_EXPERIMENTAL_TARGETS[@]} + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} local cm_btype="$(usex debug DEBUG RELEASE)" cat <<- _EOF_ > "${S}"/config.toml @@ -284,7 +285,7 @@ src_configure() { assertions = $(toml_usex debug) ninja = true targets = "${LLVM_TARGETS// /;}" - experimental-targets = "${LLVM_EXPERIMENTAL_TARGETS// /;}" + experimental-targets = "${RUST_EXPERIMENTAL_TARGETS// /;}" link-shared = $(toml_usex system-llvm) $(if is_libcxx_linked; then # https://bugs.gentoo.org/732632 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.81.0-r101.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.81.0-r101.ebuild index 7f53129202..c6fee6b41a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.81.0-r101.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.81.0-r101.ebuild @@ -40,8 +40,12 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} -_ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) -ALL_LLVM_EXPERIMENTAL_TARGETS=( ) +# https://github.com/rust-lang/llvm-project/blob/rustc-1.81.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" @@ -52,12 +56,9 @@ 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 "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) - for _xx in "${_ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do - if [[ "${_xx}" == "${_x}" ]] ; then - ALL_LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) - break - fi - done + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi done LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) @@ -65,7 +66,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) BDEPEND="${PYTHON_DEPS} app-eselect/eselect-rust || ( - >=sys-devel/gcc-4.7 + >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) !system-llvm? ( @@ -271,13 +272,13 @@ src_configure() { rust_build="$(rust_abi "${CBUILD}")" rust_host="$(rust_abi "${CHOST}")" - LLVM_EXPERIMENTAL_TARGETS=() - for _x in "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do - if use llvm_targets_${_x} ; then - LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) fi done - LLVM_EXPERIMENTAL_TARGETS=${LLVM_EXPERIMENTAL_TARGETS[@]} + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} local cm_btype="$(usex debug DEBUG RELEASE)" cat <<- _EOF_ > "${S}"/config.toml @@ -288,7 +289,7 @@ src_configure() { assertions = $(toml_usex debug) ninja = true targets = "${LLVM_TARGETS// /;}" - experimental-targets = "${LLVM_EXPERIMENTAL_TARGETS// /;}" + experimental-targets = "${RUST_EXPERIMENTAL_TARGETS// /;}" link-shared = $(toml_usex system-llvm) $(if is_libcxx_linked; then # https://bugs.gentoo.org/732632 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.82.0-r102.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.82.0-r102.ebuild index bc55c3ded7..d68d0e8f12 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.82.0-r102.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.82.0-r102.ebuild @@ -39,8 +39,12 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} -_ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) -ALL_LLVM_EXPERIMENTAL_TARGETS=( ) +# https://github.com/rust-lang/llvm-project/blob/rustc-1.82.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" @@ -51,12 +55,9 @@ 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 "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) - for _xx in "${_ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do - if [[ "${_xx}" == "${_x}" ]] ; then - ALL_LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) - break - fi - done + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi done LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) @@ -64,7 +65,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) BDEPEND="${PYTHON_DEPS} app-eselect/eselect-rust || ( - >=sys-devel/gcc-4.7 + >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) !system-llvm? ( @@ -279,13 +280,13 @@ src_configure() { rust_build="$(rust_abi "${CBUILD}")" rust_host="$(rust_abi "${CHOST}")" - LLVM_EXPERIMENTAL_TARGETS=() - for _x in "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do - if use llvm_targets_${_x} ; then - LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) fi done - LLVM_EXPERIMENTAL_TARGETS=${LLVM_EXPERIMENTAL_TARGETS[@]} + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} local cm_btype="$(usex debug DEBUG RELEASE)" cat <<- _EOF_ > "${S}"/config.toml @@ -296,7 +297,7 @@ src_configure() { assertions = $(toml_usex debug) ninja = true targets = "${LLVM_TARGETS// /;}" - experimental-targets = "${LLVM_EXPERIMENTAL_TARGETS// /;}" + experimental-targets = "${RUST_EXPERIMENTAL_TARGETS// /;}" link-shared = $(toml_usex system-llvm) $(if is_libcxx_linked; then # https://bugs.gentoo.org/732632 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.83.0-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.83.0-r2.ebuild index f92f170184..08cb004f06 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.83.0-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.83.0-r2.ebuild @@ -39,8 +39,12 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} -_ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) -ALL_LLVM_EXPERIMENTAL_TARGETS=( ) +# https://github.com/rust-lang/llvm-project/blob/rustc-1.83.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" @@ -51,12 +55,9 @@ 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 "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) - for _xx in "${_ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do - if [[ "${_xx}" == "${_x}" ]] ; then - ALL_LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) - break - fi - done + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi done LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) @@ -64,7 +65,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) BDEPEND="${PYTHON_DEPS} app-eselect/eselect-rust || ( - >=sys-devel/gcc-4.7 + >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) !system-llvm? ( @@ -279,13 +280,13 @@ src_configure() { rust_build="$(rust_abi "${CBUILD}")" rust_host="$(rust_abi "${CHOST}")" - LLVM_EXPERIMENTAL_TARGETS=() - for _x in "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do - if use llvm_targets_${_x} ; then - LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) fi done - LLVM_EXPERIMENTAL_TARGETS=${LLVM_EXPERIMENTAL_TARGETS[@]} + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} local cm_btype="$(usex debug DEBUG RELEASE)" cat <<- _EOF_ > "${S}"/config.toml @@ -296,7 +297,7 @@ src_configure() { assertions = $(toml_usex debug) ninja = true targets = "${LLVM_TARGETS// /;}" - experimental-targets = "${LLVM_EXPERIMENTAL_TARGETS// /;}" + experimental-targets = "${RUST_EXPERIMENTAL_TARGETS// /;}" link-shared = $(toml_usex system-llvm) $(if is_libcxx_linked; then # https://bugs.gentoo.org/732632 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.84.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.84.1-r1.ebuild index 94980bdb59..55697833c3 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.84.1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.84.1-r1.ebuild @@ -20,7 +20,7 @@ if [[ ${PV} = *beta* ]]; then else 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 DESCRIPTION="Systems programming language from Mozilla" @@ -40,8 +40,11 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} # https://github.com/rust-lang/llvm-project/blob/rustc-1.84.0/llvm/CMakeLists.txt -_ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) -ALL_LLVM_EXPERIMENTAL_TARGETS=( ) +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" @@ -52,12 +55,9 @@ 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 "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) - for _xx in "${_ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do - if [[ "${_xx}" == "${_x}" ]] ; then - ALL_LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) - break - fi - done + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi done LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) @@ -65,7 +65,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) BDEPEND="${PYTHON_DEPS} app-eselect/eselect-rust || ( - >=sys-devel/gcc-4.7 + >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) !system-llvm? ( @@ -279,13 +279,13 @@ src_configure() { rust_build="$(rust_abi "${CBUILD}")" rust_host="$(rust_abi "${CHOST}")" - LLVM_EXPERIMENTAL_TARGETS=() - for _x in "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do - if use llvm_targets_${_x} ; then - LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) fi done - LLVM_EXPERIMENTAL_TARGETS=${LLVM_EXPERIMENTAL_TARGETS[@]} + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} local cm_btype="$(usex debug DEBUG RELEASE)" cat <<- _EOF_ > "${S}"/config.toml @@ -298,7 +298,7 @@ src_configure() { assertions = $(toml_usex debug) ninja = true targets = "${LLVM_TARGETS// /;}" - experimental-targets = "${LLVM_EXPERIMENTAL_TARGETS// /;}" + experimental-targets = "${RUST_EXPERIMENTAL_TARGETS// /;}" link-shared = $(toml_usex system-llvm) $(if is_libcxx_linked; then # https://bugs.gentoo.org/732632 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.84.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.85.0.ebuild similarity index 75% rename from sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.84.0-r1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.85.0.ebuild index 1bac5bdc9e..ce74a47507 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.84.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.85.0.ebuild @@ -6,32 +6,53 @@ EAPI=8 LLVM_COMPAT=( 19 ) PYTHON_COMPAT=( python3_{10..13} ) -RUST_MAX_VER=${PV} -RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" +RUST_MAX_VER=${PV%%_*} +if [[ ${PV} == *9999* ]]; then + RUST_MIN_VER="1.85.0" # Update this as new `beta` releases come out. +elif [[ ${PV} == *beta* ]]; then + # Enforce that `beta` is built from `stable`. + # While uncommon it is possible for feature changes within `beta` to result + # in an older snapshot being unable to build a newer one without modifying the sources. + # 'stable' releases should always be able to build a beta snapshot so just use those. + RUST_MAX_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).1" + RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" +else + RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" +fi inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \ multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig -if [[ ${PV} = *beta* ]]; then +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/rust-lang/rust.git" + EGIT_SUBMODULES=( + "*" + "-src/gcc" + ) +elif [[ ${PV} == *beta* ]]; then + # Identify the snapshot date of the beta release: + # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep beta-src.tar.xz 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" + SRC_URI="https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz + verify-sig? ( https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc + -> rustc-${PV}-src.tar.xz.asc ) + " + S="${WORKDIR}/${MY_P}-src" else MY_P="rustc-${PV}" - SRC="${MY_P}-src.tar.xz" + SRC_URI="https://static.rust-lang.org/dist/${MY_P}-src.tar.xz + verify-sig? ( https://static.rust-lang.org/dist/${MY_P}-src.tar.xz.asc ) + " + S="${WORKDIR}/${MY_P}-src" KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" fi -DESCRIPTION="Systems programming language from Mozilla" +DESCRIPTION="Systems programming language originally developed by 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 ) -" -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 @@ -40,24 +61,29 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} # https://github.com/rust-lang/llvm-project/blob/rustc-1.84.0/llvm/CMakeLists.txt -_ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) -ALL_LLVM_EXPERIMENTAL_TARGETS=( ) +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" -SLOT="${PV}" +SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual stable -IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +if [[ ${PV} = *9999* ]]; then + # These USE flags require nightly rust + IUSE+=" miri" +fi 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 "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) - for _xx in "${_ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do - if [[ "${_xx}" == "${_x}" ]] ; then - ALL_LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) - break - fi - done + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi done LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) @@ -65,7 +91,7 @@ LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) BDEPEND="${PYTHON_DEPS} app-eselect/eselect-rust || ( - >=sys-devel/gcc-4.7 + >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) !system-llvm? ( @@ -101,8 +127,6 @@ RDEPEND="${DEPEND} " REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) - miri? ( nightly ) - parallel-compiler? ( nightly ) rust-analyzer? ( rust-src ) test? ( ${ALL_LLVM_TARGETS[*]} ) wasm? ( llvm_targets_WebAssembly ) @@ -113,27 +137,27 @@ REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) 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 + usr/lib/${PN}/${SLOT}/bin/.* + usr/lib/${PN}/${SLOT}/libexec/.* + usr/lib/${PN}/${SLOT}/lib/lib.*.so + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/.* + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so " QA_SONAME=" - usr/lib/${PN}/${PV}/lib/lib.*.so.* - usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so + usr/lib/${PN}/${SLOT}/lib/lib.*.so.* + usr/lib/${PN}/${SLOT}/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 + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/rust-llvm-dwp + usr/lib/${PN}/${SLOT}/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" +QA_EXECSTACK="usr/lib/${PN}/${SLOT}/lib/rustlib/*/lib*.rlib:lib.rmeta" # causes double bootstrap RESTRICT="test" @@ -141,9 +165,7 @@ RESTRICT="test" VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc PATCHES=( - "${FILESDIR}"/1.78.0-musl-dynamic-linking.patch - "${FILESDIR}"/1.83.0-cross-compile-libz.patch - #"${FILESDIR}"/1.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh + "${FILESDIR}"/1.85.0-cross-compile-libz.patch "${FILESDIR}"/1.67.0-doc-wasm.patch ) @@ -155,6 +177,48 @@ toml_usex() { usex "${1}" true false } +src_unpack() { + if [[ ${PV} = *9999* ]]; then + git-r3_src_unpack + mkdir "${S}/.cargo" || die # The vendor script has a check for .cargo/config{,.toml} + touch "${S}/.cargo/config.toml" || die + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + local rust_build="" + local rust_host="" + # Configure vendor to use the portage-provided toolchain. This prevents it from + # attempting to fetch a `beta` toolchain from the internet. + cat <<- _EOF_ > "${T}/vendor-config.toml" + [build] + build = "$(rust_abi "${CBUILD}")" + host = ["$(rust_abi "${CHOST}")"] + target = ["$(rust_abi "${CHOST}")"] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + _EOF_ + # We're using git sources so we need to run the Vendor script + # to ensure that all dependencies are present and up-to-date + mkdir "${S}/vendor" || die + # This also compiles the 'build helper', there's no way to avoid this. + ${EPYTHON} "${S}"/x.py vendor -vvv --config="${T}"/vendor-config.toml -j$(makeopts_jobs) || + die "Failed to vendor dependencies" + # TODO: This has to be generated somehow, this is from a 1.84.x tarball I had lying around. + cat <<- _EOF_ > "${S}/.cargo/config.toml" + [source.crates-io] + replace-with = "vendored-sources" + + [source."git+https://github.com/rust-lang/team"] + git = "https://github.com/rust-lang/team" + replace-with = "vendored-sources" + + [source.vendored-sources] + directory = "vendor" + _EOF_ + else + verify-sig_src_unpack + fi +} + pre_build_checks() { local M=9216 # multiply requirements by 1.3 if we are doing x86-multilib @@ -162,7 +226,9 @@ pre_build_checks() { M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) fi M=$(( $(usex clippy 128 0) + ${M} )) - M=$(( $(usex miri 128 0) + ${M} )) + if [[ ${PV} == *9999* ]]; then + M=$(( $(usex miri 128 0) + ${M} )) + fi M=$(( $(usex rustfmt 256 0) + ${M} )) # add 2G if we compile llvm and 256M per llvm_target if ! use system-llvm; then @@ -226,6 +292,11 @@ pkg_setup() { } src_prepare() { + if [[ ${PV} = *9999* ]]; then + # We need to update / generate lockfiles for the workspace + ${CARGO} generate-lockfile --offline + + fi # 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 @@ -266,11 +337,14 @@ src_configure() { # 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"' + if [[ ${PV} == *9999* ]]; then + use miri && tools+=',"miri"' + fi + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" # 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" @@ -279,15 +353,28 @@ src_configure() { rust_build="$(rust_abi "${CBUILD}")" rust_host="$(rust_abi "${CHOST}")" - LLVM_EXPERIMENTAL_TARGETS=() - for _x in "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do - if use llvm_targets_${_x} ; then - LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) fi done - LLVM_EXPERIMENTAL_TARGETS=${LLVM_EXPERIMENTAL_TARGETS[@]} + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} local cm_btype="$(usex debug DEBUG RELEASE)" + local build_channel + local build_miri="false" + case "${PV}" in + *9999*) + build_channel="nightly" + ;; + *beta*) + build_channel="beta" + ;; + *) + build_channel="stable" + ;; + esac cat <<- _EOF_ > "${S}"/config.toml # https://github.com/rust-lang/rust/issues/135358 (bug #947897) profile = "dist" @@ -298,7 +385,7 @@ src_configure() { assertions = $(toml_usex debug) ninja = true targets = "${LLVM_TARGETS// /;}" - experimental-targets = "${LLVM_EXPERIMENTAL_TARGETS// /;}" + experimental-targets = "${RUST_EXPERIMENTAL_TARGETS// /;}" link-shared = $(toml_usex system-llvm) $(if is_libcxx_linked; then # https://bugs.gentoo.org/732632 @@ -353,7 +440,7 @@ src_configure() { profiler = true cargo-native-static = false [install] - prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" + prefix = "${EPREFIX}/usr/lib/${PN}/${SLOT}" sysconfdir = "etc" docdir = "share/doc/rust" bindir = "bin" @@ -376,8 +463,7 @@ src_configure() { $(if ! tc-is-cross-compiler; then echo "default-linker = \"$(tc-getCC)\"" fi) - parallel-compiler = $(toml_usex parallel-compiler) - channel = "$(usex nightly nightly stable)" + channel = "${build_channel}" description = "gentoo" rpath = true verbose-tests = true @@ -596,11 +682,11 @@ src_test() { src_install() { DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die - docompress /usr/lib/${PN}/${PV}/share/man/ + docompress /usr/lib/${PN}/${SLOT}/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 + rm -v "${ED}/usr/lib/${PN}/${SLOT}/etc/bash_completion.d/cargo" || die + rmdir -v "${ED}/usr/lib/${PN}/${SLOT}"/etc{/bash_completion.d,} || die local symlinks=( cargo @@ -612,7 +698,9 @@ src_install() { ) use clippy && symlinks+=( clippy-driver cargo-clippy ) - use miri && symlinks+=( miri cargo-miri ) + if [[ ${PV} = *9999* ]]; then + use miri && symlinks+=( miri cargo-miri ) + fi use rustfmt && symlinks+=( rustfmt cargo-fmt ) use rust-analyzer && symlinks+=( rust-analyzer ) @@ -622,34 +710,34 @@ src_install() { # 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 + local ver_i="${i}-${PV%%_*}" + if [[ -f "${ED}/usr/lib/${PN}/${SLOT}/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 + ln -v "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}" "${ED}/usr/lib/${PN}/${SLOT}/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}" + dosym "../lib/${PN}/${SLOT}/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}" - use rust-analyzer && 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}" + dosym "${SLOT}/lib" "/usr/lib/${PN}/lib-${SLOT}" + use rust-analyzer && dosym "${SLOT}/libexec" "/usr/lib/${PN}/libexec-${SLOT}" + dosym "${SLOT}/share/man" "/usr/lib/${PN}/man-${SLOT}" + dosym "rust/${SLOT}/lib/rustlib" "/usr/lib/rustlib-${SLOT}" + dosym "../../lib/${PN}/${SLOT}/share/doc/rust" "/usr/share/doc/${P}" newenvd - "50${P}" <<-_EOF_ - MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" + MANPATH="${EPREFIX}/usr/lib/rust/man-${SLOT}" _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 + rm -rf "${ED}/usr/lib/${PN}/${SLOT}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${SLOT}/bin"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${SLOT}/doc"/*.old || die # note: eselect-rust adds EROOT to all paths below - cat <<-_EOF_ > "${T}/provider-${P}" + cat <<-_EOF_ > "${T}/provider-${PN}-${SLOT}" /usr/bin/cargo /usr/bin/rustdoc /usr/bin/rust-gdb @@ -665,7 +753,7 @@ src_install() { echo /usr/bin/clippy-driver >> "${T}/provider-${P}" echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" fi - if use miri; then + if [[ ${SLOT} == *9999* ]] && use miri; then echo /usr/bin/miri >> "${T}/provider-${P}" echo /usr/bin/cargo-miri >> "${T}/provider-${P}" fi @@ -679,11 +767,11 @@ src_install() { fi insinto /etc/env.d/rust - doins "${T}/provider-${P}" + doins "${T}/provider-${PN}-${SLOT}" if use dist; then "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die - insinto "/usr/lib/${PN}/${PV}/dist" + insinto "/usr/lib/${PN}/${SLOT}/dist" doins -r "${S}/build/dist/." fi } diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.86.0_beta20250218.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.86.0_beta20250218.ebuild new file mode 100644 index 0000000000..c23793c89b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.86.0_beta20250218.ebuild @@ -0,0 +1,806 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 19 ) +PYTHON_COMPAT=( python3_{10..13} ) + +RUST_MAX_VER=${PV%%_*} +if [[ ${PV} == *9999* ]]; then + RUST_MIN_VER="1.86.0" # Update this as new `beta` releases come out. +elif [[ ${PV} == *beta* ]]; then + # Enforce that `beta` is built from `stable`. + # While uncommon it is possible for feature changes within `beta` to result + # in an older snapshot being unable to build a newer one without modifying the sources. + # 'stable' releases should always be able to build a beta snapshot so just use those. + RUST_MAX_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" + RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" +else + RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" +fi + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \ + multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/rust-lang/rust.git" + EGIT_SUBMODULES=( + "*" + "-src/gcc" + ) +elif [[ ${PV} == *beta* ]]; then + # Identify the snapshot date of the beta release: + # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep beta-src.tar.xz + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SRC_URI="https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz + verify-sig? ( https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc + -> rustc-${PV}-src.tar.xz.asc ) + https://github.com/rust-lang/rust/pull/137020.patch -> ${P}-vendor-in-install-phase.patch + " + S="${WORKDIR}/${MY_P}-src" +else + MY_P="rustc-${PV}" + SRC_URI="https://static.rust-lang.org/dist/${MY_P}-src.tar.xz + verify-sig? ( https://static.rust-lang.org/dist/${MY_P}-src.tar.xz.asc ) + " + S="${WORKDIR}/${MY_P}-src" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +DESCRIPTION="Systems programming language originally developed by Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +# 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[@]/%/(-)?} + +# https://github.com/rust-lang/llvm-project/blob/rustc-1.84.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual stable + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +if [[ ${PV} = *9999* ]]; then + # These USE flags require nightly rust + IUSE+=" miri" +fi + +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 "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7[cxx] + >=llvm-core/clang-3.5 + ) + !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? ( llvm-runtimes/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[*]} ) + 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}/${SLOT}/bin/.* + usr/lib/${PN}/${SLOT}/libexec/.* + usr/lib/${PN}/${SLOT}/lib/lib.*.so + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/.* + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so +" + +QA_SONAME=" + usr/lib/${PN}/${SLOT}/lib/lib.*.so.* + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so +" + +QA_PRESTRIPPED=" + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/rust-llvm-dwp + usr/lib/${PN}/${SLOT}/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}/${SLOT}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +# causes double bootstrap +RESTRICT="test" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc + +PATCHES=( + "${DISTDIR}"/${P}-vendor-in-install-phase.patch + "${FILESDIR}"/1.85.0-cross-compile-libz.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 +} + +src_unpack() { + if [[ ${PV} = *9999* ]]; then + git-r3_src_unpack + mkdir "${S}/.cargo" || die # The vendor script has a check for .cargo/config{,.toml} + touch "${S}/.cargo/config.toml" || die + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + local rust_build="" + local rust_host="" + # Configure vendor to use the portage-provided toolchain. This prevents it from + # attempting to fetch a `beta` toolchain from the internet. + cat <<- _EOF_ > "${T}/vendor-config.toml" + [build] + build = "$(rust_abi "${CBUILD}")" + host = ["$(rust_abi "${CHOST}")"] + target = ["$(rust_abi "${CHOST}")"] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + _EOF_ + # We're using git sources so we need to run the Vendor script + # to ensure that all dependencies are present and up-to-date + mkdir "${S}/vendor" || die + # This also compiles the 'build helper', there's no way to avoid this. + ${EPYTHON} "${S}"/x.py vendor -vvv --config="${T}"/vendor-config.toml -j$(makeopts_jobs) || + die "Failed to vendor dependencies" + # TODO: This has to be generated somehow, this is from a 1.84.x tarball I had lying around. + cat <<- _EOF_ > "${S}/.cargo/config.toml" + [source.crates-io] + replace-with = "vendored-sources" + + [source."git+https://github.com/rust-lang/team"] + git = "https://github.com/rust-lang/team" + replace-with = "vendored-sources" + + [source.vendored-sources] + directory = "vendor" + _EOF_ + else + # Until upstream merge this patch we can't use the default verify-sig_src_unpack + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}/rustc-${PV}-src.tar.xz" \ + "${DISTDIR}/rustc-${PV}-src.tar.xz.asc" + fi + default_src_unpack + fi +} + +pre_build_checks() { + local M=9216 + # 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} )) + if [[ ${PV} == *9999* ]]; then + M=$(( $(usex miri 128 0) + ${M} )) + fi + 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 doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "llvm-core/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 + 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 + + rust_pkg_setup + + 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 +} + +src_prepare() { + if [[ ${PV} = *9999* ]]; then + # We need to update / generate lockfiles for the workspace + ${CARGO} generate-lockfile --offline + + fi + # 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 + + default +} + +src_configure() { + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ESYSROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ESYSROOT}/usr/include" + export OPENSSL_LIB_DIR="${ESYSROOT}/usr/$(get_libdir)" + fi + + 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 rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' + use rust-src && tools+=',"src"' + + if [[ ${PV} == *9999* ]]; then + use miri && tools+=',"miri"' + fi + + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + # 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}")" + + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) + fi + done + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} + + local cm_btype="$(usex debug DEBUG RELEASE)" + local build_channel + local build_miri="false" + case "${PV}" in + *9999*) + build_channel="nightly" + ;; + *beta*) + build_channel="beta" + ;; + *) + build_channel="stable" + ;; + esac + cat <<- _EOF_ > "${S}"/config.toml + # https://github.com/rust-lang/rust/issues/135358 (bug #947897) + profile = "dist" + [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 = "${RUST_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}/${SLOT}" + 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) + channel = "${build_channel}" + description = "gentoo" + rpath = true + 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}/${SLOT}/share/man/ + + # bug #689562, #689160 + rm -v "${ED}/usr/lib/${PN}/${SLOT}/etc/bash_completion.d/cargo" || die + rmdir -v "${ED}/usr/lib/${PN}/${SLOT}"/etc{/bash_completion.d,} || die + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + if [[ ${PV} = *9999* ]]; then + use miri && symlinks+=( miri cargo-miri ) + fi + 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}/${SLOT}/bin/${i}" ]]; then + einfo "Installing ${i} symlink" + ln -v "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}" "${ED}/usr/lib/${PN}/${SLOT}/bin/${ver_i}" || die + else + ewarn "${i} symlink requested, but source file not found" + ewarn "please report this" + fi + dosym "../lib/${PN}/${SLOT}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "${SLOT}/lib" "/usr/lib/${PN}/lib-${SLOT}" + use rust-analyzer && dosym "${SLOT}/libexec" "/usr/lib/${PN}/libexec-${SLOT}" + dosym "${SLOT}/share/man" "/usr/lib/${PN}/man-${SLOT}" + dosym "rust/${SLOT}/lib/rustlib" "/usr/lib/rustlib-${SLOT}" + dosym "../../lib/${PN}/${SLOT}/share/doc/rust" "/usr/share/doc/${P}" + + newenvd - "50${P}" <<-_EOF_ + MANPATH="${EPREFIX}/usr/lib/rust/man-${SLOT}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${SLOT}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${SLOT}/bin"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${SLOT}/doc"/*.old || die + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${PN}-${SLOT}" + /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/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 [[ ${SLOT} == *9999* ]] && 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/lib/rust/libexec >> "${T}/provider-${P}" + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${PN}-${SLOT}" + + if use dist; then + "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + insinto "/usr/lib/${PN}/${SLOT}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_postinst() { + + eselect rust update + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are 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-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-9999.ebuild new file mode 100644 index 0000000000..d8ef8c5ff6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-9999.ebuild @@ -0,0 +1,799 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +PYTHON_COMPAT=( python3_{10..13} ) + +RUST_MAX_VER=${PV%%_*} +if [[ ${PV} == *9999* ]]; then + RUST_MIN_VER="1.86.0" # Update this as new `beta` releases come out. +elif [[ ${PV} == *beta* ]]; then + # Enforce that `beta` is built from `stable`. + # While uncommon it is possible for feature changes within `beta` to result + # in an older snapshot being unable to build a newer one without modifying the sources. + # 'stable' releases should always be able to build a beta snapshot so just use those. + RUST_MAX_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).1" + RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" +else + RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" +fi + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \ + multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/rust-lang/rust.git" + EGIT_SUBMODULES=( + "*" + "-src/gcc" + ) +elif [[ ${PV} == *beta* ]]; then + # Identify the snapshot date of the beta release: + # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep beta-src.tar.xz + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SRC_URI="https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz + verify-sig? ( https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc + -> rustc-${PV}-src.tar.xz.asc ) + " + S="${WORKDIR}/${MY_P}-src" +else + MY_P="rustc-${PV}" + SRC_URI="https://static.rust-lang.org/dist/${MY_P}-src.tar.xz + verify-sig? ( https://static.rust-lang.org/dist/${MY_P}-src.tar.xz.asc ) + " + S="${WORKDIR}/${MY_P}-src" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +DESCRIPTION="Systems programming language originally developed by Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +# 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[@]/%/(-)?} + +# https://github.com/rust-lang/llvm-project/blob/rustc-1.84.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual stable + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +if [[ ${PV} = *9999* ]]; then + # These USE flags require nightly rust + IUSE+=" miri" +fi + +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 "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi +done +LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7[cxx] + >=llvm-core/clang-3.5 + ) + !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? ( llvm-runtimes/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[*]} ) + 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}/${SLOT}/bin/.* + usr/lib/${PN}/${SLOT}/libexec/.* + usr/lib/${PN}/${SLOT}/lib/lib.*.so + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/.* + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so +" + +QA_SONAME=" + usr/lib/${PN}/${SLOT}/lib/lib.*.so.* + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so +" + +QA_PRESTRIPPED=" + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/rust-llvm-dwp + usr/lib/${PN}/${SLOT}/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}/${SLOT}/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.85.0-cross-compile-libz.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 +} + +src_unpack() { + if [[ ${PV} = *9999* ]]; then + git-r3_src_unpack + mkdir "${S}/.cargo" || die # The vendor script has a check for .cargo/config{,.toml} + touch "${S}/.cargo/config.toml" || die + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + local rust_build="" + local rust_host="" + # Configure vendor to use the portage-provided toolchain. This prevents it from + # attempting to fetch a `beta` toolchain from the internet. + cat <<- _EOF_ > "${T}/vendor-config.toml" + [build] + build = "$(rust_abi "${CBUILD}")" + host = ["$(rust_abi "${CHOST}")"] + target = ["$(rust_abi "${CHOST}")"] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + _EOF_ + # We're using git sources so we need to run the Vendor script + # to ensure that all dependencies are present and up-to-date + mkdir "${S}/vendor" || die + # This also compiles the 'build helper', there's no way to avoid this. + ${EPYTHON} "${S}"/x.py vendor -vvv --config="${T}"/vendor-config.toml -j$(makeopts_jobs) || + die "Failed to vendor dependencies" + # TODO: This has to be generated somehow, this is from a 1.84.x tarball I had lying around. + cat <<- _EOF_ > "${S}/.cargo/config.toml" + [source.crates-io] + replace-with = "vendored-sources" + + [source."git+https://github.com/rust-lang/team"] + git = "https://github.com/rust-lang/team" + replace-with = "vendored-sources" + + [source.vendored-sources] + directory = "vendor" + _EOF_ + else + verify-sig_src_unpack + fi +} + +pre_build_checks() { + local M=9216 + # 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} )) + if [[ ${PV} == *9999* ]]; then + M=$(( $(usex miri 128 0) + ${M} )) + fi + 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 doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "llvm-core/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 + 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 + + rust_pkg_setup + + 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 +} + +src_prepare() { + if [[ ${PV} = *9999* ]]; then + # We need to update / generate lockfiles for the workspace + ${CARGO} generate-lockfile --offline + + fi + # 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 + + default +} + +src_configure() { + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ESYSROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ESYSROOT}/usr/include" + export OPENSSL_LIB_DIR="${ESYSROOT}/usr/$(get_libdir)" + fi + + 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 rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' + use rust-src && tools+=',"src"' + + if [[ ${PV} == *9999* ]]; then + use miri && tools+=',"miri"' + fi + + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + # 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}")" + + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) + fi + done + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} + + local cm_btype="$(usex debug DEBUG RELEASE)" + local build_channel + local build_miri="false" + case "${PV}" in + *9999*) + build_channel="nightly" + ;; + *beta*) + build_channel="beta" + ;; + *) + build_channel="stable" + ;; + esac + cat <<- _EOF_ > "${S}"/config.toml + # https://github.com/rust-lang/rust/issues/135358 (bug #947897) + profile = "dist" + [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 = "${RUST_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}/${SLOT}" + 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) + channel = "${build_channel}" + description = "gentoo" + rpath = true + 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}/${SLOT}/share/man/ + + # bug #689562, #689160 + rm -v "${ED}/usr/lib/${PN}/${SLOT}/etc/bash_completion.d/cargo" || die + rmdir -v "${ED}/usr/lib/${PN}/${SLOT}"/etc{/bash_completion.d,} || die + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + if [[ ${PV} = *9999* ]]; then + use miri && symlinks+=( miri cargo-miri ) + fi + 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}/${SLOT}/bin/${i}" ]]; then + einfo "Installing ${i} symlink" + ln -v "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}" "${ED}/usr/lib/${PN}/${SLOT}/bin/${ver_i}" || die + else + ewarn "${i} symlink requested, but source file not found" + ewarn "please report this" + fi + dosym "../lib/${PN}/${SLOT}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "${SLOT}/lib" "/usr/lib/${PN}/lib-${SLOT}" + use rust-analyzer && dosym "${SLOT}/libexec" "/usr/lib/${PN}/libexec-${SLOT}" + dosym "${SLOT}/share/man" "/usr/lib/${PN}/man-${SLOT}" + dosym "rust/${SLOT}/lib/rustlib" "/usr/lib/rustlib-${SLOT}" + dosym "../../lib/${PN}/${SLOT}/share/doc/rust" "/usr/share/doc/${P}" + + newenvd - "50${P}" <<-_EOF_ + MANPATH="${EPREFIX}/usr/lib/rust/man-${SLOT}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${SLOT}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${SLOT}/bin"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${SLOT}/doc"/*.old || die + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${PN}-${SLOT}" + /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/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 [[ ${SLOT} == *9999* ]] && 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/lib/rust/libexec >> "${T}/provider-${P}" + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${PN}-${SLOT}" + + if use dist; then + "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + insinto "/usr/lib/${PN}/${SLOT}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_postinst() { + + eselect rust update + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are 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-libs/glib/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/glib/Manifest index b63ac5ea0b..a610d6496e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/glib/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/glib/Manifest @@ -1,8 +1,7 @@ DIST glib-2.76.4.tar.xz 5274356 BLAKE2B c9ceb514ea81e1e6ab2d0efc82c48c0d8ae6c997fd0e3c56d47a5174b027f785b58266fff73b1d1132e272305126fbff22e3c65d47de46224cd12fa49796d5bc SHA512 f76932dc5090a44880373228e2b162f338415d06f7c90f2950eab1a43bb191c56a1797da4d377594f6a999197fef4defb848039259cfa4105bb68288a928f5b7 -DIST glib-2.78.3.tar.xz 5321388 BLAKE2B 6ef754b15e1ce4377eafdfc317025ac65c3d8010a8816a0cef786cec9da2af9f7d7d1da735c971ab8c848b2dcec050330e5b0fdceb156a36d739848e6160cd19 SHA512 9c1af75fb973d23ce0286d5b7836eea45f9628c148ced5ac10e10abceda05024ae4c57f01439824d3287d986527500b7b959828b630b6e4a3314b5224f4d7246 -DIST glib-2.78.4.tar.xz 5331892 BLAKE2B ada7134597d7d863e581a2bb1097ac07a63b27b53309aadab5b1d3686327ee718ad8c5c07af3fce5cc12328e728fc2c4df5fd9e69f431fa00dc634062ef7f926 SHA512 6f3a06e10e7373a2dbf0688512de4126472fb73cbec488b7983b5ffecff09c64d7e1ca462f892e8f215d3d277d103ca802bad7ef0bd0f91edf26fc6ce67187b6 DIST glib-2.78.6.tar.xz 5344808 BLAKE2B d16173794c4aa019459cf8c8c84d4107fb8393828f41ec6c631b9452890f34f9022ed848a543ed134fdb8a575faef6b941cea3e05de512eb1b7a99f7601a2485 SHA512 8d75f8fd77b6309215ca86a0c7648878efe11051f18b279840c137669017ea4066388f8682367e4ea3f154333d833c9dc28ccd4a66a91f0c3854a40a2838f8da DIST glib-2.80.5.tar.xz 5538308 BLAKE2B 3f17ff85a85d20858b69c2dccc1e5d6ffd92661a8cfda8b8770dd391861999ff3381008f4fe382e90f0a7798fe218debda7f559f6e3ac8f9305e3be98b879969 SHA512 c9cc9f99e217fd950810fcfbfa7300c7850cae4dbfbabc03cdcadb6dcca2e51ea7979ceb68c09d8e9776fd1c04db73b89b81f748c8bd911e1f7ad9f704dff172 DIST glib-2.82.4.tar.xz 5556896 BLAKE2B 62caecc7570b1639f6ddf1deb9debb6d3d6180b74f497f2fcace5ce65d6e28996555d51e5b4980f500bdc3f811b5b6214521b1170f553f2fa1fd240fd0eec835 SHA512 5df0b3c56fe6cf6c94019e29afb408174a5864cdb97cf58d5a12a0f83990b5c2004a49c8e3b0e195f5808874b5911a4a7b3d6aea8718aada1b40561e623cd08d +DIST glib-2.82.5.tar.xz 5554704 BLAKE2B e7853034be1137f8b793483df9e9ce1465dd10a990eb9b3cb9ac76c9f8f86ccc6fda85645b04b35963b28c33e0f6c02df4f3d03e06cc278b8515e588d6bd05f6 SHA512 a6b035c32a42b9d6f4c031a29da405848002619654b58c9205f2f78dbb9698cd5866f31ab213adc04aa214d2c48840a9592c0a1e9201e6851ebd435635f393ae DIST gobject-introspection-1.80.1.tar.xz 1040228 BLAKE2B 7a8c1da9bc8aef293deedde1eed97536fa2f42f79a9761ac8ededb0676e46b636545a69e20e63d812844aeb626fa4fb7ce3c7922e51554fdc79560f16443acd9 SHA512 f45c2c1b105086488d974c6134db9910746df8edb187772f2ecd249656a1047c8ac88ba51f5bf7393c3d99c3ace143ecd09be256c2f4d0ceee110c9ad51a839a DIST gobject-introspection-1.82.0.tar.xz 1052872 BLAKE2B 8336ae26d48a71a203655d9d268076f603055ceabb55dbfa676f2c67b4096b83afc106d485dc45d02b3a8be806f9ef50d54806a82e61f2a252ae59543c61e934 SHA512 e139fadb4174c72b648914f3774d89fc0e5eaee45bba0c13edf05de883664dad8276dbc34006217bb09871ed4bad23adab51ff232a17b9eb131329b2926cafb7 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/glib/files/glib-2.78.4-libpcre2-10.43.patch b/sdk_container/src/third_party/portage-stable/dev-libs/glib/files/glib-2.78.4-libpcre2-10.43.patch deleted file mode 100644 index 27dce8f406..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/glib/files/glib-2.78.4-libpcre2-10.43.patch +++ /dev/null @@ -1,45 +0,0 @@ -https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3945 - -From cce3ae98a2c1966719daabff5a4ec6cf94a846f6 Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Mon, 26 Feb 2024 16:55:44 +0000 -Subject: [PATCH] tests: Remove variable-length lookbehind tests for GRegex -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -PCRE2 10.43 has now introduced support for variable-length lookbehind, -so these tests now fail if GLib is built against PCRE2 10.43 or higher. - -See -https://github.com/PCRE2Project/pcre2/blob/e8db6fa7137f4c6f66cb87e0a3c9467252ec1ef7/ChangeLog#L94. - -Rather than making the tests conditional on the version of PCRE2 in use, -just remove them. They are mostly testing the PCRE2 code rather than -any code in GLib, so don’t have much value. - -This should fix CI runs on msys2-mingw32, which updated to PCRE2 10.43 2 -days ago. - -Signed-off-by: Philip Withnall ---- a/glib/tests/regex.c -+++ b/glib/tests/regex.c -@@ -1885,16 +1885,6 @@ test_lookbehind (void) - g_match_info_free (match); - g_regex_unref (regex); - -- regex = g_regex_new ("(?=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] - >=dev-libs/libpcre2-10.32:0=[${MULTILIB_USEDEP},unicode(+),static-libs?] - >=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}] - >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] - >=virtual/libintl-0-r2[${MULTILIB_USEDEP}] - kernel_linux? ( >=sys-apps/util-linux-2.23[${MULTILIB_USEDEP}] ) - selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] ) - xattr? ( !elibc_glibc? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] ) ) - elf? ( virtual/libelf:0= ) - sysprof? ( >=dev-util/sysprof-capture-3.40.1:4[${MULTILIB_USEDEP}] ) -" -DEPEND="${RDEPEND}" -# libxml2 used for optional tests that get automatically skipped -BDEPEND=" - app-text/docbook-xsl-stylesheets - dev-libs/libxslt - >=sys-devel/gettext-0.19.8 - gtk-doc? ( >=dev-util/gtk-doc-1.33 - app-text/docbook-xml-dtd:4.2 - app-text/docbook-xml-dtd:4.5 ) - systemtap? ( >=dev-debug/systemtap-1.3 ) - ${PYTHON_DEPS} - test? ( >=sys-apps/dbus-1.2.14 ) - virtual/pkgconfig -" -# TODO: >=dev-util/gdbus-codegen-${PV} test dep once we modify gio/tests/meson.build to use external gdbus-codegen - -PDEPEND=" - dbus? ( gnome-base/dconf ) - mime? ( x11-misc/shared-mime-info ) -" -# shared-mime-info needed for gio/xdgmime, bug #409481 -# dconf is needed to be able to save settings, bug #498436 - -MULTILIB_CHOST_TOOLS=( - /usr/bin/gio-querymodules$(get_exeext) -) - -PATCHES=( - "${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch -) - -pkg_setup() { - if use kernel_linux ; then - CONFIG_CHECK="~INOTIFY_USER" - if use test ; then - CONFIG_CHECK="~IPV6" - WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them." - fi - linux-info_pkg_setup - fi - python-any-r1_pkg_setup -} - -src_prepare() { - if use test; then - # TODO: Review the test exclusions, especially now with meson - # Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163 - if ! has_version dev-util/desktop-file-utils ; then - ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system," - ewarn "think on installing it to get these tests run." - sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die - sed -i -e "/g_test_add_func/d" gio/tests/desktop-app-info.c || die - fi - - # gdesktopappinfo requires existing terminal (gnome-terminal or any - # other), falling back to xterm if one doesn't exist - #if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then - # ewarn "Some tests will be skipped due to missing terminal program" - # These tests seem to sometimes fail even with a terminal; skip for now and reevulate with meson - # Also try https://gitlab.gnome.org/GNOME/glib/issues/1601 once ready - # for backport (or in a bump) and file new issue if still fails - sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die - # desktop-app-info/launch* might fail similarly - sed -i -e "/desktop-app-info\/launch-as-manager/d" gio/tests/desktop-app-info.c || die - #fi - - # https://bugzilla.gnome.org/show_bug.cgi?id=722604 - sed -i -e "/timer\/stop/d" glib/tests/timer.c || die - sed -i -e "/timer\/basic/d" glib/tests/timer.c || die - - ewarn "Tests for search-utils have been skipped" - sed -i -e "/search-utils/d" glib/tests/meson.build || die - - # Play nice with network-sandbox, but this approach would defeat the purpose of the test - #sed -i -e "s/localhost/127.0.0.1/g" gio/tests/gsocketclient-slow.c || die - else - # Don't build tests, also prevents extra deps, bug #512022 - sed -i -e '/subdir.*tests/d' {.,gio,glib}/meson.build || die - fi - - # Don't build fuzzing binaries - not used - sed -i -e '/subdir.*fuzzing/d' meson.build || die - - # gdbus-codegen is a separate package - sed -i -e '/install_dir/d' gio/gdbus-2.0/codegen/meson.build || die - - # Same kind of meson-0.50 issue with some installed-tests files; will likely be fixed upstream soon - sed -i -e '/install_dir/d' gio/tests/meson.build || die - - cat > "${T}/glib-test-ld-wrapper" <<-EOF - #!/usr/bin/env sh - exec \${LD:-ld} "\$@" - EOF - chmod a+x "${T}/glib-test-ld-wrapper" || die - sed -i -e "s|'ld'|'${T}/glib-test-ld-wrapper'|g" gio/tests/meson.build || die - - # make default sane for us - if use prefix ; then - sed -i -e "s:/usr/local:${EPREFIX}/usr:" gio/xdgmime/xdgmime.c || die - # bug #308609, without path, bug #314057 - export PERL=perl - fi - - if [[ ${CHOST} == *-solaris* ]] ; then - # fix standards conflicts - sed -i \ - -e 's/\<\(_XOPEN_SOURCE_EXTENDED\)\>/_POSIX_PTHREAD_SEMANTICS/' \ - -e '/\<_XOPEN_SOURCE\>/s/\<2\>/600/' \ - meson.build || die - sed -i -e '/#define\s\+_POSIX_SOURCE/d' \ - glib/giounix.c || die - fi - - # disable native macOS integrations - sed -i -e '/glib_conf.set(.HAVE_\(CARBON\|COCOA\).,/s/true/false/' \ - meson.build || die - sed -i \ - -e '/AvailabilityMacros.h/d' \ - gio/giomodule.c || die - - default - gnome2_environment_reset - # TODO: python_name sedding for correct python shebang? Might be relevant mainly for glib-utils only -} - -multilib_src_configure() { - # TODO: figure a way to pass appropriate values for all cross properties - # that glib uses (search for get_cross_property) - #if tc-is-cross-compiler ; then - # https://bugzilla.gnome.org/show_bug.cgi?id=756473 - # TODO-meson: This should be in meson cross file as 'growing_stack' - # property; and more, look at get_cross_property - #case ${CHOST} in - #hppa*|metag*) export glib_cv_stack_grows=yes ;; - #*) export glib_cv_stack_grows=no ;; - #esac - #fi - - local emesonargs=( - -Dbuildtype=$(usex debug debug plain) - -Ddefault_library=$(usex static-libs both shared) - -Druntime_dir="${EPREFIX}"/run - $(meson_feature selinux) - $(meson_use xattr) - -Dlibmount=enabled # only used if host_system == 'linux' - -Dman=true - $(meson_use systemtap dtrace) - $(meson_use systemtap) - $(meson_feature sysprof) - $(meson_native_use_bool gtk-doc gtk_doc) - $(meson_use test tests) - -Dinstalled_tests=false - -Dnls=enabled - -Doss_fuzz=disabled - $(meson_native_use_feature elf libelf) - -Dmultiarch=false - ) - - # Workaround for bug #938302 - if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then - local native_file="${T}"/meson.${CHOST}.ini.local - cat >> ${native_file} <<-EOF || die - [binaries] - dtrace='stap-dtrace' - EOF - emesonargs+=( --native-file "${native_file}" ) - fi - - meson_src_configure -} - -multilib_src_test() { - export XDG_CONFIG_DIRS=/etc/xdg - export XDG_DATA_DIRS=/usr/local/share:/usr/share - export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp" - export LC_TIME=C # bug #411967 - export TZ=UTC - unset GSETTINGS_BACKEND # bug #596380 - python_setup - - # https://bugs.gentoo.org/839807 - local -x SANDBOX_PREDICT=${SANDBOX_PREDICT} - addpredict /usr/b - - # Related test is a bit nitpicking - mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR" - chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR" - - meson_src_test --timeout-multiplier 20 --no-suite flaky -} - -multilib_src_install() { - meson_src_install - keepdir /usr/$(get_libdir)/gio/modules -} - -multilib_src_install_all() { - # These are installed by dev-util/glib-utils - # TODO: With patching we might be able to get rid of the python-any deps - # and removals, and test depend on glib-utils instead; revisit now with - # meson - rm "${ED}/usr/bin/glib-genmarshal" || die - rm "${ED}/usr/share/man/man1/glib-genmarshal.1" || die - rm "${ED}/usr/bin/glib-mkenums" || die - rm "${ED}/usr/share/man/man1/glib-mkenums.1" || die - rm "${ED}/usr/bin/gtester-report" || die - rm "${ED}/usr/share/man/man1/gtester-report.1" || die - # gdbus-codegen manpage installed by dev-util/gdbus-codegen - rm "${ED}/usr/share/man/man1/gdbus-codegen.1" || die -} - -pkg_preinst() { - xdg_pkg_preinst - - # Make gschemas.compiled belong to glib alone - local cache="/usr/share/glib-2.0/schemas/gschemas.compiled" - - if [[ -e ${EROOT}${cache} ]]; then - cp "${EROOT}"${cache} "${ED}"/${cache} || die - else - touch "${ED}"${cache} || die - fi - - multilib_pkg_preinst() { - # Make giomodule.cache belong to glib alone - local cache="/usr/$(get_libdir)/gio/modules/giomodule.cache" - - if [[ -e ${EROOT}${cache} ]]; then - cp "${EROOT}"${cache} "${ED}"${cache} || die - else - touch "${ED}"${cache} || die - fi - } - - # Don't run the cache ownership when cross-compiling, as it would end up with an empty cache - # file due to inability to create it and GIO might not look at any of the modules there - if ! tc-is-cross-compiler ; then - multilib_foreach_abi multilib_pkg_preinst - fi -} - -pkg_postinst() { - xdg_pkg_postinst - # glib installs no schemas itself, but we force update for fresh install in case - # something has dropped in a schemas file without direct glib dep; and for upgrades - # in case the compiled schema format could have changed - gnome2_schemas_update - - multilib_pkg_postinst() { - gnome2_giomodule_cache_update \ - || die "Update GIO modules cache failed (for ${ABI})" - } - if ! tc-is-cross-compiler ; then - multilib_foreach_abi multilib_pkg_postinst - else - ewarn "Updating of GIO modules cache skipped due to cross-compilation." - ewarn "You might want to run gio-querymodules manually on the target for" - ewarn "your final image for performance reasons and re-run it when packages" - ewarn "installing GIO modules get upgraded or added to the image." - fi - - for v in ${REPLACING_VERSIONS}; do - if ver_test "$v" "-lt" "2.63.6"; then - ewarn "glib no longer installs the gio-launch-desktop binary. You may need" - ewarn "to restart your session for \"Open With\" dialogs to work." - fi - done -} - -pkg_postrm() { - xdg_pkg_postrm - gnome2_schemas_update - - if [[ -z ${REPLACED_BY_VERSION} ]]; then - multilib_pkg_postrm() { - rm -f "${EROOT}"/usr/$(get_libdir)/gio/modules/giomodule.cache - } - multilib_foreach_abi multilib_pkg_postrm - rm -f "${EROOT}"/usr/share/glib-2.0/schemas/gschemas.compiled - fi -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.82.4-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.82.4-r1.ebuild index 9cb47e5940..3464207131 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.82.4-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.82.4-r1.ebuild @@ -1,11 +1,11 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 PYTHON_REQ_USE="xml(+)" PYTHON_COMPAT=( python3_{10..13} ) -inherit gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg +inherit eapi9-ver gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg DESCRIPTION="The GLib library of C routines" HOMEPAGE="https://www.gtk.org/" @@ -423,12 +423,10 @@ pkg_postinst() { ewarn "installing GIO modules get upgraded or added to the image." fi - for v in ${REPLACING_VERSIONS}; do - if ver_test "$v" "-lt" "2.63.6"; then - ewarn "glib no longer installs the gio-launch-desktop binary. You may need" - ewarn "to restart your session for \"Open With\" dialogs to work." - fi - done + if ver_replacing "-lt" "2.63.6"; then + ewarn "glib no longer installs the gio-launch-desktop binary. You may need" + ewarn "to restart your session for \"Open With\" dialogs to work." + fi } pkg_postrm() { diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.78.4-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.82.5.ebuild similarity index 64% rename from sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.78.4-r1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.82.5.ebuild index 07ae1aeaba..3464207131 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.78.4-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.82.5.ebuild @@ -1,22 +1,30 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 PYTHON_REQ_USE="xml(+)" -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) -inherit gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg +inherit eapi9-ver gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg DESCRIPTION="The GLib library of C routines" HOMEPAGE="https://www.gtk.org/" +INTROSPECTION_PN="gobject-introspection" +INTROSPECTION_PV="1.82.0" +INTROSPECTION_P="${INTROSPECTION_PN}-${INTROSPECTION_PV}" +SRC_URI=" + ${SRC_URI} + introspection? ( mirror://gnome/sources/gobject-introspection/${INTROSPECTION_PV%.*}/gobject-introspection-${INTROSPECTION_PV}.tar.${GNOME_TARBALL_SUFFIX} ) +" +INTROSPECTION_SOURCE_DIR="${WORKDIR}/${INTROSPECTION_P}" +INTROSPECTION_BUILD_DIR="${WORKDIR}/${INTROSPECTION_P}-build" + LICENSE="LGPL-2.1+" SLOT="2" -IUSE="dbus debug +elf gtk-doc +mime selinux static-libs sysprof systemtap test utils xattr" +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="dbus debug +elf doc +introspection +mime selinux static-libs sysprof systemtap test utils xattr" RESTRICT="!test? ( test )" -REQUIRED_USE="gtk-doc? ( test )" # Bug #777636 - -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" # * elfutils (via libelf) does not build on Windows. gresources are not embedded # within ELF binaries on that platform anyway and inspecting ELF binaries from @@ -28,12 +36,16 @@ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 # them or just put the (build) deps in that rare consumer instead of recursive # RDEPEND here (due to lack of recursive DEPEND). RDEPEND=" + !=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] >=dev-libs/libpcre2-10.32:0=[${MULTILIB_USEDEP},unicode(+),static-libs?] >=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}] >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] >=virtual/libintl-0-r2[${MULTILIB_USEDEP}] + introspection? ( + >=dev-libs/gobject-introspection-common-${INTROSPECTION_PV} + ) kernel_linux? ( >=sys-apps/util-linux-2.23[${MULTILIB_USEDEP}] ) selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] ) xattr? ( !elibc_glibc? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] ) ) @@ -46,16 +58,22 @@ BDEPEND=" app-text/docbook-xsl-stylesheets dev-libs/libxslt >=sys-devel/gettext-0.19.8 - gtk-doc? ( >=dev-util/gtk-doc-1.33 - app-text/docbook-xml-dtd:4.2 - app-text/docbook-xml-dtd:4.5 ) + doc? ( >=dev-util/gi-docgen-2023.1 ) + dev-python/docutils systemtap? ( >=dev-debug/systemtap-1.3 ) ${PYTHON_DEPS} - $(python_gen_any_dep ' - dev-python/packaging[${PYTHON_USEDEP}] - ') test? ( >=sys-apps/dbus-1.2.14 ) virtual/pkgconfig + + introspection? ( + $(python_gen_any_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ') + virtual/pkgconfig + sys-devel/bison + app-alternatives/lex + ${PYTHON_DEPS} + ) " # TODO: >=dev-util/gdbus-codegen-${PV} test dep once we modify gio/tests/meson.build to use external gdbus-codegen @@ -72,12 +90,12 @@ MULTILIB_CHOST_TOOLS=( PATCHES=( "${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch - "${FILESDIR}"/${PN}-2.78.4-distutils.patch - "${FILESDIR}"/${PN}-2.78.4-libpcre2-10.43.patch ) python_check_deps() { - python_has_version "dev-python/packaging[${PYTHON_USEDEP}]" + if use introspection ; then + python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]" + fi } pkg_setup() { @@ -134,6 +152,7 @@ src_prepare() { # gdbus-codegen is a separate package sed -i -e '/install_dir/d' gio/gdbus-2.0/codegen/meson.build || die + sed -i -e '/install : true/d' gio/gdbus-2.0/codegen/meson.build || die # Same kind of meson-0.50 issue with some installed-tests files; will likely be fixed upstream soon sed -i -e '/install_dir/d' gio/tests/meson.build || die @@ -169,6 +188,11 @@ src_prepare() { -e '/AvailabilityMacros.h/d' \ gio/giomodule.c || die + # Link the glib source to the introspection subproject directory so it can be built there first + if use introspection ; then + ln -s "${S}" "${INTROSPECTION_SOURCE_DIR}/subprojects/glib" + fi + default gnome2_environment_reset # TODO: python_name sedding for correct python shebang? Might be relevant mainly for glib-utils only @@ -187,24 +211,112 @@ multilib_src_configure() { #esac #fi + # Build internal copy of gobject-introspection to avoid circular dependency (built for native abi only) + if multilib_native_use introspection && ! has_version ">=dev-libs/${INTROSPECTION_P}" ; then + einfo "Bootstrapping gobject-introspection..." + INTROSPECTION_BIN_DIR="${T}/bootstrap-gi-prefix/usr/bin" + INTROSPECTION_LIB_DIR="${T}/bootstrap-gi-prefix/usr/$(get_libdir)" + + local emesonargs=( + --prefix="${T}/bootstrap-gi-prefix/usr" + -Dpython="${EPYTHON}" + -Dbuild_introspection_data=true + # Build an internal copy of glib for the internal copy of gobject-introspection + --force-fallback-for=glib + # Make the paths in pkgconfig files relative as we used to not + # do a proper install here and it seems less risky to keep it + # this way. + -Dpkgconfig.relocatable=true + + # We want as minimal a build as possible here to speed things up + # and reduce the risk of failures. + -Dglib:selinux=disabled + -Dglib:xattr=false + -Dglib:libmount=disabled + -Dglib:man-pages=disabled + -Dglib:dtrace=false + -Dglib:systemtap=false + -Dglib:sysprof=disabled + -Dglib:documentation=false + -Dglib:tests=false + -Dglib:installed_tests=false + -Dglib:nls=disabled + -Dglib:oss_fuzz=disabled + -Dglib:libelf=disabled + -Dglib:multiarch=false + ) + + ORIG_SOURCE_DIR=${EMESON_SOURCE} + EMESON_SOURCE=${INTROSPECTION_SOURCE_DIR} + + # g-ir-scanner has some relocatable logic but it searches + # for 'lib', not 'lib64', so it can't find itself and eventually + # falls back to the system installation. See bug #946221. + sed -i -e "/^pylibdir =/s:'lib:'$(get_libdir):" "${EMESON_SOURCE}"/tools/g-ir-tool-template.in || die + + ORIG_BUILD_DIR=${BUILD_DIR} + BUILD_DIR=${INTROSPECTION_BUILD_DIR} + + pushd ${INTROSPECTION_SOURCE_DIR} || die + + meson_src_configure + meson_src_compile + # We already provide a prefix in ${T} above. Blank DESTDIR + # as it may be set in the environment by Portage (though not + # guaranteed in src_configure). + meson_src_install --destdir "" + + popd || die + + EMESON_SOURCE=${ORIG_SOURCE_DIR} + BUILD_DIR=${ORIG_BUILD_DIR} + + # Add gobject-introspection binaries and pkgconfig files to path + export PATH="${INTROSPECTION_BIN_DIR}:${PATH}" + + # Override primary pkgconfig search paths to prioritize our internal copy + export PKG_CONFIG_LIBDIR="${INTROSPECTION_LIB_DIR}/pkgconfig:${INTROSPECTION_BUILD_DIR}/meson-private" + + # Set the normal primary pkgconfig search paths as secondary + # (We also need to prepend our just-built one for later use of + # g-ir-scanner to use the new one and to help workaround bugs like + # bug #946221.) + export PKG_CONFIG_PATH="${PKG_CONFIG_LIBDIR}:$(pkg-config --variable pc_path pkg-config)" + + # Add the paths to the built glib libraries to the library path so that gobject-introspection can load them + for gliblib in glib gobject gthread gmodule gio girepository; do + export LD_LIBRARY_PATH="${BUILD_DIR}/${gliblib}:${LD_LIBRARY_PATH}" + done + + # Add the path to introspection libraries so that glib can call gir utilities + export LD_LIBRARY_PATH="${INTROSPECTION_LIB_DIR}:${LD_LIBRARY_PATH}" + + # Add the paths to the gobject-introspection python modules to python path so they can be imported + export PYTHONPATH="${INTROSPECTION_LIB_DIR}/gobject-introspection:${PYTHONPATH}" + fi + + # TODO: Can this be cleaned up now we have -Dglib_debug? (bug #946485) + use debug && EMESON_BUILD_TYPE=debug + local emesonargs=( - $(meson_feature debug glib_debug) -Ddefault_library=$(usex static-libs both shared) -Druntime_dir="${EPREFIX}"/run + $(meson_feature debug glib_debug) $(meson_feature selinux) $(meson_use xattr) -Dlibmount=enabled # only used if host_system == 'linux' - -Dman=true + -Dman-pages=enabled $(meson_use systemtap dtrace) $(meson_use systemtap) $(meson_feature sysprof) - $(meson_native_use_bool gtk-doc gtk_doc) + $(meson_use doc documentation) $(meson_use test tests) -Dinstalled_tests=false -Dnls=enabled -Doss_fuzz=disabled $(meson_native_use_feature elf libelf) -Dmultiarch=false + $(meson_native_use_feature introspection) ) # Workaround for bug #938302 @@ -223,6 +335,7 @@ multilib_src_configure() { multilib_src_test() { export XDG_CONFIG_DIRS=/etc/xdg export XDG_DATA_DIRS=/usr/local/share:/usr/share + # TODO: Use ${ABI} here to be unique for multilib? export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp" export LC_TIME=C # bug #411967 export TZ=UTC @@ -234,8 +347,8 @@ multilib_src_test() { addpredict /usr/b # Related test is a bit nitpicking - mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR" - chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR" + mkdir -p "$G_DBUS_COOKIE_SHA1_KEYRING_DIR" || die + chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR" || die meson_src_test --timeout-multiplier 20 --no-suite flaky } @@ -310,12 +423,10 @@ pkg_postinst() { ewarn "installing GIO modules get upgraded or added to the image." fi - for v in ${REPLACING_VERSIONS}; do - if ver_test "$v" "-lt" "2.63.6"; then - ewarn "glib no longer installs the gio-launch-desktop binary. You may need" - ewarn "to restart your session for \"Open With\" dialogs to work." - fi - done + if ver_replacing "-lt" "2.63.6"; then + ewarn "glib no longer installs the gio-launch-desktop binary. You may need" + ewarn "to restart your session for \"Open With\" dialogs to work." + fi } pkg_postrm() { @@ -324,9 +435,9 @@ pkg_postrm() { if [[ -z ${REPLACED_BY_VERSION} ]]; then multilib_pkg_postrm() { - rm -f "${EROOT}"/usr/$(get_libdir)/gio/modules/giomodule.cache + rm -f "${EROOT}"/usr/$(get_libdir)/gio/modules/giomodule.cache || die } multilib_foreach_abi multilib_pkg_postrm - rm -f "${EROOT}"/usr/share/glib-2.0/schemas/gschemas.compiled + rm -f "${EROOT}"/usr/share/glib-2.0/schemas/gschemas.compiled || die fi } diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/json-c/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/Manifest index 9d148cfa4f..64b8a40126 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/json-c/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/Manifest @@ -1,2 +1 @@ -DIST json-c-0.17.tar.gz 390045 BLAKE2B 26be25141447f2b652fa09d7096141a8bf7992469bcc53b275c1bc0108fc36a8898a8185c381218d3146d00fa03bdd0b837be073410fc93af943b5f083dbaa69 SHA512 4cbedd559502bf9014cfcd1d0bb8bb80d2abac4e969d95d4170123cd9cbafb0756b913fdbb83f666d14f674d6539a60ed1c5d0eb03c36b8037a2e00dc1636e19 DIST json-c-0.18.tar.gz 401788 BLAKE2B d39bab289976cb2f76bcf3ad8254f7f5b4d11e2aa4dedebd60dc7d131a3f6ec57beacdc575aeeb191cf449d16c549d424172e78464731eeb66305f47f72371c2 SHA512 4763f2352414dac3599bc2183b4fa57dbfaac0ca24de890097bd7d0bdda93c91efa280f6566e949e6d94212ef39a63fc76c5f9d0c54ff3d04b13c859717dba5a diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-0.17.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-0.17.ebuild deleted file mode 100644 index 7a9b3a414b..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-0.17.ebuild +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake-multilib - -DESCRIPTION="A JSON implementation in C" -HOMEPAGE="https://github.com/json-c/json-c/wiki" -SRC_URI="https://s3.amazonaws.com/json-c_releases/releases/${P}.tar.gz" - -LICENSE="MIT" -SLOT="0/5" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" -IUSE="cpu_flags_x86_rdrand static-libs threads" - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/json-c/config.h -) - -multilib_src_configure() { - # Tests use Valgrind automagically otherwise (bug #927027) - export USE_VALGRIND=0 - - local mycmakeargs=( - # apps are not installed, so disable unconditionally. - # https://github.com/json-c/json-c/blob/json-c-0.17-20230812/apps/CMakeLists.txt#L119...L121 - -DBUILD_APPS=OFF - -DBUILD_STATIC_LIBS=$(usex static-libs) - -DDISABLE_EXTRA_LIBS=ON - -DDISABLE_WERROR=ON - -DENABLE_RDRAND=$(usex cpu_flags_x86_rdrand) - -DENABLE_THREADING=$(usex threads) - ) - - cmake_src_configure -} - -multilib_src_test() { - multilib_is_native_abi && cmake_src_test -} - -multilib_src_install_all() { - HTML_DOCS=( "${S}"/doc/html/. ) - einstalldocs -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-0.18.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-0.18.ebuild index 5f6b3ef871..997463b972 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-0.18.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-0.18.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -21,7 +21,8 @@ LICENSE="MIT" # .1 is a fudge factor for 0.18 fixing compat w/ 0.16, drop on next # SONAME change. SLOT="0/5.1" -IUSE="cpu_flags_x86_rdrand doc static-libs threads" +IUSE="cpu_flags_x86_rdrand doc static-libs test threads" +RESTRICT="!test? ( test )" BDEPEND="doc? ( >=app-text/doxygen-1.8.13 )" @@ -42,6 +43,7 @@ multilib_src_configure() { -DDISABLE_WERROR=ON -DENABLE_RDRAND=$(usex cpu_flags_x86_rdrand) -DENABLE_THREADING=$(usex threads) + -DBUILD_TESTING=$(usex test) ) cmake_src_configure diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-9999.ebuild index 582ba35e41..95c54f504c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -21,7 +21,8 @@ LICENSE="MIT" # .1 is a fudge factor for 0.18 fixing compat w/ 0.16, drop on next # SONAME change. SLOT="0/5.1" -IUSE="cpu_flags_x86_rdrand doc static-libs threads" +IUSE="cpu_flags_x86_rdrand doc static-libs test threads" +RESTRICT="!test? ( test )" BDEPEND="doc? ( >=app-text/doxygen-1.8.13 )" @@ -42,6 +43,7 @@ multilib_src_configure() { -DDISABLE_WERROR=ON -DENABLE_RDRAND=$(usex cpu_flags_x86_rdrand) -DENABLE_THREADING=$(usex threads) + -DBUILD_TESTING=$(usex test) ) cmake_src_configure diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild index 7954c5f2aa..77e05abe6e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild @@ -105,15 +105,6 @@ multilib_src_configure() { use cpu_flags_ppc_vsx3 || local -x gcry_cv_gcc_inline_asm_ppc_arch_3_00=no fi - # Workaround for GCC < 11.3 bug - # https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commitdiff;h=0b399721ce9709ae25f9d2050360c5ab2115ae29 - # https://dev.gnupg.org/T5581 - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102124 - if use arm64 && tc-is-gcc && (($(gcc-major-version) == 11)) && - (($(gcc-minor-version) <= 2)) && (($(gcc-micro-version) == 0)) ; then - append-flags -fno-tree-loop-vectorize - fi - # ideally we want !tc-ld-is-bfd for best future-proofing, but it needs # https://github.com/gentoo/gentoo/pull/28355 # mold needs this too but right now tc-ld-is-mold is also not available diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.3-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.3-r1.ebuild index c651cc767b..eefaea67ef 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.3-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.3-r1.ebuild @@ -108,15 +108,6 @@ multilib_src_configure() { use cpu_flags_ppc_vsx3 || local -x gcry_cv_gcc_inline_asm_ppc_arch_3_00=no fi - # Workaround for GCC < 11.3 bug - # https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commitdiff;h=0b399721ce9709ae25f9d2050360c5ab2115ae29 - # https://dev.gnupg.org/T5581 - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102124 - if use arm64 && tc-is-gcc && (($(gcc-major-version) == 11)) && - (($(gcc-minor-version) <= 2)) && (($(gcc-micro-version) == 0)) ; then - append-flags -fno-tree-loop-vectorize - fi - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) local myeconfargs=( diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.3-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.3-r2.ebuild index c546de3cf2..8b66f77d82 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.3-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.3-r2.ebuild @@ -111,15 +111,6 @@ multilib_src_configure() { use cpu_flags_ppc_vsx3 || local -x gcry_cv_gcc_inline_asm_ppc_arch_3_00=no fi - # Workaround for GCC < 11.3 bug - # https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commitdiff;h=0b399721ce9709ae25f9d2050360c5ab2115ae29 - # https://dev.gnupg.org/T5581 - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102124 - if use arm64 && tc-is-gcc && (($(gcc-major-version) == 11)) && - (($(gcc-minor-version) <= 2)) && (($(gcc-micro-version) == 0)) ; then - append-flags -fno-tree-loop-vectorize - fi - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) local myeconfargs=( diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.0-r1.ebuild index 45bc4ef0ff..f8ab6b068a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.0-r1.ebuild @@ -106,15 +106,6 @@ multilib_src_configure() { use cpu_flags_ppc_vsx3 || local -x gcry_cv_gcc_inline_asm_ppc_arch_3_00=no fi - # Workaround for GCC < 11.3 bug - # https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commitdiff;h=0b399721ce9709ae25f9d2050360c5ab2115ae29 - # https://dev.gnupg.org/T5581 - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102124 - if use arm64 && tc-is-gcc && (($(gcc-major-version) == 11)) && - (($(gcc-minor-version) <= 2)) && (($(gcc-micro-version) == 0)) ; then - append-flags -fno-tree-loop-vectorize - fi - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) local myeconfargs=( diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.0-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.0-r2.ebuild index b3fba8d0d3..7daf50f7ae 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.0-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.0-r2.ebuild @@ -13,7 +13,7 @@ SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" LICENSE="LGPL-2.1+ GPL-2+ MIT" SLOT="0/20" # subslot = soname major version -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="+asm doc +getentropy static-libs" IUSE+=" cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_arm_sve" IUSE+=" cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3" @@ -113,15 +113,6 @@ multilib_src_configure() { use cpu_flags_ppc_vsx3 || local -x gcry_cv_gcc_inline_asm_ppc_arch_3_00=no fi - # Workaround for GCC < 11.3 bug - # https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commitdiff;h=0b399721ce9709ae25f9d2050360c5ab2115ae29 - # https://dev.gnupg.org/T5581 - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102124 - if use arm64 && tc-is-gcc && (($(gcc-major-version) == 11)) && - (($(gcc-minor-version) <= 2)) && (($(gcc-micro-version) == 0)) ; then - append-flags -fno-tree-loop-vectorize - fi - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) local myeconfargs=( diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libp11/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libp11/Manifest index fcc7ee2988..5ecb26482a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libp11/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libp11/Manifest @@ -1 +1,2 @@ DIST libp11-0.4.12.tar.gz 516414 BLAKE2B a816749984753a1916dd58860c51b49d316946b59eb3bc839f6a21dcff14de48d7a4937f55fc7ad96a26b914591854d5cf11a1fbac2d5f2f5e04c833973c0e42 SHA512 674cfca2c9eaf162262204c94f9d59d3095dabbc348c1842e758b897e1a5bd4ba08b2d589ec3b2a2d1343a8760eab253e7008dc09ef5b499e2f16385efe5c8cc +DIST libp11-0.4.13.tar.gz 531147 BLAKE2B ea31e56966cc22e6a6dad2d4923bd89ad110f537172af1dca912d8449df8a6a118ceca45912e7c3d38979dd3e591a9fb110091fd5474b41d6159d489b7c9ba37 SHA512 7936e5e3e37b424caff2ce95b416e67d6bf082676c5a3efb23651d414eacdbdbc1f5e11b05097b500a9d0ca5a97e628f54dd7d1e5ba2a7b5e3a36b3b7b75b5ed diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libp11/libp11-0.4.13.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libp11/libp11-0.4.13.ebuild new file mode 100644 index 0000000000..7c7b1abc89 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libp11/libp11-0.4.13.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="Abstraction layer to simplify PKCS#11 API" +HOMEPAGE="https://github.com/opensc/libp11/wiki" +SRC_URI="https://github.com/OpenSC/${PN}/releases/download/${P}/${P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="doc static-libs test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-libs/openssl-3.0.0:=[bindist(+)] + !~dev-libs/openssl-3.2.0 + !=dev-libs/openssl-3.2.1-r0 + !=dev-libs/openssl-3.0.13-r1 + !=dev-libs/openssl-3.0.13-r0 + !~dev-libs/openssl-3.0.12 +" +DEPEND="${RDEPEND} + test? ( dev-libs/softhsm ) +" +BDEPEND=" + virtual/pkgconfig + doc? ( app-text/doxygen ) + test? ( >=dev-libs/opensc-0.23.0-r2 ) +" + +src_prepare() { + default + eautoreconf +} + +src_configure() { + local args=( + --enable-shared + $(use_enable static-libs static) + $(use_enable doc api-doc) + ) + econf "${args[@]}" +} + +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 19b4e5e6d8..128b5c6636 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,6 +1,8 @@ DIST libxml2-2.11.9.tar.xz 2627500 BLAKE2B 3ecab5df9017673f31e8bbf737273d72cb4475c3a6f0d0669e7f074b0e4d378460df2e175fe4991c675d8462a2e4d4607c151ed11937a0c8a3a4e81107102f67 SHA512 d5c34ed56525f4c6b61d7055fe4219d7a3337077b4fb27081682e9f8350f1542b4476ac42f2754e590b371a4d9a00921cebf20c10b299371b05b8391e7fa7c33 +DIST libxml2-2.12.10.tar.xz 2483708 BLAKE2B b0e68457650665967936799c5b8f550a74534a820ffa1ebcf580c025681ab7f0a0941aea8e3cec93dc056e9cbe53266864635d991f8ce7662cf7b66b2c49abbd SHA512 7bd04375321a99c9b7a82d6a72d9412ab45f958b923f1e2f75d9dfbb1a053eba3e0fd067a53753f9a343b4dcb2d9ab5cba894d4194a5f9fb7108f7c545224791 DIST libxml2-2.12.9.tar.xz 2643456 BLAKE2B 769ff564e62c1c0167e5334879ac9e912491c651b6d48a9d21db569002ae86bc4e4490098710a614bc90bbefc44a9dd0af6b02958041dd3bffccf8b5ddc0f7ca SHA512 6e4544ed3ab36d6cb7481d465ceabf223444739d7f41de3e1927309b8716a5eac85520b9bbaf69913f53e052fbfaf68bf27372074daaa24dca9463ce728b4173 DIST libxml2-2.13.5.tar.xz 2586872 BLAKE2B 46c280630638e2c8009c593bbbcf90ccbfffe9ddcc99987c4d91c2223043759f2b4d6511b31b2357c5250ac3b40d96ef05c17b4d2adc61972665f8a0d899dfe8 SHA512 acaecd4e3e95136d1c621f9e5f33976ebca87dfbf83859459e339597c3c57fbc47508a7de16af7fbf0e7e7c59fd6f9a82b2e732e1dd12efd79d666bac64ecf4e +DIST libxml2-2.13.6.tar.xz 2423476 BLAKE2B b21f2946dd6945de4a47c993e93bfbbc785b51a501782bf44c234ad69675a58ccdbf6a255301c4d69e92ba9a9ed6670156e55b4d8100215f2dea015c943931ff SHA512 1d4fc3c58df28834ceeeefd49ab90b263b62823d2f0870ae38d11320da93cfa2a18d979c605293c91ad985cb702e7395ddc0ec00b4785dab35ba6d8c33d5f6a7 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/libxml2-2.12.10.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.12.10.ebuild new file mode 100644 index 0000000000..5d93bd5cb6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.12.10.ebuild @@ -0,0 +1,198 @@ +# Copyright 1999-2025 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.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.13.6.ebuild new file mode 100644 index 0000000000..b53e73fe00 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.13.6.ebuild @@ -0,0 +1,190 @@ +# Copyright 1999-2025 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/nettle/nettle-3.10.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/nettle/nettle-3.10.1.ebuild index 614895b5ff..1d12a68cd3 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/nettle/nettle-3.10.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/nettle/nettle-3.10.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -14,7 +14,7 @@ SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${P}.tar.gz.sig )" LICENSE="|| ( LGPL-3 LGPL-2.1 )" # Subslot = libnettle - libhogweed soname version 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="+asm doc +gmp static-libs cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3 cpu_flags_x86_aes cpu_flags_x86_sha cpu_flags_x86_pclmul" # The arm64 crypto option controls AES, SHA1, and SHA2 usage. REQUIRED_USE=" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/nspr/files/nspr-4.10.6-solaris.patch b/sdk_container/src/third_party/portage-stable/dev-libs/nspr/files/nspr-4.10.6-solaris.patch deleted file mode 100644 index 6ae04f40eb..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/nspr/files/nspr-4.10.6-solaris.patch +++ /dev/null @@ -1,32 +0,0 @@ -* drop Solaris linker stuff - ---- a/configure.in -+++ b/configure.in -@@ -1988,26 +1988,14 @@ - CPU_ARCH=`uname -p` - MDCPUCFG_H=_solaris.cfg - PR_MD_CSRCS=solaris.c -- LD=/usr/ccs/bin/ld - MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@' - RESOLVE_LINK_SYMBOLS=1 -- case "${OS_RELEASE}" in -- 5.8|5.9) -- ;; -- *) -- # It is safe to use the -Bdirect linker flag on Solaris 10 or later. -- USE_B_DIRECT=1 -- ;; -- esac - if test -n "$GNU_CC"; then - DSO_CFLAGS=-fPIC - if `$CC -print-prog-name=ld` -v 2>&1 | grep -c GNU >/dev/null; then - GCC_USE_GNU_LD=1 - fi -- DSO_LDOPTS='-shared -Wl,-h,$(notdir $@),-z,combreloc,-z,defs,-z,ignore' -- if test -n "$USE_B_DIRECT"; then -- DSO_LDOPTS="$DSO_LDOPTS,-Bdirect" -- fi -+ DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)' - else - DSO_CFLAGS=-KPIC - DSO_LDOPTS='-G -h $(notdir $@) -z combreloc -z defs -z ignore' diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/nspr/files/nspr-4.23-prtime.patch b/sdk_container/src/third_party/portage-stable/dev-libs/nspr/files/nspr-4.23-prtime.patch deleted file mode 100644 index 087e427866..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/nspr/files/nspr-4.23-prtime.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- a/pr/src/misc/prtime.c -+++ b/pr/src/misc/prtime.c -@@ -1621,7 +1621,7 @@ - case TT_EET: zone_offset = 2 * 60; break; - case TT_JST: zone_offset = 9 * 60; break; - default: -- PR_ASSERT (0); -+ return PR_FAILURE; - break; - } - } -@@ -1677,11 +1677,12 @@ - struct tm localTime; - time_t secs; - -- PR_ASSERT(result->tm_month > -1 && -+ if (!(result->tm_month > -1 && - result->tm_mday > 0 && - result->tm_hour > -1 && - result->tm_min > -1 && -- result->tm_sec > -1); -+ result->tm_sec > -1)) -+ return PR_FAILURE; - - /* - * To obtain time_t from a tm structure representing the local diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.1.8.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.1.8.ebuild index 1d00aad561..59f78d81c6 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.1.8.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.1.8.ebuild @@ -27,7 +27,7 @@ else " if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openssl-20240920 )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.3.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.3.3.ebuild index 3a0a20fbb0..89cb769782 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.3.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.3.3.ebuild @@ -27,7 +27,7 @@ else " if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openssl-20240920 )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/tree-sitter-bash-0.23.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/tree-sitter-bash-0.23.3.ebuild index e066f715a0..184a737bbf 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/tree-sitter-bash-0.23.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter-bash/tree-sitter-bash-0.23.3.ebuild @@ -12,4 +12,4 @@ 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" +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/tree-sitter/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/Manifest index a6e747920b..d6c87b9cd7 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/Manifest @@ -1,5 +1,4 @@ -DIST tree-sitter-0.22.6.tar.gz 3036954 BLAKE2B f109a738214882e63a721e8db384fa42a624af78d42ceb9ab7a45135b36cf3bbbd2554f470ca5038404365f5b9dbf9979c4d26309e123a9d9533feb1f0a3f724 SHA512 bf0b87bb9ce16b049824e53933986ac451a7b7f432df39ee9d4546627d740ae689af9e838a53cc50e29d66d6d85d51dab7490d66a429a14bcc9d0b8e2935a63a DIST tree-sitter-0.23.0.tar.gz 2977346 BLAKE2B e10846d5bd0a6aa1ecac362e2ab2ccf0f0bdb17c5fde796d8d65f8bc84a6e054d86c18a42e66e8effef865f95013c38ff6bd6ab5498a680ae172d7d57020604e SHA512 ab821be564ac7223cc4f9659c08922a78016af9dd3bd69166706fb6a889ac175ba2712a337a1303aceb8f44beaf58640a183e77dddc2c57e35da23079d0cd7b9 -DIST tree-sitter-0.23.2.tar.gz 2980520 BLAKE2B 54b4ad96948fc3ec6142da998306f9385ce9107a7c330915bbb733c5886a0baa869a675602be99aa4a491c58a1121d30f654856ce0f2dee0eff4c4fcce370f24 SHA512 393fa62fe6bce51ff5498f977bbb357fd896aaf98d80f08d4faed6dcf8fd5d41012a7489816c662c1873595108c30d0c18d7721a535c69d9904b2220fef8f858 DIST tree-sitter-0.24.3.tar.gz 3018668 BLAKE2B fa703b6250e11274d0c5ebccb741cc41f521cc5e882383d8f891369540ce6b3b4b048eddb4d0c88186e57516e2d01977e76b42352f26759b3f6093a339cc6a11 SHA512 2d934c03b0ee71419654d03bf6e4ca759b4ef3217b8837fcaef64ee5b4bc8ea8298ff685ae4aaa477b615d11d538ff960b92529b11f13e936b85bad52e369cd3 DIST tree-sitter-0.25.1.tar.gz 855493 BLAKE2B 6b9e4bf454c50e9b7341aa94d5131d333f45a0a047090ca04da71bfc54357568d0c098c6f7df65ee9d20ede7050537342fc394e281f4070f2d021a7e4134cedf SHA512 9861b18c7209e3c37d180a399bcae181cea46c4e58eff743ff6044ed0f2923ee838fa88993f1266272e07163748d5df1bef7d7dc6d8800e004e8af1227e489af +DIST tree-sitter-0.25.2.tar.gz 855826 BLAKE2B 5c2cdaeba229c58d40f5d9b2c4af920d4e1d9fd60ce1d49e632cd660d441d3c32632864b1e226e4c99b4e8f054bfc0082a80c2eb1cdca0684f899b913378a17d SHA512 8acdb410c8b5c2552e9dd5524d80ab1d529e418f408d7c495619e6781f3b70ea2d61b6f69b5b3d1ebd753b739c0f9dd744302808d9a3051b5c7dcf68dba30002 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.22.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.22.6.ebuild deleted file mode 100644 index 1d00b3ac73..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.22.6.ebuild +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit optfeature toolchain-funcs - -DESCRIPTION="Tree-sitter is a parser generator tool and an incremental parsing library" -HOMEPAGE="https://github.com/tree-sitter/tree-sitter" - -if [[ ${PV} == *9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/${PN}/${PN}" -else - SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos" -fi - -LICENSE="MIT" -# ABI is not stable. Revisit after tree-sitter-1.0. -# https://bugs.gentoo.org/930039 -# https://github.com/tree-sitter/tree-sitter/pull/3302 -SLOT="0/${PV}" -RESTRICT="test" # tests are for CLI and not the lib - -PATCHES=( - "${FILESDIR}/${PN}-0.22.2-no-static.patch" -) - -src_prepare() { - default - tc-export CC -} - -src_compile() { - emake \ - PREFIX="${EPREFIX}/usr" \ - LIBDIR="${EPREFIX}/usr/$(get_libdir)" \ - STRIP="" # bug 930020 -} - -src_install() { - emake DESTDIR="${D}" \ - PREFIX="${EPREFIX}/usr" \ - LIBDIR="${EPREFIX}/usr/$(get_libdir)" \ - install -} - -pkg_postinst() { - optfeature "building and testing grammars" dev-util/tree-sitter-cli -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.24.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.24.3.ebuild index 20863acffa..d8e3393bf8 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.24.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.24.3.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} == *9999* ]]; then EGIT_REPO_URI="https://github.com/${PN}/${PN}" else SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos" fi LICENSE="MIT" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.23.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.25.2.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.23.2.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.25.2.ebuild index 765a16ffae..7121e61d87 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.23.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.25.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/Manifest index 08630082e7..d38c6e1f4b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/Manifest @@ -1,2 +1,2 @@ -DIST xmlsec1-1.3.5.tar.gz 2451506 BLAKE2B 4a265793a7499c4f6421c6d60552bd2ea18f06e3c28435520188c0a7c36a4de8aa40f20658949b93d826a8f6fb20bd8f2be1a78e6d103ae573e6353a2a5380a7 SHA512 69e9f18e2bc6b1b9acaf475a534a666965a561eec6a5a152185d264a4110d97d233af302153577a414e232a8880c6afc66b563118d889e670204d93819fcfdb5 DIST xmlsec1-1.3.6.tar.gz 2453984 BLAKE2B 217817ef0f7003247b7173a6581ba6428e623ff4e464b4ea08bd93d07c0aaba8ee379cbdd6309e3c2c6f07f5022fe55a51dc1afc001525bf219eff9f06ff5aad SHA512 f38ccc7af0026973a94b1b6f95accd70a2a2c4398985a0002c66d7b43bff6d6bcfb09ae62046cbdac82a0890622aead2df710cb0ab373c3bdf6159797613cdaa +DIST xmlsec1-1.3.7.tar.gz 2468083 BLAKE2B 6e3b14d476cc6d37e5f9324383432dfacc1a3ac0340bcf709f70b2e8f99dadee23d48e12569b50768446dfa3601868c99190bb44fdeb5c6fc2a0bb48cfd7335e SHA512 0813ad0f7821f765947a7d81d276ba479bf54430279a7b9da31988d1ec76c60b81d3d57f1088a69a2cc0d8d27fa932ce1cb051457d1c0c5a6f071a2df4395cb8 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/xmlsec-1.3.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/xmlsec-1.3.7.ebuild similarity index 90% rename from sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/xmlsec-1.3.5.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/xmlsec-1.3.7.ebuild index e844f37da9..45c37d0422 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/xmlsec-1.3.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/xmlsec-1.3.7.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -16,7 +16,7 @@ S="${WORKDIR}/${PN}1-${PV}" LICENSE="MIT" # Upstream consider major version bumps to be changes in either X or Y in X.Y.Z SLOT="0/$(ver_cut 1-2)" -KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" IUSE="doc gcrypt gnutls http nss +openssl static-libs test" RESTRICT="!test? ( test )" REQUIRED_USE=" @@ -86,7 +86,7 @@ src_configure() { src_test() { # See https://github.com/lsh123/xmlsec/issues/280 for TZ=UTC - TZ=UTC SHELL="${BROOT}"/bin/bash emake TMPFOLDER="${T}" check + TZ=UTC SHELL="${BROOT}"/bin/bash emake TMPFOLDER="${T}" -Onone check } src_install() { diff --git a/sdk_container/src/third_party/portage-stable/dev-python/flit-core/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/flit-core/Manifest index 08356c292a..98a12279d8 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/flit-core/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/flit-core/Manifest @@ -1 +1,2 @@ DIST flit_core-3.10.1.tar.gz 42842 BLAKE2B bd17ab1fb955b1d829b4faaa42257176857b8a9b07132235455331cdd52943fa09fe5e4fd1091f1b15d477ec43e8084c2b409081d077c43a9a4cdbae9e8741b1 SHA512 ac0d39b6ee35b553fc8f7f3f6e558fdc32714ed64d6c506da7913ef95d00780b5f86894d9b042f32cdc51d38ec515fa02f1154b0edbc81d8e53475788c444b08 +DIST flit_core-3.11.0.tar.gz 52038 BLAKE2B 6b6e0c606429fdb8123aa2dc17336003d8348f576bf26745ffa116a5e0159e20be5b8a20c541c570a825cdb2c970380f290599a09fdcc9e3bcf4158329aff9d2 SHA512 628ffd0950da88f1775c1b193ee5c6f1af06046877ca0ad66d7ae5af7df4b49759f19a4494cf15d7a1480d34c19925ce11205e7359df9fc223bca6595f94525d diff --git a/sdk_container/src/third_party/portage-stable/dev-python/flit-core/flit-core-3.11.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/flit-core/flit-core-3.11.0.ebuild new file mode 100644 index 0000000000..dec56b2013 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/flit-core/flit-core-3.11.0.ebuild @@ -0,0 +1,40 @@ +# Copyright 2019-2025 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=standalone +PYTHON_COMPAT=( python3_{10..13} python3_13t pypy3 pypy3_11 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Simplified packaging of Python modules (core module)" +HOMEPAGE=" + https://pypi.org/project/flit-core/ + https://github.com/pypa/flit/ +" + +LICENSE="BSD" +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=" + $(python_gen_cond_dep ' + dev-python/tomli[${PYTHON_USEDEP}] + ' 3.{9..10}) +" +BDEPEND=" + test? ( dev-python/testpath[${PYTHON_USEDEP}] ) +" + +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + # unbundle deps + rm -r flit_core/vendor || die + sed -i -e 's:from \.vendor ::' flit_core/*.py || die + sed -i -e '/license-files/d' pyproject.toml || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pillow/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/pillow/Manifest index 29e23c43bc..cf74834f59 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/pillow/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/pillow/Manifest @@ -1,2 +1,3 @@ DIST pillow-11.1.0.gh.tar.gz 46815201 BLAKE2B 7990683c90359e0a72e17a13e1a29455bc3ace8ce3616d6af59360edfc1ac87541bd1fd6967160bd8d7dd25cfedfc9d2e9b058c3ed433a6208379834f15bc312 SHA512 bb0622fae0b9c3903ddd945dced8e2b94348b2bd06c14bc74da00d8aa3a795aab2daaff39ca6c40b712dcce4f10218cd30739f0eb616c9dfbc16efcf80886f1e +DIST pillow-test-images-716bdc4adaf97601e5b9a31c9be25f8975381ee1.gh.tar.gz 57416881 BLAKE2B 8ea5fff2231567f957fc911120c1b50610722477da99559639317e4513e4bc4e73b8b49368a6d95c6938333f0c48db7672c3713eaef70494f7896dadd07cc42d SHA512 b00009be0f5ca85ec0c761fa780f0e650c1877b456b9a9426a4d2300a0c5654358495299e129ded411fccb641e4add7e460bcb3ca7be055f3b207407ccefb33c DIST pythoncapi_compat.h 61109 BLAKE2B 9b8d9f774a6803dee73aedc5465519f2956c284bf70314f5e046d0d5522a10891bf55358a85fea5a156d4063736424c0f019bc71dd18592bbf56c364db7b6bce SHA512 d0ca43186fdc3cd8d0e993135b50fc86eeea05e8b84cba529d89f60ce28bc9502f8d3825eb508be5d68d1fbfc53423a69756c0e79fe0fe7adf94c602b1cf79ff diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pillow/pillow-11.1.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pillow/pillow-11.1.0.ebuild index 3080e16268..74b4d57ba8 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/pillow/pillow-11.1.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/pillow/pillow-11.1.0.ebuild @@ -14,6 +14,9 @@ inherit distutils-r1 toolchain-funcs virtualx MY_PN=Pillow MY_P=${MY_PN}-${PV} +# upstream always fetches from main +TEST_IMAGE_COMMIT="716bdc4adaf97601e5b9a31c9be25f8975381ee1" + DESCRIPTION="Python Imaging Library (fork)" HOMEPAGE=" https://python-pillow.org/ @@ -24,8 +27,12 @@ SRC_URI=" https://github.com/python-pillow/Pillow/archive/${PV}.tar.gz -> ${P}.gh.tar.gz https://github.com/python/pythoncapi-compat/raw/c84545f0e1e21757d4901f75c47333d25a3fcff0/pythoncapi_compat.h + test? ( + https://github.com/python-pillow/test-images/archive/${TEST_IMAGE_COMMIT}.tar.gz + -> pillow-test-images-${TEST_IMAGE_COMMIT}.gh.tar.gz + ) " -S="${WORKDIR}/${MY_P}" +S=${WORKDIR}/${MY_P} LICENSE="HPND" SLOT="0" @@ -75,6 +82,11 @@ src_prepare() { distutils-r1_src_prepare + if use test; then + mv "${WORKDIR}/test-images-${TEST_IMAGE_COMMIT}"/* \ + Tests/images || die + fi + # https://github.com/python-pillow/Pillow/pull/8757 if ! grep -q 0041177c4f348c8952b4c8980b2c90856e61c7c7 \ src/thirdparty/pythoncapi_compat.h diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pip/files/pip-25.0.1-unbundle.patch b/sdk_container/src/third_party/portage-stable/dev-python/pip/files/pip-25.0.1-unbundle.patch new file mode 100644 index 0000000000..9cc0359852 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/pip/files/pip-25.0.1-unbundle.patch @@ -0,0 +1,209 @@ +diff --git a/src/pip/_internal/cli/main_parser.py b/src/pip/_internal/cli/main_parser.py +index 5ade356b9..d07dfeab8 100644 +--- a/src/pip/_internal/cli/main_parser.py ++++ b/src/pip/_internal/cli/main_parser.py +@@ -80,6 +80,11 @@ def parse_command(args: List[str]) -> Tuple[str, List[str]]: + + # --python + if general_options.python and "_PIP_RUNNING_IN_SUBPROCESS" not in os.environ: ++ raise CommandError( ++ "--python option is not supported on Gentoo, as it requires bundled " ++ "dependencies that have been removed to improve security" ++ ) ++ + # Re-invoke pip using the specified Python interpreter + interpreter = identify_python_interpreter(general_options.python) + if interpreter is None: +diff --git a/src/pip/_internal/commands/debug.py b/src/pip/_internal/commands/debug.py +index 567ca967e..427bfcf04 100644 +--- a/src/pip/_internal/commands/debug.py ++++ b/src/pip/_internal/commands/debug.py +@@ -6,7 +6,6 @@ from optparse import Values + from types import ModuleType + from typing import Any, Dict, List, Optional + +-import pip._vendor + from pip._vendor.certifi import where + from pip._vendor.packaging.version import parse as parse_version + +@@ -192,9 +191,7 @@ class DebugCommand(Command): + show_value("REQUESTS_CA_BUNDLE", os.environ.get("REQUESTS_CA_BUNDLE")) + show_value("CURL_CA_BUNDLE", os.environ.get("CURL_CA_BUNDLE")) + show_value("pip._vendor.certifi.where()", where()) +- show_value("pip._vendor.DEBUNDLED", pip._vendor.DEBUNDLED) +- +- show_vendor_versions() ++ show_value("pip._vendor.DEBUNDLED", True) + + show_tags(options) + +diff --git a/tests/conftest.py b/tests/conftest.py +index d093eea46..bf4d9e782 100644 +--- a/tests/conftest.py ++++ b/tests/conftest.py +@@ -418,6 +418,7 @@ def _common_wheel_editable_install( + ) + install_dir = tmpdir_factory.mktemp(package) / "install" + lib_install_dir = install_dir / "lib" ++ return lib_install_dir + bin_install_dir = install_dir / "bin" + with WheelFile.open(wheel_candidates[0]) as source: + install( +diff --git a/tests/functional/test_check.py b/tests/functional/test_check.py +index f50f5593e..c42e88bbe 100644 +--- a/tests/functional/test_check.py ++++ b/tests/functional/test_check.py +@@ -10,10 +10,8 @@ from tests.lib import ( + def matches_expected_lines(string: str, expected_lines: Collection[str]) -> bool: + # Ignore empty lines + output_lines = list(filter(None, string.splitlines())) +- # We'll match the last n lines, given n lines to match. +- last_few_output_lines = output_lines[-len(expected_lines) :] + # And order does not matter +- return set(last_few_output_lines) == set(expected_lines) ++ return set(expected_lines).issubset(set(output_lines)) + + + def test_basic_check_clean(script: PipTestEnvironment) -> None: +diff --git a/tests/functional/test_freeze.py b/tests/functional/test_freeze.py +index 0a7cedd11..ea2fef37d 100644 +--- a/tests/functional/test_freeze.py ++++ b/tests/functional/test_freeze.py +@@ -82,8 +82,8 @@ def test_basic_freeze(script: PipTestEnvironment) -> None: + result = script.pip("freeze", expect_stderr=True) + expected = textwrap.dedent( + """\ +- ...simple==2.0 +- simple2==3.0... ++ ...simple==2.0... ++ ...simple2==3.0... + """ + ) + _check_output(result.stdout, expected) +@@ -1016,7 +1016,7 @@ def test_freeze_skip_work_dir_pkg(script: PipTestEnvironment) -> None: + + # Freeze should not include package simple when run from package directory + result = script.pip("freeze", cwd=pkg_path) +- assert "simple" not in result.stdout ++ assert "\nsimple==" not in result.stdout + + + def test_freeze_include_work_dir_pkg(script: PipTestEnvironment) -> None: +diff --git a/tests/functional/test_install_check.py b/tests/functional/test_install_check.py +index 8a8a7c93a..bbda083f7 100644 +--- a/tests/functional/test_install_check.py ++++ b/tests/functional/test_install_check.py +@@ -57,6 +57,7 @@ def test_check_install_canonicalization(script: PipTestEnvironment) -> None: + ) + assert "requires" not in result.stderr + assert result.returncode == 0 ++ return + + # Double check that all errors are resolved in the end + result = script.pip("check") +diff --git a/tests/functional/test_list.py b/tests/functional/test_list.py +index e611fe7cb..c716f65c5 100644 +--- a/tests/functional/test_list.py ++++ b/tests/functional/test_list.py +@@ -1,5 +1,6 @@ + import json + import os ++import re + from pathlib import Path + + import pytest +@@ -42,8 +43,8 @@ def test_basic_list(simple_script: PipTestEnvironment) -> None: + + """ + result = simple_script.pip("list") +- assert "simple 1.0" in result.stdout, str(result) +- assert "simple2 3.0" in result.stdout, str(result) ++ assert re.search(r"simple\s+1\.0", result.stdout), str(result) ++ assert re.search(r"simple2\s+3\.0", result.stdout), str(result) + + + def test_verbose_flag(simple_script: PipTestEnvironment) -> None: +@@ -55,8 +56,8 @@ def test_verbose_flag(simple_script: PipTestEnvironment) -> None: + assert "Version" in result.stdout, str(result) + assert "Location" in result.stdout, str(result) + assert "Installer" in result.stdout, str(result) +- assert "simple 1.0" in result.stdout, str(result) +- assert "simple2 3.0" in result.stdout, str(result) ++ assert re.search(r"simple\s+1\.0", result.stdout), str(result) ++ assert re.search(r"simple2\s+3\.0", result.stdout), str(result) + + + def test_columns_flag(simple_script: PipTestEnvironment) -> None: +@@ -67,8 +68,8 @@ def test_columns_flag(simple_script: PipTestEnvironment) -> None: + assert "Package" in result.stdout, str(result) + assert "Version" in result.stdout, str(result) + assert "simple (1.0)" not in result.stdout, str(result) +- assert "simple 1.0" in result.stdout, str(result) +- assert "simple2 3.0" in result.stdout, str(result) ++ assert re.search(r"simple\s+1\.0", result.stdout), str(result) ++ assert re.search(r"simple2\s+3\.0", result.stdout), str(result) + + + def test_format_priority(simple_script: PipTestEnvironment) -> None: +@@ -80,16 +81,16 @@ def test_format_priority(simple_script: PipTestEnvironment) -> None: + ) + assert "simple==1.0" in result.stdout, str(result) + assert "simple2==3.0" in result.stdout, str(result) +- assert "simple 1.0" not in result.stdout, str(result) +- assert "simple2 3.0" not in result.stdout, str(result) ++ assert not re.search(r"simple\s+1\.0", result.stdout), str(result) ++ assert not re.search(r"simple2\s+3\.0", result.stdout), str(result) + + result = simple_script.pip("list", "--format=freeze", "--format=columns") + assert "Package" in result.stdout, str(result) + assert "Version" in result.stdout, str(result) + assert "simple==1.0" not in result.stdout, str(result) + assert "simple2==3.0" not in result.stdout, str(result) +- assert "simple 1.0" in result.stdout, str(result) +- assert "simple2 3.0" in result.stdout, str(result) ++ assert re.search(r"simple\s+1\.0", result.stdout), str(result) ++ assert re.search(r"simple2\s+3\.0", result.stdout), str(result) + + + def test_local_flag(simple_script: PipTestEnvironment) -> None: +@@ -125,8 +126,8 @@ def test_multiple_exclude_and_normalization( + assert "Normalizable_Name" in result.stdout + assert "pip" in result.stdout + result = script.pip("list", "--exclude", "normalizablE-namE", "--exclude", "pIp") +- assert "Normalizable_Name" not in result.stdout +- assert "pip" not in result.stdout ++ assert "Normalizable_Name " not in result.stdout ++ assert "pip " not in result.stdout + + + @pytest.mark.network +diff --git a/tests/lib/venv.py b/tests/lib/venv.py +index fac54d3bd..6bfe3cfdc 100644 +--- a/tests/lib/venv.py ++++ b/tests/lib/venv.py +@@ -9,6 +9,7 @@ import venv as _venv + from pathlib import Path + from typing import Dict, Literal, Optional, Union + ++import pytest + import virtualenv as _virtualenv + + VirtualEnvironmentType = Literal["virtualenv", "venv"] +@@ -35,7 +36,7 @@ class VirtualEnvironment: + self._venv_type = venv_type + else: + self._venv_type = "virtualenv" +- self._user_site_packages = False ++ self._user_site_packages = True + self._template = template + self._sitecustomize: Optional[str] = None + self._update_paths() +@@ -234,6 +235,8 @@ class VirtualEnvironment: + + @user_site_packages.setter + def user_site_packages(self, value: bool) -> None: ++ if not value: ++ pytest.skip("Gentoo: skipping due to lack of system site-packages") + self._user_site_packages = value + if self._legacy_virtualenv: + marker = self.lib / "no-global-site-packages.txt" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-25.0.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-25.0.1-r1.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/dev-python/pip/pip-25.0.1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/pip/pip-25.0.1-r1.ebuild index a535620fe6..24f37823be 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-25.0.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-25.0.1-r1.ebuild @@ -75,7 +75,7 @@ python_prepare_all() { local PATCHES=( "${FILESDIR}/pip-23.1-no-coverage.patch" # prepare to unbundle dependencies - "${FILESDIR}/pip-24.1-unbundle.patch" + "${FILESDIR}/pip-25.0.1-unbundle.patch" ) distutils-r1_python_prepare_all @@ -106,6 +106,11 @@ python_compile_all() { } 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 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/ply/ply-3.11-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/ply/ply-3.11-r2.ebuild index 617cc4c1c4..8fbc7fc8c6 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/ply/ply-3.11-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/ply/ply-3.11-r2.ebuild @@ -1,11 +1,11 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # please keep this ebuild at EAPI 7 -- sys-apps/portage dep EAPI=7 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..13} pypy3 ) +PYTHON_COMPAT=( python3_{10..13} pypy3 pypy3_11 ) inherit distutils-r1 pypi 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 c36bcb5fac..41f79c5a5b 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,3 @@ DIST poetry_core-2.0.1.tar.gz 355487 BLAKE2B 84bbeb7129c13d3ed1a06fbcbdcb8e1a1a608c35d398bdbf35ea70c467adbbe5d293945fecdf90e7795122af2a3f5d9fa64a99e56ee37a197ea022d271f10a15 SHA512 dd1d303abd034fc0341aaa5fc8d11f13ef305e93b9e9036f4040c2cb007c8b1eecbdb719d2b5692530b80ecc06d416751a45c499f373a05b7066e56785d1a8e8 DIST poetry_core-2.1.0.tar.gz 362182 BLAKE2B 6f2636e76c037199b8303a58dc7cd28edc9f0359620f803a2ec2d314e1b7254aa1226eec760f425517ce318bed1cbc5c0baf7fdceec8f48b0ee8e8683ede511c SHA512 6b32bc9326766c5df21ad749f2f67d24ee4feea0abe3234206b09a5146a0a52c4b79931d3044d4259e60f1bc8c369035309bab08710893b7e541c2fcf3f4b54d +DIST poetry_core-2.1.1.tar.gz 362210 BLAKE2B 03eb8b3de0138468b04b42003eb9a491c33ddb566647b933ca992f609b956ce9c27f874c61496fdd9a0d9ee0b02bda09524636ef550221f607a50792be8f73b4 SHA512 6624530062196c9a40be73d74a8dd51cfa8af8f34705837c5101b3955252e94fd136b32259887796ea304b77cfcd35042bf391fe78174f22faeebe77247605c4 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/poetry-core-2.1.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/poetry-core-2.1.1.ebuild new file mode 100644 index 0000000000..5c2c2b8048 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/poetry-core-2.1.1.ebuild @@ -0,0 +1,69 @@ +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=standalone +PYTHON_TESTED=( pypy3 pypy3_11 python3_{10..13} ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) + +inherit distutils-r1 pypi + +DESCRIPTION="Poetry PEP 517 Build Backend" +HOMEPAGE=" + https://github.com/python-poetry/poetry-core/ + https://pypi.org/project/poetry-core/ +" + +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.21.1[${PYTHON_USEDEP}] + >=dev-python/lark-1.2.2[${PYTHON_USEDEP}] + >=dev-python/packaging-24.2[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/tomli-2.2.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/trove-classifiers-2022.5.19[${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() { + if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then + einfo "Skipping tests on ${EPYTHON} (unported deps)" + return + fi + + # Poetry expects test to be run inside a git repository, otherwise + # VCS-related logic doesn't get triggered. An empty repository + # suffices, though. + git init || die + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -p pytest_mock +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pycparser/pycparser-2.22.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pycparser/pycparser-2.22.ebuild index 757db29f1b..dcc2cfd77c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/pycparser/pycparser-2.22.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/pycparser/pycparser-2.22.ebuild @@ -1,11 +1,11 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # please keep this ebuild at EAPI 8 -- sys-apps/portage dep EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..13} pypy3 ) +PYTHON_COMPAT=( python3_{10..13} pypy3 pypy3_11 ) inherit distutils-r1 pypi diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/Manifest index 15ec0ef248..9bff7a7eab 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/Manifest @@ -1 +1,2 @@ DIST setuptools_scm-8.1.0.tar.gz 76465 BLAKE2B f50a1c25c93179809cb448dbaeab9d71596c729e374c88c2f8d9f5f7a1d746a001f9aa9fb93478679f1c1af96f35313e1250f96375f56310a4b814ee0542ed52 SHA512 205f1c122539d107a61a7ef01ff9ec225f7b2e6d92fc33a9f2a0c616051cbf32163ac4e6878d898e51cc1ff81fce6c6521a18fc5e09bdbc9d7d2467ba013c57f +DIST setuptools_scm-8.2.0.tar.gz 77572 BLAKE2B 105ddebf318a1bc0d1f0ee0e5232f5af8a43a8ed0908bd6ffceb6ba188ff8640b681a0a98006f67cc8c2f82917e6e0565f8a1aba44e8d7ff29700e3d158dde22 SHA512 3f4c4eb8a3e4f71a29187486cdc00b1e9af9b577c55a58b5ad03e6c6bad50b638b2e23ed8ee3db739481f8380d126635b42213b16172e79ba9f6ec81ce774e27 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-8.2.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-8.2.0.ebuild new file mode 100644 index 0000000000..b3466e7f8a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-8.2.0.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2025 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=standalone +PYTHON_COMPAT=( python3_{10..13} python3_13t pypy3 pypy3_11 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Manage versions by scm tags via setuptools" +HOMEPAGE=" + https://github.com/pypa/setuptools-scm/ + https://pypi.org/project/setuptools-scm/ +" + +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" + +# there's an optional dep on rich for cute logs +RDEPEND=" + dev-python/packaging[${PYTHON_USEDEP}] + >=dev-python/setuptools-61[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/tomli-2.0.2[${PYTHON_USEDEP}] + ' 3.10) +" +BDEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + test? ( + dev-python/build[${PYTHON_USEDEP}] + dev-python/typing-extensions[${PYTHON_USEDEP}] + dev-vcs/git + ) +" + +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # the usual nondescript gpg-agent failure + testing/test_git.py::test_git_getdate_signed_commit + + # fetching from the Internet + testing/test_regressions.py::test_pip_download + + # calls flake8, unpredictable + testing/test_functions.py::test_dump_version_flake8 + ) + + if has_version dev-python/nose; then + EPYTEST_DESELECT+=( + # https://bugs.gentoo.org/892639 + testing/test_integration.py::test_pyproject_support + ) + fi + + epytest +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/Manifest index 504c4cfbad..a0d5a62778 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/Manifest @@ -1,4 +1,3 @@ -DIST tree-sitter-0.22.3.gh.tar.gz 164914 BLAKE2B 7ab97203fed17fc8d18c40d5a24ff60cea4757353a4124c832cc52bff93ed8af913dbbab682225eac309762a26e90c216d2e1058dcaeb860ebd467b4c9655939 SHA512 8ac729b90f942eef07de97c4ebd070c1040f338c1f57a2203b6aa4f3f8db863fdb5183c9b27d5be2ec270d7eefba7665800d6cc4e9265cbd4b4715af4c4d3921 DIST tree-sitter-0.23.0.gh.tar.gz 167761 BLAKE2B 694e90f608f51fe4f9add476cd5ebcd0ce04a7b027efc4948ce49a6cc0f05ebf4f15e0fe3f365f89f3e04cfec542cb3f1db1e5b05ff7ca23d3134561ea3dcf36 SHA512 67a6f3359c6283c58afcdbe5b6a521cdfcf2585a5361fb69a55eff82941726a143528a402e6d609286d8846c77e20d0a38551525d761e35abb21045ad9c5a2f8 DIST tree-sitter-0.23.1.gh.tar.gz 168079 BLAKE2B fe3f8d9dae426d7771eab7775d78a0af72e59bf3448005cec1e597a3263b2ac89d7b2c1a80aa12da42db54b242da10d0395673412257d57dff557b2cf4763869 SHA512 39ed2d5d8a737bd72d539701a2dab5abc501b151a3666180f127645895582757eba2ec98607bbeb07bf90377fccad4a93cb385ce16565ed3420908129cea4f57 DIST tree-sitter-0.24.0.gh.tar.gz 170141 BLAKE2B 3d7f076f947192105be2fc9d93831eb331c1ec189619f6db860db8b6b6c1f2f33cd03edf315c09a5de6637d870351d06d5507d9c0de8a4dadc4e9e863ac233e8 SHA512 471d605cc29bcf7fd228eefe8a3bc2dd39c163d584e941cfd8ac0e498ff1815c7cadb9a7a45c643f704b8c9f12932bcc53597c835e23b5988da087f9a6a59067 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/tree-sitter-0.22.3-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/tree-sitter-0.22.3-r2.ebuild deleted file mode 100644 index 4c211891b9..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/tree-sitter-0.22.3-r2.ebuild +++ /dev/null @@ -1,58 +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_COMPAT=( python3_{10..13} ) - -inherit distutils-r1 - -DESCRIPTION="Python bindings to the Tree-sitter parsing library" -HOMEPAGE=" - https://github.com/tree-sitter/py-tree-sitter/ - https://pypi.org/project/tree-sitter/ -" -SRC_URI=" - https://github.com/tree-sitter/py-tree-sitter/archive/v${PV}.tar.gz - -> ${P}.gh.tar.gz -" -S=${WORKDIR}/py-${P} - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" - -# setuptools is needed for distutils import -DEPEND=">=dev-libs/tree-sitter-0.22.1:=" -RDEPEND="${DEPEND} - $(python_gen_cond_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ' 3.12) -" -BDEPEND=" - test? ( - >=dev-libs/tree-sitter-html-0.20.3[python,${PYTHON_USEDEP}] - >=dev-libs/tree-sitter-javascript-0.21.0[python,${PYTHON_USEDEP}] - >=dev-libs/tree-sitter-json-0.20.3[python,${PYTHON_USEDEP}] - >=dev-libs/tree-sitter-python-0.21.0[python,${PYTHON_USEDEP}] - >=dev-libs/tree-sitter-rust-0.21.2[python,${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -PATCHES=( - "${FILESDIR}"/${PN}-0.22.2-unbundle.patch -) - -src_unpack() { - default - rmdir "${S}/tree_sitter/core" || die -} - -src_test() { - rm -r tree_sitter || die - distutils-r1_src_test -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/tree-sitter-0.23.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/tree-sitter-0.23.1-r1.ebuild similarity index 85% rename from sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/tree-sitter-0.23.1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/tree-sitter-0.23.1-r1.ebuild index 453e180d3b..7daad9224e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/tree-sitter-0.23.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/tree-sitter/tree-sitter-0.23.1-r1.ebuild @@ -22,10 +22,10 @@ S=${WORKDIR}/py-${P} LICENSE="MIT" SLOT="0" -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" # setuptools is needed for distutils import -DEPEND=">=dev-libs/tree-sitter-0.24.0:=" +DEPEND=" 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/truststore/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/truststore/Manifest index dc591a432f..d97c8d06d8 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,2 +1 @@ -DIST truststore-0.10.0.gh.tar.gz 28644 BLAKE2B cf83a6936e361bb08f399ea5f6739acbe254dab380b06cf4befab8e1084e01d0757afd02eb0b9718963b4249280e2fa629b079eea143a7d3c5bda3767d4e0611 SHA512 eb1b16f093f32ff8be29bb696e92843823a8ffe2e7428ea989ee987d94d7328b5c40d6d8e5aa25eb223ca348ca30b29018decaec11d6106221753fd4525aa5b0 DIST truststore-0.10.1.gh.tar.gz 29120 BLAKE2B 2efb72b04f3e6fd5365d0d4f8fda12fcaa6fd2008cb17fdc76a679b4bff965040d30465cf78dc0a2cec2e02430100b5e6cc1f4ec4102326805a6d9bd52c38b10 SHA512 8a1c1269d44c0c33444c67d4302484eddcd3223b3e792b133efcf547ed1292cdca0ebc15447f68e7078928ea01d5c2108692dffb703d6bbdad0b9f1c23eeebe9 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/truststore/truststore-0.10.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/truststore/truststore-0.10.0.ebuild deleted file mode 100644 index c0bd1f766c..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/truststore/truststore-0.10.0.ebuild +++ /dev/null @@ -1,47 +0,0 @@ -# Copyright 2023-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=flit -PYTHON_COMPAT=( pypy3 python3_{10..13} ) - -inherit distutils-r1 - -DESCRIPTION="Verify certificates using native system trust stores" -HOMEPAGE=" - https://github.com/sethmlarson/truststore/ - https://pypi.org/project/truststore/ -" -SRC_URI=" - https://github.com/sethmlarson/truststore/archive/v${PV}.tar.gz - -> ${P}.gh.tar.gz -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" -# The vast majority of tests require Internet access. -PROPERTIES="test_network" -RESTRICT="test" - -BDEPEND=" - test? ( - dev-python/aiohttp[${PYTHON_USEDEP}] - dev-python/flaky[${PYTHON_USEDEP}] - dev-python/httpx[${PYTHON_USEDEP}] - dev-python/pyopenssl[${PYTHON_USEDEP}] - dev-python/pytest-asyncio[${PYTHON_USEDEP}] - dev-python/pytest-httpserver[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - dev-python/trustme[${PYTHON_USEDEP}] - dev-python/urllib3[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -python_test() { - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest -p asyncio -p pytest_httpserver -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/truststore/truststore-0.10.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/truststore/truststore-0.10.1.ebuild index 738f5d3576..7563b9a0b5 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/truststore/truststore-0.10.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/truststore/truststore-0.10.1.ebuild @@ -20,7 +20,7 @@ SRC_URI=" 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" # 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/urllib3/urllib3-2.3.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/urllib3/urllib3-2.3.0.ebuild index bb0cc7aae9..64e4b470b6 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/urllib3/urllib3-2.3.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/urllib3/urllib3-2.3.0.ebuild @@ -5,8 +5,8 @@ EAPI=8 DISTUTILS_USE_PEP517=hatchling -PYTHON_TESTED=( python3_{10..13} pypy3 ) -PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" pypy3_11 ) +PYTHON_TESTED=( python3_{10..13} pypy3 pypy3_11 ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) PYTHON_REQ_USE="ssl(+)" inherit distutils-r1 pypi diff --git a/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/Manifest index b89d18b40e..01739de14e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/Manifest @@ -6,3 +6,4 @@ DIST glib-2.80.4.tar.xz 5535760 BLAKE2B 1d2b301703b27a5c2def370e1d44b4f7b08a9409 DIST glib-2.80.5.tar.xz 5538308 BLAKE2B 3f17ff85a85d20858b69c2dccc1e5d6ffd92661a8cfda8b8770dd391861999ff3381008f4fe382e90f0a7798fe218debda7f559f6e3ac8f9305e3be98b879969 SHA512 c9cc9f99e217fd950810fcfbfa7300c7850cae4dbfbabc03cdcadb6dcca2e51ea7979ceb68c09d8e9776fd1c04db73b89b81f748c8bd911e1f7ad9f704dff172 DIST glib-2.82.2.tar.xz 5555528 BLAKE2B 930fa7816082e6ba4b7f394985840bb6abf4fe9a4451286cddd3cfc8a4f3d4e3b4f06f09fbb34486f6fd47d0b72363b06a280ccae62d061724a7a2e00734bc4c SHA512 d5b761ec0c088496f2f9e5767568076a30ff492c272f21133560689f4e6a177d403c78d71ef85da63de331152c4d1f27b65d3e927ebfaf0fb63592f66e564ea1 DIST glib-2.82.4.tar.xz 5556896 BLAKE2B 62caecc7570b1639f6ddf1deb9debb6d3d6180b74f497f2fcace5ce65d6e28996555d51e5b4980f500bdc3f811b5b6214521b1170f553f2fa1fd240fd0eec835 SHA512 5df0b3c56fe6cf6c94019e29afb408174a5864cdb97cf58d5a12a0f83990b5c2004a49c8e3b0e195f5808874b5911a4a7b3d6aea8718aada1b40561e623cd08d +DIST glib-2.82.5.tar.xz 5554704 BLAKE2B e7853034be1137f8b793483df9e9ce1465dd10a990eb9b3cb9ac76c9f8f86ccc6fda85645b04b35963b28c33e0f6c02df4f3d03e06cc278b8515e588d6bd05f6 SHA512 a6b035c32a42b9d6f4c031a29da405848002619654b58c9205f2f78dbb9698cd5866f31ab213adc04aa214d2c48840a9592c0a1e9201e6851ebd435635f393ae diff --git a/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.82.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.82.5.ebuild new file mode 100644 index 0000000000..ae6bdba2ad --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.82.5.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +GNOME_ORG_MODULE="glib" +PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_REQ_USE="xml(+)" +DISTUTILS_USE_PEP517=setuptools +DISTUTILS_SINGLE_IMPL=1 + +inherit gnome.org distutils-r1 + +DESCRIPTION="GDBus code and documentation generator" +HOMEPAGE="https://www.gtk.org/" + +S="${WORKDIR}/glib-${PV}/gio/gdbus-2.0/codegen" + +LICENSE="LGPL-2+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" + +RDEPEND=" + ${PYTHON_DEPS} +" +DEPEND="${RDEPEND}" +BDEPEND=" + dev-libs/libxslt + app-text/docbook-xsl-stylesheets + >=dev-python/docutils-0.21.1 +" + +python_prepare_all() { + PATCHES=( + "${FILESDIR}/${PN}-2.56.1-sitedir.patch" + ) + distutils-r1_python_prepare_all + + local MAJOR_VERSION=$(ver_cut 1) + local MINOR_VERSION=$(ver_cut 2) + sed -e 's:@PYTHON@:python:' gdbus-codegen.in > gdbus-codegen || die + sed -e "s:@VERSION@:${PV}:" \ + -e "s:@MAJOR_VERSION@:${MAJOR_VERSION}:" \ + -e "s:@MINOR_VERSION@:${MINOR_VERSION}:" config.py.in > config.py || die + cp "${FILESDIR}/setup.py-2.32.4" setup.py || die "cp failed" + sed -e "s/@PV@/${PV}/" -i setup.py || die "sed setup.py failed" +} + +do_xsltproc_command() { + # Taken from meson.build for manual manpage building - keep in sync (also copied to dev-util/glib-utils) + xsltproc \ + --nonet \ + --stringparam man.output.quietly 1 \ + --stringparam funcsynopsis.style ansi \ + --stringparam man.th.extra1.suppress 1 \ + --stringparam man.authors.section.enabled 0 \ + --stringparam man.copyright.section.enabled 0 \ + -o "${2}" \ + http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl \ + "${1}" || die "manpage generation failed" +} + +src_compile() { + distutils-r1_src_compile + rst2man \ + "${WORKDIR}/glib-${PV}/docs/reference/gio/gdbus-codegen.rst" \ + "${WORKDIR}/glib-${PV}/docs/reference/gio/gdbus-codegen.1" +} + +src_test() { + einfo "Skipping tests. This package is tested by dev-libs/glib" + einfo "when merged with FEATURES=test" +} + +python_install_all() { + distutils-r1_python_install_all # no-op, but prevents QA warning + doman "${WORKDIR}/glib-${PV}/docs/reference/gio/gdbus-codegen.1" +} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/Manifest index b89d18b40e..01739de14e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/Manifest @@ -6,3 +6,4 @@ DIST glib-2.80.4.tar.xz 5535760 BLAKE2B 1d2b301703b27a5c2def370e1d44b4f7b08a9409 DIST glib-2.80.5.tar.xz 5538308 BLAKE2B 3f17ff85a85d20858b69c2dccc1e5d6ffd92661a8cfda8b8770dd391861999ff3381008f4fe382e90f0a7798fe218debda7f559f6e3ac8f9305e3be98b879969 SHA512 c9cc9f99e217fd950810fcfbfa7300c7850cae4dbfbabc03cdcadb6dcca2e51ea7979ceb68c09d8e9776fd1c04db73b89b81f748c8bd911e1f7ad9f704dff172 DIST glib-2.82.2.tar.xz 5555528 BLAKE2B 930fa7816082e6ba4b7f394985840bb6abf4fe9a4451286cddd3cfc8a4f3d4e3b4f06f09fbb34486f6fd47d0b72363b06a280ccae62d061724a7a2e00734bc4c SHA512 d5b761ec0c088496f2f9e5767568076a30ff492c272f21133560689f4e6a177d403c78d71ef85da63de331152c4d1f27b65d3e927ebfaf0fb63592f66e564ea1 DIST glib-2.82.4.tar.xz 5556896 BLAKE2B 62caecc7570b1639f6ddf1deb9debb6d3d6180b74f497f2fcace5ce65d6e28996555d51e5b4980f500bdc3f811b5b6214521b1170f553f2fa1fd240fd0eec835 SHA512 5df0b3c56fe6cf6c94019e29afb408174a5864cdb97cf58d5a12a0f83990b5c2004a49c8e3b0e195f5808874b5911a4a7b3d6aea8718aada1b40561e623cd08d +DIST glib-2.82.5.tar.xz 5554704 BLAKE2B e7853034be1137f8b793483df9e9ce1465dd10a990eb9b3cb9ac76c9f8f86ccc6fda85645b04b35963b28c33e0f6c02df4f3d03e06cc278b8515e588d6bd05f6 SHA512 a6b035c32a42b9d6f4c031a29da405848002619654b58c9205f2f78dbb9698cd5866f31ab213adc04aa214d2c48840a9592c0a1e9201e6851ebd435635f393ae diff --git a/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.82.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.82.5.ebuild new file mode 100644 index 0000000000..8b1ce3fe27 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.82.5.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{10..13} ) +GNOME_ORG_MODULE="glib" + +inherit gnome.org python-single-r1 + +DESCRIPTION="Build utilities for GLib using projects" +HOMEPAGE="https://www.gtk.org/" + +LICENSE="LGPL-2.1+" +SLOT="0" # /usr/bin utilities that can't be parallel installed by their nature +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +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="${PYTHON_DEPS}" +DEPEND="${RDEPEND}" +BDEPEND=" + >=dev-python/docutils-0.21.1 +" + +src_configure() { :; } + +do_rst2man_command() { + rst2man \ + --syntax-highlight=none \ + "${1}" "${2}" || die "manpage generation failed" +} + +src_compile() { + sed -e "s:@VERSION@:${PV}:g;s:@PYTHON@:python:g" gobject/glib-genmarshal.in > gobject/glib-genmarshal || die + sed -e "s:@VERSION@:${PV}:g;s:@PYTHON@:python:g" gobject/glib-mkenums.in > gobject/glib-mkenums || die + sed -e "s:@GLIB_VERSION@:${PV}:g;s:@PYTHON@:python:g" glib/gtester-report.in > glib/gtester-report || die + do_rst2man_command docs/reference/gobject/glib-genmarshal.rst docs/reference/gobject/glib-genmarshal.1 + do_rst2man_command docs/reference/gobject/glib-mkenums.rst docs/reference/gobject/glib-mkenums.1 + do_rst2man_command docs/reference/glib/gtester-report.rst docs/reference/glib/gtester-report.1 +} + +src_install() { + python_fix_shebang gobject/glib-genmarshal + python_fix_shebang gobject/glib-mkenums + python_fix_shebang glib/gtester-report + exeinto /usr/bin + doexe gobject/glib-genmarshal + doexe gobject/glib-mkenums + doexe glib/gtester-report + doman docs/reference/gobject/glib-genmarshal.1 + doman docs/reference/gobject/glib-mkenums.1 + doman docs/reference/glib/gtester-report.1 +} diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/git-2.48.1-macos-no-fsmonitor.patch b/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/git-2.48.1-macos-no-fsmonitor.patch new file mode 100644 index 0000000000..f1b89e736f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/files/git-2.48.1-macos-no-fsmonitor.patch @@ -0,0 +1,39 @@ +meson.build: allow to disable fsmonitor backend for macOS + +Gentoo Prefix toolchain and setup does not enable CoreServices Framework +by default, so simply allow to disable the fsmonitor backend + +Signed-off-by: Fabian Groffen + +--- a/meson.build ++++ b/meson.build +@@ -1117,11 +1117,13 @@ + endif + + fsmonitor_backend = '' +-if host_machine.system() == 'windows' +- fsmonitor_backend = 'win32' +-elif host_machine.system() == 'darwin' +- fsmonitor_backend = 'darwin' +- libgit_dependencies += dependency('CoreServices') ++if get_option('fsmonitor') ++ if host_machine.system() == 'windows' ++ fsmonitor_backend = 'win32' ++ elif host_machine.system() == 'darwin' ++ fsmonitor_backend = 'darwin' ++ libgit_dependencies += dependency('CoreServices') ++ endif + endif + if fsmonitor_backend != '' + libgit_c_args += '-DHAVE_FSMONITOR_DAEMON_BACKEND' +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -57,6 +57,8 @@ + # Build tweaks. + option('macos_use_homebrew_gettext', type: 'boolean', value: true, + description: 'Use gettext from Homebrew instead of the slightly-broken system-provided one.') ++option('fsmonitor', type: 'boolean', value: true, ++ description: 'Build fsmonitor backend on supported platforms.') + + # gitweb configuration. + option('gitweb_config', type: 'string', value: 'gitweb_config.perl') diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.48.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.48.1.ebuild index 12b9dd2011..99cdc1b166 100644 --- a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.48.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.48.1.ebuild @@ -150,6 +150,7 @@ RESTRICT="!test? ( test )" PATCHES=( "${FILESDIR}"/${PN}-2.48.0-doc-deps.patch "${FILESDIR}"/${PN}-2.48.1-parallel-build.patch + "${FILESDIR}"/${PN}-2.48.1-macos-no-fsmonitor.patch ) pkg_setup() { @@ -205,9 +206,12 @@ src_configure() { $(meson_feature perl) $(meson_feature perforce python) $(meson_use test tests) + -Dmacos_use_homebrew_gettext=false -Dperl_cpan_fallback=false ) + [[ ${CHOST} == *-darwin* ]] && emesonargs+=( -Dfsmonitor=false ) + # For non-live, we use a downloaded docs tarball instead. if [[ ${PV} == *9999 ]] || use doc ; then emesonargs+=( diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r3.ebuild b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r3.ebuild index f90f10f55f..b9d2fdd442 100644 --- a/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/git/git-9999-r3.ebuild @@ -204,6 +204,7 @@ src_configure() { $(meson_feature perl) $(meson_feature perforce python) $(meson_use test tests) + -Dmacos_use_homebrew_gettext=false -Dperl_cpan_fallback=false ) diff --git a/sdk_container/src/third_party/portage-stable/eclass/autotools.eclass b/sdk_container/src/third_party/portage-stable/eclass/autotools.eclass index 518f6addcc..a36b6ba859 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/autotools.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/autotools.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: autotools.eclass @@ -71,7 +71,7 @@ inherit gnuconfig libtool # Do NOT change this variable in your ebuilds! # If you want to force a newer minor version, you can specify the correct # WANT value by using a colon: : -_LATEST_AUTOCONF=( 2.72-r1:2.72 2.71-r6:2.71 ) +_LATEST_AUTOCONF=( 2.72-r1:2.72 ) # @ECLASS_VARIABLE: _LATEST_AUTOMAKE # @INTERNAL @@ -109,14 +109,13 @@ if [[ -n ${WANT_AUTOMAKE} ]] ; then unset _automake_atom_tmp ;; *) - _automake_atom="=dev-build/automake-${WANT_AUTOMAKE}*" + _automake_atom="dev-build/automake:${WANT_AUTOMAKE}" ;; esac export WANT_AUTOMAKE fi if [[ -n ${WANT_AUTOCONF} ]] ; then - # TODO: Fix the slot mess here and just have proper PV-as-SLOT? # TODO: Make _LATEST_AUTOCONF an assoc. array and instead iterate over # its keys. case ${WANT_AUTOCONF} in @@ -124,25 +123,13 @@ if [[ -n ${WANT_AUTOCONF} ]] ; then # some packages don't require autoconf at all _autoconf_atom="" ;; - 2.1) - _autoconf_atom=">=dev-build/autoconf-2.13-r7:2.1" - ;; - 2.5) - _autoconf_atom=">=dev-build/autoconf-2.71-r6:2.71" - ;; - 2.69) - _autoconf_atom=">=dev-build/autoconf-2.69-r9:2.69" - ;; - 2.71) - _autoconf_atom=">=dev-build/autoconf-2.71-r6:2.71" - ;; latest) printf -v _autoconf_atom_tmp '>=dev-build/autoconf-%s:%s ' ${_LATEST_AUTOCONF[@]/:/ } _autoconf_atom="|| ( ${_autoconf_atom_tmp} )" unset _autoconf_atom_tmp ;; *) - die "Invalid WANT_AUTOCONF value '${WANT_AUTOCONF}'" + _autoconf_atom="dev-build/autoconf:${WANT_AUTOCONF}" ;; esac export WANT_AUTOCONF diff --git a/sdk_container/src/third_party/portage-stable/eclass/rust-toolchain.eclass b/sdk_container/src/third_party/portage-stable/eclass/rust-toolchain.eclass index 89bca88b9e..41fccb7c4a 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/rust-toolchain.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/rust-toolchain.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: rust-toolchain.eclass @@ -73,6 +73,7 @@ rust_abi() { rust_arch_uri() { if [ -n "$3" ]; then echo "${RUST_TOOLCHAIN_BASEURL}${2}-${1}.tar.xz -> ${3}-${1}.tar.xz" + echo "verify-sig? ( ${RUST_TOOLCHAIN_BASEURL}${2}-${1}.tar.xz.asc -> ${3}-${1}.tar.xz.asc )" else echo "${RUST_TOOLCHAIN_BASEURL}${2}-${1}.tar.xz" echo "verify-sig? ( ${RUST_TOOLCHAIN_BASEURL}${2}-${1}.tar.xz.asc )" @@ -80,7 +81,7 @@ rust_arch_uri() { } # @FUNCTION: rust_all_arch_uris -# @USAGE: [alt-distfile-basename] +# @USAGE: [alt-distfile-basename] [rust_arch_uri-rename-param] # @DESCRIPTION: # Outputs the URIs for SRC_URI to help fetch dependencies, using a base URI # provided as an argument. Optionally allows for distfile renaming via a specified @@ -91,51 +92,31 @@ rust_arch_uri() { # rust_all_arch_uris() { + local alt_basename="$1" + local rename_param="$2" + echo " - abi_x86_32? ( elibc_glibc? ( $(rust_arch_uri i686-unknown-linux-gnu "$@") ) ) + abi_x86_32? ( elibc_glibc? ( $(rust_arch_uri i686-unknown-linux-gnu "${alt_basename}" "${rename_param}") ) ) abi_x86_64? ( - elibc_glibc? ( $(rust_arch_uri x86_64-unknown-linux-gnu "$@") ) - elibc_musl? ( $(rust_arch_uri x86_64-unknown-linux-musl "$@") ) + elibc_glibc? ( $(rust_arch_uri x86_64-unknown-linux-gnu "${alt_basename}" "${rename_param}") ) + elibc_musl? ( $(rust_arch_uri x86_64-unknown-linux-musl "${alt_basename}" "${rename_param}") ) ) arm? ( elibc_glibc? ( - $(rust_arch_uri arm-unknown-linux-gnueabi "$@") - $(rust_arch_uri arm-unknown-linux-gnueabihf "$@") - $(rust_arch_uri armv7-unknown-linux-gnueabihf "$@") + $(rust_arch_uri arm-unknown-linux-gnueabi "${alt_basename}" "${rename_param}") + $(rust_arch_uri arm-unknown-linux-gnueabihf "${alt_basename}" "${rename_param}") + $(rust_arch_uri armv7-unknown-linux-gnueabihf "${alt_basename}" "${rename_param}") ) ) arm64? ( - elibc_glibc? ( $(rust_arch_uri aarch64-unknown-linux-gnu "$@") ) - elibc_musl? ( $(rust_arch_uri aarch64-unknown-linux-musl "$@") ) + elibc_glibc? ( $(rust_arch_uri aarch64-unknown-linux-gnu "${alt_basename}" "${rename_param}") ) + elibc_musl? ( $(rust_arch_uri aarch64-unknown-linux-musl "${alt_basename}" "${rename_param}") ) ) - ppc? ( elibc_glibc? ( $(rust_arch_uri powerpc-unknown-linux-gnu "$@") ) ) + ppc? ( elibc_glibc? ( $(rust_arch_uri powerpc-unknown-linux-gnu "${alt_basename}" "${rename_param}") ) ) ppc64? ( - big-endian? ( elibc_glibc? ( $(rust_arch_uri powerpc64-unknown-linux-gnu "$@") ) ) - !big-endian? ( elibc_glibc? ( $(rust_arch_uri powerpc64le-unknown-linux-gnu "$@") ) ) + big-endian? ( elibc_glibc? ( $(rust_arch_uri powerpc64-unknown-linux-gnu "${alt_basename}" "${rename_param}") ) ) + !big-endian? ( elibc_glibc? ( $(rust_arch_uri powerpc64le-unknown-linux-gnu "${alt_basename}" "${rename_param}") ) ) ) - riscv? ( elibc_glibc? ( $(rust_arch_uri riscv64gc-unknown-linux-gnu "$@") ) ) - s390? ( elibc_glibc? ( $(rust_arch_uri s390x-unknown-linux-gnu "$@") ) ) + riscv? ( elibc_glibc? ( $(rust_arch_uri riscv64gc-unknown-linux-gnu "${alt_basename}" "${rename_param}") ) ) + s390? ( elibc_glibc? ( $(rust_arch_uri s390x-unknown-linux-gnu "${alt_basename}" "${rename_param}") ) ) + loong? ( elibc_glibc? ( $(rust_arch_uri loongarch64-unknown-linux-gnu "${alt_basename}" "${rename_param}") ) ) " - - # Upstream did not gain support for loong until v1.71.0. - # NOTE: Merge this into the block above after every <1.71.0 version is - # gone from tree. - local arg_version="${1##*-}" - arg_version="${arg_version:-$PV}" - if ver_test "${arg_version}" -ge 1.71.0; then - echo "loong? ( elibc_glibc? ( $(rust_arch_uri loongarch64-unknown-linux-gnu "$@") ) )" - fi - - # until https://github.com/rust-lang/rust/pull/113274 is resolved, there - # will not be upstream-built mips artifacts - if ver_test "${arg_version}" -lt 1.72.0; then - echo "mips? ( - abi_mips_o32? ( - big-endian? ( $(rust_arch_uri mips-unknown-linux-gnu "$@") ) - !big-endian? ( $(rust_arch_uri mipsel-unknown-linux-gnu "$@") ) - ) - abi_mips_n64? ( - big-endian? ( $(rust_arch_uri mips64-unknown-linux-gnuabi64 "$@") ) - !big-endian? ( $(rust_arch_uri mips64el-unknown-linux-gnuabi64 "$@") ) - ) - )" - fi } diff --git a/sdk_container/src/third_party/portage-stable/eclass/rust.eclass b/sdk_container/src/third_party/portage-stable/eclass/rust.eclass index 46b441ba67..9ead9d0057 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/rust.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/rust.eclass @@ -67,6 +67,9 @@ fi # @DESCRIPTION: # Definitive list of Rust slots and the associated LLVM slot, newest first. declare -A -g -r _RUST_LLVM_MAP=( + ["9999"]=20 + ["1.86.0"]=19 + ["1.85.0"]=19 ["1.84.1"]=19 ["1.84.0"]=19 ["1.83.0"]=19 @@ -89,6 +92,9 @@ declare -A -g -r _RUST_LLVM_MAP=( # 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=( + "9999" + "1.86.0" + "1.85.0" "1.84.1" "1.84.0" "1.83.0" 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 458105d7a5..693a356d54 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass @@ -695,6 +695,7 @@ toolchain_src_prepare() { # Workaround -march=native not working for stage1 with non-GCC (bug #933772). if ! tc-is-gcc && [[ "${CFLAGS}${CXXFLAGS}" == *-march=native* ]] ; then CLANG_DISABLE_CET_HACK=1 + filter-flags '-march=native' fi if ! use vanilla ; then diff --git a/sdk_container/src/third_party/portage-stable/licenses/Unsplash b/sdk_container/src/third_party/portage-stable/licenses/Unsplash new file mode 100644 index 0000000000..24fe02b555 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/licenses/Unsplash @@ -0,0 +1,20 @@ +Unsplash visuals are made to be used freely. Our license reflects that. + +- All images can be downloaded and used for free +- Commercial and non-commercial purposes +- No permission needed (though attribution is appreciated!) + +What is not permitted: + +- Images cannot be sold without significant modification. +- Compiling images from Unsplash to replicate a similar or competing + service. + +Longform: + + Unsplash grants you an irrevocable, nonexclusive, worldwide copyright + license to download, copy, modify, distribute, perform, and use + images from Unsplash for free, including for commercial purposes, + without permission from or attributing the photographer or Unsplash. + This license does not include the right to compile images from + Unsplash to replicate a similar or competing service. diff --git a/sdk_container/src/third_party/portage-stable/licenses/Volatility-1.0 b/sdk_container/src/third_party/portage-stable/licenses/Volatility-1.0 new file mode 100644 index 0000000000..2a37fd0edb --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/licenses/Volatility-1.0 @@ -0,0 +1,46 @@ +Volatility Software License +Version 1.0 dated October 3, 2019. +This license covers the Volatility software, Copyright 2019 Volatility Foundation. + +Software +The software referred to in this license includes the software named above, and any data (such as operating system profiles or configuration information), and documentation provided with the software. + +Purpose +This license gives you permission to use, share, and build with this software for free, but requires you to share source code for changes, additions, and software that you build with it. + +Acceptance +In order to receive this license, you must agree to its rules. The rules of this license are both obligations under that agreement and conditions to your license. You must not do anything with this software that triggers a rule that you cannot or will not follow. + +Copyright +Each contributor licenses you to do everything with this software that would otherwise infringe that contributor's copyright in it. + +Notices +You must ensure that everyone who gets a copy of any part of this software from you, with or without changes, also gets the text of this license or a link to https://www.volatilityfoundation.org/license/vsl-v1.0. You must not remove any copyright notice in the Software. + +Patent +Each contributor licenses you to do everything with this software that would otherwise infringe any patent claims they can license or become able to license. + +Reliability +No contributor can revoke this license. + +Copyleft +If you make any Additions available to others, such as by providing copies of them or providing access to them over the Internet, you must make them publicly available, according to this paragraph. "Additions" includes changes or additions to the software, and any content or materials, including any training materials, you create that contain any portion of the software. "Additions" also includes any translations or ports of the software. "Additions" also includes any software designed to execute the software and parse its results, such as a wrapper written for the software, but does not include shell or execution menu software designed to execute software generally. When this license requires you to make Additions available: + +- You must publish all source code for software under this license, in the preferred form for making changes, through a freely accessible distribution system widely used for similar source code, so the developer and others can find and copy it. +- You must publish all data or content under this license, in a format customarily used to make changes to it, through a freely accessible distribution system, so the developer and others can find and copy it. +- You are responsible to ensure you have rights in Additions necessary to comply with this section. + +Contributing +If you contribute (or offer to contribute) any materials to Volatility Foundation for the software, such as by submitting a pull request to the repository for the software or related content run by Volatility Foundation, you agree to contribute them under the BSD 2-Clause Plus Patent License (in the case of software) or the Creative Commons Zero Public Domain Dedication (in the case of content), unless you clearly mark them "Not a Contribution." + +Trademarks +This license grants you no rights to any trademarks or service marks. + +Termination +If you violate any term of this license, your license ends immediately. + +No Liability +As far as the law allows, the software comes as is, without any warranty or condition, and no contributor will be liable to anyone for any damages related to this software or this license, under any kind of legal claim. + +Versions +Volatility Foundation is the steward of this license and may publish new versions of this license with new version numbers. You may use the software under the version of this license under which you received the software, or, at your choice, any later version. diff --git a/sdk_container/src/third_party/portage-stable/net-dialup/minicom/Manifest b/sdk_container/src/third_party/portage-stable/net-dialup/minicom/Manifest index c03ddf9606..e32bffb010 100644 --- a/sdk_container/src/third_party/portage-stable/net-dialup/minicom/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-dialup/minicom/Manifest @@ -1,3 +1,2 @@ -DIST minicom-2.8.tar.gz 948015 BLAKE2B 007a2975a996e2dd2390b1cf20e1a70c4bb1b57d224211d30e8d83a9d02a45c147df34bf409961a20ad3746cb6b5551c1e0702a05bb0a0a3f7f042d251b553be SHA512 5ced0ff79cec11464154561130ddc6a38865170d4e4d80185ada540ba173fe89e35703b6d7fd0cf86caef6e020fcad1d7b1fdb4d4f55e3ddb906aea6a4b81b36 +DIST minicom-2.10.tar.gz 798751 BLAKE2B 1828b2670a71f8c94099cabc49b1e85ad35bd0491a78fe99a92d32176811d25b76afa74b417491f44bec40c1a7273e1bbc0ab9729dfa2626291b069b4447b919 SHA512 ced271a21b0ba97ad0b09093f341112d4c4f64f6b72631502acc136d2fb92eeb14965d4187fd8cfed0e0e2519b603b6e54d8dd780e666119ecfc5677203595e2 DIST minicom-2.9.tar.gz 1044053 BLAKE2B 4c17f235d770ff9b4719c0ce9d3dfdb01603986d08cec245b1bfba5addbea597032bb06fc73c585886e035915dec990f37e9690b58d0a80a3e6faf8675485f96 SHA512 3bd41fa3b93b086c7b0fc851e9f46f241b13a037a4a325fc5e0ca6a4db7e9389443e8965891aa938a9c31ff848d50fd0cb88b98690a06737b5f3aca2520a60e2 -DIST minicom-m4-2.8.tar.bz2 26016 BLAKE2B 0cff0bc3ca134b417fdabb5e2994afebaf89224b95c0b3843ec57e815f43778c8eab1f8df6098d756616a0c494812d9fabc4292eaeaa9c09afb62821ce852438 SHA512 d09e141b1b83f215dc11dcd33d0cd62000c46384ea86084edfb07b04a4d30c0d9e2dce49e5e8e78f3f70fb646737f1e55a9c1158906312575ca2f02db6283994 diff --git a/sdk_container/src/third_party/portage-stable/net-dialup/minicom/files/minicom-2.8-enable-large-file.patch b/sdk_container/src/third_party/portage-stable/net-dialup/minicom/files/minicom-2.8-enable-large-file.patch deleted file mode 100644 index 11489b50c6..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-dialup/minicom/files/minicom-2.8-enable-large-file.patch +++ /dev/null @@ -1,30 +0,0 @@ -https://bugs.gentoo.org/912680 -https://salsa.debian.org/minicom-team/minicom/-/commit/4ed314c504bc95d8ccef81d7c68684d5ac31e9db.patch - -From 4ed314c504bc95d8ccef81d7c68684d5ac31e9db Mon Sep 17 00:00:00 2001 -From: Adam Lackorzynski -Date: Sat, 19 Aug 2023 12:52:02 +0200 -Subject: [PATCH] configure.ac: Enable large file support - -Add AC_SYS_LARGEFILE to enable large file support in a portable way. -Thanks the ChromeOS team and Raul Rangel for hinting at this. ---- - configure.ac | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 7b3f0df..6424a3f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -16,6 +16,8 @@ dnl Checks for programs. - AC_PROG_CC - AM_PROG_AR - -+AC_SYS_LARGEFILE -+ - AC_USE_SYSTEM_EXTENSIONS - AC_USE_SYSTEM_EXTENSIONS - --- -GitLab - diff --git a/sdk_container/src/third_party/portage-stable/net-dialup/minicom/minicom-2.8-r2.ebuild b/sdk_container/src/third_party/portage-stable/net-dialup/minicom/minicom-2.10.ebuild similarity index 83% rename from sdk_container/src/third_party/portage-stable/net-dialup/minicom/minicom-2.8-r2.ebuild rename to sdk_container/src/third_party/portage-stable/net-dialup/minicom/minicom-2.10.ebuild index 352344d5df..3019838c4c 100644 --- a/sdk_container/src/third_party/portage-stable/net-dialup/minicom/minicom-2.8-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-dialup/minicom/minicom-2.10.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -11,7 +11,7 @@ SRC_URI="https://salsa.debian.org/${PN}-team/${PN}/-/archive/${PV}/${P}.tar.gz" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" IUSE="nls" DEPEND="sys-libs/ncurses:=" @@ -28,7 +28,7 @@ BDEPEND=" PATCHES=( "${FILESDIR}"/${PN}-2.8-gentoo-runscript.patch - "${FILESDIR}"/${PN}-2.8-lockdir.patch + "${FILESDIR}"/${PN}-2.9-update-gettext.patch ) src_prepare() { diff --git a/sdk_container/src/third_party/portage-stable/net-dialup/minicom/minicom-2.8-r4.ebuild b/sdk_container/src/third_party/portage-stable/net-dialup/minicom/minicom-2.8-r4.ebuild deleted file mode 100644 index 1a6ce15ebf..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-dialup/minicom/minicom-2.8-r4.ebuild +++ /dev/null @@ -1,69 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools - -DESCRIPTION="Serial Communication Program" -HOMEPAGE="https://salsa.debian.org/minicom-team/minicom" -SRC_URI=" - https://salsa.debian.org/${PN}-team/${PN}/-/archive/${PV}/${P}.tar.gz - https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${PN}-m4-${PV}.tar.bz2 -" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" -IUSE="nls" - -DEPEND="sys-libs/ncurses:=" - -RDEPEND=" - ${DEPEND} - net-dialup/lrzsz -" - -BDEPEND=" - virtual/pkgconfig - nls? ( sys-devel/gettext ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-2.8-gentoo-runscript.patch - "${FILESDIR}"/${PN}-2.8-lockdir.patch - "${FILESDIR}"/${PN}-2.8-enable-large-file.patch -) - -src_prepare() { - default - - # 912459 - # Embed the needed m4 macros if gettext is not installed - mv "${WORKDIR}"/m4 . || die - - eautoreconf -} - -src_configure() { - # Lockdir must exist if not manually specified. - # '/var/lock' is created by OpenRC. - local myeconfargs=( - # See bug #788142 - --sysconfdir="${EPREFIX}"/etc/${PN} - - --disable-rpath - --enable-lock-dir="/var/lock" - $(use_enable nls) - ) - - econf "${myeconfargs[@]}" -} - -src_install() { - default - - # Needs to match --sysconfdir above - insinto /etc/minicom - doins "${FILESDIR}"/minirc.dfl -} 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 index f10b1e1669..7a4542ff60 100644 --- 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 @@ -1,9 +1,9 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -inherit systemd tmpfiles +inherit eapi9-ver systemd tmpfiles MY_PV="${PV/_p/-P}" MY_PV="${MY_PV/_rc/rc}" @@ -202,7 +202,7 @@ pkg_postinst() { fi # show only when upgrading to 9.18 - if [[ -n "${REPLACING_VERSIONS}" ]] && ver_test "${REPLACING_VERSIONS}" -lt 9.18; then + if ver_replacing -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." diff --git a/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.34.4.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.34.4.ebuild index 90e3454681..1f186ead73 100644 --- a/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.34.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.34.4.ebuild @@ -18,7 +18,7 @@ SRC_URI=" LICENSE="MIT ISC" # Subslot = SONAME of libcares.so.2 SLOT="0/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="static-libs test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.11.1-r2.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.11.1-r2.ebuild index 1c959b004f..58e72e44cc 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.11.1-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.11.1-r2.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/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 deleted file mode 100644 index e6cd10937b..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.11.0-cmdline-ech-docs.patch +++ /dev/null @@ -1,59 +0,0 @@ -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 deleted file mode 100644 index d906aab7e9..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.11.0-cookie-case-sensitive.patch +++ /dev/null @@ -1,56 +0,0 @@ -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 deleted file mode 100644 index 6e1ecc0dd0..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.11.0-curl-libssh-ipv6-brackets.patch +++ /dev/null @@ -1,26 +0,0 @@ -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 deleted file mode 100644 index 4a3e82a477..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.11.0-duphandle-init-netrc.patch +++ /dev/null @@ -1,195 +0,0 @@ -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 deleted file mode 100644 index 2c60da8ca6..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.11.0-mbedtls-global-init.patch +++ /dev/null @@ -1,71 +0,0 @@ -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 deleted file mode 100644 index ba0e451406..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.11.0-netrc-large-file.patch +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 68621e85ba..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.11.0-setopt-http_content_decoding.patch +++ /dev/null @@ -1,20 +0,0 @@ -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-8.8.0-install-manpage.patch b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.8.0-install-manpage.patch deleted file mode 100644 index f58ddae1c3..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.8.0-install-manpage.patch +++ /dev/null @@ -1,22 +0,0 @@ -https://patch-diff.githubusercontent.com/raw/curl/curl/pull/13741 -From: Daniel Stenberg -Date: Wed, 22 May 2024 08:43:43 +0200 -Subject: [PATCH] docs/Makefile.am: make curl-config.1 install - -on "make install" like it should ---- - docs/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/docs/Makefile.am b/docs/Makefile.am -index 83f5b0c461cc0f..e9ef6284860555 100644 ---- a/docs/Makefile.am -+++ b/docs/Makefile.am -@@ -28,6 +28,7 @@ if BUILD_DOCS - # if we disable man page building, ignore these - MK_CA_DOCS = mk-ca-bundle.1 - CURLCONF_DOCS = curl-config.1 -+man_MANS = curl-config.1 - endif - - CURLPAGES = curl-config.md mk-ca-bundle.md diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.8.0-mbedtls.patch b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.8.0-mbedtls.patch deleted file mode 100644 index 8fa4d6ef7c..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.8.0-mbedtls.patch +++ /dev/null @@ -1,42 +0,0 @@ -https://github.com/curl/curl/pull/13749 -From: Stefan Eissing -Date: Wed, 22 May 2024 14:44:56 +0200 -Subject: [PATCH] mbedtls, check version for cipher id - -- mbedtls_ssl_get_ciphersuite_id_from_ssl() seems to have - been added in mbedtls 3.2.0. Check for that version. ---- a/lib/vtls/mbedtls.c -+++ b/lib/vtls/mbedtls.c -@@ -902,8 +902,6 @@ mbed_connect_step2(struct Curl_cfilter *cf, struct Curl_easy *data) - (struct mbed_ssl_backend_data *)connssl->backend; - struct ssl_primary_config *conn_config = Curl_ssl_cf_get_primary_config(cf); - const mbedtls_x509_crt *peercert; -- char cipher_str[64]; -- uint16_t cipher_id; - #ifndef CURL_DISABLE_PROXY - const char * const pinnedpubkey = Curl_ssl_cf_is_proxy(cf)? - data->set.str[STRING_SSL_PINNEDPUBLICKEY_PROXY]: -@@ -932,11 +930,18 @@ mbed_connect_step2(struct Curl_cfilter *cf, struct Curl_easy *data) - return CURLE_SSL_CONNECT_ERROR; - } - -- cipher_id = (uint16_t) -- mbedtls_ssl_get_ciphersuite_id_from_ssl(&backend->ssl); -- mbed_cipher_suite_get_str(cipher_id, cipher_str, sizeof(cipher_str), true); -- infof(data, "mbedTLS: Handshake complete, cipher is %s", cipher_str); -- -+#if MBEDTLS_VERSION_NUMBER >= 0x03020000 -+ { -+ char cipher_str[64]; -+ uint16_t cipher_id; -+ cipher_id = (uint16_t) -+ mbedtls_ssl_get_ciphersuite_id_from_ssl(&backend->ssl); -+ mbed_cipher_suite_get_str(cipher_id, cipher_str, sizeof(cipher_str), true); -+ infof(data, "mbedTLS: Handshake complete, cipher is %s", cipher_str); -+ } -+#else -+ infof(data, "mbedTLS: Handshake complete"); -+#endif - ret = mbedtls_ssl_get_verify_result(&backend->ssl); - - if(!conn_config->verifyhost) diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.8.0-multi_wait-timeout.patch b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.8.0-multi_wait-timeout.patch deleted file mode 100644 index 38d8c1bd3f..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.8.0-multi_wait-timeout.patch +++ /dev/null @@ -1,75 +0,0 @@ -https://github.com/curl/curl/pull/13825 -From: Stefan Eissing -Date: Wed, 29 May 2024 17:13:34 +0200 -Subject: [PATCH] fix multi_wait() timeout handling - -- determine the actual poll timeout *after* all sockets - have been collected. Protocols and connection filters may - install new timeouts during collection. -- add debug logging to test1533 where the mistake was noticed -- refs #13782 ---- a/lib/multi.c -+++ b/lib/multi.c -@@ -1366,13 +1366,6 @@ static CURLMcode multi_wait(struct Curl_multi *multi, - if(timeout_ms < 0) - return CURLM_BAD_FUNCTION_ARGUMENT; - -- /* If the internally desired timeout is actually shorter than requested from -- the outside, then use the shorter time! But only if the internal timer -- is actually larger than -1! */ -- (void)multi_timeout(multi, &timeout_internal); -- if((timeout_internal >= 0) && (timeout_internal < (long)timeout_ms)) -- timeout_ms = (int)timeout_internal; -- - memset(ufds, 0, ufds_len * sizeof(struct pollfd)); - memset(&ps, 0, sizeof(ps)); - -@@ -1476,6 +1469,14 @@ static CURLMcode multi_wait(struct Curl_multi *multi, - #endif - #endif - -+ /* We check the internal timeout *AFTER* we collected all sockets to -+ * poll. Collecting the sockets may install new timers by protocols -+ * and connection filters. -+ * Use the shorter one of the internal and the caller requested timeout. */ -+ (void)multi_timeout(multi, &timeout_internal); -+ if((timeout_internal >= 0) && (timeout_internal < (long)timeout_ms)) -+ timeout_ms = (int)timeout_internal; -+ - #if defined(ENABLE_WAKEUP) && defined(USE_WINSOCK) - if(nfds || use_wakeup) { - #else ---- a/tests/libtest/Makefile.inc -+++ b/tests/libtest/Makefile.inc -@@ -487,7 +487,7 @@ lib1551_SOURCES = lib1551.c $(SUPPORTFILES) - lib1552_SOURCES = lib1552.c $(SUPPORTFILES) $(TESTUTIL) - lib1552_LDADD = $(TESTUTIL_LIBS) - --lib1553_SOURCES = lib1553.c $(SUPPORTFILES) $(TESTUTIL) -+lib1553_SOURCES = lib1553.c $(SUPPORTFILES) $(TSTTRACE) $(TESTUTIL) - lib1553_LDADD = $(TESTUTIL_LIBS) - - lib1554_SOURCES = lib1554.c $(SUPPORTFILES) ---- a/tests/libtest/lib1553.c -+++ b/tests/libtest/lib1553.c -@@ -24,6 +24,7 @@ - #include "test.h" - - #include "testutil.h" -+#include "testtrace.h" - #include "warnless.h" - #include "memdebug.h" - -@@ -74,6 +75,12 @@ CURLcode test(char *URL) - easy_setopt(curls, CURLOPT_XFERINFOFUNCTION, xferinfo); - easy_setopt(curls, CURLOPT_NOPROGRESS, 1L); - -+ libtest_debug_config.nohex = 1; -+ libtest_debug_config.tracetime = 1; -+ test_setopt(curls, CURLOPT_DEBUGDATA, &libtest_debug_config); -+ easy_setopt(curls, CURLOPT_DEBUGFUNCTION, libtest_debug_cb); -+ easy_setopt(curls, CURLOPT_VERBOSE, 1L); -+ - multi_add_handle(multi, curls); - - multi_perform(multi, &still_running); 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 6417c6188e..d4a77468b7 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 @@ -4,3 +4,5 @@ DIST openssh-9.8p1.tar.gz 1910393 BLAKE2B 3bf983c4ef5358054ed0104cd51d3e0069fbc2 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 +DIST openssh-9.9p2.tar.gz 1944499 BLAKE2B 1b5bc09482b3a807ccfee52c86c6be3c363acf0c8e774862e0ae64f76bfeb4ce7cf29b3ed2f99c04c89bb4977da0cf50a7a175b15bf1d9925de1e03c66f8306d SHA512 4c6d839aa3189cd5254c745f2bd51cd3f468b02f8e427b8d7a16b9ad017888a41178d2746dc51fb2d3fec5be00e54b9ab7c32c472ca7dec57a1dea4fc9840278 +DIST openssh-9.9p2.tar.gz.asc 833 BLAKE2B 21d9ef3da2b54be47420327f1c724e38eef951ea11d646de81ac3ee2abf3d81f218424432cf5ac7d60cdae72e2190001f923dbdf5bed57f4a105ee1895261c9d SHA512 e7f9bc74d27e5cf8cbf4f5831fddd1d8ad00b03e51e7deb7f95ef17c5017ab7ce0116f4770374aaf6bd3a5f6013dab651a7651b21fa303d05ad6d14b537ab955 diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.9_p1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.9_p1.ebuild index 53c02164c5..a3eebf352d 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.9_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.9_p1.ebuild @@ -7,7 +7,7 @@ EAPI=8 # 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 +inherit user-info flag-o-matic autotools optfeature pam systemd toolchain-funcs verify-sig eapi9-ver # Make it more portable between straight releases # and _p? releases. @@ -23,7 +23,7 @@ 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 legacy-ciphers libedit livecd pam +pie security-key selinux +ssl static test xmss" @@ -350,53 +350,50 @@ 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." + if ver_replacing -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_replacing -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_replacing -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 + 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_replacing -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_replacing -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_replacing -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_replacing -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 if [[ -n ${show_ssl_warning} ]]; then elog "Be aware that by disabling openssl support in openssh, the server and clients" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.9_p2.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.9_p2.ebuild new file mode 100644 index 0000000000..e53838b1ea --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-9.9_p2.ebuild @@ -0,0 +1,439 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +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 eapi9-ver + +# 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 legacy-ciphers 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.4_p1-Allow-MAP_NORESERVE-in-sandbox-seccomp-filter-maps.patch" + "${FILESDIR}/${PN}-9.6_p1-fix-xmss-c99.patch" + "${FILESDIR}/${PN}-9.7_p1-config-tweaks.patch" + # Backports from upstream release branch + #"${FILESDIR}/${PV}" + # Our own backports + "${FILESDIR}/${PN}-9.9_p1-x-forwarding-slow.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_enable legacy-ciphers dsa-keys) + $(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[@]}" +} + +create_config_dropins() { + local locale_vars=( + # These are language variables that POSIX defines. + # http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_02 + LANG LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME + + # These are the GNU extensions. + # https://www.gnu.org/software/autoconf/manual/html_node/Special-Shell-Variables.html + LANGUAGE LC_ADDRESS LC_IDENTIFICATION LC_MEASUREMENT LC_NAME LC_PAPER LC_TELEPHONE + ) + + mkdir -p "${WORKDIR}"/etc/ssh/ssh{,d}_config.d || die + + cat <<-EOF > "${WORKDIR}"/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 > "${WORKDIR}"/etc/ssh/ssh_config.d/9999999gentoo-security.conf || die + RevokedHostKeys "${EPREFIX}/etc/ssh/ssh_revoked_hosts" + EOF + + 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 > "${WORKDIR}"/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 + + 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 > "${WORKDIR}"/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 > "${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/socat/Manifest b/sdk_container/src/third_party/portage-stable/net-misc/socat/Manifest index 200256eefe..9b1169dc1c 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/socat/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-misc/socat/Manifest @@ -2,3 +2,4 @@ DIST socat-1.7.4.4.tar.bz2 522127 BLAKE2B 221b1c7c1ef0ac9c2402a6917ce7740a7ed857 DIST socat-1.8.0.0.tar.bz2 564066 BLAKE2B b0b3e8c46f746b1aaff7390bbf9521cca8c421f3c20cd7a7f7d8ffd3d7b5e5e881e2477642f7d29247ee5a9d9edf6c8370a43c5f2757e456966b17e3ba08a58a SHA512 dd15c31204f2843ab473a30aa841e960e7c00ac7487e2265d69f9e8ea0afde3841d57cfcb99084f03935d7223da65cee27166837f2f9b3a20c834bc161af802b DIST socat-1.8.0.1.tar.bz2 579492 BLAKE2B 0af65b18dc6fec28e59d75048b1e1c4f442f134d87bc6a9b5ea7b3032a0c5519e0d042ae760d451006eacf368870a0a47465d9ec2d5f2fe8d41efcd639ef58c5 SHA512 ce8147df545f74d4b6e1d3d0dae2dcea58c4c7e6ccd1cb2eec68c29ead2c3a818e9851b30a5e5f1456d70463c31b13ab1c5b350293359419a583ed693a917231 DIST socat-1.8.0.2.tar.bz2 579370 BLAKE2B 148bc4a49113af987f3c9faf9971bd309e1114358d2f32722c975715a151a4d8f194be58858c4a1a1833c53e2f4334afe105423550776bc174afc84126f8d0db SHA512 549380b3bf95fcf7088a7b774e0cbf5532c6fa86895cfbb44ee1dd7895391f3696f78bda886e786275951656d7c90b99c658eb28e58d2365eb33946768f04321 +DIST socat-1.8.0.3.tar.bz2 594396 BLAKE2B a152b1da6332ff925299deca2e39c09e7c3042e14a87b2d6f6fb6c263489291be54ed001d37908767b3164140de262b702a65833c792b1e607781dc5e89e0fdf SHA512 6425c42cf4a3cbe253d238213d11e7daae8f8a09fcce2634c8ce220bb3352a824a80ecfa36330007cf5c537f60fea057e9f68410bccb843ff4666e775c5dcd8e 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 2d9c8f3c98..fe8114abe0 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/net-misc/socat/socat-1.8.0.3.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/socat/socat-1.8.0.3.ebuild new file mode 100644 index 0000000000..bebed3b91a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/socat/socat-1.8.0.3.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo flag-o-matic toolchain-funcs + +MY_P=${P/_beta/-b} +DESCRIPTION="Multipurpose relay (SOcket CAT)" +HOMEPAGE="http://www.dest-unreach.org/socat/ https://repo.or.cz/socat.git" +SRC_URI="http://www.dest-unreach.org/socat/download/${MY_P}.tar.bz2" +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" +IUSE="ipv6 readline ssl tcpd" + +DEPEND=" + ssl? ( >=dev-libs/openssl-3:= ) + readline? ( sys-libs/readline:= ) + tcpd? ( sys-apps/tcp-wrappers ) +" +RDEPEND="${DEPEND}" + +DOCS=( BUGREPORTS CHANGES DEVELOPMENT EXAMPLES FAQ FILES PORTING README SECURITY ) + +src_configure() { + # bug #293324 + filter-flags '-Wno-error*' + + tc-export AR + + local myeconfargs=( + $(use_enable ssl openssl) + $(use_enable readline) + $(use_enable ipv6 ip6) + $(use_enable tcpd libwrap) + ) + + econf "${myeconfargs[@]}" +} + +src_test() { + # Most tests are skipped because they need network access or a TTY + # Some are for /dev permissions probing (bug #940740) + # 518 519 need extra permissions + edo ./test.sh -v --expect-fail 13,15,87,217,311,313,370,388,410,466,478,518,519,528 +} + +src_install() { + default + + docinto html + dodoc doc/*.html doc/*.css + + if use elibc_musl; then + QA_CONFIG_IMPL_DECL_SKIP=( getprotobynumber_r ) + fi +} diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/Manifest b/sdk_container/src/third_party/portage-stable/net-nds/openldap/Manifest index b8161c1bb9..3a3a73a3a4 100644 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-nds/openldap/Manifest @@ -1,8 +1,6 @@ -DIST openldap-2.4.59.tgz 5886272 BLAKE2B a2a8bed1d2af97fd41d651668152fd4740871bc5a8abf4b50390839228af82ac103346b3500ae0f8dd31b708acabb30435b90cd48dfafe510e648df5150d96b8 SHA512 233459ab446da6e107a7fc4ecd5668d6b08c11a11359ee76449550393e8f586a29b59d7ae09a050a1fca4fcf388ea61438ef60831b3ae802d92c048365ae3968 -DIST openldap-OPENLDAP_REL_ENG_2_5_14.tar.bz2 5024359 BLAKE2B ffdffbd47e76545c2dc2d433d290945ab6eebd910031a60249cd8f6eac24f67841098e61c7e57864428e20a183a46d36dac422bba8cf6f3596f97439875af96b SHA512 abd1e8bda0762500db028f283fe2da9480a419072927295d6f3e1448cae130592511f385a87585843cf88217417c90ef57174ca919cfcf163eb41642a72bb4e3 -DIST openldap-OPENLDAP_REL_ENG_2_5_16.tar.bz2 5022608 BLAKE2B 829e416e3cf92d36df0d6642e44083f9b288ef9c3743a84aef3f03cdf7b08b21ea45231653a2659fe0da285ca47a346d336d02c8e0dda21f039fb9e49630262b SHA512 629b92e275b69a540b200e61165492a4706afdf7b15d21bfe2f1fd4c338ecf397ad0c918e36dcef54d1f0cede2f039a8f73d4735f00e892d64ce9a177d490a07 -DIST openldap-OPENLDAP_REL_ENG_2_5_18.tar.bz2 5026131 BLAKE2B 0f1a00995bd880b3ee42c4de2c3a405ebb7969de253f4b3866eb46c1856b61539ed7e1133a1b11636efc1da1ed5fc6cae53da60b22ab31486518000d34ff6324 SHA512 77a84950c905d2a4bd25f93108eb79f1416689176531246f12b4c3f6e8e3fe689504cd3f9875142e9bf665306a622ac8fe7e6b39aa4be67099f0965a16634526 -DIST openldap-OPENLDAP_REL_ENG_2_6_4.tar.bz2 5043227 BLAKE2B 9bec77dbace0e52d1607d9ac13a77349e7d0b8876aa81fa635893638d00db58ec6bf8412f11fd266bba0440887be1aa21eb4a876122152f7f6de9fd8f75b6b4c SHA512 bff11bf1ae125bcabbd307f6c4e1c102a8df6f1091f84f5e7053fdbaa89ccd6aa0c86cc8dcce4fb9b6ffd853b5f8d3c933733f5713aeb4d6a9d77ab145293b48 -DIST openldap-OPENLDAP_REL_ENG_2_6_6.tar.bz2 5040213 BLAKE2B 2497b6698344674a9e8db5f2f2531541167065bb8ac9f512ecdb9349115140d5e83daef9b489e244eee08445de57599ddcfeeed71d4aab41edc58a3092910925 SHA512 3c235ff7b26f753afeb0176e95ecbf6a353bf76f00935c091323366bf97289f628d4d7b4ae3e2a31fe0797715d6c69e6704967dc79ccbae7add3023e226ad73b +DIST openldap-2.5.19.tgz 6458108 BLAKE2B f1cea685c6bc7691cb77b2a12be74b56d479bb152d4c97e87d2e0de8767d33a277557c3ca291928abb0b62d986fcd474969c9618fa499dd9202cdaac39b3b3ce SHA512 12838fd5ac93b18fabda14e8f55c59d1bba169a114c59ac81e621f09f407d87e8ef9244aae951d984b8c8971f4c907c385e57ead671ea0a434282f7d616358b9 +DIST openldap-2.5.19.tgz.asc 833 BLAKE2B 3d56134d65de1ae7a2e4e7d4c44d5fd166fdca136f8580897fedb26dc195b0730dbb7502a6cbe1b8991857a725bedb0398e703d933166459b39d16265c143ff8 SHA512 d322a61f1872062f5594091455bd0d2ecbe1741db5852d4ee5c9c77b162c5ee0750de33dc56cd87b4bdbcc954121cebf2dd39eeedd9bdcc9b39821e44ceeff09 +DIST openldap-2.6.9.tgz 6516669 BLAKE2B b86ee6cf275632a4c963d33c6ceb1a4eef4611a5e678e6369458c6b70d5251ee4d299a941c9a42241855996dc81b55c8aef09e92da46f19766e5501bf0355aba SHA512 d3f839d3cf1030caa410e54f968e9c0caf3bc371c06ea0f64cf3a6ece6d31013c9dbfb08a3a63ea9137a2062aa6edc6e0bc542b365fe4ad66608df4cdbe94a4e +DIST openldap-2.6.9.tgz.asc 833 BLAKE2B 781ecffc73d79829658e9796040e71245fbdd0cd6b68311318d9c9acc84694acd4c365806c1e08bfe137fd4f32ffca04d3ea2d2528a275eae7b3fb7df6475d79 SHA512 c5a477b69e14b6b951c4bd6bc124538d79bd0a6b321f37fec99483a8310c64db285993aafc9adebe7f252a67d198e0c5993e6c25156ee51c4311f4ae6ff53268 DIST openldap-OPENLDAP_REL_ENG_2_6_8.tar.bz2 5065637 BLAKE2B d55345c11bd8892a594c3f7114cd1368e017c2e29997da7a80bdd915308d498f62dfb5cc3a3360b50df78ef5f90a48a566a8ce3ace85ebf9aa6b288a37c4eff2 SHA512 556d1377afc73a84ee325c4d7bcc8446def936b67d3f07df4bd2a243ff30f268c5c0c298977482df1e1a86b2b7a0cd7846fc1f51d706748d39f67f5d621ccc04 DIST rfc2307bis.schema-20140524 12262 BLAKE2B 98031f49e9bde1e4821e637af3382364d8344ed7017649686a088070d96a632dffa6c661552352656b1b159c0fd962965580069a64c7f3d5bb6a3ed75f60fd99 SHA512 83b89a1deeefc8566b97e7e865b9b6d04541099cbdf719e24538a7d27d61b6209e87ab9003a9f140bd9afd018ec569e71721e3a24090e1902c8b6659d2ba103e diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.2.14-perlthreadsfix.patch b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.2.14-perlthreadsfix.patch deleted file mode 100644 index 2a8c4bc569..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.2.14-perlthreadsfix.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/servers/slapd/back-perl/Makefile.in -+++ b/servers/slapd/back-perl/Makefile.in -@@ -31,7 +31,7 @@ - - shared_LDAP_LIBS = $(LDAP_LIBLDAP_R_LA) $(LDAP_LIBLBER_LA) - NT_LINK_LIBS = -L.. -lslapd $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS) --UNIX_LINK_LIBS = $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS) -+UNIX_LINK_LIBS = $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS) `perl -MExtUtils::Embed -e ldopts` - - LIBBASE = back_perl - diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.11-libldap_r.patch b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.11-libldap_r.patch deleted file mode 100644 index f63ad3cc8d..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.11-libldap_r.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/servers/slapd/slapi/Makefile.in -+++ b/servers/slapd/slapi/Makefile.in -@@ -37,6 +37,7 @@ - XLIBS = $(LIBRARY) - XXLIBS = - NT_LINK_LIBS = $(AC_LIBS) -+UNIX_LINK_LIBS = ../../../libraries/libldap_r/libldap_r.la $(LTHREAD_LIBS) - - XINCPATH = -I$(srcdir)/.. -I$(srcdir) - XDEFS = $(MODULES_CPPFLAGS) diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.15-ppolicy.patch b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.15-ppolicy.patch deleted file mode 100644 index 1196f1b936..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.15-ppolicy.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/clients/tools/common.c -+++ b/clients/tools/common.c -@@ -1315,8 +1315,8 @@ - int nsctrls = 0; - - #ifdef LDAP_CONTROL_PASSWORDPOLICYREQUEST -+ LDAPControl c; - if ( ppolicy ) { -- LDAPControl c; - c.ldctl_oid = LDAP_CONTROL_PASSWORDPOLICYREQUEST; - c.ldctl_value.bv_val = NULL; - c.ldctl_value.bv_len = 0; diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.17-gcc44.patch b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.17-gcc44.patch deleted file mode 100644 index a782da46f3..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.17-gcc44.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/contrib/ldapc++/src/SaslInteractionHandler.cpp -+++ b/contrib/ldapc++/src/SaslInteractionHandler.cpp -@@ -13,6 +13,7 @@ - #include - #endif - -+#include - #include - #include "SaslInteractionHandler.h" - #include "SaslInteraction.h" diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.28-gnutls-gcrypt.patch b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.28-gnutls-gcrypt.patch deleted file mode 100644 index 0d9b88f476..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.28-gnutls-gcrypt.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/configure.in -+++ b/configure.in -@@ -1214,7 +1214,7 @@ - ol_with_tls=gnutls - ol_link_tls=yes - -- TLS_LIBS="-lgnutls" -+ TLS_LIBS="-lgnutls -lgcrypt" - - AC_DEFINE(HAVE_GNUTLS, 1, - [define if you have GNUtls]) diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.31-gcc47.patch b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.31-gcc47.patch deleted file mode 100644 index 5b6af4b295..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.31-gcc47.patch +++ /dev/null @@ -1,16 +0,0 @@ -Fix building with gcc-4.7 - -https://bugs.gentoo.org/show_bug.cgi?id=420959 -http://www.openldap.org/its/index.cgi/Incoming?id=7304;page=16 #ITS 7304 - -Patch written by Kacper Kowalik ---- a/contrib/ldapc++/src/SaslInteractionHandler.cpp -+++ b/contrib/ldapc++/src/SaslInteractionHandler.cpp -@@ -16,6 +16,7 @@ - - #include - #include -+#include - #include "SaslInteractionHandler.h" - #include "SaslInteraction.h" - #include "debug.h" diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.35-contrib-samba4.patch b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.35-contrib-samba4.patch deleted file mode 100644 index 8ee3891f3c..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.35-contrib-samba4.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- a/contrib/slapd-modules/samba4/Makefile -+++ b/contrib/slapd-modules/samba4/Makefile -@@ -20,7 +20,8 @@ - - LIBTOOL = $(LDAP_BUILD)/libtool - CC = gcc --OPT = -g -O2 -Wall -+#OPT = -g -O2 -Wall -+OPT = -Wall - DEFS = -DSLAPD_OVER_RDNVAL=SLAPD_MOD_DYNAMIC \ - -DSLAPD_OVER_PGUID=SLAPD_MOD_DYNAMIC \ - -DSLAPD_OVER_VERNUM=SLAPD_MOD_DYNAMIC -@@ -41,20 +42,20 @@ - .SUFFIXES: .c .o .lo - - .c.lo: -- $(LIBTOOL) --mode=compile $(CC) $(OPT) $(DEFS) $(INCS) -c $< -+ $(LIBTOOL) --mode=compile $(CC) $(OPT) $(CFLAGS) $(DEFS) $(INCS) -c $< - - all: $(PROGRAMS) - - pguid.la: pguid.lo -- $(LIBTOOL) --mode=link $(CC) $(OPT) -version-info $(LTVER) \ -+ $(LIBTOOL) --mode=link $(CC) $(OPT) $(CFLAGS) -version-info $(LTVER) \ - -rpath $(moduledir) -module -o $@ $? $(LIBS) - - rdnval.la: rdnval.lo -- $(LIBTOOL) --mode=link $(CC) $(OPT) -version-info $(LTVER) \ -+ $(LIBTOOL) --mode=link $(CC) $(OPT) $(CFLAGS) -version-info $(LTVER) \ - -rpath $(moduledir) -module -o $@ $? $(LIBS) - - vernum.la: vernum.lo -- $(LIBTOOL) --mode=link $(CC) $(OPT) -version-info $(LTVER) \ -+ $(LIBTOOL) --mode=link $(CC) $(OPT) $(CFLAGS) -version-info $(LTVER) \ - -rpath $(moduledir) -module -o $@ $? $(LIBS) - - clean: diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.35-contrib-smbk5pwd.patch b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.35-contrib-smbk5pwd.patch deleted file mode 100644 index ca02404c88..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.35-contrib-smbk5pwd.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- a/contrib/slapd-modules/smbk5pwd/Makefile -+++ b/contrib/slapd-modules/smbk5pwd/Makefile -@@ -21,16 +21,23 @@ - SSL_INC = - SSL_LIB = -lcrypto - --HEIMDAL_INC = -I/usr/heimdal/include --HEIMDAL_LIB = -L/usr/heimdal/lib -lkrb5 -lkadm5srv -+#HEIMDAL_INC = -I/usr/heimdal/include -+#HEIMDAL_LIB = -L/usr/heimdal/lib -lkrb5 -lkadm5srv -+KRB5_INC = $(HEIMDAL_INC) -+KRB5_LIB = $(HEIMDAL_LIB) -lkrb5 -lkadm5srv - - LIBTOOL = $(LDAP_BUILD)/libtool - CC = gcc --OPT = -g -O2 -Wall -+#OPT = -g -O2 -Wall -+OPT = -Wall - # Omit DO_KRB5, DO_SAMBA or DO_SHADOW if you don't want to support it. --DEFS = -DDO_KRB5 -DDO_SAMBA -DDO_SHADOW --INCS = $(LDAP_INC) $(HEIMDAL_INC) $(SSL_INC) --LIBS = $(LDAP_LIB) $(HEIMDAL_LIB) $(SSL_LIB) -+#DEFS = -DDO_KRB5 -DDO_SAMBA -DDO_SHADOW -+INCS = $(LDAP_INC) $(KRB5_INC) $(SSL_INC) -+ifneq (DDO_KRB5,$(findstring DDO_KRB5,$(DEFS))) -+ LIBS=$(LDAP_LIB) $(SSL_LIB) -+else -+ LIBS=$(LDAP_LIB) $(KRB5_LIB) $(SSL_LIB) -+endif - - PROGRAMS = smbk5pwd.la - LTVER = 0:0:0 -@@ -46,12 +53,12 @@ - .SUFFIXES: .c .o .lo - - .c.lo: -- $(LIBTOOL) --mode=compile $(CC) $(OPT) $(DEFS) $(INCS) -c $< -+ $(LIBTOOL) --mode=compile $(CC) $(OPT) $(CFLAGS) $(DEFS) $(INCS) -c $< - - all: $(PROGRAMS) - - smbk5pwd.la: smbk5pwd.lo -- $(LIBTOOL) --mode=link $(CC) $(OPT) -version-info $(LTVER) \ -+ $(LIBTOOL) --mode=link $(CC) $(OPT) $(CFLAGS) -version-info $(LTVER) \ - -rpath $(moduledir) -module -o $@ $? $(LIBS) - - clean: diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.40-slapd-conf b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.40-slapd-conf deleted file mode 100644 index 8ecc732b96..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.40-slapd-conf +++ /dev/null @@ -1,64 +0,0 @@ -# -# See slapd.conf(5) for details on configuration options. -# This file should NOT be world readable. -# -include /etc/openldap/schema/core.schema - -# Define global ACLs to disable default read access. - -# Do not enable referrals until AFTER you have a working directory -# service AND an understanding of referrals. -#referral ldap://root.openldap.org - -pidfile /run/openldap/slapd.pid -argsfile /run/openldap/slapd.args - -# Load dynamic backend modules: -###INSERTDYNAMICMODULESHERE### - -# Sample security restrictions -# Require integrity protection (prevent hijacking) -# Require 112-bit (3DES or better) encryption for updates -# Require 63-bit encryption for simple bind -# security ssf=1 update_ssf=112 simple_bind=64 - -# Sample access control policy: -# Root DSE: allow anyone to read it -# Subschema (sub)entry DSE: allow anyone to read it -# Other DSEs: -# Allow self write access -# Allow authenticated users read access -# Allow anonymous users to authenticate -# Directives needed to implement policy: -# access to dn.base="" by * read -# access to dn.base="cn=Subschema" by * read -# access to * -# by self write -# by users read -# by anonymous auth -# -# if no access controls are present, the default policy -# allows anyone and everyone to read anything but restricts -# updates to rootdn. (e.g., "access to * by * read") -# -# rootdn can always read and write EVERYTHING! - -####################################################################### -# BDB database definitions -####################################################################### - -database hdb -suffix "dc=my-domain,dc=com" -# -checkpoint 32 30 -rootdn "cn=Manager,dc=my-domain,dc=com" -# Cleartext passwords, especially for the rootdn, should -# be avoid. See slappasswd(8) and slapd.conf(5) for details. -# Use of strong authentication encouraged. -rootpw secret -# The database directory MUST exist prior to running slapd AND -# should only be accessible by the slapd and slap tools. -# Mode 700 recommended. -directory /var/lib/openldap-data -# Indices to maintain -index objectClass eq diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.42-mdb-unbundle.patch b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.42-mdb-unbundle.patch deleted file mode 100644 index 6ec68885b5..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.42-mdb-unbundle.patch +++ /dev/null @@ -1,136 +0,0 @@ ---- a/build/top.mk -+++ b/build/top.mk -@@ -160,6 +160,7 @@ - LTHREAD_LIBS = @LTHREAD_LIBS@ - - BDB_LIBS = @BDB_LIBS@ -+MDB_LIBS = @MDB_LIBS@ - SLAPD_NDB_LIBS = @SLAPD_NDB_LIBS@ - - LDAP_LIBLBER_LA = $(LDAP_LIBDIR)/liblber/liblber.la ---- ./build/openldap.m4.orig -+++ ./build/openldap.m4 -@@ -563,6 +563,38 @@ - ], [ol_cv_bdb_compat=yes], [ol_cv_bdb_compat=no])]) - ]) - -+dnl -------------------------------------------------------------------- -+dnl Check for version compatility with back-mdb -+AC_DEFUN([OL_MDB_COMPAT], -+[AC_CACHE_CHECK([if LMDB version supported by MDB backends], [ol_cv_mdb_compat],[ -+ AC_EGREP_CPP(__mdb_version_compat,[ -+#include -+ -+/* require 0.9.14 or later */ -+#if MDB_VERSION_FULL >= 0x00000009000E -+ __mdb_version_compat -+#endif -+ ], [ol_cv_mdb_compat=yes], [ol_cv_mdb_compat=no])]) -+]) -+ -+dnl -+dnl -------------------------------------------------------------------- -+dnl Find any MDB -+AC_DEFUN([OL_MDB], -+[ol_cv_mdb=no -+AC_CHECK_HEADERS(lmdb.h) -+if test $ac_cv_header_lmdb_h = yes; then -+ OL_MDB_COMPAT -+ -+ if test $ol_cv_mdb_compat != yes ; then -+ AC_MSG_ERROR([LMDB version incompatible with MDB backends]) -+ fi -+ -+ ol_cv_lib_mdb=-llmdb -+ ol_cv_mdb=yes -+fi -+]) -+ - dnl - dnl ==================================================================== - dnl Check POSIX Thread version ---- a/servers/slapd/back-mdb/Makefile.in -+++ b/servers/slapd/back-mdb/Makefile.in -@@ -25,11 +25,10 @@ - extended.lo operational.lo \ - attr.lo index.lo key.lo filterindex.lo \ - dn2entry.lo dn2id.lo id2entry.lo idl.lo \ -- nextid.lo monitor.lo mdb.lo midl.lo -+ nextid.lo monitor.lo - - LDAP_INCDIR= ../../../include - LDAP_LIBDIR= ../../../libraries --MDB_SUBDIR = $(srcdir)/$(LDAP_LIBDIR)/liblmdb - - BUILD_OPT = "--enable-mdb" - BUILD_MOD = @BUILD_MDB@ -@@ -44,7 +43,7 @@ - - LIBBASE = back_mdb - --XINCPATH = -I.. -I$(srcdir)/.. -I$(MDB_SUBDIR) -+XINCPATH = -I.. -I$(srcdir)/.. - XDEFS = $(MODULES_CPPFLAGS) - - all-local-lib: ../.backend -@@ -52,11 +51,5 @@ - ../.backend: lib$(LIBBASE).a - @touch $@ - --mdb.lo: $(MDB_SUBDIR)/mdb.c -- $(LTCOMPILE_MOD) $(MDB_SUBDIR)/mdb.c -- --midl.lo: $(MDB_SUBDIR)/midl.c -- $(LTCOMPILE_MOD) $(MDB_SUBDIR)/midl.c -- - veryclean-local-lib: FORCE - $(RM) $(XXHEADERS) $(XXSRCS) .links ---- a/configure.in -+++ b/configure.in -@@ -519,6 +519,7 @@ - dnl Initialize vars - LDAP_LIBS= - BDB_LIBS= -+MDB_LIBS= - SLAPD_NDB_LIBS= - SLAPD_NDB_INCS= - LTHREAD_LIBS= -@@ -1905,6 +1906,30 @@ - fi - - dnl ---------------------------------------------------------------- -+ol_link_mdb=no -+ -+if test $ol_enable_mdb != no; then -+ OL_MDB -+ -+ if test $ol_cv_mdb = no ; then -+ AC_MSG_ERROR(MDB: LMDB not available) -+ fi -+ -+ AC_DEFINE(HAVE_MDB,1, -+ [define this if LMDB is available]) -+ -+ dnl $ol_cv_lib_mdb should be yes or -llmdb -+ dnl (it could be no, but that would be an error -+ if test $ol_cv_lib_mdb != yes ; then -+ MDB_LIBS="$MDB_LIBS $ol_cv_lib_mdb" -+ fi -+ -+ SLAPD_LIBS="$SLAPD_LIBS \$(MDB_LIBS)" -+ -+ ol_link_mdb=yes -+fi -+ -+dnl ---------------------------------------------------------------- - - if test $ol_enable_dynamic = yes && test $enable_shared = yes ; then - BUILD_LIBS_DYNAMIC=shared -@@ -3133,6 +3158,7 @@ - AC_SUBST(LDAP_LIBS) - AC_SUBST(SLAPD_LIBS) - AC_SUBST(BDB_LIBS) -+AC_SUBST(MDB_LIBS) - AC_SUBST(SLAPD_NDB_LIBS) - AC_SUBST(SLAPD_NDB_INCS) - AC_SUBST(LTHREAD_LIBS) diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.45-fix-lmpasswd-gnutls-symbols.patch b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.45-fix-lmpasswd-gnutls-symbols.patch deleted file mode 100644 index 05e515cd47..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.45-fix-lmpasswd-gnutls-symbols.patch +++ /dev/null @@ -1,109 +0,0 @@ -If GnuTLS is used, the lmpasswd module for USE=samba does not compile. -Forward-port an old Debian patch that upstream never applied. - -Signed-off-by: Robin H. Johnson -Signed-off-by: Steffen Hau -X-Gentoo-Bug: http://bugs.gentoo.org/show_bug.cgi?id=233633 -X-Upstream-Bug: http://www.openldap.org/its/index.cgi/Software%20Enhancements?id=4997 -X-Debian-Bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=245341 - ---- a/libraries/liblutil/passwd.c -+++ b/libraries/liblutil/passwd.c -@@ -51,6 +51,26 @@ typedef unsigned char des_data_block[8]; - typedef PK11Context *des_context[1]; - #define DES_ENCRYPT CKA_ENCRYPT - -+#elif defined(HAVE_GNUTLS_GNUTLS_H) && !defined(DES_ENCRYPT) -+# include -+static int gcrypt_init = 0; -+ -+typedef const void* des_key; -+typedef unsigned char DES_cblock[8]; -+typedef DES_cblock des_data_block; -+typedef int DES_key_schedule; /* unused */ -+typedef DES_key_schedule des_context; /* unused */ -+#define des_failed(encrypted) 0 -+#define des_finish(key, schedule) -+ -+#define DES_set_key_unchecked( key, key_sched ) \ -+ gcry_cipher_setkey( hd, key, 8 ) -+ -+#define DES_ecb_encrypt( input, output, key_sched, enc ) \ -+ gcry_cipher_encrypt( hd, *output, 8, *input, 8 ) -+ -+#define DES_set_odd_parity( key ) do {} while(0) -+ - #endif - - #endif /* SLAPD_LMHASH */ -@@ -651,7 +671,7 @@ static int chk_md5( - - #ifdef SLAPD_LMHASH - --#if defined(HAVE_OPENSSL) -+#if defined(HAVE_OPENSSL) || defined(HAVE_GNUTLS_GNUTLS_H) - - /* - * abstract away setting the parity. -@@ -841,6 +861,19 @@ static int chk_lanman( - des_data_block StdText = "KGS!@#$%"; - des_data_block PasswordHash1, PasswordHash2; - char PasswordHash[33], storedPasswordHash[33]; -+ -+#if defined(HAVE_GNUTLS_GNUTLS_H) && !defined(DES_ENCRYPT) -+ gcry_cipher_hd_t hd; -+ -+ if ( !gcrypt_init ) { -+ gcry_check_version( GCRYPT_VERSION ); -+ gcrypt_init = 1; -+ } -+ -+ schedule = schedule; /* unused - avoid warning */ -+ -+ gcry_cipher_open( &hd, GCRY_CIPHER_DES, GCRY_CIPHER_MODE_ECB, 0 ); -+#endif /* HAVE_GNUTLS_GNUTLS_H && !DES_ENCRYPT */ - - for( i=0; ibv_len; i++) { - if(cred->bv_val[i] == '\0') { -@@ -883,6 +916,10 @@ static int chk_lanman( - strncpy( storedPasswordHash, passwd->bv_val, 32 ); - storedPasswordHash[32] = '\0'; - ldap_pvt_str2lower( storedPasswordHash ); -+ -+#if defined(HAVE_GNUTLS_GNUTLS_H) && !defined(DES_ENCRYPT) -+ gcry_cipher_close( hd ); -+#endif /* HAVE_GNUTLS_GNUTLS_H && !DES_ENCRYPT */ - - return memcmp( PasswordHash, storedPasswordHash, 32) ? LUTIL_PASSWD_ERR : LUTIL_PASSWD_OK; - } -@@ -1138,6 +1175,19 @@ static int hash_lanman( - des_data_block PasswordHash1, PasswordHash2; - char PasswordHash[33]; - -+#if defined(HAVE_GNUTLS_GNUTLS_H) && !defined(DES_ENCRYPT) -+ gcry_cipher_hd_t hd; -+ -+ if ( !gcrypt_init ) { -+ gcry_check_version( GCRYPT_VERSION ); -+ gcrypt_init = 1; -+ } -+ -+ schedule = schedule; /* unused - avoid warning */ -+ -+ gcry_cipher_open( &hd, GCRY_CIPHER_DES, GCRY_CIPHER_MODE_ECB, 0 ); -+#endif /* HAVE_GNUTLS_GNUTLS_H && !DES_ENCRYPT */ -+ - for( i=0; ibv_len; i++) { - if(passwd->bv_val[i] == '\0') { - return LUTIL_PASSWD_ERR; /* NUL character in password */ -@@ -1168,6 +1218,10 @@ static int hash_lanman( - - hash->bv_val = PasswordHash; - hash->bv_len = 32; -+ -+#if defined(HAVE_GNUTLS_GNUTLS_H) && !defined(DES_ENCRYPT) -+ gcry_cipher_close( hd ); -+#endif /* HAVE_GNUTLS_GNUTLS_H && !DES_ENCRYPT */ - - return pw_string( scheme, hash ); - } diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.47-warnings.patch b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.47-warnings.patch deleted file mode 100644 index 10f2111495..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.47-warnings.patch +++ /dev/null @@ -1,35 +0,0 @@ ---- a/include/ldap.h -+++ b/include/ldap.h -@@ -2041,6 +2041,10 @@ LDAP_F( int ) - ldap_is_ldapi_url LDAP_P(( - LDAP_CONST char *url )); - -+LDAP_F( int ) -+ldap_is_ldapc_url LDAP_P(( -+ LDAP_CONST char *url )); -+ - LDAP_F( int ) - ldap_url_parse LDAP_P(( - LDAP_CONST char *url, ---- a/include/ldap_int_thread.h -+++ b/include/ldap_int_thread.h -@@ -33,7 +33,7 @@ LDAP_END_DECL - * definitions for POSIX Threads * - * * - **********************************/ -- -+#define __USE_UNIX98 - #include - #ifdef HAVE_SCHED_H - #include ---- a/libraries/libldap/tls2.c -+++ b/libraries/libldap/tls2.c -@@ -76,6 +76,8 @@ static oid_name oids[] = { - - #ifdef HAVE_TLS - -+int ldap_pvt_tls_check_hostname( LDAP *ld, void *s, const char *name_in ); -+ - void - ldap_pvt_tls_ctx_free ( void *c ) - { diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.59-atexit-fix.patch b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.59-atexit-fix.patch deleted file mode 100644 index 4ffee32527..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.59-atexit-fix.patch +++ /dev/null @@ -1,60 +0,0 @@ -Port upstream commit 337455eb3a66176cc3f66d2c663a72cc7b4178bd to 2.4.59. - -With 2.4.x, gentoo-infra saw crashes in nsscache during exit. -This patch was later reverted upstream because it was not portable to AIX And -was fixed in a different way in 2.5 & 2.6 releases. - -original https://github.com/openldap/openldap/commit/337455eb3a66176cc3f66d2c663a72cc7b4178bd -revert: https://github.com/openldap/openldap/commit/5e13ef87a94491f9339dbca709db29e76741f1a9 -AIX discussion: https://bugs.openldap.org/show_bug.cgi?id=10176 -diff '--color=auto' -NuarwbB --exclude '*.rej' --exclude '*.orig' openldap-2.4.59.orig/libraries/libldap/init.c openldap-2.4.59/libraries/libldap/init.c ---- openldap-2.4.59.orig/libraries/libldap/init.c 2021-06-03 11:40:31.000000000 -0700 -+++ openldap-2.4.59/libraries/libldap/init.c 2024-08-24 11:15:06.727326650 -0700 -@@ -508,9 +508,6 @@ - gopts->ldo_def_sasl_authcid = NULL; - } - #endif --#ifdef HAVE_TLS -- ldap_int_tls_destroy( gopts ); --#endif - } - - /* -diff '--color=auto' -NuarwbB --exclude '*.rej' --exclude '*.orig' openldap-2.4.59.orig/libraries/libldap/tls2.c openldap-2.4.59/libraries/libldap/tls2.c ---- openldap-2.4.59.orig/libraries/libldap/tls2.c 2024-08-24 11:14:46.910678897 -0700 -+++ openldap-2.4.59/libraries/libldap/tls2.c 2024-08-24 11:15:38.103963402 -0700 -@@ -155,6 +155,14 @@ - tls_imp->ti_tls_destroy(); - } - -+static void -+ldap_exit_tls_destroy( void ) -+{ -+ struct ldapoptions *lo = LDAP_INT_GLOBAL_OPT(); -+ -+ ldap_int_tls_destroy( lo ); -+} -+ - /* - * Initialize a particular TLS implementation. - * Called once per implementation. -@@ -163,6 +171,7 @@ - tls_init(tls_impl *impl ) - { - static int tls_initialized = 0; -+ int rc; - - if ( !tls_initialized++ ) { - #ifdef LDAP_R_COMPILE -@@ -175,7 +184,10 @@ - #ifdef LDAP_R_COMPILE - impl->ti_thr_init(); - #endif -- return impl->ti_tls_init(); -+ rc = impl->ti_tls_init(); -+ -+ atexit( ldap_exit_tls_destroy ); -+ return rc; - } - - /* diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.59-implicit-function.patch b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.59-implicit-function.patch deleted file mode 100644 index ec7775c99d..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.59-implicit-function.patch +++ /dev/null @@ -1,41 +0,0 @@ ---- openldap-2.4.59/servers/slapd/back-meta/conn.c 2021-06-03 11:40:31.000000000 -0700 -+++ openldap-2.4.59/servers/slapd/back-meta/conn.c 2024-08-24 14:22:31.677357359 -0700 -@@ -31,6 +31,7 @@ - - #define AVL_INTERNAL - #include "slap.h" -+#include "proto-slap.h" - #include "../back-ldap/back-ldap.h" - #include "back-meta.h" - ---- openldap-2.4.59/servers/slapd/back-ldap/bind.c 2021-06-03 11:40:31.000000000 -0700 -+++ openldap-2.4.59/servers/slapd/back-ldap/bind.c 2024-08-24 14:22:13.340701355 -0700 -@@ -31,6 +31,7 @@ - - #define AVL_INTERNAL - #include "slap.h" -+#include "proto-slap.h" - #include "back-ldap.h" - #include "lutil.h" - #include "lutil_ldap.h" ---- openldap-2.4.59/servers/slapd/config.c 2021-06-03 11:40:31.000000000 -0700 -+++ openldap-2.4.59/servers/slapd/config.c 2024-08-24 14:22:13.414034645 -0700 -@@ -43,6 +43,7 @@ - #endif - - #include "slap.h" -+#include "proto-slap.h" - #ifdef LDAP_SLAPI - #include "slapi/slapi.h" - #endif -diff '--color=auto' -NuarwbB openldap-2.4.59.orig/servers/slapd/proto-slap.h openldap-2.4.59/servers/slapd/proto-slap.h ---- openldap-2.4.59.orig/servers/slapd/proto-slap.h 2024-08-24 14:31:02.304109181 -0700 -+++ openldap-2.4.59/servers/slapd/proto-slap.h 2024-08-24 14:31:18.004121208 -0700 -@@ -739,6 +739,7 @@ - LDAP_SLAPD_F (int) bindconf_tls_set LDAP_P(( - slap_bindconf *bc, LDAP *ld )); - LDAP_SLAPD_F (void) bindconf_free LDAP_P(( slap_bindconf *bc )); -+LDAP_SLAPD_F (void) slap_client_keepalive LDAP_P(( LDAP *ld, slap_keepalive *sk )); - LDAP_SLAPD_F (int) slap_client_connect LDAP_P(( LDAP **ldp, slap_bindconf *sb )); - LDAP_SLAPD_F (int) config_generic_wrapper LDAP_P(( Backend *be, - const char *fname, int lineno, int argc, char **argv )); diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.6-evolution-ntlm.patch b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.6-evolution-ntlm.patch deleted file mode 100644 index e8bcc50502..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.4.6-evolution-ntlm.patch +++ /dev/null @@ -1,189 +0,0 @@ ---- a/include/ldap.h -+++ b/include/ldap.h -@@ -2461,5 +2461,26 @@ ldap_parse_deref_control LDAP_P(( - LDAPControl **ctrls, - LDAPDerefRes **drp )); - -+/* -+ * hacks for NTLM -+ */ -+#define LDAP_AUTH_NTLM_REQUEST ((ber_tag_t) 0x8aU) -+#define LDAP_AUTH_NTLM_RESPONSE ((ber_tag_t) 0x8bU) -+LDAP_F( int ) -+ldap_ntlm_bind LDAP_P(( -+ LDAP *ld, -+ LDAP_CONST char *dn, -+ ber_tag_t tag, -+ struct berval *cred, -+ LDAPControl **sctrls, -+ LDAPControl **cctrls, -+ int *msgidp )); -+LDAP_F( int ) -+ldap_parse_ntlm_bind_result LDAP_P(( -+ LDAP *ld, -+ LDAPMessage *res, -+ struct berval *challenge)); -+ -+ - LDAP_END_DECL - #endif /* _LDAP_H */ ---- a/libraries/libldap/Makefile.in -+++ b/libraries/libldap/Makefile.in -@@ -20,7 +20,7 @@ PROGRAMS = apitest dntest ftest ltest ur - SRCS = bind.c open.c result.c error.c compare.c search.c \ - controls.c messages.c references.c extended.c cyrus.c \ - modify.c add.c modrdn.c delete.c abandon.c \ -- sasl.c gssapi.c sbind.c unbind.c cancel.c \ -+ sasl.c ntlm.c gssapi.c sbind.c unbind.c cancel.c \ - filter.c free.c sort.c passwd.c whoami.c \ - getdn.c getentry.c getattr.c getvalues.c addentry.c \ - request.c os-ip.c url.c pagectrl.c sortctrl.c vlvctrl.c \ -@@ -33,7 +33,7 @@ SRCS = bind.c open.c result.c error.c co - OBJS = bind.lo open.lo result.lo error.lo compare.lo search.lo \ - controls.lo messages.lo references.lo extended.lo cyrus.lo \ - modify.lo add.lo modrdn.lo delete.lo abandon.lo \ -- sasl.lo gssapi.lo sbind.lo unbind.lo cancel.lo \ -+ sasl.lo ntlm.lo gssapi.lo sbind.lo unbind.lo cancel.lo \ - filter.lo free.lo sort.lo passwd.lo whoami.lo \ - getdn.lo getentry.lo getattr.lo getvalues.lo addentry.lo \ - request.lo os-ip.lo url.lo pagectrl.lo sortctrl.lo vlvctrl.lo \ ---- /dev/null -+++ b/libraries/libldap/ntlm.c -@@ -0,0 +1,137 @@ -+/* $OpenLDAP: pkg/ldap/libraries/libldap/ntlm.c,v 1.1.4.10 2002/01/04 20:38:21 kurt Exp $ */ -+/* -+ * Copyright 1998-2002 The OpenLDAP Foundation, All Rights Reserved. -+ * COPYING RESTRICTIONS APPLY, see COPYRIGHT file -+ */ -+ -+/* Mostly copied from sasl.c */ -+ -+#include "portable.h" -+ -+#include -+#include -+ -+#include -+#include -+#include -+#include -+ -+#include "ldap-int.h" -+ -+int -+ldap_ntlm_bind( -+ LDAP *ld, -+ LDAP_CONST char *dn, -+ ber_tag_t tag, -+ struct berval *cred, -+ LDAPControl **sctrls, -+ LDAPControl **cctrls, -+ int *msgidp ) -+{ -+ BerElement *ber; -+ int rc; -+ ber_int_t id; -+ -+ Debug( LDAP_DEBUG_TRACE, "ldap_ntlm_bind\n", 0, 0, 0 ); -+ -+ assert( ld != NULL ); -+ assert( LDAP_VALID( ld ) ); -+ assert( msgidp != NULL ); -+ -+ if( msgidp == NULL ) { -+ ld->ld_errno = LDAP_PARAM_ERROR; -+ return ld->ld_errno; -+ } -+ -+ /* create a message to send */ -+ if ( (ber = ldap_alloc_ber_with_options( ld )) == NULL ) { -+ ld->ld_errno = LDAP_NO_MEMORY; -+ return ld->ld_errno; -+ } -+ -+ assert( LBER_VALID( ber ) ); -+ -+ LDAP_NEXT_MSGID( ld, id ); -+ rc = ber_printf( ber, "{it{istON}" /*}*/, -+ id, LDAP_REQ_BIND, -+ ld->ld_version, dn, tag, -+ cred ); -+ -+ /* Put Server Controls */ -+ if( ldap_int_put_controls( ld, sctrls, ber ) != LDAP_SUCCESS ) { -+ ber_free( ber, 1 ); -+ return ld->ld_errno; -+ } -+ -+ if ( ber_printf( ber, /*{*/ "N}" ) == -1 ) { -+ ld->ld_errno = LDAP_ENCODING_ERROR; -+ ber_free( ber, 1 ); -+ return ld->ld_errno; -+ } -+ -+ /* send the message */ -+ *msgidp = ldap_send_initial_request( ld, LDAP_REQ_BIND, dn, ber, id ); -+ -+ if(*msgidp < 0) -+ return ld->ld_errno; -+ -+ return LDAP_SUCCESS; -+} -+ -+int -+ldap_parse_ntlm_bind_result( -+ LDAP *ld, -+ LDAPMessage *res, -+ struct berval *challenge) -+{ -+ ber_int_t errcode; -+ ber_tag_t tag; -+ BerElement *ber; -+ ber_len_t len; -+ -+ Debug( LDAP_DEBUG_TRACE, "ldap_parse_ntlm_bind_result\n", 0, 0, 0 ); -+ -+ assert( ld != NULL ); -+ assert( LDAP_VALID( ld ) ); -+ assert( res != NULL ); -+ -+ if ( ld == NULL || res == NULL ) { -+ return LDAP_PARAM_ERROR; -+ } -+ -+ if( res->lm_msgtype != LDAP_RES_BIND ) { -+ ld->ld_errno = LDAP_PARAM_ERROR; -+ return ld->ld_errno; -+ } -+ -+ if ( ld->ld_error ) { -+ LDAP_FREE( ld->ld_error ); -+ ld->ld_error = NULL; -+ } -+ if ( ld->ld_matched ) { -+ LDAP_FREE( ld->ld_matched ); -+ ld->ld_matched = NULL; -+ } -+ -+ /* parse results */ -+ -+ ber = ber_dup( res->lm_ber ); -+ -+ if( ber == NULL ) { -+ ld->ld_errno = LDAP_NO_MEMORY; -+ return ld->ld_errno; -+ } -+ -+ tag = ber_scanf( ber, "{ioa" /*}*/, -+ &errcode, challenge, &ld->ld_error ); -+ ber_free( ber, 0 ); -+ -+ if( tag == LBER_ERROR ) { -+ ld->ld_errno = LDAP_DECODING_ERROR; -+ return ld->ld_errno; -+ } -+ -+ ld->ld_errno = errcode; -+ -+ return( ld->ld_errno ); -+} diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.5.19-gcc14-SDWORD-vs-SQLINTEGER.patch b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.5.19-gcc14-SDWORD-vs-SQLINTEGER.patch new file mode 100644 index 0000000000..8f369d3b22 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.5.19-gcc14-SDWORD-vs-SQLINTEGER.patch @@ -0,0 +1,12 @@ +https://bugs.gentoo.org/938581#c5 +--- a/servers/slapd/back-sql/sql-wrap.c ++++ b/servers/slapd/back-sql/sql-wrap.c +@@ -37,7 +37,7 @@ backsql_PrintErrors( SQLHENV henv, SQLHD + { + SQLCHAR msg[SQL_MAX_MESSAGE_LENGTH]; /* msg. buffer */ + SQLCHAR state[SQL_SQLSTATE_SIZE]; /* statement buf. */ +- SDWORD iSqlCode; /* return code */ ++ SQLINTEGER iSqlCode; /* return code */ + SWORD len = SQL_MAX_MESSAGE_LENGTH - 1; /* return length */ + + Debug( LDAP_DEBUG_TRACE, "Return code: %d\n", rc ); diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.6.1-fix-missing-mapping.patch b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.6.1-fix-missing-mapping.patch deleted file mode 100644 index 1d6595566c..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.6.1-fix-missing-mapping.patch +++ /dev/null @@ -1,15 +0,0 @@ -From 59e013602d7b1aa0d7da79d65367c9ec391b96f8 Mon Sep 17 00:00:00 2001 -From: Simon Pichugin -Date: Wed, 3 Nov 2021 19:03:40 -0700 -Subject: [PATCH] Fix missing mapping - ---- a/libraries/liblber/lber.map -+++ b/libraries/liblber/lber.map -@@ -121,6 +121,7 @@ OPENLDAP_2.200 - ber_sockbuf_io_fd; - ber_sockbuf_io_readahead; - ber_sockbuf_io_tcp; -+ ber_sockbuf_io_udp; - ber_sockbuf_remove_io; - ber_sos_dump; - ber_start; diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.6.4-clang16.patch b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.6.4-clang16.patch deleted file mode 100644 index bcbdf0b581..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.6.4-clang16.patch +++ /dev/null @@ -1,234 +0,0 @@ -https://git.openldap.org/openldap/openldap/-/merge_requests/605 - -From 83e2db9bf9fc2530a0ea6ca538a7732f6ad9de0e Mon Sep 17 00:00:00 2001 -From: Sam James -Date: Thu, 9 Feb 2023 23:17:53 +0000 -Subject: [PATCH 1/3] build: fix compatibility with stricter C99 compilers - -Fix the following warnings: -- -Wimplicit-int (fatal with Clang 16) -- -Wimplicit-function-declaration (fatal with Clang 16) -- -Wincompatible-function-pointer-types (fatal with Clang 16) -- -Wint-conversion (fatal with Clang 15) -- Old style prototypes (K&R, removed from C23) - -These warnings-now-error led to misconfigurations and failure to build -OpenLDAP, as the tests used during configure caused the wrong results -to be emitted. - -For more information, see LWN.net [0] or LLVM's Discourse [1], the Gentoo wiki [2], -or the (new) c-std-porting mailing list [3]. - -[0] https://lwn.net/Articles/913505/ -[1] https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213 -[2] https://wiki.gentoo.org/wiki/Modern_C_porting -[3] hosted at lists.linux.dev. - -Bug: https://bugs.gentoo.org/871288 -Signed-off-by: Sam James ---- a/build/openldap.m4 -+++ b/build/openldap.m4 -@@ -154,6 +154,7 @@ fi - if test $ol_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - AC_RUN_IFELSE([AC_LANG_SOURCE([[#include -+#include - #ifndef HAVE_EBCDIC - # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') - # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -@@ -360,9 +361,7 @@ AC_DEFUN([OL_PTHREAD_TEST_FUNCTION],[[ - AC_DEFUN([OL_PTHREAD_TEST_PROGRAM], - [AC_LANG_SOURCE([OL_PTHREAD_TEST_INCLUDES - --int main(argc, argv) -- int argc; -- char **argv; -+int main(int argc, char **argv) - { - OL_PTHREAD_TEST_FUNCTION - } -@@ -484,7 +483,7 @@ AC_CACHE_CHECK([for compatible POSIX regex],ol_cv_c_posix_regex,[ - #include - #include - static char *pattern, *string; --main() -+int main(void) - { - int rc; - regex_t re; -@@ -511,7 +510,8 @@ AC_DEFUN([OL_C_UPPER_LOWER], - [AC_CACHE_CHECK([if toupper() requires islower()],ol_cv_c_upper_lower,[ - AC_RUN_IFELSE([AC_LANG_SOURCE([[ - #include --main() -+#include -+int main(void) - { - if ('C' == toupper('C')) - exit(0); -@@ -569,7 +569,7 @@ AC_DEFUN([OL_NONPOSIX_STRERROR_R], - ]])],[ol_cv_nonposix_strerror_r=yes],[ol_cv_nonposix_strerror_r=no]) - else - AC_RUN_IFELSE([AC_LANG_SOURCE([[ -- main() { -+ int main(void) { - char buf[100]; - buf[0] = 0; - strerror_r( 1, buf, sizeof buf ); ---- a/configure.ac -+++ b/configure.ac -@@ -1017,7 +1017,11 @@ dnl ---------------------------------------------------------------- - AC_CHECK_HEADERS( sys/epoll.h ) - if test "${ac_cv_header_sys_epoll_h}" = yes; then - AC_MSG_CHECKING(for epoll system call) -- AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(int argc, char **argv) -+ AC_RUN_IFELSE([AC_LANG_SOURCE([[#include -+#ifdef HAVE_SYS_POLL_H -+#include -+#endif -+int main(int argc, char **argv) - { - int epfd = epoll_create(256); - exit (epfd == -1 ? 1 : 0); -@@ -1479,10 +1483,8 @@ pthread_rwlock_t rwlock; - dnl save the flags - AC_LINK_IFELSE([AC_LANG_PROGRAM([[ - #include --#ifndef NULL --#define NULL (void*)0 --#endif --]], [[pthread_detach(NULL);]])],[ol_cv_func_pthread_detach=yes],[ol_cv_func_pthread_detach=no]) -+pthread_t thread; -+]], [[pthread_detach(thread);]])],[ol_cv_func_pthread_detach=yes],[ol_cv_func_pthread_detach=no]) - ]) - - if test $ol_cv_func_pthread_detach = no ; then -@@ -1537,6 +1539,9 @@ dnl esac - AC_CACHE_CHECK([if select yields when using pthreads], - ol_cv_pthread_select_yields,[ - AC_RUN_IFELSE([AC_LANG_SOURCE([[ -+#define _XOPEN_SOURCE 500 /* For pthread_setconcurrency() on glibc */ -+#include -+#include - #include - #include - #include -@@ -1547,8 +1552,7 @@ dnl esac - - static int fildes[2]; - --static void *task(p) -- void *p; -+static void *task(void *p) - { - int i; - struct timeval tv; -@@ -1572,9 +1576,7 @@ static void *task(p) - exit(0); /* if we exit here, the select blocked the whole process */ - } - --int main(argc, argv) -- int argc; -- char **argv; -+int main(int argc, char **argv) - { - pthread_t t; - --- -GitLab - - -From 853d613f39ae9e8d7dad4492076959c2d80e38c1 Mon Sep 17 00:00:00 2001 -From: Sam James -Date: Thu, 9 Feb 2023 23:20:32 +0000 -Subject: [PATCH 2/3] contrib: fix old-style K&R declarations - -Removed in C23. - -For more information, see LWN.net [0] or LLVM's Discourse [1], the Gentoo wiki [2], -or the (new) c-std-porting mailing list [3]. - -[0] https://lwn.net/Articles/913505/ -[1] https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213 -[2] https://wiki.gentoo.org/wiki/Modern_C_porting -[3] hosted at lists.linux.dev. - -Signed-off-by: Sam James ---- a/contrib/ldaptcl/tclAppInit.c -+++ b/contrib/ldaptcl/tclAppInit.c -@@ -45,9 +45,7 @@ EXTERN int Tcltest_Init _ANSI_ARGS_((Tcl_Interp *interp)); - */ - - int --main(argc, argv) -- int argc; /* Number of command-line arguments. */ -- char **argv; /* Values of command-line arguments. */ -+main(int argc, char **argv) - { - #ifdef USE_TCLX - TclX_Main(argc, argv, Tcl_AppInit); ---- a/contrib/ldaptcl/tkAppInit.c -+++ b/contrib/ldaptcl/tkAppInit.c -@@ -37,16 +37,9 @@ int (*tclDummyMathPtr)() = matherr; - * This is the main program for the application. - *----------------------------------------------------------------------------- - */ --#ifdef __cplusplus - int - main (int argc, - char **argv) --#else --int --main (argc, argv) -- int argc; -- char **argv; --#endif - { - #ifdef USE_TCLX - TkX_Main(argc, argv, Tcl_AppInit); -@@ -68,14 +61,8 @@ main (argc, argv) - * interp->result if an error occurs. - *----------------------------------------------------------------------------- - */ --#ifdef __cplusplus - int - Tcl_AppInit (Tcl_Interp *interp) --#else --int --Tcl_AppInit (interp) -- Tcl_Interp *interp; --#endif - { - if (Tcl_Init (interp) == TCL_ERROR) { - return TCL_ERROR; --- -GitLab - - -From b4b3d026461b16f4f462e70225a5a0493647f0c8 Mon Sep 17 00:00:00 2001 -From: Sam James -Date: Thu, 9 Feb 2023 23:20:51 +0000 -Subject: [PATCH 3/3] servers: fix -Wstrict-prototypes - -For more information, see LWN.net [0] or LLVM's Discourse [1], the Gentoo wiki [2], -or the (new) c-std-porting mailing list [3]. - -[0] https://lwn.net/Articles/913505/ -[1] https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213 -[2] https://wiki.gentoo.org/wiki/Modern_C_porting -[3] hosted at lists.linux.dev. - -Signed-off-by: Sam James ---- a/servers/slapd/syslog.c -+++ b/servers/slapd/syslog.c -@@ -209,7 +209,7 @@ openlog(const char *ident, int logstat, int logfac) - } - - void --closelog() -+closelog(void) - { - (void)close(LogFile); - LogFile = -1; --- -GitLab diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.6.4-libressl.patch b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.6.4-libressl.patch deleted file mode 100644 index 48a8a43e73..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.6.4-libressl.patch +++ /dev/null @@ -1,38 +0,0 @@ -https://bugs.gentoo.org/903001 -https://bugs.openldap.org/show_bug.cgi?id=10039 -https://git.openldap.org/openldap/openldap/-/merge_requests/613 -https://git.openldap.org/openldap/openldap/-/commit/cb73e60a49f85bf5207b2fd0f557013be29ac072 - -From cb73e60a49f85bf5207b2fd0f557013be29ac072 Mon Sep 17 00:00:00 2001 -From: orbea -Date: Wed, 12 Apr 2023 12:55:46 -0700 -Subject: [PATCH] ITS#10039 Test for SSL_CTX_set_ciphersuites() - -When configuring OpenLDAP using --with-tls=openssl with LibreSSL the -configure will fail to detect SSL_export_keyring_material_early() since -LibreSSL doesn't support this function yet. However OpenLDAP doesn't -actually use this function and only checks for it to ensure a modern -OpenSSL API is used. This can be easily solved by checking for an -equivalent modern OpenSSL function which both LibreSSL and OpenSSL both -support such as SSL_CTX_set_ciphersuites(). Doing this allows the build -and tests to succeed with modern LibreSSL versions. This was tested with -LibreSSL >= 3.6. - -Bug: https://bugs.openldap.org/show_bug.cgi?id=10039 ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 2cf28ef346..c4e2a905e2 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1243,7 +1243,7 @@ if test $ol_with_tls = openssl || test $ol_with_tls = auto ; then - [#endif]])], - , [AC_MSG_FAILURE([OpenSSL 1.1.1 or newer required])]) - -- AC_CHECK_LIB(ssl, SSL_export_keying_material_early, -+ AC_CHECK_LIB(ssl, SSL_CTX_set_ciphersuites, - [have_openssl=yes], [have_openssl=no], - [-lcrypto]) - diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.6.6-fix-type-mismatch-lloadd.patch b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.6.6-fix-type-mismatch-lloadd.patch deleted file mode 100644 index d2335bce9b..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.6.6-fix-type-mismatch-lloadd.patch +++ /dev/null @@ -1,42 +0,0 @@ -https://git.openldap.org/openldap/openldap/-/commit/de89b06b031537fb2d14a532d79f7b0772fc1700 -From: =?UTF-8?q?Ond=C5=99ej=20Kuzn=C3=ADk?= -Date: Thu, 27 Jul 2023 11:19:20 +0100 -Subject: [PATCH] ITS#10074 Fix type mismatches in lloadd - ---- a/servers/lloadd/libevent_support.c -+++ b/servers/lloadd/libevent_support.c -@@ -131,6 +131,12 @@ lload_libevent_cond_timedwait( - return ldap_pvt_thread_cond_wait( cond, mutex ); - } - -+unsigned long -+lload_libevent_thread_self( void ) -+{ -+ return (unsigned long)ldap_pvt_thread_self(); -+} -+ - int - lload_libevent_init( void ) - { -@@ -152,7 +158,7 @@ lload_libevent_init( void ) - - evthread_set_lock_callbacks( &cbs ); - evthread_set_condition_callbacks( &cond_cbs ); -- evthread_set_id_callback( ldap_pvt_thread_self ); -+ evthread_set_id_callback( lload_libevent_thread_self ); - return 0; - } - ---- a/servers/lloadd/module_init.c -+++ b/servers/lloadd/module_init.c -@@ -151,7 +151,6 @@ lload_back_initialize( BackendInfo *bi ) - { - bi->bi_flags = SLAP_BFLAG_STANDALONE; - bi->bi_open = lload_back_open; -- bi->bi_config = config_generic_wrapper; - bi->bi_pause = lload_pause_cb; - bi->bi_unpause = lload_unpause_cb; - bi->bi_close = lload_back_close; --- -GitLab - diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.6.x-slapd-pointer-types.patch b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.6.x-slapd-pointer-types.patch deleted file mode 100644 index 9f79048645..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/openldap-2.6.x-slapd-pointer-types.patch +++ /dev/null @@ -1,71 +0,0 @@ -# https://git.openldap.org/openldap/openldap/-/commit/fb9e6a81bbee880549e7ec18f0a74ddddbd2d1ab.patch -From fb9e6a81bbee880549e7ec18f0a74ddddbd2d1ab Mon Sep 17 00:00:00 2001 -From: Stephen Gallagher -Date: Tue, 6 Feb 2024 21:38:24 -0500 -Subject: [PATCH] ITS#10171 - Explicitly cast private values - -Fixes issues with -Werror=incompatible-pointer-types - -Signed-off-by: Stephen Gallagher ---- - servers/slapd/config.c | 2 +- - servers/slapd/overlays/constraint.c | 2 +- - servers/slapd/overlays/dyngroup.c | 2 +- - servers/slapd/overlays/valsort.c | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/servers/slapd/config.c b/servers/slapd/config.c -index 80333f359c..987c862d91 100644 ---- a/servers/slapd/config.c -+++ b/servers/slapd/config.c -@@ -151,7 +151,7 @@ int config_check_vals(ConfigTable *Conf, ConfigArgs *c, int check_only ) { - int rc, arg_user, arg_type, arg_syn, iarg; - unsigned uiarg; - long larg; -- size_t ularg; -+ unsigned long ularg; - ber_len_t barg; - - if(Conf->arg_type == ARG_IGNORED) { -diff --git a/servers/slapd/overlays/constraint.c b/servers/slapd/overlays/constraint.c -index f939b37762..0d6156af4d 100644 ---- a/servers/slapd/overlays/constraint.c -+++ b/servers/slapd/overlays/constraint.c -@@ -557,7 +557,7 @@ done:; - a2->restrict_filter = ap.restrict_filter; - a2->restrict_val = ap.restrict_val; - -- for ( app = &on->on_bi.bi_private; *app; app = &(*app)->ap_next ) -+ for ( app = (constraint **)&on->on_bi.bi_private; *app; app = &(*app)->ap_next ) - /* Get to the end */ ; - - a2->ap_next = *app; -diff --git a/servers/slapd/overlays/dyngroup.c b/servers/slapd/overlays/dyngroup.c -index 5d890d6650..e0e70af2d9 100644 ---- a/servers/slapd/overlays/dyngroup.c -+++ b/servers/slapd/overlays/dyngroup.c -@@ -111,7 +111,7 @@ static int dgroup_cf( ConfigArgs *c ) - */ - a2 = ch_malloc( sizeof(adpair) ); - -- for ( app = &on->on_bi.bi_private; *app; app = &(*app)->ap_next ) -+ for ( app = (adpair **)&on->on_bi.bi_private; *app; app = &(*app)->ap_next ) - /* Get to the end */ ; - - a2->ap_mem = ap.ap_mem; -diff --git a/servers/slapd/overlays/valsort.c b/servers/slapd/overlays/valsort.c -index 3d998e2fcb..e251500d0b 100644 ---- a/servers/slapd/overlays/valsort.c -+++ b/servers/slapd/overlays/valsort.c -@@ -201,7 +201,7 @@ valsort_cf_func(ConfigArgs *c) { - return(1); - } - -- for ( vip = &on->on_bi.bi_private; *vip; vip = &(*vip)->vi_next ) -+ for ( vip = (valsort_info **)&on->on_bi.bi_private; *vip; vip = &(*vip)->vi_next ) - /* Get to the end */ ; - - vi = ch_malloc( sizeof(valsort_info) ); --- -GitLab - diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/slapd-confd-2.4.28-r1 b/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/slapd-confd-2.4.28-r1 deleted file mode 100644 index ef19899a37..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/files/slapd-confd-2.4.28-r1 +++ /dev/null @@ -1,26 +0,0 @@ -# conf.d file for openldap -# -# To enable both the standard unciphered server and the ssl encrypted -# one uncomment this line or set any other server starting options -# you may desire. - -# If you have multiple slapd instances per #376699, this will provide a default config -INSTANCE="openldap${SVCNAME#slapd}" - -# If you use the classical configuration file: -OPTS_CONF="-f /etc/${INSTANCE}/slapd.conf" -# Uncomment this instead to use the new slapd.d configuration directory for openldap 2.3 -#OPTS_CONF="-F /etc/${INSTANCE}/slapd.d" -# (the OPTS_CONF variable is also passed to slaptest during startup) - -OPTS="${OPTS_CONF} -h 'ldaps:// ldap:// ldapi://%2fvar%2frun%2fopenldap%2fslapd.sock'" -# Optional connectionless LDAP: -#OPTS="${OPTS_CONF} -h 'ldaps:// ldap:// ldapi://%2fvar%2frun%2fopenldap%2fslapd.sock cldap://'" - -# If you change the above listen statement to bind on a specific IP for -# listening, you should ensure that interface is up here (change eth0 as -# needed). -#rc_need="net.eth0" - -# Specify the kerberos keytab file -#KRB5_KTNAME=/etc/openldap/krb5-ldap.keytab diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.4.59-r2.ebuild b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.4.59-r2.ebuild deleted file mode 100644 index 1a795cb4b9..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.4.59-r2.ebuild +++ /dev/null @@ -1,909 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -# Re cleanups: -# 2.5.x is an LTS release so we want to keep it for a while. - -inherit autotools db-use flag-o-matic multilib multilib-minimal preserve-libs ssl-cert toolchain-funcs systemd tmpfiles - -BIS_PN=rfc2307bis.schema -BIS_PV=20140524 -BIS_P="${BIS_PN}-${BIS_PV}" - -DESCRIPTION="LDAP suite of application and development tools" -HOMEPAGE="https://www.openldap.org/" - -# upstream mirrors are mostly not working, using canonical URI -SRC_URI=" - https://openldap.org/software/download/OpenLDAP/openldap-release/${P}.tgz - http://gpl.savoirfairelinux.net/pub/mirrors/openldap/openldap-release/${P}.tgz - http://repository.linagora.org/OpenLDAP/openldap-release/${P}.tgz - http://mirror.eu.oneandone.net/software/openldap/openldap-release/${P}.tgz - mirror://gentoo/${BIS_P}" - -LICENSE="OPENLDAP GPL-2" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" - -IUSE_DAEMON="crypt samba tcpd experimental minimal" -IUSE_BACKEND="+berkdb" -IUSE_OVERLAY="overlays perl" -IUSE_OPTIONAL="gnutls iodbc sasl ssl odbc debug ipv6 +syslog selinux static-libs test" -IUSE_CONTRIB="smbkrb5passwd kerberos kinit pbkdf2 sha2" -IUSE_CONTRIB="${IUSE_CONTRIB} cxx" -IUSE="${IUSE_DAEMON} ${IUSE_BACKEND} ${IUSE_OVERLAY} ${IUSE_OPTIONAL} ${IUSE_CONTRIB}" -REQUIRED_USE="cxx? ( sasl ) - pbkdf2? ( ssl ) - test? ( berkdb ) - ?? ( test minimal ) - kerberos? ( ?? ( kinit smbkrb5passwd ) )" -RESTRICT="!test? ( test )" - -# always list newer first -# Do not add any AGPL-3 BDB here! -# See bug 525110, comment 15. -# Advanced usage: OPENLDAP_BDB_SLOTS in the environment can be used to force a slot during build. -BDB_SLOTS="${OPENLDAP_BDB_SLOTS:=5.3 4.8}" -BDB_PKGS='' -for _slot in $BDB_SLOTS; do BDB_PKGS="${BDB_PKGS} sys-libs/db:${_slot}" ; done - -# openssl is needed to generate lanman-passwords required by samba -COMMON_DEPEND=" - ssl? ( - !gnutls? ( - >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] - ) - gnutls? ( - >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] - >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] - ) - ) - sasl? ( dev-libs/cyrus-sasl:= ) - !minimal? ( - dev-libs/libltdl - sys-fs/e2fsprogs - >=dev-db/lmdb-0.9.18:= - crypt? ( virtual/libcrypt:= ) - tcpd? ( sys-apps/tcp-wrappers ) - odbc? ( !iodbc? ( dev-db/unixODBC ) - iodbc? ( dev-db/libiodbc ) ) - perl? ( dev-lang/perl:=[-build(-)] ) - samba? ( - dev-libs/openssl:0= - ) - berkdb? ( - dash - "${FILESDIR}"/${PN}-2.4.28-fix-dash.patch - - # bug #420959 - "${FILESDIR}"/${PN}-2.4.31-gcc47.patch - - # unbundle lmdb - "${FILESDIR}"/${PN}-2.4.42-mdb-unbundle.patch - - # fix some compiler warnings - "${FILESDIR}"/${PN}-2.4.47-warnings.patch -) - -openldap_filecount() { - local dir="$1" - find "${dir}" -type f ! -name '.*' ! -name 'DB_CONFIG*' | wc -l -} - -openldap_find_versiontags() { - # scan for all datadirs - local openldap_datadirs=() - if [[ -f "${EROOT}"/etc/openldap/slapd.conf ]]; then - openldap_datadirs=( $(awk '{if($1 == "directory") print $2 }' "${EROOT}"/etc/openldap/slapd.conf) ) - fi - openldap_datadirs+=( ${OPENLDAP_DEFAULTDIR_VERSIONTAG} ) - - einfo - einfo "Scanning datadir(s) from slapd.conf and" - einfo "the default installdir for Versiontags" - einfo "(${OPENLDAP_DEFAULTDIR_VERSIONTAG} may appear twice)" - einfo - - # scan datadirs if we have a version tag - openldap_found_tag=0 - have_files=0 - for each in ${openldap_datadirs[@]} ; do - CURRENT_TAGDIR="${ROOT}$(sed "s:\/::" <<< ${each})" - CURRENT_TAG="${CURRENT_TAGDIR}/${OPENLDAP_VERSIONTAG}" - if [[ -d "${CURRENT_TAGDIR}" ]] && [[ "${openldap_found_tag}" == 0 ]] ; then - einfo "- Checking ${each}..." - if [[ -r "${CURRENT_TAG}" ]] ; then - # yey, we have one :) - einfo " Found Versiontag in ${each}" - source "${CURRENT_TAG}" - if [[ "${OLDPF}" == "" ]] ; then - eerror "Invalid Versiontag found in ${CURRENT_TAGDIR}" - eerror "Please delete it" - eerror - die "Please kill the invalid versiontag in ${CURRENT_TAGDIR}" - fi - - OLD_MAJOR=$(ver_cut 2-3 ${OLDPF}) - - [[ "$(openldap_filecount ${CURRENT_TAGDIR})" -gt 0 ]] && have_files=1 - - # are we on the same branch? - if [[ "${OLD_MAJOR}" != "${PV:0:3}" ]] ; then - ewarn " Versiontag doesn't match current major release!" - if [[ "${have_files}" == "1" ]] ; then - eerror " Versiontag says other major and you (probably) have datafiles!" - echo - openldap_upgrade_howto - else - einfo " No real problem, seems there's no database." - fi - else - einfo " Versiontag is fine here :)" - fi - else - einfo " Non-tagged dir ${each}" - [[ "$(openldap_filecount ${each})" -gt 0 ]] && have_files=1 - if [[ "${have_files}" == "1" ]] ; then - einfo " EEK! Non-empty non-tagged datadir, counting `ls -a ${each} | wc -l` files" - echo - - eerror - eerror "Your OpenLDAP Installation has a non tagged datadir that" - eerror "possibly contains a database at ${CURRENT_TAGDIR}" - eerror - eerror "Please export data if any entered and empty or remove" - eerror "the directory, installation has been stopped so you" - eerror "can take required action" - eerror - eerror "For a HOWTO on exporting the data, see instructions in the ebuild" - eerror - openldap_upgrade_howto - die "Please move the datadir ${CURRENT_TAGDIR} away" - fi - fi - einfo - fi - done - [[ "${have_files}" == "1" ]] && einfo "DB files present" || einfo "No DB files present" - - # Now we must check for the major version of sys-libs/db linked against. - SLAPD_PATH="${EROOT}/usr/$(get_libdir)/openldap/slapd" - if [[ "${have_files}" == "1" ]] && [[ -f "${SLAPD_PATH}" ]]; then - OLDVER="$(/usr/bin/ldd ${SLAPD_PATH} \ - | awk '/libdb-/{gsub("^libdb-","",$1);gsub(".so$","",$1);print $1}')" - if use berkdb; then - # find which one would be used - for bdb_slot in ${BDB_SLOTS} ; do - NEWVER="$(db_findver "=sys-libs/db-${bdb_slot}*")" - [[ -n "${NEWVER}" ]] && break - done - fi - local fail=0 - if [[ -z "${OLDVER}" ]] && [[ -z "${NEWVER}" ]]; then - : - # Nothing wrong here. - elif [[ -z "${OLDVER}" ]] && [[ -n "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was not built against" - eerror " any version of sys-libs/db, but the new one will build" - eerror " against ${NEWVER} and your database may be inaccessible." - echo - fail=1 - elif [[ -n "${OLDVER}" ]] && [[ -z "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was built against" - eerror " sys-libs/db:${OLDVER}, but the new one will not be" - eerror " built against any version and your database may be" - eerror " inaccessible." - echo - fail=1 - elif [[ "${OLDVER}" != "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was built against" - eerror " sys-libs/db:${OLDVER}, but the new one will build against" - eerror " ${NEWVER} and your database would be inaccessible." - echo - fail=1 - fi - [[ "${fail}" == "1" ]] && openldap_upgrade_howto - fi - - echo - einfo - einfo "All datadirs are fine, proceeding with merge now..." - einfo -} - -openldap_upgrade_howto() { - local d l i - eerror - eerror "A (possible old) installation of OpenLDAP was detected," - eerror "installation will not proceed for now." - eerror - eerror "As major version upgrades can corrupt your database," - eerror "you need to dump your database and re-create it afterwards." - eerror - eerror "Additionally, rebuilding against different major versions of the" - eerror "sys-libs/db libraries will cause your database to be inaccessible." - eerror "" - d="$(date -u +%s)" - l="/root/ldapdump.${d}" - i="${l}.raw" - eerror " 1. /etc/init.d/slapd stop" - eerror " 2. slapcat -l ${i}" - eerror " 3. grep -E -v '^(entry|context)CSN:' <${i} >${l}" - eerror " 4. mv /var/lib/openldap-data/ /var/lib/openldap-data-backup/" - eerror " 5. emerge --update \=net-nds/${PF}" - eerror " 6. etc-update, and ensure that you apply the changes" - eerror " 7. slapadd -l ${l}" - eerror " 8. chown ldap:ldap /var/lib/openldap-data/*" - eerror " 9. /etc/init.d/slapd start" - eerror "10. check that your data is intact." - eerror "11. set up the new replication system." - eerror - if [[ "${FORCE_UPGRADE}" != "1" ]]; then - die "You need to upgrade your database first" - else - eerror "You have the magical FORCE_UPGRADE=1 in place." - eerror "Don't say you weren't warned about data loss." - fi -} - -pkg_setup() { - if ! use sasl && use cxx ; then - die "To build the ldapc++ library you must emerge openldap with sasl support" - fi - # Bug #322787 - if use minimal && ! has_version "net-nds/openldap" ; then - einfo "No datadir scan needed, openldap not installed" - elif use minimal && has_version 'net-nds/openldap[minimal]' ; then - einfo "Skipping scan for previous datadirs as requested by minimal useflag" - else - openldap_find_versiontags - fi -} - -src_prepare() { - # ensure correct SLAPI path by default - sed -e 's,\(#define LDAPI_SOCK\).*,\1 "'"${EPREFIX}"'/var/run/openldap/slapd.sock",' \ - -i include/ldap_defaults.h || die - - default - rm -r libraries/liblmdb || die - - pushd build &>/dev/null || die "pushd build" - einfo "Making sure upstream build strip does not do stripping too early" - sed -i.orig \ - -e '/^STRIP/s,-s,,g' \ - top.mk || die "Failed to block stripping" - popd &>/dev/null || die - - # wrong assumption that /bin/sh is /bin/bash - sed \ - -e 's|/bin/sh|/bin/bash|g' \ - -i tests/scripts/* || die "sed failed" - - # Required for autoconf-2.70 #765043 - sed 's@^AM_INIT_AUTOMAKE.*@AC_PROG_MAKE_SET@' -i configure.in || die - AT_NOEAUTOMAKE=yes eautoreconf -} - -build_contrib_module() { - # - pushd "${S}/contrib/slapd-modules/$1" &>/dev/null || die "pushd contrib/slapd-modules/$1" - einfo "Compiling contrib-module: $3" - # Make sure it's uppercase - local define_name="$(LC_ALL=C tr '[:lower:]' '[:upper:]' <<< "SLAPD_OVER_${1}")" - "${lt}" --mode=compile --tag=CC \ - "${CC}" \ - -D${define_name}=SLAPD_MOD_DYNAMIC \ - -I"${BUILD_DIR}"/include \ - -I../../../include -I../../../servers/slapd ${CFLAGS} \ - -o ${2%.c}.lo -c $2 || die "compiling $3 failed" - einfo "Linking contrib-module: $3" - "${lt}" --mode=link --tag=CC \ - "${CC}" -module \ - ${CFLAGS} \ - ${LDFLAGS} \ - -rpath "${EPREFIX}"/usr/$(get_libdir)/openldap/openldap \ - -o $3.la ${2%.c}.lo || die "linking $3 failed" - popd &>/dev/null || die -} - -src_configure() { - # connectionless ldap per bug #342439 - append-cppflags -DLDAP_CONNECTIONLESS - - multilib-minimal_src_configure -} - -multilib_src_configure() { - local myconf=() - - use debug && myconf+=( $(use_enable debug) ) - - # ICU exists only in the configure, nowhere in the codebase, bug #510858 - export ac_cv_header_unicode_utypes_h=no ol_cv_lib_icu=no - - if ! use minimal && multilib_is_native_abi; then - local CPPFLAGS=${CPPFLAGS} - - # re-enable serverside overlay chains per bug #296567 - # see ldap docs chaper 12.3.1 for details - myconf+=( --enable-ldap ) - - # backends - myconf+=( --enable-slapd ) - if use berkdb ; then - einfo "Using Berkeley DB for local backend" - myconf+=( --enable-bdb --enable-hdb ) - DBINCLUDE=$(db_includedir ${BDB_SLOTS}) - einfo "Using ${DBINCLUDE} for sys-libs/db version" - # We need to include the slotted db.h dir for FreeBSD - append-cppflags -I${DBINCLUDE} - else - myconf+=( --disable-bdb --disable-hdb ) - fi - for backend in dnssrv ldap mdb meta monitor null passwd relay shell sock; do - myconf+=( --enable-${backend}=mod ) - done - - myconf+=( $(use_enable perl perl mod) ) - - myconf+=( $(use_enable odbc sql mod) ) - if use odbc ; then - local odbc_lib="unixodbc" - if use iodbc ; then - odbc_lib="iodbc" - append-cppflags -I"${EPREFIX}"/usr/include/iodbc - fi - myconf+=( --with-odbc=${odbc_lib} ) - fi - - # slapd options - myconf+=( - $(use_enable crypt) - --disable-slp - $(use_enable samba lmpasswd) - $(use_enable syslog) - ) - if use experimental ; then - myconf+=( - --enable-dynacl - --enable-aci=mod - ) - fi - for option in aci cleartext modules rewrite rlookups slapi; do - myconf+=( --enable-${option} ) - done - - # slapd overlay options - # Compile-in the syncprov, the others as module - myconf+=( --enable-syncprov=yes ) - use overlays && myconf+=( --enable-overlays=mod ) - - else - myconf+=( - --disable-backends - --disable-slapd - --disable-bdb - --disable-hdb - --disable-mdb - --disable-overlays - --disable-syslog - ) - fi - - # basic functionality stuff - myconf+=( - $(use_enable ipv6) - $(multilib_native_use_with sasl cyrus-sasl) - $(multilib_native_use_enable sasl spasswd) - $(use_enable tcpd wrappers) - ) - - # Some cross-compiling tests don't pan out well. - tc-is-cross-compiler && myconf+=( - --with-yielding-select=yes - ) - - local ssl_lib="no" - if use ssl || ( ! use minimal && use samba ) ; then - ssl_lib="openssl" - use gnutls && ssl_lib="gnutls" - fi - - myconf+=( --with-tls=${ssl_lib} ) - - for basicflag in dynamic local proctitle shared; do - myconf+=( --enable-${basicflag} ) - done - - tc-export AR CC CXX - CONFIG_SHELL="/bin/sh" \ - ECONF_SOURCE="${S}" \ - STRIP=/bin/true \ - econf \ - --libexecdir="${EPREFIX}"/usr/$(get_libdir)/openldap \ - $(use_enable static-libs static) \ - "${myconf[@]}" - emake depend -} - -src_configure_cxx() { - # This needs the libraries built by the first build run. - # So we have to run it AFTER the main build, not just after the main - # configure. - local myconf_ldapcpp=( - --with-ldap-includes="${S}"/include - ) - - mkdir -p "${BUILD_DIR}"/contrib/ldapc++ || die - pushd "${BUILD_DIR}/contrib/ldapc++" &>/dev/null || die "pushd contrib/ldapc++" - - local LDFLAGS=${LDFLAGS} CPPFLAGS=${CPPFLAGS} - append-ldflags -L"${BUILD_DIR}"/libraries/liblber/.libs \ - -L"${BUILD_DIR}"/libraries/libldap/.libs - append-cppflags -I"${BUILD_DIR}"/include - ECONF_SOURCE=${S}/contrib/ldapc++ \ - econf "${myconf_ldapcpp[@]}" \ - CC="${CC}" \ - CXX="${CXX}" - popd &>/dev/null || die -} - -multilib_src_compile() { - tc-export AR CC CXX - emake CC="${CC}" AR="${AR}" SHELL="${EPREFIX}"/bin/sh - local lt="${BUILD_DIR}/libtool" - export echo="echo" - - if ! use minimal && multilib_is_native_abi ; then - if use cxx ; then - einfo "Building contrib library: ldapc++" - src_configure_cxx - pushd "${BUILD_DIR}/contrib/ldapc++" &>/dev/null || die "pushd contrib/ldapc++" - emake CC="${CC}" CXX="${CXX}" - popd &>/dev/null || die - fi - - if use smbkrb5passwd ; then - einfo "Building contrib-module: smbk5pwd" - pushd "${S}/contrib/slapd-modules/smbk5pwd" &>/dev/null || die "pushd contrib/slapd-modules/smbk5pwd" - - MY_DEFS="-DDO_SHADOW" - if use samba ; then - MY_DEFS="${MY_DEFS} -DDO_SAMBA" - MY_KRB5_INC="" - fi - if use kerberos ; then - MY_DEFS="${MY_DEFS} -DDO_KRB5" - MY_KRB5_INC="$(krb5-config --cflags)" - fi - - emake \ - DEFS="${MY_DEFS}" \ - KRB5_INC="${MY_KRB5_INC}" \ - LDAP_BUILD="${BUILD_DIR}" \ - CC="${CC}" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" - popd &>/dev/null || die - fi - - if use overlays ; then - einfo "Building contrib-module: samba4" - pushd "${S}/contrib/slapd-modules/samba4" &>/dev/null || die "pushd contrib/slapd-modules/samba4" - - emake \ - LDAP_BUILD="${BUILD_DIR}" \ - CC="${CC}" libexecdir="/usr/$(get_libdir)/openldap" - popd &>/dev/null || die - fi - - if use kerberos ; then - if use kinit ; then - build_contrib_module "kinit" "kinit.c" "kinit" - fi - pushd "${S}/contrib/slapd-modules/passwd" &>/dev/null || die "pushd contrib/slapd-modules/passwd" - einfo "Compiling contrib-module: pw-kerberos" - "${lt}" --mode=compile --tag=CC \ - "${CC}" \ - -I"${BUILD_DIR}"/include \ - -I../../../include \ - ${CFLAGS} \ - $(krb5-config --cflags) \ - -DHAVE_KRB5 \ - -o kerberos.lo \ - -c kerberos.c || die "compiling pw-kerberos failed" - einfo "Linking contrib-module: pw-kerberos" - "${lt}" --mode=link --tag=CC \ - "${CC}" -module \ - ${CFLAGS} \ - ${LDFLAGS} \ - -rpath "${EPREFIX}"/usr/$(get_libdir)/openldap/openldap \ - -o pw-kerberos.la \ - kerberos.lo || die "linking pw-kerberos failed" - popd &>/dev/null || die - fi - - if use pbkdf2; then - pushd "${S}/contrib/slapd-modules/passwd/pbkdf2" &>/dev/null || die "pushd contrib/slapd-modules/passwd/pbkdf2" - einfo "Compiling contrib-module: pw-pbkdf2" - "${lt}" --mode=compile --tag=CC \ - "${CC}" \ - -I"${BUILD_DIR}"/include \ - -I../../../../include \ - ${CFLAGS} \ - -o pbkdf2.lo \ - -c pw-pbkdf2.c || die "compiling pw-pbkdf2 failed" - einfo "Linking contrib-module: pw-pbkdf2" - "${lt}" --mode=link --tag=CC \ - "${CC}" -module \ - ${CFLAGS} \ - ${LDFLAGS} \ - -rpath "${EPREFIX}"/usr/$(get_libdir)/openldap/openldap \ - -o pw-pbkdf2.la \ - pbkdf2.lo || die "linking pw-pbkdf2 failed" - popd &>/dev/null || die - fi - - if use sha2 ; then - pushd "${S}/contrib/slapd-modules/passwd/sha2" &>/dev/null || die "pushd contrib/slapd-modules/passwd/sha2" - einfo "Compiling contrib-module: pw-sha2" - "${lt}" --mode=compile --tag=CC \ - "${CC}" \ - -I"${BUILD_DIR}"/include \ - -I../../../../include \ - ${CFLAGS} \ - -o sha2.lo \ - -c sha2.c || die "compiling pw-sha2 failed" - "${lt}" --mode=compile --tag=CC \ - "${CC}" \ - -I"${BUILD_DIR}"/include \ - -I../../../../include \ - ${CFLAGS} \ - -o slapd-sha2.lo \ - -c slapd-sha2.c || die "compiling pw-sha2 failed" - einfo "Linking contrib-module: pw-sha2" - "${lt}" --mode=link --tag=CC \ - "${CC}" -module \ - ${CFLAGS} \ - ${LDFLAGS} \ - -rpath "${EPREFIX}"/usr/$(get_libdir)/openldap/openldap \ - -o pw-sha2.la \ - sha2.lo slapd-sha2.lo || die "linking pw-sha2 failed" - popd &>/dev/null || die - fi - - # We could build pw-radius if GNURadius would install radlib.h - pushd "${S}/contrib/slapd-modules/passwd" &>/dev/null || die "pushd contrib/slapd-modules/passwd" - einfo "Compiling contrib-module: pw-netscape" - "${lt}" --mode=compile --tag=CC \ - "${CC}" \ - -I"${BUILD_DIR}"/include \ - -I../../../include \ - ${CFLAGS} \ - -o netscape.lo \ - -c netscape.c || die "compiling pw-netscape failed" - einfo "Linking contrib-module: pw-netscape" - "${lt}" --mode=link --tag=CC \ - "${CC}" -module \ - ${CFLAGS} \ - ${LDFLAGS} \ - -rpath "${EPREFIX}"/usr/$(get_libdir)/openldap/openldap \ - -o pw-netscape.la \ - netscape.lo || die "linking pw-netscape failed" - - #build_contrib_module "acl" "posixgroup.c" "posixGroup" # example code only - #build_contrib_module "acl" "gssacl.c" "gss" # example code only, also needs kerberos - build_contrib_module "addpartial" "addpartial-overlay.c" "addpartial-overlay" - build_contrib_module "allop" "allop.c" "overlay-allop" - build_contrib_module "allowed" "allowed.c" "allowed" - build_contrib_module "autogroup" "autogroup.c" "autogroup" - build_contrib_module "cloak" "cloak.c" "cloak" - # build_contrib_module "comp_match" "comp_match.c" "comp_match" - # comp_match: really complex, adds new external deps, questionable demand - build_contrib_module "denyop" "denyop.c" "denyop-overlay" - build_contrib_module "dsaschema" "dsaschema.c" "dsaschema-plugin" - build_contrib_module "dupent" "dupent.c" "dupent" - build_contrib_module "lastbind" "lastbind.c" "lastbind" - # lastmod may not play well with other overlays - build_contrib_module "lastmod" "lastmod.c" "lastmod" - build_contrib_module "noopsrch" "noopsrch.c" "noopsrch" - #build_contrib_module "nops" "nops.c" "nops-overlay" https://bugs.gentoo.org/641576 - #build_contrib_module "nssov" "nssov.c" "nssov-overlay" RESO:LATER - build_contrib_module "trace" "trace.c" "trace" - popd &>/dev/null || die - # build slapi-plugins - pushd "${S}/contrib/slapi-plugins/addrdnvalues" &>/dev/null || die "pushd contrib/slapi-plugins/addrdnvalues" - einfo "Building contrib-module: addrdnvalues plugin" - "${CC}" -shared \ - -I"${BUILD_DIR}"/include \ - -I../../../include \ - ${CFLAGS} \ - -fPIC \ - ${LDFLAGS} \ - -o libaddrdnvalues-plugin.so \ - addrdnvalues.c || die "Building libaddrdnvalues-plugin.so failed" - popd &>/dev/null || die - fi -} - -multilib_src_test() { - if multilib_is_native_abi; then - cd tests || die - emake tests - fi -} - -multilib_src_install() { - local lt="${BUILD_DIR}/libtool" - emake DESTDIR="${D}" SHELL="${EPREFIX}"/bin/sh install - - if ! use minimal && multilib_is_native_abi; then - # openldap modules go here - # TODO: write some code to populate slapd.conf with moduleload statements - keepdir /usr/$(get_libdir)/openldap/openldap/ - - # initial data storage dir - keepdir /var/lib/openldap-data - use prefix || fowners ldap:ldap /var/lib/openldap-data - fperms 0700 /var/lib/openldap-data - - echo "OLDPF='${PF}'" > "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - echo "# do NOT delete this. it is used" >> "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - echo "# to track versions for upgrading." >> "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - - # use our config - rm "${ED}"/etc/openldap/slapd.conf - insinto /etc/openldap - newins "${FILESDIR}"/${PN}-2.4.40-slapd-conf slapd.conf - configfile="${ED}"/etc/openldap/slapd.conf - - # populate with built backends - einfo "populate config with built backends" - for x in "${ED}"/usr/$(get_libdir)/openldap/openldap/back_*.so; do - einfo "Adding $(basename ${x})" - sed -e "/###INSERTDYNAMICMODULESHERE###$/a# moduleload\t$(basename ${x})" -i "${configfile}" || die - done - sed -e "s:###INSERTDYNAMICMODULESHERE###$:# modulepath\t${EPREFIX}/usr/$(get_libdir)/openldap/openldap:" \ - -i "${configfile}" - use prefix || fowners root:ldap /etc/openldap/slapd.conf - fperms 0640 /etc/openldap/slapd.conf - cp "${configfile}" "${configfile}".default || die - - # install our own init scripts and systemd unit files - einfo "Install init scripts" - sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd-initd-2.4.40-r2 > "${T}"/slapd || die - doinitd "${T}"/slapd - newconfd "${FILESDIR}"/slapd-confd-2.4.28-r1 slapd - - einfo "Install systemd service" - sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd.service > "${T}"/slapd.service || die - systemd_dounit "${T}"/slapd.service - systemd_install_serviced "${FILESDIR}"/slapd.service.conf - newtmpfiles "${FILESDIR}"/slapd.tmpfilesd slapd.conf - - # If built without SLP, we don't need to be before avahi - sed -i \ - -e '/before/{s/avahi-daemon//g}' \ - "${ED}"/etc/init.d/slapd \ - || die - - if use cxx ; then - einfo "Install the ldapc++ library" - cd "${BUILD_DIR}/contrib/ldapc++" || die - emake DESTDIR="${D}" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - cd "${S}"/contrib/ldapc++ || die - newdoc README ldapc++-README - fi - - if use smbkrb5passwd ; then - einfo "Install the smbk5pwd module" - cd "${S}/contrib/slapd-modules/smbk5pwd" || die - emake DESTDIR="${D}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - newdoc README smbk5pwd-README - fi - - if use overlays ; then - einfo "Install the samba4 module" - cd "${S}/contrib/slapd-modules/samba4" || die - emake DESTDIR="${D}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="/usr/$(get_libdir)/openldap" install - newdoc README samba4-README - fi - - einfo "Installing contrib modules" - cd "${S}/contrib/slapd-modules" || die - for l in */*.la */*/*.la; do - [[ -e ${l} ]] || continue - "${lt}" --mode=install cp ${l} \ - "${ED}"/usr/$(get_libdir)/openldap/openldap || \ - die "installing ${l} failed" - done - - dodoc "${FILESDIR}"/DB_CONFIG.fast.example - docinto contrib - doman */*.5 - #newdoc acl/README* - newdoc addpartial/README addpartial-README - newdoc allop/README allop-README - newdoc allowed/README allowed-README - newdoc autogroup/README autogroup-README - newdoc dsaschema/README dsaschema-README - newdoc passwd/README passwd-README - cd "${S}/contrib/slapi-plugins" || die - insinto /usr/$(get_libdir)/openldap/openldap - doins */*.so - docinto contrib - newdoc addrdnvalues/README addrdnvalues-README - - insinto /etc/openldap/schema - newins "${DISTDIR}"/${BIS_P} ${BIS_PN} - - docinto back-sock ; dodoc "${S}"/servers/slapd/back-sock/searchexample* - docinto back-shell ; dodoc "${S}"/servers/slapd/back-shell/searchexample* - docinto back-perl ; dodoc "${S}"/servers/slapd/back-perl/SampleLDAP.pm - - dosbin "${S}"/contrib/slapd-tools/statslog - newdoc "${S}"/contrib/slapd-tools/README README.statslog - fi - - if ! use static-libs ; then - find "${ED}" \( -name '*.a' -o -name '*.la' \) -delete || die - fi -} - -multilib_src_install_all() { - dodoc ANNOUNCEMENT CHANGES COPYRIGHT README - docinto rfc ; dodoc doc/rfc/*.txt -} - -pkg_preinst() { - # keep old libs if any - preserve_old_lib /usr/$(get_libdir)/{liblber,libldap_r,liblber}-2.3$(get_libname 0) - # bug 440470, only display the getting started help there was no openldap before, - # or we are going to a non-minimal build - ! has_version net-nds/openldap || has_version 'net-nds/openldap[minimal]' - OPENLDAP_PRINT_MESSAGES=$((! $?)) -} - -pkg_postinst() { - if ! use minimal ; then - tmpfiles_process slapd.conf - - # You cannot build SSL certificates during src_install that will make - # binary packages containing your SSL key, which is both a security risk - # and a misconfiguration if multiple machines use the same key and cert. - if use ssl; then - install_cert /etc/openldap/ssl/ldap - use prefix || chown ldap:ldap "${EROOT}"/etc/openldap/ssl/ldap.* - ewarn "Self-signed SSL certificates are treated harshly by OpenLDAP 2.[12]" - ewarn "Self-signed SSL certificates are treated harshly by OpenLDAP 2.[12]" - ewarn "add 'TLS_REQCERT allow' if you want to use them." - fi - - if use prefix; then - # Warn about prefix issues with slapd - eerror "slapd might NOT be usable on Prefix systems as it requires root privileges" - eerror "to start up, and requires that certain files directories be owned by" - eerror "ldap:ldap. As Prefix does not support changing ownership of files and" - eerror "directories, you will have to manually fix this yourself." - fi - - # These lines force the permissions of various content to be correct - if [[ -d "${EROOT}"/var/run/openldap ]]; then - use prefix || { chown ldap:ldap "${EROOT}"/var/run/openldap || die; } - chmod 0755 "${EROOT}"/var/run/openldap || die - fi - use prefix || chown root:ldap "${EROOT}"/etc/openldap/slapd.conf{,.default} - chmod 0640 "${EROOT}"/etc/openldap/slapd.conf{,.default} || die - use prefix || chown ldap:ldap "${EROOT}"/var/lib/openldap-data - fi - - if has_version 'net-nds/openldap[-minimal]' && ((${OPENLDAP_PRINT_MESSAGES})); then - elog "Getting started using OpenLDAP? There is some documentation available:" - elog "Gentoo Guide to OpenLDAP Authentication" - elog "(https://wiki.gentoo.org/wiki/Centralized_authentication_using_OpenLDAP)" - elog "---" - elog "An example file for tuning BDB backends with openldap is" - elog "DB_CONFIG.fast.example in /usr/share/doc/${PF}/" - fi - - preserve_old_lib_notify /usr/$(get_libdir)/{liblber,libldap,libldap_r}-2.3$(get_libname 0) -} diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.4.59-r3.ebuild b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.4.59-r3.ebuild deleted file mode 100644 index db3dbdeb8d..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.4.59-r3.ebuild +++ /dev/null @@ -1,936 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -# Re cleanups: -# 2.5.x is an LTS release so we want to keep it for a while. - -inherit autotools db-use flag-o-matic multilib multilib-minimal preserve-libs ssl-cert toolchain-funcs systemd tmpfiles - -BIS_PN=rfc2307bis.schema -BIS_PV=20140524 -BIS_P="${BIS_PN}-${BIS_PV}" - -DESCRIPTION="LDAP suite of application and development tools" -HOMEPAGE="https://www.openldap.org/" - -# upstream mirrors are mostly not working, using canonical URI -SRC_URI=" - https://openldap.org/software/download/OpenLDAP/openldap-release/${P}.tgz - http://gpl.savoirfairelinux.net/pub/mirrors/openldap/openldap-release/${P}.tgz - http://repository.linagora.org/OpenLDAP/openldap-release/${P}.tgz - http://mirror.eu.oneandone.net/software/openldap/openldap-release/${P}.tgz - mirror://gentoo/${BIS_P}" - -LICENSE="OPENLDAP GPL-2" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" - -IUSE_DAEMON="crypt samba tcpd experimental minimal" -IUSE_BACKEND="+berkdb" -IUSE_OVERLAY="overlays perl" -IUSE_OPTIONAL="gnutls iodbc sasl ssl odbc debug ipv6 +syslog selinux static-libs test" -IUSE_CONTRIB="smbkrb5passwd kerberos kinit pbkdf2 sha2" -IUSE_CONTRIB="${IUSE_CONTRIB} cxx" -IUSE="${IUSE_DAEMON} ${IUSE_BACKEND} ${IUSE_OVERLAY} ${IUSE_OPTIONAL} ${IUSE_CONTRIB}" -REQUIRED_USE="cxx? ( sasl ) - pbkdf2? ( ssl ) - test? ( berkdb ) - ?? ( test minimal ) - kerberos? ( ?? ( kinit smbkrb5passwd ) )" -RESTRICT="!test? ( test )" - -# always list newer first -# Do not add any AGPL-3 BDB here! -# See bug 525110, comment 15. -# Advanced usage: OPENLDAP_BDB_SLOTS in the environment can be used to force a slot during build. -BDB_SLOTS="${OPENLDAP_BDB_SLOTS:=5.3 4.8}" -BDB_PKGS='' -for _slot in $BDB_SLOTS; do BDB_PKGS="${BDB_PKGS} sys-libs/db:${_slot}" ; done - -# openssl is needed to generate lanman-passwords required by samba -COMMON_DEPEND=" - ssl? ( - !gnutls? ( - >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] - ) - gnutls? ( - >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] - >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] - ) - ) - sasl? ( dev-libs/cyrus-sasl:= ) - !minimal? ( - dev-libs/libltdl - sys-fs/e2fsprogs - >=dev-db/lmdb-0.9.18:= - crypt? ( virtual/libcrypt:= ) - tcpd? ( sys-apps/tcp-wrappers ) - odbc? ( !iodbc? ( dev-db/unixODBC ) - iodbc? ( dev-db/libiodbc ) ) - perl? ( dev-lang/perl:=[-build(-)] ) - samba? ( - dev-libs/openssl:0= - ) - berkdb? ( - dash - "${FILESDIR}"/${PN}-2.4.28-fix-dash.patch - - # bug #420959 - "${FILESDIR}"/${PN}-2.4.31-gcc47.patch - - # unbundle lmdb - "${FILESDIR}"/${PN}-2.4.42-mdb-unbundle.patch - - # fix some compiler warnings - "${FILESDIR}"/${PN}-2.4.47-warnings.patch - - # Atexit segfault - "${FILESDIR}"/${PN}-2.4.59-atexit-fix.patch - - # implicit function defs - "${FILESDIR}"/${PN}-2.6.1-cloak.patch - "${FILESDIR}"/${PN}-2.4.59-implicit-function.patch -) - -openldap_filecount() { - local dir="$1" - find "${dir}" -type f ! -name '.*' ! -name 'DB_CONFIG*' | wc -l -} - -openldap_find_versiontags() { - # scan for all datadirs - local openldap_datadirs=() - if [[ -f "${EROOT}"/etc/openldap/slapd.conf ]]; then - openldap_datadirs=( $(awk '{if($1 == "directory") print $2 }' "${EROOT}"/etc/openldap/slapd.conf) ) - fi - openldap_datadirs+=( ${OPENLDAP_DEFAULTDIR_VERSIONTAG} ) - - einfo - einfo "Scanning datadir(s) from slapd.conf and" - einfo "the default installdir for Versiontags" - einfo "(${OPENLDAP_DEFAULTDIR_VERSIONTAG} may appear twice)" - einfo - - # scan datadirs if we have a version tag - openldap_found_tag=0 - have_files=0 - for each in ${openldap_datadirs[@]} ; do - CURRENT_TAGDIR="${ROOT}$(sed "s:\/::" <<< ${each})" - CURRENT_TAG="${CURRENT_TAGDIR}/${OPENLDAP_VERSIONTAG}" - if [[ -d "${CURRENT_TAGDIR}" ]] && [[ "${openldap_found_tag}" == 0 ]] ; then - einfo "- Checking ${each}..." - if [[ -r "${CURRENT_TAG}" ]] ; then - # yey, we have one :) - einfo " Found Versiontag in ${each}" - source "${CURRENT_TAG}" - if [[ "${OLDPF}" == "" ]] ; then - eerror "Invalid Versiontag found in ${CURRENT_TAGDIR}" - eerror "Please delete it" - eerror - die "Please kill the invalid versiontag in ${CURRENT_TAGDIR}" - fi - - OLD_MAJOR=$(ver_cut 2-3 ${OLDPF}) - - [[ "$(openldap_filecount ${CURRENT_TAGDIR})" -gt 0 ]] && have_files=1 - - # are we on the same branch? - if [[ "${OLD_MAJOR}" != "${PV:0:3}" ]] ; then - ewarn " Versiontag doesn't match current major release!" - if [[ "${have_files}" == "1" ]] ; then - eerror " Versiontag says other major and you (probably) have datafiles!" - echo - openldap_upgrade_howto - else - einfo " No real problem, seems there's no database." - fi - else - einfo " Versiontag is fine here :)" - fi - else - einfo " Non-tagged dir ${each}" - [[ "$(openldap_filecount ${each})" -gt 0 ]] && have_files=1 - if [[ "${have_files}" == "1" ]] ; then - einfo " EEK! Non-empty non-tagged datadir, counting `ls -a ${each} | wc -l` files" - echo - - eerror - eerror "Your OpenLDAP Installation has a non tagged datadir that" - eerror "possibly contains a database at ${CURRENT_TAGDIR}" - eerror - eerror "Please export data if any entered and empty or remove" - eerror "the directory, installation has been stopped so you" - eerror "can take required action" - eerror - eerror "For a HOWTO on exporting the data, see instructions in the ebuild" - eerror - openldap_upgrade_howto - die "Please move the datadir ${CURRENT_TAGDIR} away" - fi - fi - einfo - fi - done - [[ "${have_files}" == "1" ]] && einfo "DB files present" || einfo "No DB files present" - - # Now we must check for the major version of sys-libs/db linked against. - SLAPD_PATH="${EROOT}/usr/$(get_libdir)/openldap/slapd" - if [[ "${have_files}" == "1" ]] && [[ -f "${SLAPD_PATH}" ]]; then - OLDVER="$(/usr/bin/ldd ${SLAPD_PATH} \ - | awk '/libdb-/{gsub("^libdb-","",$1);gsub(".so$","",$1);print $1}')" - if use berkdb; then - # find which one would be used - for bdb_slot in ${BDB_SLOTS} ; do - NEWVER="$(db_findver "=sys-libs/db-${bdb_slot}*")" - [[ -n "${NEWVER}" ]] && break - done - fi - local fail=0 - if [[ -z "${OLDVER}" ]] && [[ -z "${NEWVER}" ]]; then - : - # Nothing wrong here. - elif [[ -z "${OLDVER}" ]] && [[ -n "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was not built against" - eerror " any version of sys-libs/db, but the new one will build" - eerror " against ${NEWVER} and your database may be inaccessible." - echo - fail=1 - elif [[ -n "${OLDVER}" ]] && [[ -z "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was built against" - eerror " sys-libs/db:${OLDVER}, but the new one will not be" - eerror " built against any version and your database may be" - eerror " inaccessible." - echo - fail=1 - elif [[ "${OLDVER}" != "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was built against" - eerror " sys-libs/db:${OLDVER}, but the new one will build against" - eerror " ${NEWVER} and your database would be inaccessible." - echo - fail=1 - fi - [[ "${fail}" == "1" ]] && openldap_upgrade_howto - fi - - echo - einfo - einfo "All datadirs are fine, proceeding with merge now..." - einfo -} - -openldap_upgrade_howto() { - local d l i - eerror - eerror "A (possible old) installation of OpenLDAP was detected," - eerror "installation will not proceed for now." - eerror - eerror "As major version upgrades can corrupt your database," - eerror "you need to dump your database and re-create it afterwards." - eerror - eerror "Additionally, rebuilding against different major versions of the" - eerror "sys-libs/db libraries will cause your database to be inaccessible." - eerror "" - d="$(date -u +%s)" - l="/root/ldapdump.${d}" - i="${l}.raw" - eerror " 1. /etc/init.d/slapd stop" - eerror " 2. slapcat -l ${i}" - eerror " 3. grep -E -v '^(entry|context)CSN:' <${i} >${l}" - eerror " 4. mv /var/lib/openldap-data/ /var/lib/openldap-data-backup/" - eerror " 5. emerge --update \=net-nds/${PF}" - eerror " 6. etc-update, and ensure that you apply the changes" - eerror " 7. slapadd -l ${l}" - eerror " 8. chown ldap:ldap /var/lib/openldap-data/*" - eerror " 9. /etc/init.d/slapd start" - eerror "10. check that your data is intact." - eerror "11. set up the new replication system." - eerror - if [[ "${FORCE_UPGRADE}" != "1" ]]; then - die "You need to upgrade your database first" - else - eerror "You have the magical FORCE_UPGRADE=1 in place." - eerror "Don't say you weren't warned about data loss." - fi -} - -pkg_setup() { - if ! use sasl && use cxx ; then - die "To build the ldapc++ library you must emerge openldap with sasl support" - fi - # Bug #322787 - if use minimal && ! has_version "net-nds/openldap" ; then - einfo "No datadir scan needed, openldap not installed" - elif use minimal && has_version 'net-nds/openldap[minimal]' ; then - einfo "Skipping scan for previous datadirs as requested by minimal useflag" - else - openldap_find_versiontags - fi -} - -src_prepare() { - # ensure correct SLAPI path by default - sed -e 's,\(#define LDAPI_SOCK\).*,\1 "'"${EPREFIX}"'/var/run/openldap/slapd.sock",' \ - -i include/ldap_defaults.h || die - - default - rm -r libraries/liblmdb || die - - pushd build &>/dev/null || die "pushd build" - einfo "Making sure upstream build strip does not do stripping too early" - sed -i.orig \ - -e '/^STRIP/s,-s,,g' \ - top.mk || die "Failed to block stripping" - popd &>/dev/null || die - - # wrong assumption that /bin/sh is /bin/bash - sed \ - -e 's|/bin/sh|/bin/bash|g' \ - -i tests/scripts/* || die "sed failed" - - if test -e configure.in -a ! -e configure.ac ; then - mv -f configure.in configure.ac - fi - - # Required for autoconf-2.70 #765043 - sed 's@^AM_INIT_AUTOMAKE.*@AC_PROG_MAKE_SET@' -i configure.ac || die - AT_NOEAUTOMAKE=yes eautoreconf -} - -build_contrib_module() { - # - pushd "${S}/contrib/slapd-modules/$1" &>/dev/null || die "pushd contrib/slapd-modules/$1" - einfo "Compiling contrib-module: $3" - # Make sure it's uppercase - local define_name="$(LC_ALL=C tr '[:lower:]' '[:upper:]' <<< "SLAPD_OVER_${1}")" - "${lt}" --mode=compile --tag=CC \ - "${CC}" \ - -D${define_name}=SLAPD_MOD_DYNAMIC \ - -I"${BUILD_DIR}"/include \ - -I../../../include -I../../../servers/slapd ${CFLAGS} \ - -o ${2%.c}.lo -c $2 || die "compiling $3 failed" - einfo "Linking contrib-module: $3" - "${lt}" --mode=link --tag=CC \ - "${CC}" -module \ - ${CFLAGS} \ - ${LDFLAGS} \ - -rpath "${EPREFIX}"/usr/$(get_libdir)/openldap/openldap \ - -o $3.la ${2%.c}.lo || die "linking $3 failed" - popd &>/dev/null || die -} - -src_configure() { - if use experimental ; then - # connectionless ldap per bug #342439 - # connectionless is a unsupported feature according to Howard Chu - # see https://bugs.openldap.org/show_bug.cgi?id=9739 - # (see also bug #892009) - append-flags -DLDAP_CONNECTIONLESS - fi - - # The configure scripts make some assumptions that aren't valid in newer GCC. - # https://bugs.gentoo.org/920380 - append-flags $(test-flags-CC -Wno-error=implicit-int) - # conftest.c:113:16: error: passing argument 1 of 'pthread_detach' makes - # integer from pointer without a cast [-Wint-conversion] - append-flags $(test-flags-CC -Wno-error=int-conversion) - # error: passing argument 3 of ‘ldap_bv2rdn’ from incompatible pointer type - # [-Wincompatible-pointer-types] - # expected ‘char **’ but argument is of type ‘const char **’ - append-flags $(test-flags-CC -Wno-error=incompatible-pointer-types) - - multilib-minimal_src_configure -} - -multilib_src_configure() { - local myconf=() - - use debug && myconf+=( $(use_enable debug) ) - - # ICU exists only in the configure, nowhere in the codebase, bug #510858 - export ac_cv_header_unicode_utypes_h=no ol_cv_lib_icu=no - - if ! use minimal && multilib_is_native_abi; then - local CPPFLAGS=${CPPFLAGS} - - # re-enable serverside overlay chains per bug #296567 - # see ldap docs chaper 12.3.1 for details - myconf+=( --enable-ldap ) - - # backends - myconf+=( --enable-slapd ) - if use berkdb ; then - einfo "Using Berkeley DB for local backend" - myconf+=( --enable-bdb --enable-hdb ) - DBINCLUDE=$(db_includedir ${BDB_SLOTS}) - einfo "Using ${DBINCLUDE} for sys-libs/db version" - # We need to include the slotted db.h dir for FreeBSD - append-cppflags -I${DBINCLUDE} - else - myconf+=( --disable-bdb --disable-hdb ) - fi - for backend in dnssrv ldap mdb meta monitor null passwd relay shell sock; do - myconf+=( --enable-${backend}=mod ) - done - - myconf+=( $(use_enable perl perl mod) ) - - myconf+=( $(use_enable odbc sql mod) ) - if use odbc ; then - local odbc_lib="unixodbc" - if use iodbc ; then - odbc_lib="iodbc" - append-cppflags -I"${EPREFIX}"/usr/include/iodbc - fi - myconf+=( --with-odbc=${odbc_lib} ) - fi - - # slapd options - myconf+=( - $(use_enable crypt) - --disable-slp - $(use_enable samba lmpasswd) - $(use_enable syslog) - ) - if use experimental ; then - myconf+=( - --enable-dynacl - --enable-aci=mod - ) - fi - for option in aci cleartext modules rewrite rlookups slapi; do - myconf+=( --enable-${option} ) - done - - # slapd overlay options - # Compile-in the syncprov, the others as module - myconf+=( --enable-syncprov=yes ) - use overlays && myconf+=( --enable-overlays=mod ) - - else - myconf+=( - --disable-backends - --disable-slapd - --disable-bdb - --disable-hdb - --disable-mdb - --disable-overlays - --disable-syslog - ) - fi - - # basic functionality stuff - myconf+=( - $(use_enable ipv6) - $(multilib_native_use_with sasl cyrus-sasl) - $(multilib_native_use_enable sasl spasswd) - $(use_enable tcpd wrappers) - ) - - # Some cross-compiling tests don't pan out well. - tc-is-cross-compiler && myconf+=( - --with-yielding-select=yes - ) - - local ssl_lib="no" - if use ssl || ( ! use minimal && use samba ) ; then - ssl_lib="openssl" - use gnutls && ssl_lib="gnutls" - fi - - myconf+=( --with-tls=${ssl_lib} ) - - for basicflag in dynamic local proctitle shared; do - myconf+=( --enable-${basicflag} ) - done - - tc-export AR CC CXX - CONFIG_SHELL="/bin/sh" \ - ECONF_SOURCE="${S}" \ - STRIP=/bin/true \ - econf \ - --libexecdir="${EPREFIX}"/usr/$(get_libdir)/openldap \ - $(use_enable static-libs static) \ - "${myconf[@]}" - emake depend -} - -src_configure_cxx() { - # This needs the libraries built by the first build run. - # So we have to run it AFTER the main build, not just after the main - # configure. - local myconf_ldapcpp=( - --with-ldap-includes="${S}"/include - ) - - mkdir -p "${BUILD_DIR}"/contrib/ldapc++ || die - pushd "${BUILD_DIR}/contrib/ldapc++" &>/dev/null || die "pushd contrib/ldapc++" - - local LDFLAGS=${LDFLAGS} CPPFLAGS=${CPPFLAGS} - append-ldflags -L"${BUILD_DIR}"/libraries/liblber/.libs \ - -L"${BUILD_DIR}"/libraries/libldap/.libs - append-cppflags -I"${BUILD_DIR}"/include - ECONF_SOURCE=${S}/contrib/ldapc++ \ - econf "${myconf_ldapcpp[@]}" \ - CC="${CC}" \ - CXX="${CXX}" - popd &>/dev/null || die -} - -multilib_src_compile() { - tc-export AR CC CXX - emake CC="${CC}" AR="${AR}" SHELL="${EPREFIX}"/bin/sh - local lt="${BUILD_DIR}/libtool" - export echo="echo" - - if ! use minimal && multilib_is_native_abi ; then - if use cxx ; then - einfo "Building contrib library: ldapc++" - src_configure_cxx - pushd "${BUILD_DIR}/contrib/ldapc++" &>/dev/null || die "pushd contrib/ldapc++" - emake CC="${CC}" CXX="${CXX}" - popd &>/dev/null || die - fi - - if use smbkrb5passwd ; then - einfo "Building contrib-module: smbk5pwd" - pushd "${S}/contrib/slapd-modules/smbk5pwd" &>/dev/null || die "pushd contrib/slapd-modules/smbk5pwd" - - MY_DEFS="-DDO_SHADOW" - if use samba ; then - MY_DEFS="${MY_DEFS} -DDO_SAMBA" - MY_KRB5_INC="" - fi - if use kerberos ; then - MY_DEFS="${MY_DEFS} -DDO_KRB5" - MY_KRB5_INC="$(krb5-config --cflags)" - fi - - emake \ - DEFS="${MY_DEFS}" \ - KRB5_INC="${MY_KRB5_INC}" \ - LDAP_BUILD="${BUILD_DIR}" \ - CC="${CC}" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" - popd &>/dev/null || die - fi - - if use overlays ; then - einfo "Building contrib-module: samba4" - pushd "${S}/contrib/slapd-modules/samba4" &>/dev/null || die "pushd contrib/slapd-modules/samba4" - - emake \ - LDAP_BUILD="${BUILD_DIR}" \ - CC="${CC}" libexecdir="/usr/$(get_libdir)/openldap" - popd &>/dev/null || die - fi - - if use kerberos ; then - if use kinit ; then - build_contrib_module "kinit" "kinit.c" "kinit" - fi - pushd "${S}/contrib/slapd-modules/passwd" &>/dev/null || die "pushd contrib/slapd-modules/passwd" - einfo "Compiling contrib-module: pw-kerberos" - "${lt}" --mode=compile --tag=CC \ - "${CC}" \ - -I"${BUILD_DIR}"/include \ - -I../../../include \ - ${CFLAGS} \ - $(krb5-config --cflags) \ - -DHAVE_KRB5 \ - -o kerberos.lo \ - -c kerberos.c || die "compiling pw-kerberos failed" - einfo "Linking contrib-module: pw-kerberos" - "${lt}" --mode=link --tag=CC \ - "${CC}" -module \ - ${CFLAGS} \ - ${LDFLAGS} \ - -rpath "${EPREFIX}"/usr/$(get_libdir)/openldap/openldap \ - -o pw-kerberos.la \ - kerberos.lo || die "linking pw-kerberos failed" - popd &>/dev/null || die - fi - - if use pbkdf2; then - pushd "${S}/contrib/slapd-modules/passwd/pbkdf2" &>/dev/null || die "pushd contrib/slapd-modules/passwd/pbkdf2" - einfo "Compiling contrib-module: pw-pbkdf2" - "${lt}" --mode=compile --tag=CC \ - "${CC}" \ - -I"${BUILD_DIR}"/include \ - -I../../../../include \ - ${CFLAGS} \ - -o pbkdf2.lo \ - -c pw-pbkdf2.c || die "compiling pw-pbkdf2 failed" - einfo "Linking contrib-module: pw-pbkdf2" - "${lt}" --mode=link --tag=CC \ - "${CC}" -module \ - ${CFLAGS} \ - ${LDFLAGS} \ - -rpath "${EPREFIX}"/usr/$(get_libdir)/openldap/openldap \ - -o pw-pbkdf2.la \ - pbkdf2.lo || die "linking pw-pbkdf2 failed" - popd &>/dev/null || die - fi - - if use sha2 ; then - pushd "${S}/contrib/slapd-modules/passwd/sha2" &>/dev/null || die "pushd contrib/slapd-modules/passwd/sha2" - einfo "Compiling contrib-module: pw-sha2" - "${lt}" --mode=compile --tag=CC \ - "${CC}" \ - -I"${BUILD_DIR}"/include \ - -I../../../../include \ - ${CFLAGS} \ - -o sha2.lo \ - -c sha2.c || die "compiling pw-sha2 failed" - "${lt}" --mode=compile --tag=CC \ - "${CC}" \ - -I"${BUILD_DIR}"/include \ - -I../../../../include \ - ${CFLAGS} \ - -o slapd-sha2.lo \ - -c slapd-sha2.c || die "compiling pw-sha2 failed" - einfo "Linking contrib-module: pw-sha2" - "${lt}" --mode=link --tag=CC \ - "${CC}" -module \ - ${CFLAGS} \ - ${LDFLAGS} \ - -rpath "${EPREFIX}"/usr/$(get_libdir)/openldap/openldap \ - -o pw-sha2.la \ - sha2.lo slapd-sha2.lo || die "linking pw-sha2 failed" - popd &>/dev/null || die - fi - - # We could build pw-radius if GNURadius would install radlib.h - pushd "${S}/contrib/slapd-modules/passwd" &>/dev/null || die "pushd contrib/slapd-modules/passwd" - einfo "Compiling contrib-module: pw-netscape" - "${lt}" --mode=compile --tag=CC \ - "${CC}" \ - -I"${BUILD_DIR}"/include \ - -I../../../include \ - ${CFLAGS} \ - -o netscape.lo \ - -c netscape.c || die "compiling pw-netscape failed" - einfo "Linking contrib-module: pw-netscape" - "${lt}" --mode=link --tag=CC \ - "${CC}" -module \ - ${CFLAGS} \ - ${LDFLAGS} \ - -rpath "${EPREFIX}"/usr/$(get_libdir)/openldap/openldap \ - -o pw-netscape.la \ - netscape.lo || die "linking pw-netscape failed" - - #build_contrib_module "acl" "posixgroup.c" "posixGroup" # example code only - #build_contrib_module "acl" "gssacl.c" "gss" # example code only, also needs kerberos - build_contrib_module "addpartial" "addpartial-overlay.c" "addpartial-overlay" - build_contrib_module "allop" "allop.c" "overlay-allop" - build_contrib_module "allowed" "allowed.c" "allowed" - build_contrib_module "autogroup" "autogroup.c" "autogroup" - build_contrib_module "cloak" "cloak.c" "cloak" - # comp_match: really complex, adds new external deps, questionable demand - # build_contrib_module "comp_match" "comp_match.c" "comp_match" - build_contrib_module "denyop" "denyop.c" "denyop-overlay" - build_contrib_module "dsaschema" "dsaschema.c" "dsaschema-plugin" - build_contrib_module "dupent" "dupent.c" "dupent" - build_contrib_module "lastbind" "lastbind.c" "lastbind" - # lastmod may not play well with other overlays - build_contrib_module "lastmod" "lastmod.c" "lastmod" - build_contrib_module "noopsrch" "noopsrch.c" "noopsrch" - #build_contrib_module "nops" "nops.c" "nops-overlay" https://bugs.gentoo.org/641576 - #build_contrib_module "nssov" "nssov.c" "nssov-overlay" RESO:LATER - build_contrib_module "trace" "trace.c" "trace" - popd &>/dev/null || die - # build slapi-plugins - pushd "${S}/contrib/slapi-plugins/addrdnvalues" &>/dev/null || die "pushd contrib/slapi-plugins/addrdnvalues" - einfo "Building contrib-module: addrdnvalues plugin" - "${CC}" -shared \ - -I"${BUILD_DIR}"/include \ - -I../../../include \ - ${CFLAGS} \ - -fPIC \ - ${LDFLAGS} \ - -o libaddrdnvalues-plugin.so \ - addrdnvalues.c || die "Building libaddrdnvalues-plugin.so failed" - popd &>/dev/null || die - fi -} - -multilib_src_test() { - if multilib_is_native_abi; then - cd tests || die - emake tests - fi -} - -multilib_src_install() { - local lt="${BUILD_DIR}/libtool" - emake DESTDIR="${D}" SHELL="${EPREFIX}"/bin/sh install - - if ! use minimal && multilib_is_native_abi; then - # openldap modules go here - # TODO: write some code to populate slapd.conf with moduleload statements - keepdir /usr/$(get_libdir)/openldap/openldap/ - - # initial data storage dir - keepdir /var/lib/openldap-data - use prefix || fowners ldap:ldap /var/lib/openldap-data - fperms 0700 /var/lib/openldap-data - - echo "OLDPF='${PF}'" > "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - echo "# do NOT delete this. it is used" >> "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - echo "# to track versions for upgrading." >> "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - - # use our config - rm "${ED}"/etc/openldap/slapd.conf - insinto /etc/openldap - newins "${FILESDIR}"/${PN}-2.4.40-slapd-conf slapd.conf - configfile="${ED}"/etc/openldap/slapd.conf - - # populate with built backends - einfo "populate config with built backends" - for x in "${ED}"/usr/$(get_libdir)/openldap/openldap/back_*.so; do - einfo "Adding $(basename ${x})" - sed -e "/###INSERTDYNAMICMODULESHERE###$/a# moduleload\t$(basename ${x})" -i "${configfile}" || die - done - sed -e "s:###INSERTDYNAMICMODULESHERE###$:# modulepath\t${EPREFIX}/usr/$(get_libdir)/openldap/openldap:" \ - -i "${configfile}" - use prefix || fowners root:ldap /etc/openldap/slapd.conf - fperms 0640 /etc/openldap/slapd.conf - cp "${configfile}" "${configfile}".default || die - - # install our own init scripts and systemd unit files - einfo "Install init scripts" - sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd-initd-2.4.40-r2 > "${T}"/slapd || die - doinitd "${T}"/slapd - newconfd "${FILESDIR}"/slapd-confd-2.4.28-r1 slapd - - einfo "Install systemd service" - sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd.service > "${T}"/slapd.service || die - systemd_dounit "${T}"/slapd.service - systemd_install_serviced "${FILESDIR}"/slapd.service.conf - newtmpfiles "${FILESDIR}"/slapd.tmpfilesd slapd.conf - - # If built without SLP, we don't need to be before avahi - sed -i \ - -e '/before/{s/avahi-daemon//g}' \ - "${ED}"/etc/init.d/slapd \ - || die - - if use cxx ; then - einfo "Install the ldapc++ library" - cd "${BUILD_DIR}/contrib/ldapc++" || die - emake DESTDIR="${D}" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - cd "${S}"/contrib/ldapc++ || die - newdoc README ldapc++-README - fi - - if use smbkrb5passwd ; then - einfo "Install the smbk5pwd module" - cd "${S}/contrib/slapd-modules/smbk5pwd" || die - emake DESTDIR="${D}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - newdoc README smbk5pwd-README - fi - - if use overlays ; then - einfo "Install the samba4 module" - cd "${S}/contrib/slapd-modules/samba4" || die - emake DESTDIR="${D}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="/usr/$(get_libdir)/openldap" install - newdoc README samba4-README - fi - - einfo "Installing contrib modules" - cd "${S}/contrib/slapd-modules" || die - for l in */*.la */*/*.la; do - [[ -e ${l} ]] || continue - "${lt}" --mode=install cp ${l} \ - "${ED}"/usr/$(get_libdir)/openldap/openldap || \ - die "installing ${l} failed" - done - - dodoc "${FILESDIR}"/DB_CONFIG.fast.example - docinto contrib - doman */*.5 - #newdoc acl/README* - newdoc addpartial/README addpartial-README - newdoc allop/README allop-README - newdoc allowed/README allowed-README - newdoc autogroup/README autogroup-README - newdoc dsaschema/README dsaschema-README - newdoc passwd/README passwd-README - cd "${S}/contrib/slapi-plugins" || die - insinto /usr/$(get_libdir)/openldap/openldap - doins */*.so - docinto contrib - newdoc addrdnvalues/README addrdnvalues-README - - insinto /etc/openldap/schema - newins "${DISTDIR}"/${BIS_P} ${BIS_PN} - - docinto back-sock ; dodoc "${S}"/servers/slapd/back-sock/searchexample* - docinto back-shell ; dodoc "${S}"/servers/slapd/back-shell/searchexample* - docinto back-perl ; dodoc "${S}"/servers/slapd/back-perl/SampleLDAP.pm - - dosbin "${S}"/contrib/slapd-tools/statslog - newdoc "${S}"/contrib/slapd-tools/README README.statslog - fi - - if ! use static-libs ; then - find "${ED}" \( -name '*.a' -o -name '*.la' \) -delete || die - fi -} - -multilib_src_install_all() { - dodoc ANNOUNCEMENT CHANGES COPYRIGHT README - docinto rfc ; dodoc doc/rfc/*.txt -} - -pkg_preinst() { - # keep old libs if any - preserve_old_lib /usr/$(get_libdir)/{liblber,libldap_r,liblber}-2.3$(get_libname 0) - # bug 440470, only display the getting started help there was no openldap before, - # or we are going to a non-minimal build - ! has_version net-nds/openldap || has_version 'net-nds/openldap[minimal]' - OPENLDAP_PRINT_MESSAGES=$((! $?)) -} - -pkg_postinst() { - if ! use minimal ; then - tmpfiles_process slapd.conf - - # You cannot build SSL certificates during src_install that will make - # binary packages containing your SSL key, which is both a security risk - # and a misconfiguration if multiple machines use the same key and cert. - if use ssl; then - install_cert /etc/openldap/ssl/ldap - use prefix || chown ldap:ldap "${EROOT}"/etc/openldap/ssl/ldap.* - ewarn "Self-signed SSL certificates are treated harshly by OpenLDAP 2.[12]" - ewarn "Self-signed SSL certificates are treated harshly by OpenLDAP 2.[12]" - ewarn "add 'TLS_REQCERT allow' if you want to use them." - fi - - if use prefix; then - # Warn about prefix issues with slapd - eerror "slapd might NOT be usable on Prefix systems as it requires root privileges" - eerror "to start up, and requires that certain files directories be owned by" - eerror "ldap:ldap. As Prefix does not support changing ownership of files and" - eerror "directories, you will have to manually fix this yourself." - fi - - # These lines force the permissions of various content to be correct - if [[ -d "${EROOT}"/var/run/openldap ]]; then - use prefix || { chown ldap:ldap "${EROOT}"/var/run/openldap || die; } - chmod 0755 "${EROOT}"/var/run/openldap || die - fi - use prefix || chown root:ldap "${EROOT}"/etc/openldap/slapd.conf{,.default} - chmod 0640 "${EROOT}"/etc/openldap/slapd.conf{,.default} || die - use prefix || chown ldap:ldap "${EROOT}"/var/lib/openldap-data - fi - - if has_version 'net-nds/openldap[-minimal]' && ((${OPENLDAP_PRINT_MESSAGES})); then - elog "Getting started using OpenLDAP? There is some documentation available:" - elog "Gentoo Guide to OpenLDAP Authentication" - elog "(https://wiki.gentoo.org/wiki/Centralized_authentication_using_OpenLDAP)" - elog "---" - elog "An example file for tuning BDB backends with openldap is" - elog "DB_CONFIG.fast.example in /usr/share/doc/${PF}/" - fi - - preserve_old_lib_notify /usr/$(get_libdir)/{liblber,libldap,libldap_r}-2.3$(get_libname 0) -} diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.5.14.ebuild b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.5.14.ebuild deleted file mode 100644 index ff2ade1e6d..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.5.14.ebuild +++ /dev/null @@ -1,864 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -# Re cleanups: -# 2.5.x is an LTS release so we want to keep it for a while. - -inherit autotools flag-o-matic multilib multilib-minimal preserve-libs ssl-cert toolchain-funcs systemd tmpfiles - -MY_PV="$(ver_rs 1-2 _)" - -BIS_PN=rfc2307bis.schema -BIS_PV=20140524 -BIS_P="${BIS_PN}-${BIS_PV}" - -DESCRIPTION="LDAP suite of application and development tools" -HOMEPAGE="https://www.openldap.org/" -SRC_URI=" - https://gitlab.com/openldap/${PN}/-/archive/OPENLDAP_REL_ENG_${MY_PV}/${PN}-OPENLDAP_REL_ENG_${MY_PV}.tar.bz2 - mirror://gentoo/${BIS_P} -" -S="${WORKDIR}"/${PN}-OPENLDAP_REL_ENG_${MY_PV} - -LICENSE="OPENLDAP GPL-2" -# Subslot added for bug #835654 -SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" - -IUSE_DAEMON="argon2 +cleartext crypt experimental minimal samba tcpd" -IUSE_OVERLAY="overlays perl autoca" -IUSE_OPTIONAL="debug gnutls iodbc ipv6 odbc sasl ssl selinux static-libs +syslog test" -IUSE_CONTRIB="kerberos kinit pbkdf2 sha2 smbkrb5passwd" -IUSE_CONTRIB="${IUSE_CONTRIB} cxx" -IUSE="systemd ${IUSE_DAEMON} ${IUSE_BACKEND} ${IUSE_OVERLAY} ${IUSE_OPTIONAL} ${IUSE_CONTRIB}" -REQUIRED_USE="cxx? ( sasl ) - pbkdf2? ( ssl ) - test? ( cleartext debug sasl ) - autoca? ( !gnutls ) - ?? ( test minimal ) - kerberos? ( ?? ( kinit smbkrb5passwd ) )" -RESTRICT="!test? ( test )" - -SYSTEM_LMDB_VER=0.9.30 -# openssl is needed to generate lanman-passwords required by samba -COMMON_DEPEND=" - kernel_linux? ( sys-apps/util-linux ) - ssl? ( - !gnutls? ( - >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] - ) - gnutls? ( - >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] - >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] - ) - ) - sasl? ( dev-libs/cyrus-sasl:= ) - !minimal? ( - dev-libs/libltdl - sys-fs/e2fsprogs - >=dev-db/lmdb-${SYSTEM_LMDB_VER}:= - argon2? ( app-crypt/argon2:= ) - crypt? ( virtual/libcrypt:= ) - tcpd? ( sys-apps/tcp-wrappers ) - odbc? ( !iodbc? ( dev-db/unixODBC ) - iodbc? ( dev-db/libiodbc ) ) - perl? ( dev-lang/perl:=[-build(-)] ) - samba? ( - dev-libs/openssl:0= - ) - smbkrb5passwd? ( - dev-libs/openssl:0= - kerberos? ( app-crypt/heimdal ) - ) - kerberos? ( - virtual/krb5 - kinit? ( !app-crypt/heimdal ) - ) - ) -" -DEPEND="${COMMON_DEPEND} - sys-apps/groff -" -RDEPEND="${COMMON_DEPEND} - selinux? ( sec-policy/selinux-ldap ) -" - -# The user/group are only used for running daemons which are -# disabled in minimal builds, so elide the accounts too. -BDEPEND="!minimal? ( - acct-group/ldap - acct-user/ldap -) -" - -# for tracking versions -OPENLDAP_VERSIONTAG=".version-tag" -OPENLDAP_DEFAULTDIR_VERSIONTAG="/var/lib/openldap-data" - -MULTILIB_WRAPPED_HEADERS=( - # USE=cxx - /usr/include/LDAPAsynConnection.h - /usr/include/LDAPAttrType.h - /usr/include/LDAPAttribute.h - /usr/include/LDAPAttributeList.h - /usr/include/LDAPConnection.h - /usr/include/LDAPConstraints.h - /usr/include/LDAPControl.h - /usr/include/LDAPControlSet.h - /usr/include/LDAPEntry.h - /usr/include/LDAPEntryList.h - /usr/include/LDAPException.h - /usr/include/LDAPExtResult.h - /usr/include/LDAPMessage.h - /usr/include/LDAPMessageQueue.h - /usr/include/LDAPModList.h - /usr/include/LDAPModification.h - /usr/include/LDAPObjClass.h - /usr/include/LDAPRebind.h - /usr/include/LDAPRebindAuth.h - /usr/include/LDAPReferenceList.h - /usr/include/LDAPResult.h - /usr/include/LDAPSaslBindResult.h - /usr/include/LDAPSchema.h - /usr/include/LDAPSearchReference.h - /usr/include/LDAPSearchResult.h - /usr/include/LDAPSearchResults.h - /usr/include/LDAPUrl.h - /usr/include/LDAPUrlList.h - /usr/include/LdifReader.h - /usr/include/LdifWriter.h - /usr/include/SaslInteraction.h - /usr/include/SaslInteractionHandler.h - /usr/include/StringList.h - /usr/include/TlsOptions.h -) - -PATCHES=( - "${FILESDIR}"/${PN}-2.4.28-fix-dash.patch - "${FILESDIR}"/${PN}-2.6.1-system-mdb.patch - "${FILESDIR}"/${PN}-2.6.1-cloak.patch - "${FILESDIR}"/${PN}-2.6.1-flags.patch - "${FILESDIR}"/${PN}-2.6.4-clang16.patch - "${FILESDIR}"/${PN}-2.6.4-libressl.patch #903001 -) - -openldap_filecount() { - local dir="$1" - find "${dir}" -type f ! -name '.*' ! -name 'DB_CONFIG*' | wc -l -} - -openldap_find_versiontags() { - # scan for all datadirs - local openldap_datadirs=() - if [[ -f "${EROOT}"/etc/openldap/slapd.conf ]]; then - openldap_datadirs=( $(awk '{if($1 == "directory") print $2 }' "${EROOT}"/etc/openldap/slapd.conf) ) - fi - openldap_datadirs+=( ${OPENLDAP_DEFAULTDIR_VERSIONTAG} ) - - einfo - einfo "Scanning datadir(s) from slapd.conf and" - einfo "the default installdir for Versiontags" - einfo "(${OPENLDAP_DEFAULTDIR_VERSIONTAG} may appear twice)" - einfo - - # scan datadirs if we have a version tag - openldap_found_tag=0 - have_files=0 - for each in ${openldap_datadirs[@]} ; do - CURRENT_TAGDIR="${EROOT}$(sed "s:\/::" <<< ${each})" - CURRENT_TAG="${CURRENT_TAGDIR}/${OPENLDAP_VERSIONTAG}" - if [[ -d "${CURRENT_TAGDIR}" ]] && [[ "${openldap_found_tag}" == 0 ]] ; then - einfo "- Checking ${each}..." - if [[ -r "${CURRENT_TAG}" ]] ; then - # yey, we have one :) - einfo " Found Versiontag in ${each}" - source "${CURRENT_TAG}" - if [[ "${OLDPF}" == "" ]] ; then - eerror "Invalid Versiontag found in ${CURRENT_TAGDIR}" - eerror "Please delete it" - eerror - die "Please kill the invalid versiontag in ${CURRENT_TAGDIR}" - fi - - OLD_MAJOR=$(ver_cut 2-3 ${OLDPF}) - - [[ "$(openldap_filecount ${CURRENT_TAGDIR})" -gt 0 ]] && have_files=1 - - # are we on the same branch? - if [[ "${OLD_MAJOR}" != "${PV:0:3}" ]] ; then - ewarn " Versiontag doesn't match current major release!" - if [[ "${have_files}" == "1" ]] ; then - eerror " Versiontag says other major and you (probably) have datafiles!" - echo - openldap_upgrade_howto - else - einfo " No real problem, seems there's no database." - fi - else - einfo " Versiontag is fine here :)" - fi - else - einfo " Non-tagged dir ${each}" - [[ "$(openldap_filecount ${each})" -gt 0 ]] && have_files=1 - if [[ "${have_files}" == "1" ]] ; then - einfo " EEK! Non-empty non-tagged datadir, counting `ls -a ${each} | wc -l` files" - echo - - eerror - eerror "Your OpenLDAP Installation has a non tagged datadir that" - eerror "possibly contains a database at ${CURRENT_TAGDIR}" - eerror - eerror "Please export data if any entered and empty or remove" - eerror "the directory, installation has been stopped so you" - eerror "can take required action" - eerror - eerror "For a HOWTO on exporting the data, see instructions in the ebuild" - eerror - openldap_upgrade_howto - die "Please move the datadir ${CURRENT_TAGDIR} away" - fi - fi - einfo - fi - done - [[ "${have_files}" == "1" ]] && einfo "DB files present" || einfo "No DB files present" - - # Now we must check for the major version of sys-libs/db linked against. - # TODO: remove this as we dropped bdb support (gone upstream) in 2.6.1? - SLAPD_PATH="${EROOT}/usr/$(get_libdir)/openldap/slapd" - if [[ "${have_files}" == "1" ]] && [[ -f "${SLAPD_PATH}" ]]; then - OLDVER="$(/usr/bin/ldd ${SLAPD_PATH} \ - | awk '/libdb-/{gsub("^libdb-","",$1);gsub(".so$","",$1);print $1}')" - local fail=0 - - # This will not cover detection of cn=Config based configuration, but - # it's hopefully good enough. - if grep -sq '^backend.*shell' "${EROOT}"/etc/openldap/slapd.conf; then - eerror " OpenLDAP >= 2.6.x has dropped support for Shell backend." - eerror " You will need to migrate per upstream's migration notes" - eerror " at https://www.openldap.org/doc/admin25/appendix-upgrading.html." - eerror " Your existing database will not be accessible until it is" - eerror " converted away from backend shell!" - echo - fail=1 - fi - if has_version "${CATEGORY}/${PN}[berkdb]" || grep -sq '^backend.*(bdb|hdb)' /etc/openldap/slapd.conf; then - eerror " OpenLDAP >= 2.5.x has dropped support for Berkeley DB." - eerror " You will need to migrate per upstream's migration notes" - eerror " at https://www.openldap.org/doc/admin25/appendix-upgrading.html." - eerror " Your existing database will not be accessible until it is" - eerror " converted to mdb!" - echo - fail=1 - elif [[ -z "${OLDVER}" ]] && [[ -z "${NEWVER}" ]]; then - : - # Nothing wrong here. - elif [[ -z "${OLDVER}" ]] && [[ -n "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was not built against" - eerror " any version of sys-libs/db, but the new one will build" - eerror " against ${NEWVER} and your database may be inaccessible." - echo - fail=1 - elif [[ -n "${OLDVER}" ]] && [[ -z "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was built against" - eerror " sys-libs/db:${OLDVER}, but the new one will not be" - eerror " built against any version and your database may be" - eerror " inaccessible." - echo - fail=1 - elif [[ "${OLDVER}" != "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was built against" - eerror " sys-libs/db:${OLDVER}, but the new one will build against" - eerror " ${NEWVER} and your database would be inaccessible." - echo - fail=1 - fi - [[ "${fail}" == "1" ]] && openldap_upgrade_howto - fi - - echo - einfo - einfo "All datadirs are fine, proceeding with merge now..." - einfo -} - -openldap_upgrade_howto() { - local d l i - eerror - eerror "A (possible old) installation of OpenLDAP was detected," - eerror "installation will not proceed for now." - eerror - eerror "As major version upgrades can corrupt your database," - eerror "you need to dump your database and re-create it afterwards." - eerror - eerror "Additionally, rebuilding against different major versions of the" - eerror "sys-libs/db libraries will cause your database to be inaccessible." - eerror "" - d="$(date -u +%s)" - l="/root/ldapdump.${d}" - i="${l}.raw" - eerror " 1. /etc/init.d/slapd stop" - eerror " 2. slapcat -l ${i}" - eerror " 3. grep -E -v '^(entry|context)CSN:' <${i} >${l}" - eerror " 4. mv /var/lib/openldap-data/ /var/lib/openldap-data-backup/" - eerror " 5. emerge --update \=net-nds/${PF}" - eerror " 6. etc-update, and ensure that you apply the changes" - eerror " 7. slapadd -l ${l}" - eerror " 8. chown ldap:ldap /var/lib/openldap-data/*" - eerror " 9. /etc/init.d/slapd start" - eerror "10. Check that your data is intact." - eerror "11. Set up the new replication system." - eerror - if [[ "${FORCE_UPGRADE}" != "1" ]]; then - die "You need to upgrade your database first" - else - eerror "You have the magical FORCE_UPGRADE=1 in place." - eerror "Don't say you weren't warned about data loss." - fi -} - -pkg_setup() { - if ! use sasl && use cxx ; then - die "To build the ldapc++ library you must emerge openldap with sasl support" - fi - # Bug #322787 - if use minimal && ! has_version "net-nds/openldap" ; then - einfo "No datadir scan needed, openldap not installed" - elif use minimal && has_version 'net-nds/openldap[minimal]' ; then - einfo "Skipping scan for previous datadirs as requested by minimal useflag" - else - openldap_find_versiontags - fi -} - -src_prepare() { - # The system copy of dev-db/lmdb must match the version that this copy - # of OpenLDAP shipped with! See bug #588792. - # - # Fish out MDB_VERSION_MAJOR/MDB_VERSION_MINOR/MDB_VERSION_PATCH from - # the bundled lmdb's header to find out the version. - local bundled_lmdb_version=$( - sed -En '/^#define MDB_VERSION_(MAJOR|MINOR|PATCH)(\s+)?/{s/[^0-9.]//gp}' \ - libraries/liblmdb/lmdb.h || die - ) - printf -v bundled_lmdb_version "%s." ${bundled_lmdb_version} - - if [[ ${SYSTEM_LMDB_VER}. != ${bundled_lmdb_version} ]] ; then - eerror "Source lmdb version: ${bundled_lmdb_version}" - eerror "Ebuild lmdb version: ${SYSTEM_LMDB_VER}" - die "Ebuild needs to update SYSTEM_LMDB_VER!" - fi - - rm -r libraries/liblmdb || die 'could not removed bundled lmdb directory' - - local filename - for filename in doc/drafts/draft-ietf-ldapext-acl-model-xx.txt; do - iconv -f iso-8859-1 -t utf-8 "${filename}" > "${filename}.utf8" - mv "${filename}.utf8" "${filename}" - done - - default - - sed -i \ - -e "s:\$(localstatedir)/run:${EPREFIX}/run:" \ - -e '/MKDIR.*.(DESTDIR)\/run/d' \ - -e '/MKDIR.*.(DESTDIR).*.(runstatedir)/d' \ - servers/slapd/Makefile.in || die 'adjusting slapd Makefile.in failed' - - pushd build &>/dev/null || die "pushd build" - einfo "Making sure upstream build strip does not do stripping too early" - sed -i.orig \ - -e '/^STRIP/s,-s,,g' \ - top.mk || die "Failed to remove too early stripping" - popd &>/dev/null || die - - # Fails with OpenSSL 3, bug #848894 - # https://bugs.openldap.org/show_bug.cgi?id=10009 - rm tests/scripts/test076-authid-rewrite || die - - eautoreconf - multilib_copy_sources -} - -build_contrib_module() { - # [] - pushd "${S}/contrib/slapd-modules/$1" &>/dev/null || die "pushd contrib/slapd-modules/$1" - einfo "Compiling contrib-module: $1" - local target="${2:-all}" - emake \ - LDAP_BUILD="${BUILD_DIR}" prefix="${EPREFIX}/usr" \ - CC="${CC}" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" \ - "${target}" - popd &>/dev/null || die -} - -multilib_src_configure() { - # Optional Features - myconf+=( - --enable-option-checking - $(use_enable debug) - --enable-dynamic - $(use_enable syslog) - $(use_enable ipv6) - --enable-local - ) - - # Optional Packages - myconf+=( - --without-fetch - ) - - if use experimental ; then - # connectionless ldap per bug #342439 - # connectionless is a unsupported feature according to Howard Chu - # see https://bugs.openldap.org/show_bug.cgi?id=9739 - # (see also bug #892009) - append-flags -DLDAP_CONNECTIONLESS - fi - - if ! use minimal && multilib_is_native_abi; then - # SLAPD (Standalone LDAP Daemon) Options - # overlay chaining requires '--enable-ldap' #296567 - # see https://www.openldap.org/doc/admin26/overlays.html#Chaining - myconf+=( - --enable-ldap=yes - --enable-slapd - $(use_enable cleartext) - $(use_enable crypt) - $(multilib_native_use_enable sasl spasswd) - --disable-slp - $(use_enable tcpd wrappers) - ) - if use experimental ; then - myconf+=( - --enable-dynacl - # ACI build as dynamic module not supported (yet) - --enable-aci=yes - ) - fi - - for option in modules rlookups slapi; do - myconf+=( --enable-${option} ) - done - - # static SLAPD backends - for backend in mdb; do - myconf+=( --enable-${backend}=yes ) - done - - # module SLAPD backends - for backend in asyncmeta dnssrv meta null passwd relay sock; do - # missing modules: wiredtiger (not available in portage) - myconf+=( --enable-${backend}=mod ) - done - - use perl && myconf+=( --enable-perl=mod ) - - if use odbc ; then - myconf+=( --enable-sql=mod ) - if use iodbc ; then - myconf+=( --with-odbc="iodbc" ) - append-cflags -I"${EPREFIX}"/usr/include/iodbc - else - myconf+=( --with-odbc="unixodbc" ) - fi - fi - - use overlays && myconf+=( --enable-overlays=mod ) - use autoca && myconf+=( --enable-autoca=mod ) || myconf+=( --enable-autoca=no ) - # compile-in the syncprov - myconf+=( --enable-syncprov=yes ) - - # SLAPD Password Module Options - myconf+=( - $(use_enable argon2) - ) - - # Optional Packages - myconf+=( - $(use_with systemd) - $(multilib_native_use_with sasl cyrus-sasl) - ) - else - myconf+=( - --disable-backends - --disable-slapd - --disable-mdb - --disable-overlays - --disable-autoca - --disable-syslog - --without-systemd - ) - fi - - # Library Generation & Linking Options - myconf+=( - $(use_enable static-libs static) - --enable-shared - --enable-versioning - --with-pic - ) - - # some cross-compiling tests don't pan out well. - tc-is-cross-compiler && myconf+=( - --with-yielding-select=yes - ) - - local ssl_lib="no" - if use ssl || ( ! use minimal && use samba ) ; then - if use gnutls ; then - myconf+=( --with-tls="gnutls" ) - else - # disable MD2 hash function - append-cflags -DOPENSSL_NO_MD2 - myconf+=( --with-tls="openssl" ) - fi - else - myconf+=( --with-tls="no" ) - fi - - tc-export AR CC CXX - - ECONF_SOURCE="${S}" econf \ - --libexecdir="${EPREFIX}"/usr/$(get_libdir)/openldap \ - --localstatedir="${EPREFIX}"/var \ - --runstatedir="${EPREFIX}"/run \ - --sharedstatedir="${EPREFIX}"/var/lib \ - "${myconf[@]}" - - # argument '--runstatedir' seems to have no effect therefore this workaround - sed -i \ - -e 's:^runstatedir=.*:runstatedir=${EPREFIX}/run:' \ - configure contrib/ldapc++/configure contrib/ldaptcl/configure || die 'could not set runstatedir' - - sed -i \ - -e "s:/var/run/sasl2/mux:${EPREFIX}/run/sasl2/mux:" \ - doc/guide/admin/security.sdf || die 'could not fix run path in doc' - - emake depend -} - -src_configure_cxx() { - # This needs the libraries built by the first build run. - # we have to run it AFTER the main build, not just after the main configure - local myconf_ldapcpp=( - --with-libldap="${E}/lib" - --with-ldap-includes="${S}/include" - ) - - mkdir -p "${BUILD_DIR}"/contrib/ldapc++ || die "could not create ${BUILD_DIR}/contrib/ldapc++ directory" - pushd "${BUILD_DIR}/contrib/ldapc++" &>/dev/null || die "pushd contrib/ldapc++" - - local LDFLAGS="${LDFLAGS}" - local CPPFLAGS="${CPPFLAGS}" - - append-ldflags -L"${BUILD_DIR}"/libraries/liblber/.libs -L"${BUILD_DIR}"/libraries/libldap/.libs - append-cppflags -I"${BUILD_DIR}"/include - - ECONF_SOURCE="${S}"/contrib/ldapc++ econf "${myconf_ldapcpp[@]}" - popd &>/dev/null || die "popd contrib/ldapc++" -} - -multilib_src_compile() { - tc-export AR CC CXX - emake CC="$(tc-getCC)" SHELL="${EPREFIX}"/bin/sh - - if ! use minimal && multilib_is_native_abi ; then - if use cxx ; then - einfo "Building contrib library: ldapc++" - src_configure_cxx - pushd "${BUILD_DIR}/contrib/ldapc++" &>/dev/null || die "pushd contrib/ldapc++" - emake - popd &>/dev/null || die - fi - - if use smbkrb5passwd ; then - einfo "Building contrib-module: smbk5pwd" - pushd "${S}/contrib/slapd-modules/smbk5pwd" &>/dev/null || die "pushd contrib/slapd-modules/smbk5pwd" - - MY_DEFS="-DDO_SHADOW" - if use samba ; then - MY_DEFS="${MY_DEFS} -DDO_SAMBA" - MY_KRB5_INC="" - fi - if use kerberos ; then - MY_DEFS="${MY_DEFS} -DDO_KRB5" - MY_KRB5_INC="$(krb5-config --cflags)" - fi - - emake \ - DEFS="${MY_DEFS}" \ - KRB5_INC="${MY_KRB5_INC}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" - popd &>/dev/null || die - fi - - if use overlays ; then - einfo "Building contrib-module: samba4" - pushd "${S}/contrib/slapd-modules/samba4" &>/dev/null || die "pushd contrib/slapd-modules/samba4" - - emake \ - LDAP_BUILD="${BUILD_DIR}" \ - CC="$(tc-getCC)" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" - popd &>/dev/null || die - fi - - if use kerberos ; then - if use kinit ; then - build_contrib_module "kinit" "kinit.c" "kinit" - fi - build_contrib_module "passwd" "pw-kerberos.la" - fi - - if use pbkdf2; then - build_contrib_module "passwd/pbkdf2" - fi - - if use sha2 ; then - build_contrib_module "passwd/sha2" - fi - - # We could build pw-radius if GNURadius would install radlib.h - build_contrib_module "passwd" "pw-netscape.la" - - #build_contrib_module "acl" "posixgroup.la" # example code only - #build_contrib_module "acl" "gssacl.la" # example code only, also needs kerberos - build_contrib_module "addpartial" - build_contrib_module "allop" - build_contrib_module "allowed" - build_contrib_module "autogroup" - build_contrib_module "cloak" - # build_contrib_module "comp_match" # really complex, adds new external deps, questionable demand - build_contrib_module "denyop" - build_contrib_module "dsaschema" - build_contrib_module "dupent" - build_contrib_module "lastbind" - # lastmod may not play well with other overlays - build_contrib_module "lastmod" - build_contrib_module "noopsrch" - #build_contrib_module "nops" https://bugs.gentoo.org/641576 - #build_contrib_module "nssov" RESO:LATER - build_contrib_module "trace" - # build slapi-plugins - pushd "${S}/contrib/slapi-plugins/addrdnvalues" &>/dev/null || die "pushd contrib/slapi-plugins/addrdnvalues" - einfo "Building contrib-module: addrdnvalues plugin" - $(tc-getCC) -shared \ - -I"${BUILD_DIR}"/include \ - -I../../../include \ - ${CPPFLAGS} \ - ${CFLAGS} \ - -fPIC \ - ${LDFLAGS} \ - -o libaddrdnvalues-plugin.so \ - addrdnvalues.c || die "Building libaddrdnvalues-plugin.so failed" - popd &>/dev/null || die - fi -} - -multilib_src_test() { - if multilib_is_native_abi; then - cd tests || die - pwd - - # Increase various test timeouts/delays, bug #894012 - # We can't just double everything as there's a cumulative effect. - export SLEEP0=2 # originally 1 - export SLEEP1=10 # originally 7 - export SLEEP2=20 # originally 15 - export TIMEOUT=16 # originally 8 - - # emake test => runs only lloadd & mdb, in serial; skips ldif,sql,wt,regression - # emake partests => runs ALL of the tests in parallel - # wt/WiredTiger is not supported in Gentoo - TESTS=( lloadd mdb ) - #TESTS+=( pldif ) # not done by default, so also exclude here - #use odbc && TESTS+=( psql ) # not done by default, so also exclude here - - emake "${TESTS[@]}" - fi -} - -multilib_src_install() { - emake CC="$(tc-getCC)" \ - DESTDIR="${D}" SHELL="${EPREFIX}"/bin/sh install - - if ! use minimal && multilib_is_native_abi; then - # openldap modules go here - # TODO: write some code to populate slapd.conf with moduleload statements - keepdir /usr/$(get_libdir)/openldap/openldap/ - - # initial data storage dir - keepdir /var/lib/openldap-data - use prefix || fowners ldap:ldap /var/lib/openldap-data - fperms 0700 /var/lib/openldap-data - - echo "OLDPF='${PF}'" > "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - echo "# do NOT delete this. it is used" >> "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - echo "# to track versions for upgrading." >> "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - - # use our config - rm "${ED}"/etc/openldap/slapd.conf - insinto /etc/openldap - newins "${FILESDIR}"/${PN}-2.6.3-slapd-conf slapd.conf - configfile="${ED}"/etc/openldap/slapd.conf - - # populate with built backends - einfo "populate config with built backends" - for x in "${ED}"/usr/$(get_libdir)/openldap/openldap/back_*.so; do - einfo "Adding $(basename ${x})" - sed -e "/###INSERTDYNAMICMODULESHERE###$/a# moduleload\t$(basename ${x})" -i "${configfile}" || die - done - sed -e "s:###INSERTDYNAMICMODULESHERE###$:# modulepath\t${EPREFIX}/usr/$(get_libdir)/openldap/openldap:" \ - -i "${configfile}" - use prefix || fowners root:ldap /etc/openldap/slapd.conf - fperms 0640 /etc/openldap/slapd.conf - cp "${configfile}" "${configfile}".default || die - - # install our own init scripts and systemd unit files - einfo "Install init scripts" - sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd-initd-2.4.40-r2 > "${T}"/slapd || die - doinitd "${T}"/slapd - newconfd "${FILESDIR}"/slapd-confd-2.6.1 slapd - - if use systemd; then - # The systemd unit uses Type=notify, so it is useless without USE=systemd - einfo "Install systemd service" - rm -rf "${ED}"/{,usr/}lib/systemd - sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd-2.6.1.service > "${T}"/slapd.service || die - systemd_dounit "${T}"/slapd.service - systemd_install_serviced "${FILESDIR}"/slapd.service.conf - newtmpfiles "${FILESDIR}"/slapd.tmpfilesd slapd.conf - fi - - # if built without SLP, we don't need to be before avahi - sed -i \ - -e '/before/{s/avahi-daemon//g}' \ - "${ED}"/etc/init.d/slapd \ - || die - - if use cxx ; then - einfo "Install the ldapc++ library" - cd "${BUILD_DIR}/contrib/ldapc++" || die - emake DESTDIR="${D}" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - cd "${S}"/contrib/ldapc++ || die - newdoc README ldapc++-README - fi - - if use smbkrb5passwd ; then - einfo "Install the smbk5pwd module" - cd "${S}/contrib/slapd-modules/smbk5pwd" || die - emake DESTDIR="${D}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - newdoc README smbk5pwd-README - fi - - if use overlays ; then - einfo "Install the samba4 module" - cd "${S}/contrib/slapd-modules/samba4" || die - emake DESTDIR="${D}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - newdoc README samba4-README - fi - - einfo "Installing contrib modules" - cd "${S}/contrib/slapd-modules" || die - for l in */*.la */*/*.la; do - [[ -e ${l} ]] || continue - libtool --mode=install cp ${l} \ - "${ED}"/usr/$(get_libdir)/openldap/openldap || \ - die "installing ${l} failed" - done - - dodoc "${FILESDIR}"/DB_CONFIG.fast.example - docinto contrib - doman */*.5 - #newdoc acl/README* - newdoc addpartial/README addpartial-README - newdoc allop/README allop-README - newdoc allowed/README allowed-README - newdoc autogroup/README autogroup-README - newdoc dsaschema/README dsaschema-README - newdoc passwd/README passwd-README - cd "${S}/contrib/slapi-plugins" || die - insinto /usr/$(get_libdir)/openldap/openldap - doins */*.so - docinto contrib - newdoc addrdnvalues/README addrdnvalues-README - - insinto /etc/openldap/schema - newins "${DISTDIR}"/${BIS_P} ${BIS_PN} - - docinto back-sock ; dodoc "${S}"/servers/slapd/back-sock/searchexample* - docinto back-perl ; dodoc "${S}"/servers/slapd/back-perl/SampleLDAP.pm - - dosbin "${S}"/contrib/slapd-tools/statslog - newdoc "${S}"/contrib/slapd-tools/README README.statslog - fi - - if ! use static-libs ; then - find "${ED}" \( -name '*.a' -o -name '*.la' \) -delete || die - fi -} - -multilib_src_install_all() { - dodoc ANNOUNCEMENT CHANGES COPYRIGHT README - docinto rfc ; dodoc doc/rfc/*.txt -} - -pkg_preinst() { - # keep old libs if any - preserve_old_lib /usr/$(get_libdir)/{liblber,libldap,libldap_r}-2.4$(get_libname 0) - # bug 440470, only display the getting started help there was no openldap before, - # or we are going to a non-minimal build - ! has_version net-nds/openldap || has_version 'net-nds/openldap[minimal]' - OPENLDAP_PRINT_MESSAGES=$((! $?)) -} - -pkg_postinst() { - if ! use minimal ; then - if use systemd; then - tmpfiles_process slapd.conf - fi - - # You cannot build SSL certificates during src_install that will make - # binary packages containing your SSL key, which is both a security risk - # and a misconfiguration if multiple machines use the same key and cert. - if use ssl; then - install_cert /etc/openldap/ssl/ldap - use prefix || chown ldap:ldap "${EROOT}"/etc/openldap/ssl/ldap.* - ewarn "Self-signed SSL certificates are treated harshly by OpenLDAP 2.[12]" - ewarn "Self-signed SSL certificates are treated harshly by OpenLDAP 2.[12]" - ewarn "add 'TLS_REQCERT allow' if you want to use them." - fi - - if use prefix; then - # Warn about prefix issues with slapd - eerror "slapd might NOT be usable on Prefix systems as it requires root privileges" - eerror "to start up, and requires that certain files directories be owned by" - eerror "ldap:ldap. As Prefix does not support changing ownership of files and" - eerror "directories, you will have to manually fix this yourself." - fi - - # These lines force the permissions of various content to be correct - if [[ -d "${EROOT}"/var/run/openldap ]]; then - use prefix || { chown ldap:ldap "${EROOT}"/var/run/openldap || die; } - chmod 0755 "${EROOT}"/var/run/openldap || die - fi - use prefix || chown root:ldap "${EROOT}"/etc/openldap/slapd.conf{,.default} - chmod 0640 "${EROOT}"/etc/openldap/slapd.conf{,.default} || die - use prefix || chown ldap:ldap "${EROOT}"/var/lib/openldap-data - fi - - if has_version 'net-nds/openldap[-minimal]' && ((${OPENLDAP_PRINT_MESSAGES})); then - elog "Getting started using OpenLDAP? There is some documentation available:" - elog "Gentoo Guide to OpenLDAP Authentication" - elog "(https://wiki.gentoo.org/wiki/Centralized_authentication_using_OpenLDAP)" - fi - - preserve_old_lib_notify /usr/$(get_libdir)/{liblber,libldap,libldap_r}-2.4$(get_libname 0) -} diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.5.18.ebuild b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.5.18.ebuild deleted file mode 100644 index 1f7293a48c..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.5.18.ebuild +++ /dev/null @@ -1,875 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -# Re cleanups: -# 2.5.x is an LTS release so we want to keep it for a while. - -inherit autotools flag-o-matic multilib multilib-minimal preserve-libs ssl-cert toolchain-funcs systemd tmpfiles - -MY_PV="$(ver_rs 1-2 _)" - -BIS_PN=rfc2307bis.schema -BIS_PV=20140524 -BIS_P="${BIS_PN}-${BIS_PV}" - -DESCRIPTION="LDAP suite of application and development tools" -HOMEPAGE="https://www.openldap.org/" -SRC_URI=" - https://gitlab.com/openldap/${PN}/-/archive/OPENLDAP_REL_ENG_${MY_PV}/${PN}-OPENLDAP_REL_ENG_${MY_PV}.tar.bz2 - mirror://gentoo/${BIS_P} -" -S="${WORKDIR}"/${PN}-OPENLDAP_REL_ENG_${MY_PV} - -LICENSE="OPENLDAP GPL-2" -# Subslot added for bug #835654 -SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" - -IUSE_DAEMON="argon2 +cleartext crypt experimental minimal samba tcpd" -IUSE_OVERLAY="overlays perl autoca" -IUSE_OPTIONAL="debug gnutls iodbc ipv6 odbc sasl ssl selinux static-libs +syslog test" -IUSE_CONTRIB="kerberos kinit pbkdf2 sha2 smbkrb5passwd" -IUSE_CONTRIB="${IUSE_CONTRIB} cxx" -IUSE="systemd ${IUSE_DAEMON} ${IUSE_BACKEND} ${IUSE_OVERLAY} ${IUSE_OPTIONAL} ${IUSE_CONTRIB}" -REQUIRED_USE="cxx? ( sasl ) - pbkdf2? ( ssl ) - test? ( cleartext debug sasl ) - autoca? ( !gnutls ) - ?? ( test minimal ) - kerberos? ( ?? ( kinit smbkrb5passwd ) )" -RESTRICT="!test? ( test )" - -SYSTEM_LMDB_VER=0.9.33 -# openssl is needed to generate lanman-passwords required by samba -COMMON_DEPEND=" - kernel_linux? ( sys-apps/util-linux ) - ssl? ( - !gnutls? ( - >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] - ) - gnutls? ( - >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] - >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] - ) - ) - sasl? ( dev-libs/cyrus-sasl:= ) - !minimal? ( - dev-libs/libltdl - sys-fs/e2fsprogs - >=dev-db/lmdb-${SYSTEM_LMDB_VER}:= - argon2? ( app-crypt/argon2:= ) - crypt? ( virtual/libcrypt:= ) - tcpd? ( sys-apps/tcp-wrappers ) - odbc? ( !iodbc? ( dev-db/unixODBC ) - iodbc? ( dev-db/libiodbc ) ) - perl? ( dev-lang/perl:=[-build(-)] ) - samba? ( - dev-libs/openssl:0= - ) - smbkrb5passwd? ( - dev-libs/openssl:0= - kerberos? ( app-crypt/heimdal ) - ) - kerberos? ( - virtual/krb5 - kinit? ( !app-crypt/heimdal ) - ) - ) -" -DEPEND="${COMMON_DEPEND} - sys-apps/groff -" -RDEPEND="${COMMON_DEPEND} - selinux? ( sec-policy/selinux-ldap ) -" - -# The user/group are only used for running daemons which are -# disabled in minimal builds, so elide the accounts too. -BDEPEND="!minimal? ( - acct-group/ldap - acct-user/ldap -) -" - -# for tracking versions -OPENLDAP_VERSIONTAG=".version-tag" -OPENLDAP_DEFAULTDIR_VERSIONTAG="/var/lib/openldap-data" - -MULTILIB_WRAPPED_HEADERS=( - # USE=cxx - /usr/include/LDAPAsynConnection.h - /usr/include/LDAPAttrType.h - /usr/include/LDAPAttribute.h - /usr/include/LDAPAttributeList.h - /usr/include/LDAPConnection.h - /usr/include/LDAPConstraints.h - /usr/include/LDAPControl.h - /usr/include/LDAPControlSet.h - /usr/include/LDAPEntry.h - /usr/include/LDAPEntryList.h - /usr/include/LDAPException.h - /usr/include/LDAPExtResult.h - /usr/include/LDAPMessage.h - /usr/include/LDAPMessageQueue.h - /usr/include/LDAPModList.h - /usr/include/LDAPModification.h - /usr/include/LDAPObjClass.h - /usr/include/LDAPRebind.h - /usr/include/LDAPRebindAuth.h - /usr/include/LDAPReferenceList.h - /usr/include/LDAPResult.h - /usr/include/LDAPSaslBindResult.h - /usr/include/LDAPSchema.h - /usr/include/LDAPSearchReference.h - /usr/include/LDAPSearchResult.h - /usr/include/LDAPSearchResults.h - /usr/include/LDAPUrl.h - /usr/include/LDAPUrlList.h - /usr/include/LdifReader.h - /usr/include/LdifWriter.h - /usr/include/SaslInteraction.h - /usr/include/SaslInteractionHandler.h - /usr/include/StringList.h - /usr/include/TlsOptions.h -) - -PATCHES=( - "${FILESDIR}"/${PN}-2.4.28-fix-dash.patch - "${FILESDIR}"/${PN}-2.6.1-system-mdb.patch - "${FILESDIR}"/${PN}-2.6.1-cloak.patch - "${FILESDIR}"/${PN}-2.6.1-flags.patch - "${FILESDIR}"/${PN}-2.6.x-gnutls-pointer-error.patch - #"${FILESDIR}"/${PN}-2.6.x-slapd-pointer-types.patch # needs backport -) - -openldap_filecount() { - local dir="$1" - find "${dir}" -type f ! -name '.*' ! -name 'DB_CONFIG*' | wc -l -} - -openldap_find_versiontags() { - # scan for all datadirs - local openldap_datadirs=() - if [[ -f "${EROOT}"/etc/openldap/slapd.conf ]]; then - openldap_datadirs=( $(awk '{if($1 == "directory") print $2 }' "${EROOT}"/etc/openldap/slapd.conf) ) - fi - openldap_datadirs+=( ${OPENLDAP_DEFAULTDIR_VERSIONTAG} ) - - einfo - einfo "Scanning datadir(s) from slapd.conf and" - einfo "the default installdir for Versiontags" - einfo "(${OPENLDAP_DEFAULTDIR_VERSIONTAG} may appear twice)" - einfo - - # scan datadirs if we have a version tag - openldap_found_tag=0 - have_files=0 - for each in ${openldap_datadirs[@]} ; do - CURRENT_TAGDIR="${EROOT}$(sed "s:\/::" <<< ${each})" - CURRENT_TAG="${CURRENT_TAGDIR}/${OPENLDAP_VERSIONTAG}" - if [[ -d "${CURRENT_TAGDIR}" ]] && [[ "${openldap_found_tag}" == 0 ]] ; then - einfo "- Checking ${each}..." - if [[ -r "${CURRENT_TAG}" ]] ; then - # yey, we have one :) - einfo " Found Versiontag in ${each}" - source "${CURRENT_TAG}" - if [[ "${OLDPF}" == "" ]] ; then - eerror "Invalid Versiontag found in ${CURRENT_TAGDIR}" - eerror "Please delete it" - eerror - die "Please kill the invalid versiontag in ${CURRENT_TAGDIR}" - fi - - OLD_MAJOR=$(ver_cut 2-3 ${OLDPF}) - - [[ "$(openldap_filecount ${CURRENT_TAGDIR})" -gt 0 ]] && have_files=1 - - # are we on the same branch? - if [[ "${OLD_MAJOR}" != "${PV:0:3}" ]] ; then - ewarn " Versiontag doesn't match current major release!" - if [[ "${have_files}" == "1" ]] ; then - eerror " Versiontag says other major and you (probably) have datafiles!" - echo - openldap_upgrade_howto - else - einfo " No real problem, seems there's no database." - fi - else - einfo " Versiontag is fine here :)" - fi - else - einfo " Non-tagged dir ${each}" - [[ "$(openldap_filecount ${each})" -gt 0 ]] && have_files=1 - if [[ "${have_files}" == "1" ]] ; then - einfo " EEK! Non-empty non-tagged datadir, counting `ls -a ${each} | wc -l` files" - echo - - eerror - eerror "Your OpenLDAP Installation has a non tagged datadir that" - eerror "possibly contains a database at ${CURRENT_TAGDIR}" - eerror - eerror "Please export data if any entered and empty or remove" - eerror "the directory, installation has been stopped so you" - eerror "can take required action" - eerror - eerror "For a HOWTO on exporting the data, see instructions in the ebuild" - eerror - openldap_upgrade_howto - die "Please move the datadir ${CURRENT_TAGDIR} away" - fi - fi - einfo - fi - done - [[ "${have_files}" == "1" ]] && einfo "DB files present" || einfo "No DB files present" - - # Now we must check for the major version of sys-libs/db linked against. - # TODO: remove this as we dropped bdb support (gone upstream) in 2.6.1? - SLAPD_PATH="${EROOT}/usr/$(get_libdir)/openldap/slapd" - if [[ "${have_files}" == "1" ]] && [[ -f "${SLAPD_PATH}" ]]; then - OLDVER="$(/usr/bin/ldd ${SLAPD_PATH} \ - | awk '/libdb-/{gsub("^libdb-","",$1);gsub(".so$","",$1);print $1}')" - local fail=0 - - # This will not cover detection of cn=Config based configuration, but - # it's hopefully good enough. - if grep -sq '^backend.*shell' "${EROOT}"/etc/openldap/slapd.conf; then - eerror " OpenLDAP >= 2.6.x has dropped support for Shell backend." - eerror " You will need to migrate per upstream's migration notes" - eerror " at https://www.openldap.org/doc/admin25/appendix-upgrading.html." - eerror " Your existing database will not be accessible until it is" - eerror " converted away from backend shell!" - echo - fail=1 - fi - if has_version "${CATEGORY}/${PN}[berkdb]" || grep -sq '^backend.*(bdb|hdb)' /etc/openldap/slapd.conf; then - eerror " OpenLDAP >= 2.5.x has dropped support for Berkeley DB." - eerror " You will need to migrate per upstream's migration notes" - eerror " at https://www.openldap.org/doc/admin25/appendix-upgrading.html." - eerror " Your existing database will not be accessible until it is" - eerror " converted to mdb!" - echo - fail=1 - elif [[ -z "${OLDVER}" ]] && [[ -z "${NEWVER}" ]]; then - : - # Nothing wrong here. - elif [[ -z "${OLDVER}" ]] && [[ -n "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was not built against" - eerror " any version of sys-libs/db, but the new one will build" - eerror " against ${NEWVER} and your database may be inaccessible." - echo - fail=1 - elif [[ -n "${OLDVER}" ]] && [[ -z "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was built against" - eerror " sys-libs/db:${OLDVER}, but the new one will not be" - eerror " built against any version and your database may be" - eerror " inaccessible." - echo - fail=1 - elif [[ "${OLDVER}" != "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was built against" - eerror " sys-libs/db:${OLDVER}, but the new one will build against" - eerror " ${NEWVER} and your database would be inaccessible." - echo - fail=1 - fi - [[ "${fail}" == "1" ]] && openldap_upgrade_howto - fi - - echo - einfo - einfo "All datadirs are fine, proceeding with merge now..." - einfo -} - -openldap_upgrade_howto() { - local d l i - eerror - eerror "A (possible old) installation of OpenLDAP was detected," - eerror "installation will not proceed for now." - eerror - eerror "As major version upgrades can corrupt your database," - eerror "you need to dump your database and re-create it afterwards." - eerror - eerror "Additionally, rebuilding against different major versions of the" - eerror "sys-libs/db libraries will cause your database to be inaccessible." - eerror "" - d="$(date -u +%s)" - l="/root/ldapdump.${d}" - i="${l}.raw" - eerror " 1. /etc/init.d/slapd stop" - eerror " 2. slapcat -l ${i}" - eerror " 3. grep -E -v '^(entry|context)CSN:' <${i} >${l}" - eerror " 4. mv /var/lib/openldap-data/ /var/lib/openldap-data-backup/" - eerror " 5. emerge --update \=net-nds/${PF}" - eerror " 6. etc-update, and ensure that you apply the changes" - eerror " 7. slapadd -l ${l}" - eerror " 8. chown ldap:ldap /var/lib/openldap-data/*" - eerror " 9. /etc/init.d/slapd start" - eerror "10. Check that your data is intact." - eerror "11. Set up the new replication system." - eerror - if [[ "${FORCE_UPGRADE}" != "1" ]]; then - die "You need to upgrade your database first" - else - eerror "You have the magical FORCE_UPGRADE=1 in place." - eerror "Don't say you weren't warned about data loss." - fi -} - -pkg_setup() { - if ! use sasl && use cxx ; then - die "To build the ldapc++ library you must emerge openldap with sasl support" - fi - # Bug #322787 - if use minimal && ! has_version "net-nds/openldap" ; then - einfo "No datadir scan needed, openldap not installed" - elif use minimal && has_version 'net-nds/openldap[minimal]' ; then - einfo "Skipping scan for previous datadirs as requested by minimal useflag" - else - openldap_find_versiontags - fi -} - -src_prepare() { - # The system copy of dev-db/lmdb must match the version that this copy - # of OpenLDAP shipped with! See bug #588792. - # - # Fish out MDB_VERSION_MAJOR/MDB_VERSION_MINOR/MDB_VERSION_PATCH from - # the bundled lmdb's header to find out the version. - local bundled_lmdb_version=$( - sed -En '/^#define MDB_VERSION_(MAJOR|MINOR|PATCH)(\s+)?/{s/[^0-9.]//gp}' \ - libraries/liblmdb/lmdb.h || die - ) - printf -v bundled_lmdb_version "%s." ${bundled_lmdb_version} - - if [[ ${SYSTEM_LMDB_VER}. != ${bundled_lmdb_version} ]] ; then - eerror "Source lmdb version: ${bundled_lmdb_version}" - eerror "Ebuild lmdb version: ${SYSTEM_LMDB_VER}" - die "Ebuild needs to update SYSTEM_LMDB_VER!" - fi - - rm -r libraries/liblmdb || die 'could not removed bundled lmdb directory' - - local filename - for filename in doc/drafts/draft-ietf-ldapext-acl-model-xx.txt; do - iconv -f iso-8859-1 -t utf-8 "${filename}" > "${filename}.utf8" - mv "${filename}.utf8" "${filename}" - done - - default - - sed -i \ - -e "s:\$(localstatedir)/run:${EPREFIX}/run:" \ - -e '/MKDIR.*.(DESTDIR)\/run/d' \ - -e '/MKDIR.*.(DESTDIR).*.(runstatedir)/d' \ - servers/slapd/Makefile.in || die 'adjusting slapd Makefile.in failed' - - pushd build &>/dev/null || die "pushd build" - einfo "Making sure upstream build strip does not do stripping too early" - sed -i.orig \ - -e '/^STRIP/s,-s,,g' \ - top.mk || die "Failed to remove too early stripping" - popd &>/dev/null || die - - # Fails with OpenSSL 3, bug #848894 - # https://bugs.openldap.org/show_bug.cgi?id=10009 - rm tests/scripts/test076-authid-rewrite || die - - eautoreconf - multilib_copy_sources -} - -build_contrib_module() { - # [] - pushd "${S}/contrib/slapd-modules/$1" &>/dev/null || die "pushd contrib/slapd-modules/$1" - einfo "Compiling contrib-module: $1" - local target="${2:-all}" - emake \ - LDAP_BUILD="${BUILD_DIR}" prefix="${EPREFIX}/usr" \ - CC="${CC}" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" \ - "${target}" - popd &>/dev/null || die -} - -multilib_src_configure() { - # Optional Features - myconf+=( - --enable-option-checking - $(use_enable debug) - --enable-dynamic - $(use_enable syslog) - $(use_enable ipv6) - --enable-local - ) - - # Optional Packages - myconf+=( - --without-fetch - ) - - # The configure scripts make some assumptions that aren't valid in newer GCC. - # https://bugs.gentoo.org/920380 - append-flags $(test-flags-CC -Wno-error=implicit-int) - # conftest.c:113:16: error: passing argument 1 of 'pthread_detach' makes - # integer from pointer without a cast [-Wint-conversion] - append-flags $(test-flags-CC -Wno-error=int-conversion) - # error: passing argument 3 of ‘ldap_bv2rdn’ from incompatible pointer type - # [-Wincompatible-pointer-types] - # expected ‘char **’ but argument is of type ‘const char **’ - #append-flags $(test-flags-CC -Wno-error=incompatible-pointer-types) - - if use experimental ; then - # connectionless ldap per bug #342439 - # connectionless is a unsupported feature according to Howard Chu - # see https://bugs.openldap.org/show_bug.cgi?id=9739 - # (see also bug #892009) - append-flags -DLDAP_CONNECTIONLESS - fi - - if ! use minimal && multilib_is_native_abi; then - # SLAPD (Standalone LDAP Daemon) Options - # overlay chaining requires '--enable-ldap' #296567 - # see https://www.openldap.org/doc/admin26/overlays.html#Chaining - myconf+=( - --enable-ldap=yes - --enable-slapd - $(use_enable cleartext) - $(use_enable crypt) - $(multilib_native_use_enable sasl spasswd) - --disable-slp - $(use_enable tcpd wrappers) - ) - if use experimental ; then - myconf+=( - --enable-dynacl - # ACI build as dynamic module not supported (yet) - --enable-aci=yes - ) - fi - - for option in modules rlookups slapi; do - myconf+=( --enable-${option} ) - done - - # static SLAPD backends - for backend in mdb; do - myconf+=( --enable-${backend}=yes ) - done - - # module SLAPD backends - for backend in asyncmeta dnssrv meta null passwd relay sock; do - # missing modules: wiredtiger (not available in portage) - myconf+=( --enable-${backend}=mod ) - done - - use perl && myconf+=( --enable-perl=mod ) - - if use odbc ; then - myconf+=( --enable-sql=mod ) - if use iodbc ; then - myconf+=( --with-odbc="iodbc" ) - append-cflags -I"${EPREFIX}"/usr/include/iodbc - else - myconf+=( --with-odbc="unixodbc" ) - fi - fi - - use overlays && myconf+=( --enable-overlays=mod ) - use autoca && myconf+=( --enable-autoca=mod ) || myconf+=( --enable-autoca=no ) - # compile-in the syncprov - myconf+=( --enable-syncprov=yes ) - - # SLAPD Password Module Options - myconf+=( - $(use_enable argon2) - ) - - # Optional Packages - myconf+=( - $(use_with systemd) - $(multilib_native_use_with sasl cyrus-sasl) - ) - else - myconf+=( - --disable-backends - --disable-slapd - --disable-mdb - --disable-overlays - --disable-autoca - --disable-syslog - --without-systemd - ) - fi - - # Library Generation & Linking Options - myconf+=( - $(use_enable static-libs static) - --enable-shared - --enable-versioning - --with-pic - ) - - # some cross-compiling tests don't pan out well. - tc-is-cross-compiler && myconf+=( - --with-yielding-select=yes - ) - - local ssl_lib="no" - if use ssl || ( ! use minimal && use samba ) ; then - if use gnutls ; then - myconf+=( --with-tls="gnutls" ) - else - # disable MD2 hash function - append-cflags -DOPENSSL_NO_MD2 - myconf+=( --with-tls="openssl" ) - fi - else - myconf+=( --with-tls="no" ) - fi - - tc-export AR CC CXX - - ECONF_SOURCE="${S}" econf \ - --libexecdir="${EPREFIX}"/usr/$(get_libdir)/openldap \ - --localstatedir="${EPREFIX}"/var \ - --runstatedir="${EPREFIX}"/run \ - --sharedstatedir="${EPREFIX}"/var/lib \ - "${myconf[@]}" - - # argument '--runstatedir' seems to have no effect therefore this workaround - sed -i \ - -e 's:^runstatedir=.*:runstatedir=${EPREFIX}/run:' \ - configure contrib/ldapc++/configure contrib/ldaptcl/configure || die 'could not set runstatedir' - - sed -i \ - -e "s:/var/run/sasl2/mux:${EPREFIX}/run/sasl2/mux:" \ - doc/guide/admin/security.sdf || die 'could not fix run path in doc' - - emake depend -} - -src_configure_cxx() { - # This needs the libraries built by the first build run. - # we have to run it AFTER the main build, not just after the main configure - local myconf_ldapcpp=( - --with-libldap="${E}/lib" - --with-ldap-includes="${S}/include" - ) - - mkdir -p "${BUILD_DIR}"/contrib/ldapc++ || die "could not create ${BUILD_DIR}/contrib/ldapc++ directory" - pushd "${BUILD_DIR}/contrib/ldapc++" &>/dev/null || die "pushd contrib/ldapc++" - - local LDFLAGS="${LDFLAGS}" - local CPPFLAGS="${CPPFLAGS}" - - append-ldflags -L"${BUILD_DIR}"/libraries/liblber/.libs -L"${BUILD_DIR}"/libraries/libldap/.libs - append-cppflags -I"${BUILD_DIR}"/include - - ECONF_SOURCE="${S}"/contrib/ldapc++ econf "${myconf_ldapcpp[@]}" - popd &>/dev/null || die "popd contrib/ldapc++" -} - -multilib_src_compile() { - tc-export AR CC CXX - emake CC="$(tc-getCC)" SHELL="${EPREFIX}"/bin/sh - - if ! use minimal && multilib_is_native_abi ; then - if use cxx ; then - einfo "Building contrib library: ldapc++" - src_configure_cxx - pushd "${BUILD_DIR}/contrib/ldapc++" &>/dev/null || die "pushd contrib/ldapc++" - emake - popd &>/dev/null || die - fi - - if use smbkrb5passwd ; then - einfo "Building contrib-module: smbk5pwd" - pushd "${S}/contrib/slapd-modules/smbk5pwd" &>/dev/null || die "pushd contrib/slapd-modules/smbk5pwd" - - MY_DEFS="-DDO_SHADOW" - if use samba ; then - MY_DEFS="${MY_DEFS} -DDO_SAMBA" - MY_KRB5_INC="" - fi - if use kerberos ; then - MY_DEFS="${MY_DEFS} -DDO_KRB5" - MY_KRB5_INC="$(krb5-config --cflags)" - fi - - emake \ - DEFS="${MY_DEFS}" \ - KRB5_INC="${MY_KRB5_INC}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" - popd &>/dev/null || die - fi - - if use overlays ; then - einfo "Building contrib-module: samba4" - pushd "${S}/contrib/slapd-modules/samba4" &>/dev/null || die "pushd contrib/slapd-modules/samba4" - - emake \ - LDAP_BUILD="${BUILD_DIR}" \ - CC="$(tc-getCC)" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" - popd &>/dev/null || die - fi - - if use kerberos ; then - if use kinit ; then - build_contrib_module "kinit" "kinit.c" "kinit" - fi - build_contrib_module "passwd" "pw-kerberos.la" - fi - - if use pbkdf2; then - build_contrib_module "passwd/pbkdf2" - fi - - if use sha2 ; then - build_contrib_module "passwd/sha2" - fi - - # We could build pw-radius if GNURadius would install radlib.h - build_contrib_module "passwd" "pw-netscape.la" - - #build_contrib_module "acl" "posixgroup.la" # example code only - #build_contrib_module "acl" "gssacl.la" # example code only, also needs kerberos - build_contrib_module "addpartial" - build_contrib_module "allop" - build_contrib_module "allowed" - build_contrib_module "autogroup" - build_contrib_module "cloak" - # build_contrib_module "comp_match" # really complex, adds new external deps, questionable demand - build_contrib_module "denyop" - build_contrib_module "dsaschema" - build_contrib_module "dupent" - build_contrib_module "lastbind" - # lastmod may not play well with other overlays - build_contrib_module "lastmod" - build_contrib_module "noopsrch" - #build_contrib_module "nops" https://bugs.gentoo.org/641576 - #build_contrib_module "nssov" RESO:LATER - build_contrib_module "trace" - # build slapi-plugins - pushd "${S}/contrib/slapi-plugins/addrdnvalues" &>/dev/null || die "pushd contrib/slapi-plugins/addrdnvalues" - einfo "Building contrib-module: addrdnvalues plugin" - $(tc-getCC) -shared \ - -I"${BUILD_DIR}"/include \ - -I../../../include \ - ${CPPFLAGS} \ - ${CFLAGS} \ - -fPIC \ - ${LDFLAGS} \ - -o libaddrdnvalues-plugin.so \ - addrdnvalues.c || die "Building libaddrdnvalues-plugin.so failed" - popd &>/dev/null || die - fi -} - -multilib_src_test() { - if multilib_is_native_abi; then - cd tests || die - pwd - - # Increase various test timeouts/delays, bug #894012 - # We can't just double everything as there's a cumulative effect. - export SLEEP0=2 # originally 1 - export SLEEP1=10 # originally 7 - export SLEEP2=20 # originally 15 - export TIMEOUT=16 # originally 8 - - # emake test => runs only lloadd & mdb, in serial; skips ldif,sql,wt,regression - # emake partests => runs ALL of the tests in parallel - # wt/WiredTiger is not supported in Gentoo - TESTS=( lloadd mdb ) - #TESTS+=( pldif ) # not done by default, so also exclude here - #use odbc && TESTS+=( psql ) # not done by default, so also exclude here - - emake -Onone "${TESTS[@]}" - fi -} - -multilib_src_install() { - emake CC="$(tc-getCC)" \ - DESTDIR="${D}" SHELL="${EPREFIX}"/bin/sh install - - if ! use minimal && multilib_is_native_abi; then - # openldap modules go here - # TODO: write some code to populate slapd.conf with moduleload statements - keepdir /usr/$(get_libdir)/openldap/openldap/ - - # initial data storage dir - keepdir /var/lib/openldap-data - use prefix || fowners ldap:ldap /var/lib/openldap-data - fperms 0700 /var/lib/openldap-data - - echo "OLDPF='${PF}'" > "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - echo "# do NOT delete this. it is used" >> "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - echo "# to track versions for upgrading." >> "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - - # use our config - rm "${ED}"/etc/openldap/slapd.conf - insinto /etc/openldap - newins "${FILESDIR}"/${PN}-2.6.3-slapd-conf slapd.conf - configfile="${ED}"/etc/openldap/slapd.conf - - # populate with built backends - einfo "populate config with built backends" - for x in "${ED}"/usr/$(get_libdir)/openldap/openldap/back_*.so; do - einfo "Adding $(basename ${x})" - sed -e "/###INSERTDYNAMICMODULESHERE###$/a# moduleload\t$(basename ${x})" -i "${configfile}" || die - done - sed -e "s:###INSERTDYNAMICMODULESHERE###$:# modulepath\t${EPREFIX}/usr/$(get_libdir)/openldap/openldap:" \ - -i "${configfile}" - use prefix || fowners root:ldap /etc/openldap/slapd.conf - fperms 0640 /etc/openldap/slapd.conf - cp "${configfile}" "${configfile}".default || die - - # install our own init scripts and systemd unit files - einfo "Install init scripts" - sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd-initd-2.4.40-r2 > "${T}"/slapd || die - doinitd "${T}"/slapd - newconfd "${FILESDIR}"/slapd-confd-2.6.1 slapd - - if use systemd; then - # The systemd unit uses Type=notify, so it is useless without USE=systemd - einfo "Install systemd service" - rm -rf "${ED}"/{,usr/}lib/systemd - sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd-2.6.1.service > "${T}"/slapd.service || die - systemd_dounit "${T}"/slapd.service - systemd_install_serviced "${FILESDIR}"/slapd.service.conf - newtmpfiles "${FILESDIR}"/slapd.tmpfilesd slapd.conf - fi - - # if built without SLP, we don't need to be before avahi - sed -i \ - -e '/before/{s/avahi-daemon//g}' \ - "${ED}"/etc/init.d/slapd \ - || die - - if use cxx ; then - einfo "Install the ldapc++ library" - cd "${BUILD_DIR}/contrib/ldapc++" || die - emake DESTDIR="${D}" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - cd "${S}"/contrib/ldapc++ || die - newdoc README ldapc++-README - fi - - if use smbkrb5passwd ; then - einfo "Install the smbk5pwd module" - cd "${S}/contrib/slapd-modules/smbk5pwd" || die - emake DESTDIR="${D}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - newdoc README smbk5pwd-README - fi - - if use overlays ; then - einfo "Install the samba4 module" - cd "${S}/contrib/slapd-modules/samba4" || die - emake DESTDIR="${D}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - newdoc README samba4-README - fi - - einfo "Installing contrib modules" - cd "${S}/contrib/slapd-modules" || die - for l in */*.la */*/*.la; do - [[ -e ${l} ]] || continue - libtool --mode=install cp ${l} \ - "${ED}"/usr/$(get_libdir)/openldap/openldap || \ - die "installing ${l} failed" - done - - dodoc "${FILESDIR}"/DB_CONFIG.fast.example - docinto contrib - doman */*.5 - #newdoc acl/README* - newdoc addpartial/README addpartial-README - newdoc allop/README allop-README - newdoc allowed/README allowed-README - newdoc autogroup/README autogroup-README - newdoc dsaschema/README dsaschema-README - newdoc passwd/README passwd-README - cd "${S}/contrib/slapi-plugins" || die - insinto /usr/$(get_libdir)/openldap/openldap - doins */*.so - docinto contrib - newdoc addrdnvalues/README addrdnvalues-README - - insinto /etc/openldap/schema - newins "${DISTDIR}"/${BIS_P} ${BIS_PN} - - docinto back-sock ; dodoc "${S}"/servers/slapd/back-sock/searchexample* - docinto back-perl ; dodoc "${S}"/servers/slapd/back-perl/SampleLDAP.pm - - dosbin "${S}"/contrib/slapd-tools/statslog - newdoc "${S}"/contrib/slapd-tools/README README.statslog - fi - - if ! use static-libs ; then - find "${ED}" \( -name '*.a' -o -name '*.la' \) -delete || die - fi -} - -multilib_src_install_all() { - dodoc ANNOUNCEMENT CHANGES COPYRIGHT README - docinto rfc ; dodoc doc/rfc/*.txt -} - -pkg_preinst() { - # keep old libs if any - preserve_old_lib /usr/$(get_libdir)/{liblber,libldap,libldap_r}-2.4$(get_libname 0) - # bug 440470, only display the getting started help there was no openldap before, - # or we are going to a non-minimal build - ! has_version net-nds/openldap || has_version 'net-nds/openldap[minimal]' - OPENLDAP_PRINT_MESSAGES=$((! $?)) -} - -pkg_postinst() { - if ! use minimal ; then - if use systemd; then - tmpfiles_process slapd.conf - fi - - # You cannot build SSL certificates during src_install that will make - # binary packages containing your SSL key, which is both a security risk - # and a misconfiguration if multiple machines use the same key and cert. - if use ssl; then - install_cert /etc/openldap/ssl/ldap - use prefix || chown ldap:ldap "${EROOT}"/etc/openldap/ssl/ldap.* - ewarn "Self-signed SSL certificates are treated harshly by OpenLDAP 2.[12]" - ewarn "Self-signed SSL certificates are treated harshly by OpenLDAP 2.[12]" - ewarn "add 'TLS_REQCERT allow' if you want to use them." - fi - - if use prefix; then - # Warn about prefix issues with slapd - eerror "slapd might NOT be usable on Prefix systems as it requires root privileges" - eerror "to start up, and requires that certain files directories be owned by" - eerror "ldap:ldap. As Prefix does not support changing ownership of files and" - eerror "directories, you will have to manually fix this yourself." - fi - - # These lines force the permissions of various content to be correct - if [[ -d "${EROOT}"/var/run/openldap ]]; then - use prefix || { chown ldap:ldap "${EROOT}"/var/run/openldap || die; } - chmod 0755 "${EROOT}"/var/run/openldap || die - fi - use prefix || chown root:ldap "${EROOT}"/etc/openldap/slapd.conf{,.default} - chmod 0640 "${EROOT}"/etc/openldap/slapd.conf{,.default} || die - use prefix || chown ldap:ldap "${EROOT}"/var/lib/openldap-data - fi - - if has_version 'net-nds/openldap[-minimal]' && ((${OPENLDAP_PRINT_MESSAGES})); then - elog "Getting started using OpenLDAP? There is some documentation available:" - elog "Gentoo Guide to OpenLDAP Authentication" - elog "(https://wiki.gentoo.org/wiki/Centralized_authentication_using_OpenLDAP)" - fi - - preserve_old_lib_notify /usr/$(get_libdir)/{liblber,libldap,libldap_r}-2.4$(get_libname 0) -} diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.5.16.ebuild b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.5.19.ebuild similarity index 95% rename from sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.5.16.ebuild rename to sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.5.19.ebuild index 6f2d254cf7..8a6b89fc30 100644 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.5.16.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.5.19.ebuild @@ -1,12 +1,13 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 # Re cleanups: # 2.5.x is an LTS release so we want to keep it for a while. -inherit autotools flag-o-matic multilib multilib-minimal preserve-libs ssl-cert toolchain-funcs systemd tmpfiles +inherit autotools flag-o-matic multilib multilib-minimal preserve-libs +inherit ssl-cert toolchain-funcs systemd tmpfiles verify-sig MY_PV="$(ver_rs 1-2 _)" @@ -17,15 +18,16 @@ BIS_P="${BIS_PN}-${BIS_PV}" DESCRIPTION="LDAP suite of application and development tools" HOMEPAGE="https://www.openldap.org/" SRC_URI=" - https://gitlab.com/openldap/${PN}/-/archive/OPENLDAP_REL_ENG_${MY_PV}/${PN}-OPENLDAP_REL_ENG_${MY_PV}.tar.bz2 + https://openldap.org/software/download/OpenLDAP/${PN}-release/${P}.tgz mirror://gentoo/${BIS_P} + verify-sig? ( https://openldap.org/software/download/OpenLDAP/${PN}-release/${P}.tgz.asc ) " -S="${WORKDIR}"/${PN}-OPENLDAP_REL_ENG_${MY_PV} +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openldap.asc LICENSE="OPENLDAP GPL-2" # Subslot added for bug #835654 SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" IUSE_DAEMON="argon2 +cleartext crypt experimental minimal samba tcpd" IUSE_OVERLAY="overlays perl autoca" @@ -33,15 +35,17 @@ IUSE_OPTIONAL="debug gnutls iodbc ipv6 odbc sasl ssl selinux static-libs +syslog IUSE_CONTRIB="kerberos kinit pbkdf2 sha2 smbkrb5passwd" IUSE_CONTRIB="${IUSE_CONTRIB} cxx" IUSE="systemd ${IUSE_DAEMON} ${IUSE_BACKEND} ${IUSE_OVERLAY} ${IUSE_OPTIONAL} ${IUSE_CONTRIB}" -REQUIRED_USE="cxx? ( sasl ) +REQUIRED_USE=" + cxx? ( sasl ) pbkdf2? ( ssl ) - test? ( cleartext debug sasl ) + test? ( cleartext sasl debug ) autoca? ( !gnutls ) ?? ( test minimal ) - kerberos? ( ?? ( kinit smbkrb5passwd ) )" + kerberos? ( ?? ( kinit smbkrb5passwd ) ) +" RESTRICT="!test? ( test )" -SYSTEM_LMDB_VER=0.9.31 +SYSTEM_LMDB_VER=0.9.33 # openssl is needed to generate lanman-passwords required by samba COMMON_DEPEND=" kernel_linux? ( sys-apps/util-linux ) @@ -78,19 +82,23 @@ COMMON_DEPEND=" ) ) " -DEPEND="${COMMON_DEPEND} +DEPEND=" + ${COMMON_DEPEND} sys-apps/groff " -RDEPEND="${COMMON_DEPEND} +RDEPEND=" + ${COMMON_DEPEND} selinux? ( sec-policy/selinux-ldap ) " # The user/group are only used for running daemons which are # disabled in minimal builds, so elide the accounts too. -BDEPEND="!minimal? ( +BDEPEND=" + !minimal? ( acct-group/ldap acct-user/ldap -) + ) + verify-sig? ( >=sec-keys/openpgp-keys-openldap-20201216 ) " # for tracking versions @@ -140,6 +148,7 @@ PATCHES=( "${FILESDIR}"/${PN}-2.6.1-system-mdb.patch "${FILESDIR}"/${PN}-2.6.1-cloak.patch "${FILESDIR}"/${PN}-2.6.1-flags.patch + "${FILESDIR}"/${PN}-2.5.19-gcc14-SDWORD-vs-SQLINTEGER.patch ) openldap_filecount() { @@ -331,6 +340,12 @@ pkg_setup() { fi } +src_unpack() { + use verify-sig && + verify-sig_verify_detached "${DISTDIR}"/${P}.tgz{,.asc} + default +} + src_prepare() { # The system copy of dev-db/lmdb must match the version that this copy # of OpenLDAP shipped with! See bug #588792. @@ -386,8 +401,10 @@ build_contrib_module() { einfo "Compiling contrib-module: $1" local target="${2:-all}" emake \ - LDAP_BUILD="${BUILD_DIR}" prefix="${EPREFIX}/usr" \ - CC="${CC}" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" \ + CC="${CC}" \ + LDAP_BUILD="${BUILD_DIR}" \ + libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" \ + prefix="${EPREFIX}/usr" \ "${target}" popd &>/dev/null || die } @@ -519,7 +536,8 @@ multilib_src_configure() { tc-export AR CC CXX - ECONF_SOURCE="${S}" econf \ + ECONF_SOURCE="${S}" \ + econf \ --libexecdir="${EPREFIX}"/usr/$(get_libdir)/openldap \ --localstatedir="${EPREFIX}"/var \ --runstatedir="${EPREFIX}"/run \ @@ -555,13 +573,17 @@ src_configure_cxx() { append-ldflags -L"${BUILD_DIR}"/libraries/liblber/.libs -L"${BUILD_DIR}"/libraries/libldap/.libs append-cppflags -I"${BUILD_DIR}"/include - ECONF_SOURCE="${S}"/contrib/ldapc++ econf "${myconf_ldapcpp[@]}" + ECONF_SOURCE="${S}"/contrib/ldapc++ \ + econf \ + "${myconf_ldapcpp[@]}" popd &>/dev/null || die "popd contrib/ldapc++" } multilib_src_compile() { tc-export AR CC CXX - emake CC="$(tc-getCC)" SHELL="${EPREFIX}"/bin/sh + emake \ + CC="$(tc-getCC)" \ + SHELL="${EPREFIX}"/bin/sh if ! use minimal && multilib_is_native_abi ; then if use cxx ; then @@ -599,8 +621,9 @@ multilib_src_compile() { pushd "${S}/contrib/slapd-modules/samba4" &>/dev/null || die "pushd contrib/slapd-modules/samba4" emake \ + CC="$(tc-getCC)" \ LDAP_BUILD="${BUILD_DIR}" \ - CC="$(tc-getCC)" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" + libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" popd &>/dev/null || die fi @@ -680,8 +703,11 @@ multilib_src_test() { } multilib_src_install() { - emake CC="$(tc-getCC)" \ - DESTDIR="${D}" SHELL="${EPREFIX}"/bin/sh install + emake \ + CC="$(tc-getCC)" \ + DESTDIR="${D}" \ + SHELL="${EPREFIX}"/bin/sh \ + install if ! use minimal && multilib_is_native_abi; then # openldap modules go here @@ -710,7 +736,7 @@ multilib_src_install() { sed -e "/###INSERTDYNAMICMODULESHERE###$/a# moduleload\t$(basename ${x})" -i "${configfile}" || die done sed -e "s:###INSERTDYNAMICMODULESHERE###$:# modulepath\t${EPREFIX}/usr/$(get_libdir)/openldap/openldap:" \ - -i "${configfile}" + -i "${configfile}" || die use prefix || fowners root:ldap /etc/openldap/slapd.conf fperms 0640 /etc/openldap/slapd.conf cp "${configfile}" "${configfile}".default || die diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.4-r3.ebuild b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.4-r3.ebuild deleted file mode 100644 index 349d7af97c..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.4-r3.ebuild +++ /dev/null @@ -1,867 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Re cleanups: -# 2.5.x is an LTS release so we want to keep it for a while. - -inherit autotools flag-o-matic multilib multilib-minimal preserve-libs -inherit ssl-cert toolchain-funcs systemd tmpfiles - -MY_PV="$(ver_rs 1-2 _)" - -BIS_PN=rfc2307bis.schema -BIS_PV=20140524 -BIS_P="${BIS_PN}-${BIS_PV}" - -DESCRIPTION="LDAP suite of application and development tools" -HOMEPAGE="https://www.openldap.org/" -SRC_URI=" - https://gitlab.com/openldap/${PN}/-/archive/OPENLDAP_REL_ENG_${MY_PV}/${PN}-OPENLDAP_REL_ENG_${MY_PV}.tar.bz2 - mirror://gentoo/${BIS_P} -" -S="${WORKDIR}"/${PN}-OPENLDAP_REL_ENG_${MY_PV} - -LICENSE="OPENLDAP GPL-2" -# Subslot added for bug #835654 -SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" - -IUSE_DAEMON="argon2 +cleartext crypt experimental minimal samba tcpd" -IUSE_OVERLAY="overlays perl autoca" -IUSE_OPTIONAL="debug gnutls iodbc odbc sasl ssl selinux static-libs +syslog test" -IUSE_CONTRIB="kerberos kinit pbkdf2 sha2 smbkrb5passwd" -IUSE_CONTRIB="${IUSE_CONTRIB} cxx" -IUSE="systemd ${IUSE_DAEMON} ${IUSE_BACKEND} ${IUSE_OVERLAY} ${IUSE_OPTIONAL} ${IUSE_CONTRIB}" -REQUIRED_USE="cxx? ( sasl ) - pbkdf2? ( ssl ) - test? ( cleartext sasl ) - autoca? ( !gnutls ) - ?? ( test minimal ) - kerberos? ( ?? ( kinit smbkrb5passwd ) )" -RESTRICT="!test? ( test )" - -SYSTEM_LMDB_VER=0.9.30 -# openssl is needed to generate lanman-passwords required by samba -COMMON_DEPEND=" - kernel_linux? ( sys-apps/util-linux ) - ssl? ( - !gnutls? ( - >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] - ) - gnutls? ( - >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] - >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] - ) - ) - sasl? ( dev-libs/cyrus-sasl:= ) - !minimal? ( - dev-libs/libevent:= - dev-libs/libltdl - sys-fs/e2fsprogs - >=dev-db/lmdb-${SYSTEM_LMDB_VER}:= - argon2? ( app-crypt/argon2:= ) - crypt? ( virtual/libcrypt:= ) - tcpd? ( sys-apps/tcp-wrappers ) - odbc? ( !iodbc? ( dev-db/unixODBC ) - iodbc? ( dev-db/libiodbc ) ) - perl? ( dev-lang/perl:=[-build(-)] ) - samba? ( - dev-libs/openssl:0= - ) - smbkrb5passwd? ( - dev-libs/openssl:0= - kerberos? ( app-crypt/heimdal ) - ) - kerberos? ( - virtual/krb5 - kinit? ( !app-crypt/heimdal ) - ) - ) -" -DEPEND="${COMMON_DEPEND} - sys-apps/groff -" -RDEPEND="${COMMON_DEPEND} - selinux? ( sec-policy/selinux-ldap ) -" - -# The user/group are only used for running daemons which are -# disabled in minimal builds, so elide the accounts too. -BDEPEND="!minimal? ( - acct-group/ldap - acct-user/ldap -) -" - -# for tracking versions -OPENLDAP_VERSIONTAG=".version-tag" -OPENLDAP_DEFAULTDIR_VERSIONTAG="/var/lib/openldap-data" - -MULTILIB_WRAPPED_HEADERS=( - # USE=cxx - /usr/include/LDAPAsynConnection.h - /usr/include/LDAPAttrType.h - /usr/include/LDAPAttribute.h - /usr/include/LDAPAttributeList.h - /usr/include/LDAPConnection.h - /usr/include/LDAPConstraints.h - /usr/include/LDAPControl.h - /usr/include/LDAPControlSet.h - /usr/include/LDAPEntry.h - /usr/include/LDAPEntryList.h - /usr/include/LDAPException.h - /usr/include/LDAPExtResult.h - /usr/include/LDAPMessage.h - /usr/include/LDAPMessageQueue.h - /usr/include/LDAPModList.h - /usr/include/LDAPModification.h - /usr/include/LDAPObjClass.h - /usr/include/LDAPRebind.h - /usr/include/LDAPRebindAuth.h - /usr/include/LDAPReferenceList.h - /usr/include/LDAPResult.h - /usr/include/LDAPSaslBindResult.h - /usr/include/LDAPSchema.h - /usr/include/LDAPSearchReference.h - /usr/include/LDAPSearchResult.h - /usr/include/LDAPSearchResults.h - /usr/include/LDAPUrl.h - /usr/include/LDAPUrlList.h - /usr/include/LdifReader.h - /usr/include/LdifWriter.h - /usr/include/SaslInteraction.h - /usr/include/SaslInteractionHandler.h - /usr/include/StringList.h - /usr/include/TlsOptions.h -) - -PATCHES=( - "${FILESDIR}"/${PN}-2.4.28-fix-dash.patch - "${FILESDIR}"/${PN}-2.6.1-system-mdb.patch - "${FILESDIR}"/${PN}-2.6.1-cloak.patch - "${FILESDIR}"/${PN}-2.6.1-flags.patch - "${FILESDIR}"/${PN}-2.6.1-fix-missing-mapping.patch - "${FILESDIR}"/${PN}-2.6.4-clang16.patch - "${FILESDIR}"/${PN}-2.6.4-libressl.patch #903001 -) - -openldap_filecount() { - local dir="$1" - find "${dir}" -type f ! -name '.*' ! -name 'DB_CONFIG*' | wc -l -} - -openldap_find_versiontags() { - # scan for all datadirs - local openldap_datadirs=() - if [[ -f "${EROOT}"/etc/openldap/slapd.conf ]]; then - openldap_datadirs=( $(awk '{if($1 == "directory") print $2 }' "${EROOT}"/etc/openldap/slapd.conf) ) - fi - openldap_datadirs+=( ${OPENLDAP_DEFAULTDIR_VERSIONTAG} ) - - einfo - einfo "Scanning datadir(s) from slapd.conf and" - einfo "the default installdir for Versiontags" - einfo "(${OPENLDAP_DEFAULTDIR_VERSIONTAG} may appear twice)" - einfo - - # scan datadirs if we have a version tag - openldap_found_tag=0 - have_files=0 - for each in ${openldap_datadirs[@]} ; do - CURRENT_TAGDIR="${EROOT}$(sed "s:\/::" <<< ${each})" - CURRENT_TAG="${CURRENT_TAGDIR}/${OPENLDAP_VERSIONTAG}" - if [[ -d "${CURRENT_TAGDIR}" ]] && [[ "${openldap_found_tag}" == 0 ]] ; then - einfo "- Checking ${each}..." - if [[ -r "${CURRENT_TAG}" ]] ; then - # yey, we have one :) - einfo " Found Versiontag in ${each}" - source "${CURRENT_TAG}" - if [[ "${OLDPF}" == "" ]] ; then - eerror "Invalid Versiontag found in ${CURRENT_TAGDIR}" - eerror "Please delete it" - eerror - die "Please kill the invalid versiontag in ${CURRENT_TAGDIR}" - fi - - OLD_MAJOR=$(ver_cut 2-3 ${OLDPF}) - - [[ "$(openldap_filecount ${CURRENT_TAGDIR})" -gt 0 ]] && have_files=1 - - # are we on the same branch? - if [[ "${OLD_MAJOR}" != "${PV:0:3}" ]] ; then - ewarn " Versiontag doesn't match current major release!" - if [[ "${have_files}" == "1" ]] ; then - eerror " Versiontag says other major and you (probably) have datafiles!" - echo - openldap_upgrade_howto - else - einfo " No real problem, seems there's no database." - fi - else - einfo " Versiontag is fine here :)" - fi - else - einfo " Non-tagged dir ${each}" - [[ "$(openldap_filecount ${each})" -gt 0 ]] && have_files=1 - if [[ "${have_files}" == "1" ]] ; then - einfo " EEK! Non-empty non-tagged datadir, counting `ls -a ${each} | wc -l` files" - echo - - eerror - eerror "Your OpenLDAP Installation has a non tagged datadir that" - eerror "possibly contains a database at ${CURRENT_TAGDIR}" - eerror - eerror "Please export data if any entered and empty or remove" - eerror "the directory, installation has been stopped so you" - eerror "can take required action" - eerror - eerror "For a HOWTO on exporting the data, see instructions in the ebuild" - eerror - openldap_upgrade_howto - die "Please move the datadir ${CURRENT_TAGDIR} away" - fi - fi - einfo - fi - done - [[ "${have_files}" == "1" ]] && einfo "DB files present" || einfo "No DB files present" - - # Now we must check for the major version of sys-libs/db linked against. - # TODO: remove this as we dropped bdb support (gone upstream) in 2.6.1? - SLAPD_PATH="${EROOT}/usr/$(get_libdir)/openldap/slapd" - if [[ "${have_files}" == "1" ]] && [[ -f "${SLAPD_PATH}" ]]; then - OLDVER="$(/usr/bin/ldd ${SLAPD_PATH} \ - | awk '/libdb-/{gsub("^libdb-","",$1);gsub(".so$","",$1);print $1}')" - local fail=0 - - # This will not cover detection of cn=Config based configuration, but - # it's hopefully good enough. - if grep -sq '^backend.*shell' "${EROOT}"/etc/openldap/slapd.conf; then - eerror " OpenLDAP >= 2.5.x has dropped support for Shell backend." - eerror " You will need to migrate per upstream's migration notes" - eerror " at https://www.openldap.org/doc/admin25/appendix-upgrading.html." - eerror " Your existing database will not be accessible until it is" - eerror " converted away from backend shell!" - echo - fail=1 - fi - if has_version "${CATEGORY}/${PN}[berkdb]" || grep -sq '^backend.*(bdb|hdb)' /etc/openldap/slapd.conf; then - eerror " OpenLDAP >= 2.5.x has dropped support for Berkeley DB." - eerror " You will need to migrate per upstream's migration notes" - eerror " at https://www.openldap.org/doc/admin25/appendix-upgrading.html." - eerror " Your existing database will not be accessible until it is" - eerror " converted to mdb!" - echo - fail=1 - elif [[ -z "${OLDVER}" ]] && [[ -z "${NEWVER}" ]]; then - : - # Nothing wrong here. - elif [[ -z "${OLDVER}" ]] && [[ -n "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was not built against" - eerror " any version of sys-libs/db, but the new one will build" - eerror " against ${NEWVER} and your database may be inaccessible." - echo - fail=1 - elif [[ -n "${OLDVER}" ]] && [[ -z "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was built against" - eerror " sys-libs/db:${OLDVER}, but the new one will not be" - eerror " built against any version and your database may be" - eerror " inaccessible." - echo - fail=1 - elif [[ "${OLDVER}" != "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was built against" - eerror " sys-libs/db:${OLDVER}, but the new one will build against" - eerror " ${NEWVER} and your database would be inaccessible." - echo - fail=1 - fi - [[ "${fail}" == "1" ]] && openldap_upgrade_howto - fi - - echo - einfo - einfo "All datadirs are fine, proceeding with merge now..." - einfo -} - -openldap_upgrade_howto() { - local d l i - eerror - eerror "A (possible old) installation of OpenLDAP was detected," - eerror "installation will not proceed for now." - eerror - eerror "As major version upgrades can corrupt your database," - eerror "you need to dump your database and re-create it afterwards." - eerror - eerror "Additionally, rebuilding against different major versions of the" - eerror "sys-libs/db libraries will cause your database to be inaccessible." - eerror "" - d="$(date -u +%s)" - l="/root/ldapdump.${d}" - i="${l}.raw" - eerror " 1. /etc/init.d/slapd stop" - eerror " 2. slapcat -l ${i}" - eerror " 3. grep -E -v '^(entry|context)CSN:' <${i} >${l}" - eerror " 4. mv /var/lib/openldap-data/ /var/lib/openldap-data-backup/" - eerror " 5. emerge --update \=net-nds/${PF}" - eerror " 6. etc-update, and ensure that you apply the changes" - eerror " 7. slapadd -l ${l}" - eerror " 8. chown ldap:ldap /var/lib/openldap-data/*" - eerror " 9. /etc/init.d/slapd start" - eerror "10. Check that your data is intact." - eerror "11. Set up the new replication system." - eerror - if [[ "${FORCE_UPGRADE}" != "1" ]]; then - die "You need to upgrade your database first" - else - eerror "You have the magical FORCE_UPGRADE=1 in place." - eerror "Don't say you weren't warned about data loss." - fi -} - -pkg_setup() { - if ! use sasl && use cxx ; then - die "To build the ldapc++ library you must emerge openldap with sasl support" - fi - # Bug #322787 - if use minimal && ! has_version "net-nds/openldap" ; then - einfo "No datadir scan needed, openldap not installed" - elif use minimal && has_version 'net-nds/openldap[minimal]' ; then - einfo "Skipping scan for previous datadirs as requested by minimal useflag" - else - openldap_find_versiontags - fi -} - -src_prepare() { - # The system copy of dev-db/lmdb must match the version that this copy - # of OpenLDAP shipped with! See bug #588792. - # - # Fish out MDB_VERSION_MAJOR/MDB_VERSION_MINOR/MDB_VERSION_PATCH from - # the bundled lmdb's header to find out the version. - local bundled_lmdb_version=$(sed -En '/^#define MDB_VERSION_(MAJOR|MINOR|PATCH)(\s+)?/{s/[^0-9.]//gp}' \ - libraries/liblmdb/lmdb.h || die) - printf -v bundled_lmdb_version "%s." ${bundled_lmdb_version} - - if [[ ${SYSTEM_LMDB_VER}. != ${bundled_lmdb_version} ]] ; then - eerror "Source lmdb version: ${bundled_lmdb_version}" - eerror "Ebuild lmdb version: ${SYSTEM_LMDB_VER}" - die "Ebuild needs to update SYSTEM_LMDB_VER!" - fi - - rm -r libraries/liblmdb || die 'could not removed bundled lmdb directory' - - local filename - for filename in doc/drafts/draft-ietf-ldapext-acl-model-xx.txt; do - iconv -f iso-8859-1 -t utf-8 "${filename}" > "${filename}.utf8" - mv "${filename}.utf8" "${filename}" - done - - default - - sed -i \ - -e "s:\$(localstatedir)/run:${EPREFIX}/run:" \ - -e '/MKDIR.*.(DESTDIR)\/run/d' \ - servers/slapd/Makefile.in || die 'adjusting slapd Makefile.in failed' - - pushd build &>/dev/null || die "pushd build" - einfo "Making sure upstream build strip does not do stripping too early" - sed -i.orig \ - -e '/^STRIP/s,-s,,g' \ - top.mk || die "Failed to remove too early stripping" - popd &>/dev/null || die - - # Fails with OpenSSL 3, bug #848894 - # https://bugs.openldap.org/show_bug.cgi?id=10009 - rm tests/scripts/test076-authid-rewrite || die - - eautoreconf - multilib_copy_sources -} - -build_contrib_module() { - # [] - pushd "${S}/contrib/slapd-modules/$1" &>/dev/null || die "pushd contrib/slapd-modules/$1" - einfo "Compiling contrib-module: $1" - local target="${2:-all}" - emake \ - LDAP_BUILD="${BUILD_DIR}" prefix="${EPREFIX}/usr" \ - CC="${CC}" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" \ - "${target}" - popd &>/dev/null || die -} - -multilib_src_configure() { - # Optional Features - myconf+=( - --enable-option-checking - $(use_enable debug) - --enable-dynamic - $(use_enable syslog) - --enable-ipv6 - --enable-local - ) - - # Optional Packages - myconf+=( - --without-fetch - $(multilib_native_use_with sasl cyrus-sasl) - ) - - if use experimental ; then - # connectionless ldap per bug #342439 - # connectionless is a unsupported feature according to Howard Chu - # see https://bugs.openldap.org/show_bug.cgi?id=9739 - # (see also bug #892009) - append-flags -DLDAP_CONNECTIONLESS - fi - - if ! use minimal && multilib_is_native_abi; then - # SLAPD (Standalone LDAP Daemon) Options - # overlay chaining requires '--enable-ldap' #296567 - # see https://www.openldap.org/doc/admin26/overlays.html#Chaining - myconf+=( - --enable-ldap=yes - --enable-slapd - $(use_enable cleartext) - $(use_enable crypt) - $(multilib_native_use_enable sasl spasswd) - --disable-slp - $(use_enable tcpd wrappers) - ) - if use experimental ; then - myconf+=( - --enable-dynacl - # ACI build as dynamic module not supported (yet) - --enable-aci=yes - ) - fi - - for option in modules rlookups slapi; do - myconf+=( --enable-${option} ) - done - - # static SLAPD backends - for backend in mdb; do - myconf+=( --enable-${backend}=yes ) - done - - # module SLAPD backends - for backend in asyncmeta dnssrv meta null passwd relay sock; do - # missing modules: wiredtiger (not available in portage) - myconf+=( --enable-${backend}=mod ) - done - - use perl && myconf+=( --enable-perl=mod ) - - if use odbc ; then - myconf+=( --enable-sql=mod ) - if use iodbc ; then - myconf+=( --with-odbc="iodbc" ) - append-cflags -I"${EPREFIX}"/usr/include/iodbc - else - myconf+=( --with-odbc="unixodbc" ) - fi - fi - - use overlays && myconf+=( --enable-overlays=mod ) - use autoca && myconf+=( --enable-autoca=mod ) || myconf+=( --enable-autoca=no ) - # compile-in the syncprov - myconf+=( --enable-syncprov=yes ) - - # Build the standalone load balancer (lloadd) - also available as a slapd module; --enable-balancer=mod - myconf+=( --enable-balancer=yes ) - - # SLAPD Password Module Options - myconf+=( - $(use_enable argon2) - ) - - # Optional Packages - myconf+=( - $(use_with systemd) - ) - else - myconf+=( - --disable-backends - --disable-slapd - --disable-mdb - --disable-overlays - --disable-autoca - --disable-syslog - --without-systemd - ) - fi - - # Library Generation & Linking Options - myconf+=( - $(use_enable static-libs static) - --enable-shared - --enable-versioning - --with-pic - ) - - # some cross-compiling tests don't pan out well. - tc-is-cross-compiler && myconf+=( - --with-yielding-select=yes - ) - - local ssl_lib="no" - if use ssl || ( ! use minimal && use samba ) ; then - if use gnutls ; then - myconf+=( --with-tls="gnutls" ) - else - # disable MD2 hash function - append-cflags -DOPENSSL_NO_MD2 - myconf+=( --with-tls="openssl" ) - fi - else - myconf+=( --with-tls="no" ) - fi - - tc-export AR CC CXX - - ECONF_SOURCE="${S}" econf \ - --libexecdir="${EPREFIX}"/usr/$(get_libdir)/openldap \ - --localstatedir="${EPREFIX}"/var \ - --runstatedir="${EPREFIX}"/run \ - --sharedstatedir="${EPREFIX}"/var/lib \ - "${myconf[@]}" - - # argument '--runstatedir' seems to have no effect therefore this workaround - sed -i \ - -e 's:^runstatedir=.*:runstatedir=${EPREFIX}/run:' \ - configure contrib/ldapc++/configure contrib/ldaptcl/configure || die 'could not set runstatedir' - - sed -i \ - -e "s:/var/run/sasl2/mux:${EPREFIX}/run/sasl2/mux:" \ - doc/guide/admin/security.sdf || die 'could not fix run path in doc' - - emake depend -} - -src_configure_cxx() { - # This needs the libraries built by the first build run. - # we have to run it AFTER the main build, not just after the main configure - local myconf_ldapcpp=( - --with-libldap="${E}/lib" - --with-ldap-includes="${S}/include" - ) - - mkdir -p "${BUILD_DIR}"/contrib/ldapc++ || die "could not create ${BUILD_DIR}/contrib/ldapc++ directory" - pushd "${BUILD_DIR}/contrib/ldapc++" &>/dev/null || die "pushd contrib/ldapc++" - - local LDFLAGS="${LDFLAGS}" - local CPPFLAGS="${CPPFLAGS}" - - append-ldflags -L"${BUILD_DIR}"/libraries/liblber/.libs -L"${BUILD_DIR}"/libraries/libldap/.libs - append-cppflags -I"${BUILD_DIR}"/include - - ECONF_SOURCE="${S}"/contrib/ldapc++ econf "${myconf_ldapcpp[@]}" - popd &>/dev/null || die "popd contrib/ldapc++" -} - -multilib_src_compile() { - tc-export AR CC CXX - emake CC="$(tc-getCC)" SHELL="${EPREFIX}"/bin/sh - - if ! use minimal && multilib_is_native_abi ; then - if use cxx ; then - einfo "Building contrib library: ldapc++" - src_configure_cxx - pushd "${BUILD_DIR}/contrib/ldapc++" &>/dev/null || die "pushd contrib/ldapc++" - emake - popd &>/dev/null || die - fi - - if use smbkrb5passwd ; then - einfo "Building contrib-module: smbk5pwd" - pushd "${S}/contrib/slapd-modules/smbk5pwd" &>/dev/null || die "pushd contrib/slapd-modules/smbk5pwd" - - MY_DEFS="-DDO_SHADOW" - if use samba ; then - MY_DEFS="${MY_DEFS} -DDO_SAMBA" - MY_KRB5_INC="" - fi - if use kerberos ; then - MY_DEFS="${MY_DEFS} -DDO_KRB5" - MY_KRB5_INC="$(krb5-config --cflags)" - fi - - emake \ - DEFS="${MY_DEFS}" \ - KRB5_INC="${MY_KRB5_INC}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" - popd &>/dev/null || die - fi - - if use overlays ; then - einfo "Building contrib-module: samba4" - pushd "${S}/contrib/slapd-modules/samba4" &>/dev/null || die "pushd contrib/slapd-modules/samba4" - - emake \ - LDAP_BUILD="${BUILD_DIR}" \ - CC="$(tc-getCC)" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" - popd &>/dev/null || die - fi - - if use kerberos ; then - if use kinit ; then - build_contrib_module "kinit" "kinit.c" "kinit" - fi - build_contrib_module "passwd" "pw-kerberos.la" - fi - - if use pbkdf2; then - build_contrib_module "passwd/pbkdf2" - fi - - if use sha2 ; then - build_contrib_module "passwd/sha2" - fi - - # We could build pw-radius if GNURadius would install radlib.h - build_contrib_module "passwd" "pw-netscape.la" - - #build_contrib_module "acl" "posixgroup.la" # example code only - #build_contrib_module "acl" "gssacl.la" # example code only, also needs kerberos - build_contrib_module "addpartial" - build_contrib_module "allop" - build_contrib_module "allowed" - build_contrib_module "autogroup" - build_contrib_module "cloak" - # build_contrib_module "comp_match" # really complex, adds new external deps, questionable demand - build_contrib_module "denyop" - build_contrib_module "dsaschema" - build_contrib_module "dupent" - build_contrib_module "lastbind" - # lastmod may not play well with other overlays - build_contrib_module "lastmod" - build_contrib_module "noopsrch" - #build_contrib_module "nops" https://bugs.gentoo.org/641576 - #build_contrib_module "nssov" RESO:LATER - build_contrib_module "trace" - # build slapi-plugins - pushd "${S}/contrib/slapi-plugins/addrdnvalues" &>/dev/null || die "pushd contrib/slapi-plugins/addrdnvalues" - einfo "Building contrib-module: addrdnvalues plugin" - $(tc-getCC) -shared \ - -I"${BUILD_DIR}"/include \ - -I../../../include \ - ${CPPFLAGS} \ - ${CFLAGS} \ - -fPIC \ - ${LDFLAGS} \ - -o libaddrdnvalues-plugin.so \ - addrdnvalues.c || die "Building libaddrdnvalues-plugin.so failed" - popd &>/dev/null || die - fi -} - -multilib_src_test() { - if multilib_is_native_abi; then - cd tests || die - pwd - - # Increase various test timeouts/delays, bug #894012 - # We can't just double everything as there's a cumulative effect. - export SLEEP0=2 # originally 1 - export SLEEP1=10 # originally 7 - export SLEEP2=20 # originally 15 - export TIMEOUT=16 # originally 8 - - # emake test => runs only lloadd & mdb, in serial; skips ldif,sql,wt,regression - # emake partests => runs ALL of the tests in parallel - # wt/WiredTiger is not supported in Gentoo - TESTS=( plloadd pmdb ) - #TESTS+=( pldif ) # not done by default, so also exclude here - #use odbc && TESTS+=( psql ) # not done by default, so also exclude here - - emake "${TESTS[@]}" - fi -} - -multilib_src_install() { - emake CC="$(tc-getCC)" \ - DESTDIR="${D}" SHELL="${EPREFIX}"/bin/sh install - - if ! use minimal && multilib_is_native_abi; then - # openldap modules go here - # TODO: write some code to populate slapd.conf with moduleload statements - keepdir /usr/$(get_libdir)/openldap/openldap/ - - # initial data storage dir - keepdir /var/lib/openldap-data - use prefix || fowners ldap:ldap /var/lib/openldap-data - fperms 0700 /var/lib/openldap-data - - echo "OLDPF='${PF}'" > "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - echo "# do NOT delete this. it is used" >> "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - echo "# to track versions for upgrading." >> "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - - # use our config - rm "${ED}"/etc/openldap/slapd.conf - insinto /etc/openldap - newins "${FILESDIR}"/${PN}-2.6.3-slapd-conf slapd.conf - configfile="${ED}"/etc/openldap/slapd.conf - - # populate with built backends - einfo "populate config with built backends" - for x in "${ED}"/usr/$(get_libdir)/openldap/openldap/back_*.so; do - einfo "Adding $(basename ${x})" - sed -e "/###INSERTDYNAMICMODULESHERE###$/a# moduleload\t$(basename ${x})" -i "${configfile}" || die - done - sed -e "s:###INSERTDYNAMICMODULESHERE###$:# modulepath\t${EPREFIX}/usr/$(get_libdir)/openldap/openldap:" \ - -i "${configfile}" || die - use prefix || fowners root:ldap /etc/openldap/slapd.conf - fperms 0640 /etc/openldap/slapd.conf - cp "${configfile}" "${configfile}".default || die - - # install our own init scripts and systemd unit files - einfo "Install init scripts" - sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd-initd-2.4.40-r2 > "${T}"/slapd || die - doinitd "${T}"/slapd - newconfd "${FILESDIR}"/slapd-confd-2.6.1 slapd - - if use systemd; then - # The systemd unit uses Type=notify, so it is useless without USE=systemd - einfo "Install systemd service" - rm -rf "${ED}"/{,usr/}lib/systemd - sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd-2.6.1.service > "${T}"/slapd.service || die - systemd_dounit "${T}"/slapd.service - systemd_install_serviced "${FILESDIR}"/slapd.service.conf - newtmpfiles "${FILESDIR}"/slapd.tmpfilesd slapd.conf - fi - - # if built without SLP, we don't need to be before avahi - sed -i \ - -e '/before/{s/avahi-daemon//g}' \ - "${ED}"/etc/init.d/slapd \ - || die - - if use cxx ; then - einfo "Install the ldapc++ library" - cd "${BUILD_DIR}/contrib/ldapc++" || die - emake DESTDIR="${D}" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - cd "${S}"/contrib/ldapc++ || die - newdoc README ldapc++-README - fi - - if use smbkrb5passwd ; then - einfo "Install the smbk5pwd module" - cd "${S}/contrib/slapd-modules/smbk5pwd" || die - emake DESTDIR="${D}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - newdoc README smbk5pwd-README - fi - - if use overlays ; then - einfo "Install the samba4 module" - cd "${S}/contrib/slapd-modules/samba4" || die - emake DESTDIR="${D}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - newdoc README samba4-README - fi - - einfo "Installing contrib modules" - cd "${S}/contrib/slapd-modules" || die - for l in */*.la */*/*.la; do - [[ -e ${l} ]] || continue - libtool --mode=install cp ${l} \ - "${ED}"/usr/$(get_libdir)/openldap/openldap || \ - die "installing ${l} failed" - done - - dodoc "${FILESDIR}"/DB_CONFIG.fast.example - docinto contrib - doman */*.5 - #newdoc acl/README* - newdoc addpartial/README addpartial-README - newdoc allop/README allop-README - newdoc allowed/README allowed-README - newdoc autogroup/README autogroup-README - newdoc dsaschema/README dsaschema-README - newdoc passwd/README passwd-README - cd "${S}/contrib/slapi-plugins" || die - insinto /usr/$(get_libdir)/openldap/openldap - doins */*.so - docinto contrib - newdoc addrdnvalues/README addrdnvalues-README - - insinto /etc/openldap/schema - newins "${DISTDIR}"/${BIS_P} ${BIS_PN} - - docinto back-sock ; dodoc "${S}"/servers/slapd/back-sock/searchexample* - docinto back-perl ; dodoc "${S}"/servers/slapd/back-perl/SampleLDAP.pm - - dosbin "${S}"/contrib/slapd-tools/statslog - newdoc "${S}"/contrib/slapd-tools/README README.statslog - fi - - if ! use static-libs ; then - find "${ED}" \( -name '*.a' -o -name '*.la' \) -delete || die - fi -} - -multilib_src_install_all() { - dodoc ANNOUNCEMENT CHANGES COPYRIGHT README - docinto rfc ; dodoc doc/rfc/*.txt -} - -pkg_preinst() { - # keep old libs if any - preserve_old_lib /usr/$(get_libdir)/{liblber,libldap,libldap_r}-2.4$(get_libname 0) - # bug 440470, only display the getting started help there was no openldap before, - # or we are going to a non-minimal build - ! has_version net-nds/openldap || has_version 'net-nds/openldap[minimal]' - OPENLDAP_PRINT_MESSAGES=$((! $?)) -} - -pkg_postinst() { - if ! use minimal ; then - if use systemd; then - tmpfiles_process slapd.conf - fi - - # You cannot build SSL certificates during src_install that will make - # binary packages containing your SSL key, which is both a security risk - # and a misconfiguration if multiple machines use the same key and cert. - if use ssl; then - install_cert /etc/openldap/ssl/ldap - use prefix || chown ldap:ldap "${EROOT}"/etc/openldap/ssl/ldap.* - ewarn "Self-signed SSL certificates are treated harshly by OpenLDAP 2.[12]" - ewarn "Self-signed SSL certificates are treated harshly by OpenLDAP 2.[12]" - ewarn "add 'TLS_REQCERT allow' if you want to use them." - fi - - if use prefix; then - # Warn about prefix issues with slapd - eerror "slapd might NOT be usable on Prefix systems as it requires root privileges" - eerror "to start up, and requires that certain files directories be owned by" - eerror "ldap:ldap. As Prefix does not support changing ownership of files and" - eerror "directories, you will have to manually fix this yourself." - fi - - # These lines force the permissions of various content to be correct - if [[ -d "${EROOT}"/var/run/openldap ]]; then - use prefix || { chown ldap:ldap "${EROOT}"/var/run/openldap || die; } - chmod 0755 "${EROOT}"/var/run/openldap || die - fi - use prefix || chown root:ldap "${EROOT}"/etc/openldap/slapd.conf{,.default} - chmod 0640 "${EROOT}"/etc/openldap/slapd.conf{,.default} || die - use prefix || chown ldap:ldap "${EROOT}"/var/lib/openldap-data - fi - - if has_version 'net-nds/openldap[-minimal]' && ((${OPENLDAP_PRINT_MESSAGES})); then - elog "Getting started using OpenLDAP? There is some documentation available:" - elog "Gentoo Guide to OpenLDAP Authentication" - elog "(https://wiki.gentoo.org/wiki/Centralized_authentication_using_OpenLDAP)" - fi - - preserve_old_lib_notify /usr/$(get_libdir)/{liblber,libldap,libldap_r}-2.4$(get_libname 0) -} diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.4-r4.ebuild b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.4-r4.ebuild deleted file mode 100644 index 12920fbbf6..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.4-r4.ebuild +++ /dev/null @@ -1,870 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Re cleanups: -# 2.5.x is an LTS release so we want to keep it for a while. - -inherit autotools flag-o-matic multilib multilib-minimal preserve-libs -inherit ssl-cert toolchain-funcs systemd tmpfiles - -MY_PV="$(ver_rs 1-2 _)" - -BIS_PN=rfc2307bis.schema -BIS_PV=20140524 -BIS_P="${BIS_PN}-${BIS_PV}" - -DESCRIPTION="LDAP suite of application and development tools" -HOMEPAGE="https://www.openldap.org/" -SRC_URI=" - https://gitlab.com/openldap/${PN}/-/archive/OPENLDAP_REL_ENG_${MY_PV}/${PN}-OPENLDAP_REL_ENG_${MY_PV}.tar.bz2 - mirror://gentoo/${BIS_P} -" -S="${WORKDIR}"/${PN}-OPENLDAP_REL_ENG_${MY_PV} - -LICENSE="OPENLDAP GPL-2" -# Subslot added for bug #835654 -SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" - -IUSE_DAEMON="argon2 +cleartext crypt experimental minimal samba tcpd" -IUSE_OVERLAY="overlays perl autoca" -IUSE_OPTIONAL="debug gnutls iodbc odbc sasl ssl selinux static-libs +syslog test" -IUSE_CONTRIB="kerberos kinit pbkdf2 sha2 smbkrb5passwd" -IUSE_CONTRIB="${IUSE_CONTRIB} cxx" -IUSE="systemd ${IUSE_DAEMON} ${IUSE_BACKEND} ${IUSE_OVERLAY} ${IUSE_OPTIONAL} ${IUSE_CONTRIB}" -REQUIRED_USE="cxx? ( sasl ) - pbkdf2? ( ssl ) - test? ( cleartext sasl debug ) - autoca? ( !gnutls ) - ?? ( test minimal ) - kerberos? ( ?? ( kinit smbkrb5passwd ) )" -RESTRICT="!test? ( test )" - -SYSTEM_LMDB_VER=0.9.30 -# openssl is needed to generate lanman-passwords required by samba -COMMON_DEPEND=" - kernel_linux? ( sys-apps/util-linux ) - ssl? ( - !gnutls? ( - >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] - ) - gnutls? ( - >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] - >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] - ) - ) - sasl? ( dev-libs/cyrus-sasl:= ) - !minimal? ( - dev-libs/libevent:= - dev-libs/libltdl - sys-fs/e2fsprogs - >=dev-db/lmdb-${SYSTEM_LMDB_VER}:= - argon2? ( app-crypt/argon2:= ) - crypt? ( virtual/libcrypt:= ) - tcpd? ( sys-apps/tcp-wrappers ) - odbc? ( !iodbc? ( dev-db/unixODBC ) - iodbc? ( dev-db/libiodbc ) ) - perl? ( dev-lang/perl:=[-build(-)] ) - samba? ( - dev-libs/openssl:0= - ) - smbkrb5passwd? ( - dev-libs/openssl:0= - kerberos? ( app-crypt/heimdal ) - ) - kerberos? ( - virtual/krb5 - kinit? ( !app-crypt/heimdal ) - ) - ) -" -DEPEND="${COMMON_DEPEND} - sys-apps/groff -" -RDEPEND="${COMMON_DEPEND} - selinux? ( sec-policy/selinux-ldap ) -" - -# The user/group are only used for running daemons which are -# disabled in minimal builds, so elide the accounts too. -BDEPEND="!minimal? ( - acct-group/ldap - acct-user/ldap -) -" - -# for tracking versions -OPENLDAP_VERSIONTAG=".version-tag" -OPENLDAP_DEFAULTDIR_VERSIONTAG="/var/lib/openldap-data" - -MULTILIB_WRAPPED_HEADERS=( - # USE=cxx - /usr/include/LDAPAsynConnection.h - /usr/include/LDAPAttrType.h - /usr/include/LDAPAttribute.h - /usr/include/LDAPAttributeList.h - /usr/include/LDAPConnection.h - /usr/include/LDAPConstraints.h - /usr/include/LDAPControl.h - /usr/include/LDAPControlSet.h - /usr/include/LDAPEntry.h - /usr/include/LDAPEntryList.h - /usr/include/LDAPException.h - /usr/include/LDAPExtResult.h - /usr/include/LDAPMessage.h - /usr/include/LDAPMessageQueue.h - /usr/include/LDAPModList.h - /usr/include/LDAPModification.h - /usr/include/LDAPObjClass.h - /usr/include/LDAPRebind.h - /usr/include/LDAPRebindAuth.h - /usr/include/LDAPReferenceList.h - /usr/include/LDAPResult.h - /usr/include/LDAPSaslBindResult.h - /usr/include/LDAPSchema.h - /usr/include/LDAPSearchReference.h - /usr/include/LDAPSearchResult.h - /usr/include/LDAPSearchResults.h - /usr/include/LDAPUrl.h - /usr/include/LDAPUrlList.h - /usr/include/LdifReader.h - /usr/include/LdifWriter.h - /usr/include/SaslInteraction.h - /usr/include/SaslInteractionHandler.h - /usr/include/StringList.h - /usr/include/TlsOptions.h -) - -PATCHES=( - "${FILESDIR}"/${PN}-2.4.28-fix-dash.patch - "${FILESDIR}"/${PN}-2.6.1-system-mdb.patch - "${FILESDIR}"/${PN}-2.6.1-cloak.patch - "${FILESDIR}"/${PN}-2.6.1-flags.patch - "${FILESDIR}"/${PN}-2.6.1-fix-missing-mapping.v2.patch - "${FILESDIR}"/${PN}-2.6.4-clang16.patch - "${FILESDIR}"/${PN}-2.6.4-libressl.patch #903001 -) - -openldap_filecount() { - local dir="$1" - find "${dir}" -type f ! -name '.*' ! -name 'DB_CONFIG*' | wc -l -} - -openldap_find_versiontags() { - # scan for all datadirs - local openldap_datadirs=() - if [[ -f "${EROOT}"/etc/openldap/slapd.conf ]]; then - openldap_datadirs=( $(awk '{if($1 == "directory") print $2 }' "${EROOT}"/etc/openldap/slapd.conf) ) - fi - openldap_datadirs+=( ${OPENLDAP_DEFAULTDIR_VERSIONTAG} ) - - einfo - einfo "Scanning datadir(s) from slapd.conf and" - einfo "the default installdir for Versiontags" - einfo "(${OPENLDAP_DEFAULTDIR_VERSIONTAG} may appear twice)" - einfo - - # scan datadirs if we have a version tag - openldap_found_tag=0 - have_files=0 - for each in ${openldap_datadirs[@]} ; do - CURRENT_TAGDIR="${EROOT}$(sed "s:\/::" <<< ${each})" - CURRENT_TAG="${CURRENT_TAGDIR}/${OPENLDAP_VERSIONTAG}" - if [[ -d "${CURRENT_TAGDIR}" ]] && [[ "${openldap_found_tag}" == 0 ]] ; then - einfo "- Checking ${each}..." - if [[ -r "${CURRENT_TAG}" ]] ; then - # yey, we have one :) - einfo " Found Versiontag in ${each}" - source "${CURRENT_TAG}" - if [[ "${OLDPF}" == "" ]] ; then - eerror "Invalid Versiontag found in ${CURRENT_TAGDIR}" - eerror "Please delete it" - eerror - die "Please kill the invalid versiontag in ${CURRENT_TAGDIR}" - fi - - OLD_MAJOR=$(ver_cut 2-3 ${OLDPF}) - - [[ "$(openldap_filecount ${CURRENT_TAGDIR})" -gt 0 ]] && have_files=1 - - # are we on the same branch? - if [[ "${OLD_MAJOR}" != "${PV:0:3}" ]] ; then - ewarn " Versiontag doesn't match current major release!" - if [[ "${have_files}" == "1" ]] ; then - eerror " Versiontag says other major and you (probably) have datafiles!" - echo - openldap_upgrade_howto - else - einfo " No real problem, seems there's no database." - fi - else - einfo " Versiontag is fine here :)" - fi - else - einfo " Non-tagged dir ${each}" - [[ "$(openldap_filecount ${each})" -gt 0 ]] && have_files=1 - if [[ "${have_files}" == "1" ]] ; then - einfo " EEK! Non-empty non-tagged datadir, counting `ls -a ${each} | wc -l` files" - echo - - eerror - eerror "Your OpenLDAP Installation has a non tagged datadir that" - eerror "possibly contains a database at ${CURRENT_TAGDIR}" - eerror - eerror "Please export data if any entered and empty or remove" - eerror "the directory, installation has been stopped so you" - eerror "can take required action" - eerror - eerror "For a HOWTO on exporting the data, see instructions in the ebuild" - eerror - openldap_upgrade_howto - die "Please move the datadir ${CURRENT_TAGDIR} away" - fi - fi - einfo - fi - done - [[ "${have_files}" == "1" ]] && einfo "DB files present" || einfo "No DB files present" - - # Now we must check for the major version of sys-libs/db linked against. - # TODO: remove this as we dropped bdb support (gone upstream) in 2.6.1? - SLAPD_PATH="${EROOT}/usr/$(get_libdir)/openldap/slapd" - if [[ "${have_files}" == "1" ]] && [[ -f "${SLAPD_PATH}" ]]; then - OLDVER="$(/usr/bin/ldd ${SLAPD_PATH} \ - | awk '/libdb-/{gsub("^libdb-","",$1);gsub(".so$","",$1);print $1}')" - local fail=0 - - # This will not cover detection of cn=Config based configuration, but - # it's hopefully good enough. - if grep -sq '^backend.*shell' "${EROOT}"/etc/openldap/slapd.conf; then - eerror " OpenLDAP >= 2.5.x has dropped support for Shell backend." - eerror " You will need to migrate per upstream's migration notes" - eerror " at https://www.openldap.org/doc/admin25/appendix-upgrading.html." - eerror " Your existing database will not be accessible until it is" - eerror " converted away from backend shell!" - echo - fail=1 - fi - if has_version "${CATEGORY}/${PN}[berkdb]" || grep -sq '^backend.*(bdb|hdb)' /etc/openldap/slapd.conf; then - eerror " OpenLDAP >= 2.5.x has dropped support for Berkeley DB." - eerror " You will need to migrate per upstream's migration notes" - eerror " at https://www.openldap.org/doc/admin25/appendix-upgrading.html." - eerror " Your existing database will not be accessible until it is" - eerror " converted to mdb!" - echo - fail=1 - elif [[ -z "${OLDVER}" ]] && [[ -z "${NEWVER}" ]]; then - : - # Nothing wrong here. - elif [[ -z "${OLDVER}" ]] && [[ -n "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was not built against" - eerror " any version of sys-libs/db, but the new one will build" - eerror " against ${NEWVER} and your database may be inaccessible." - echo - fail=1 - elif [[ -n "${OLDVER}" ]] && [[ -z "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was built against" - eerror " sys-libs/db:${OLDVER}, but the new one will not be" - eerror " built against any version and your database may be" - eerror " inaccessible." - echo - fail=1 - elif [[ "${OLDVER}" != "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was built against" - eerror " sys-libs/db:${OLDVER}, but the new one will build against" - eerror " ${NEWVER} and your database would be inaccessible." - echo - fail=1 - fi - [[ "${fail}" == "1" ]] && openldap_upgrade_howto - fi - - echo - einfo - einfo "All datadirs are fine, proceeding with merge now..." - einfo -} - -openldap_upgrade_howto() { - local d l i - eerror - eerror "A (possible old) installation of OpenLDAP was detected," - eerror "installation will not proceed for now." - eerror - eerror "As major version upgrades can corrupt your database," - eerror "you need to dump your database and re-create it afterwards." - eerror - eerror "Additionally, rebuilding against different major versions of the" - eerror "sys-libs/db libraries will cause your database to be inaccessible." - eerror "" - d="$(date -u +%s)" - l="/root/ldapdump.${d}" - i="${l}.raw" - eerror " 1. /etc/init.d/slapd stop" - eerror " 2. slapcat -l ${i}" - eerror " 3. grep -E -v '^(entry|context)CSN:' <${i} >${l}" - eerror " 4. mv /var/lib/openldap-data/ /var/lib/openldap-data-backup/" - eerror " 5. emerge --update \=net-nds/${PF}" - eerror " 6. etc-update, and ensure that you apply the changes" - eerror " 7. slapadd -l ${l}" - eerror " 8. chown ldap:ldap /var/lib/openldap-data/*" - eerror " 9. /etc/init.d/slapd start" - eerror "10. Check that your data is intact." - eerror "11. Set up the new replication system." - eerror - if [[ "${FORCE_UPGRADE}" != "1" ]]; then - die "You need to upgrade your database first" - else - eerror "You have the magical FORCE_UPGRADE=1 in place." - eerror "Don't say you weren't warned about data loss." - fi -} - -pkg_setup() { - if ! use sasl && use cxx ; then - die "To build the ldapc++ library you must emerge openldap with sasl support" - fi - # Bug #322787 - if use minimal && ! has_version "net-nds/openldap" ; then - einfo "No datadir scan needed, openldap not installed" - elif use minimal && has_version 'net-nds/openldap[minimal]' ; then - einfo "Skipping scan for previous datadirs as requested by minimal useflag" - else - openldap_find_versiontags - fi -} - -src_prepare() { - # The system copy of dev-db/lmdb must match the version that this copy - # of OpenLDAP shipped with! See bug #588792. - # - # Fish out MDB_VERSION_MAJOR/MDB_VERSION_MINOR/MDB_VERSION_PATCH from - # the bundled lmdb's header to find out the version. - local bundled_lmdb_version=$(sed -En '/^#define MDB_VERSION_(MAJOR|MINOR|PATCH)(\s+)?/{s/[^0-9.]//gp}' \ - libraries/liblmdb/lmdb.h || die) - printf -v bundled_lmdb_version "%s." ${bundled_lmdb_version} - - if [[ ${SYSTEM_LMDB_VER}. != ${bundled_lmdb_version} ]] ; then - eerror "Source lmdb version: ${bundled_lmdb_version}" - eerror "Ebuild lmdb version: ${SYSTEM_LMDB_VER}" - die "Ebuild needs to update SYSTEM_LMDB_VER!" - fi - - rm -r libraries/liblmdb || die 'could not removed bundled lmdb directory' - - local filename - for filename in doc/drafts/draft-ietf-ldapext-acl-model-xx.txt; do - iconv -f iso-8859-1 -t utf-8 "${filename}" > "${filename}.utf8" - mv "${filename}.utf8" "${filename}" - done - - default - - sed -i \ - -e "s:\$(localstatedir)/run:${EPREFIX}/run:" \ - -e '/MKDIR.*.(DESTDIR)\/run/d' \ - servers/slapd/Makefile.in || die 'adjusting slapd Makefile.in failed' - - pushd build &>/dev/null || die "pushd build" - einfo "Making sure upstream build strip does not do stripping too early" - sed -i.orig \ - -e '/^STRIP/s,-s,,g' \ - top.mk || die "Failed to remove too early stripping" - popd &>/dev/null || die - - # Fails with OpenSSL 3, bug #848894 - # https://bugs.openldap.org/show_bug.cgi?id=10009 - rm tests/scripts/test076-authid-rewrite || die - - eautoreconf - multilib_copy_sources -} - -build_contrib_module() { - # [] - pushd "${S}/contrib/slapd-modules/$1" &>/dev/null || die "pushd contrib/slapd-modules/$1" - einfo "Compiling contrib-module: $1" - local target="${2:-all}" - emake \ - LDAP_BUILD="${BUILD_DIR}" prefix="${EPREFIX}/usr" \ - CC="${CC}" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" \ - "${target}" - popd &>/dev/null || die -} - -multilib_src_configure() { - # Workaround for bug #923334, #938553, #946816 - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) - - # Optional Features - myconf+=( - --enable-option-checking - $(use_enable debug) - --enable-dynamic - $(use_enable syslog) - --enable-ipv6 - --enable-local - ) - - # Optional Packages - myconf+=( - --without-fetch - $(multilib_native_use_with sasl cyrus-sasl) - ) - - if use experimental ; then - # connectionless ldap per bug #342439 - # connectionless is a unsupported feature according to Howard Chu - # see https://bugs.openldap.org/show_bug.cgi?id=9739 - # (see also bug #892009) - append-flags -DLDAP_CONNECTIONLESS - fi - - if ! use minimal && multilib_is_native_abi; then - # SLAPD (Standalone LDAP Daemon) Options - # overlay chaining requires '--enable-ldap' #296567 - # see https://www.openldap.org/doc/admin26/overlays.html#Chaining - myconf+=( - --enable-ldap=yes - --enable-slapd - $(use_enable cleartext) - $(use_enable crypt) - $(multilib_native_use_enable sasl spasswd) - --disable-slp - $(use_enable tcpd wrappers) - ) - if use experimental ; then - myconf+=( - --enable-dynacl - # ACI build as dynamic module not supported (yet) - --enable-aci=yes - ) - fi - - for option in modules rlookups slapi; do - myconf+=( --enable-${option} ) - done - - # static SLAPD backends - for backend in mdb; do - myconf+=( --enable-${backend}=yes ) - done - - # module SLAPD backends - for backend in asyncmeta dnssrv meta null passwd relay sock; do - # missing modules: wiredtiger (not available in portage) - myconf+=( --enable-${backend}=mod ) - done - - use perl && myconf+=( --enable-perl=mod ) - - if use odbc ; then - myconf+=( --enable-sql=mod ) - if use iodbc ; then - myconf+=( --with-odbc="iodbc" ) - append-cflags -I"${EPREFIX}"/usr/include/iodbc - else - myconf+=( --with-odbc="unixodbc" ) - fi - fi - - use overlays && myconf+=( --enable-overlays=mod ) - use autoca && myconf+=( --enable-autoca=mod ) || myconf+=( --enable-autoca=no ) - # compile-in the syncprov - myconf+=( --enable-syncprov=yes ) - - # Build the standalone load balancer (lloadd) - also available as a slapd module; --enable-balancer=mod - myconf+=( --enable-balancer=yes ) - - # SLAPD Password Module Options - myconf+=( - $(use_enable argon2) - ) - - # Optional Packages - myconf+=( - $(use_with systemd) - ) - else - myconf+=( - --disable-backends - --disable-slapd - --disable-mdb - --disable-overlays - --disable-autoca - --disable-syslog - --without-systemd - ) - fi - - # Library Generation & Linking Options - myconf+=( - $(use_enable static-libs static) - --enable-shared - --enable-versioning - --with-pic - ) - - # some cross-compiling tests don't pan out well. - tc-is-cross-compiler && myconf+=( - --with-yielding-select=yes - ) - - local ssl_lib="no" - if use ssl || ( ! use minimal && use samba ) ; then - if use gnutls ; then - myconf+=( --with-tls="gnutls" ) - else - # disable MD2 hash function - append-cflags -DOPENSSL_NO_MD2 - myconf+=( --with-tls="openssl" ) - fi - else - myconf+=( --with-tls="no" ) - fi - - tc-export AR CC CXX - - ECONF_SOURCE="${S}" econf \ - --libexecdir="${EPREFIX}"/usr/$(get_libdir)/openldap \ - --localstatedir="${EPREFIX}"/var \ - --runstatedir="${EPREFIX}"/run \ - --sharedstatedir="${EPREFIX}"/var/lib \ - "${myconf[@]}" - - # argument '--runstatedir' seems to have no effect therefore this workaround - sed -i \ - -e 's:^runstatedir=.*:runstatedir=${EPREFIX}/run:' \ - configure contrib/ldapc++/configure contrib/ldaptcl/configure || die 'could not set runstatedir' - - sed -i \ - -e "s:/var/run/sasl2/mux:${EPREFIX}/run/sasl2/mux:" \ - doc/guide/admin/security.sdf || die 'could not fix run path in doc' - - emake depend -} - -src_configure_cxx() { - # This needs the libraries built by the first build run. - # we have to run it AFTER the main build, not just after the main configure - local myconf_ldapcpp=( - --with-libldap="${E}/lib" - --with-ldap-includes="${S}/include" - ) - - mkdir -p "${BUILD_DIR}"/contrib/ldapc++ || die "could not create ${BUILD_DIR}/contrib/ldapc++ directory" - pushd "${BUILD_DIR}/contrib/ldapc++" &>/dev/null || die "pushd contrib/ldapc++" - - local LDFLAGS="${LDFLAGS}" - local CPPFLAGS="${CPPFLAGS}" - - append-ldflags -L"${BUILD_DIR}"/libraries/liblber/.libs -L"${BUILD_DIR}"/libraries/libldap/.libs - append-cppflags -I"${BUILD_DIR}"/include - - ECONF_SOURCE="${S}"/contrib/ldapc++ econf "${myconf_ldapcpp[@]}" - popd &>/dev/null || die "popd contrib/ldapc++" -} - -multilib_src_compile() { - tc-export AR CC CXX - emake CC="$(tc-getCC)" SHELL="${EPREFIX}"/bin/sh - - if ! use minimal && multilib_is_native_abi ; then - if use cxx ; then - einfo "Building contrib library: ldapc++" - src_configure_cxx - pushd "${BUILD_DIR}/contrib/ldapc++" &>/dev/null || die "pushd contrib/ldapc++" - emake - popd &>/dev/null || die - fi - - if use smbkrb5passwd ; then - einfo "Building contrib-module: smbk5pwd" - pushd "${S}/contrib/slapd-modules/smbk5pwd" &>/dev/null || die "pushd contrib/slapd-modules/smbk5pwd" - - MY_DEFS="-DDO_SHADOW" - if use samba ; then - MY_DEFS="${MY_DEFS} -DDO_SAMBA" - MY_KRB5_INC="" - fi - if use kerberos ; then - MY_DEFS="${MY_DEFS} -DDO_KRB5" - MY_KRB5_INC="$(krb5-config --cflags)" - fi - - emake \ - DEFS="${MY_DEFS}" \ - KRB5_INC="${MY_KRB5_INC}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" - popd &>/dev/null || die - fi - - if use overlays ; then - einfo "Building contrib-module: samba4" - pushd "${S}/contrib/slapd-modules/samba4" &>/dev/null || die "pushd contrib/slapd-modules/samba4" - - emake \ - LDAP_BUILD="${BUILD_DIR}" \ - CC="$(tc-getCC)" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" - popd &>/dev/null || die - fi - - if use kerberos ; then - if use kinit ; then - build_contrib_module "kinit" "kinit.c" "kinit" - fi - build_contrib_module "passwd" "pw-kerberos.la" - fi - - if use pbkdf2; then - build_contrib_module "passwd/pbkdf2" - fi - - if use sha2 ; then - build_contrib_module "passwd/sha2" - fi - - # We could build pw-radius if GNURadius would install radlib.h - build_contrib_module "passwd" "pw-netscape.la" - - #build_contrib_module "acl" "posixgroup.la" # example code only - #build_contrib_module "acl" "gssacl.la" # example code only, also needs kerberos - build_contrib_module "addpartial" - build_contrib_module "allop" - build_contrib_module "allowed" - build_contrib_module "autogroup" - build_contrib_module "cloak" - # build_contrib_module "comp_match" # really complex, adds new external deps, questionable demand - build_contrib_module "denyop" - build_contrib_module "dsaschema" - build_contrib_module "dupent" - build_contrib_module "lastbind" - # lastmod may not play well with other overlays - build_contrib_module "lastmod" - build_contrib_module "noopsrch" - #build_contrib_module "nops" https://bugs.gentoo.org/641576 - #build_contrib_module "nssov" RESO:LATER - build_contrib_module "trace" - # build slapi-plugins - pushd "${S}/contrib/slapi-plugins/addrdnvalues" &>/dev/null || die "pushd contrib/slapi-plugins/addrdnvalues" - einfo "Building contrib-module: addrdnvalues plugin" - $(tc-getCC) -shared \ - -I"${BUILD_DIR}"/include \ - -I../../../include \ - ${CPPFLAGS} \ - ${CFLAGS} \ - -fPIC \ - ${LDFLAGS} \ - -o libaddrdnvalues-plugin.so \ - addrdnvalues.c || die "Building libaddrdnvalues-plugin.so failed" - popd &>/dev/null || die - fi -} - -multilib_src_test() { - if multilib_is_native_abi; then - cd tests || die - pwd - - # Increase various test timeouts/delays, bug #894012 - # We can't just double everything as there's a cumulative effect. - export SLEEP0=2 # originally 1 - export SLEEP1=10 # originally 7 - export SLEEP2=20 # originally 15 - export TIMEOUT=16 # originally 8 - - # emake test => runs only lloadd & mdb, in serial; skips ldif,sql,wt,regression - # emake partests => runs ALL of the tests in parallel - # wt/WiredTiger is not supported in Gentoo - TESTS=( plloadd pmdb ) - #TESTS+=( pldif ) # not done by default, so also exclude here - #use odbc && TESTS+=( psql ) # not done by default, so also exclude here - - emake "${TESTS[@]}" - fi -} - -multilib_src_install() { - emake CC="$(tc-getCC)" \ - DESTDIR="${D}" SHELL="${EPREFIX}"/bin/sh install - - if ! use minimal && multilib_is_native_abi; then - # openldap modules go here - # TODO: write some code to populate slapd.conf with moduleload statements - keepdir /usr/$(get_libdir)/openldap/openldap/ - - # initial data storage dir - keepdir /var/lib/openldap-data - use prefix || fowners ldap:ldap /var/lib/openldap-data - fperms 0700 /var/lib/openldap-data - - echo "OLDPF='${PF}'" > "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - echo "# do NOT delete this. it is used" >> "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - echo "# to track versions for upgrading." >> "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - - # use our config - rm "${ED}"/etc/openldap/slapd.conf - insinto /etc/openldap - newins "${FILESDIR}"/${PN}-2.6.3-slapd-conf slapd.conf - configfile="${ED}"/etc/openldap/slapd.conf - - # populate with built backends - einfo "populate config with built backends" - for x in "${ED}"/usr/$(get_libdir)/openldap/openldap/back_*.so; do - einfo "Adding $(basename ${x})" - sed -e "/###INSERTDYNAMICMODULESHERE###$/a# moduleload\t$(basename ${x})" -i "${configfile}" || die - done - sed -e "s:###INSERTDYNAMICMODULESHERE###$:# modulepath\t${EPREFIX}/usr/$(get_libdir)/openldap/openldap:" \ - -i "${configfile}" || die - use prefix || fowners root:ldap /etc/openldap/slapd.conf - fperms 0640 /etc/openldap/slapd.conf - cp "${configfile}" "${configfile}".default || die - - # install our own init scripts and systemd unit files - einfo "Install init scripts" - sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd-initd-2.4.40-r2 > "${T}"/slapd || die - doinitd "${T}"/slapd - newconfd "${FILESDIR}"/slapd-confd-2.6.1 slapd - - if use systemd; then - # The systemd unit uses Type=notify, so it is useless without USE=systemd - einfo "Install systemd service" - rm -rf "${ED}"/{,usr/}lib/systemd - sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd-2.6.1.service > "${T}"/slapd.service || die - systemd_dounit "${T}"/slapd.service - systemd_install_serviced "${FILESDIR}"/slapd.service.conf - newtmpfiles "${FILESDIR}"/slapd.tmpfilesd slapd.conf - fi - - # if built without SLP, we don't need to be before avahi - sed -i \ - -e '/before/{s/avahi-daemon//g}' \ - "${ED}"/etc/init.d/slapd \ - || die - - if use cxx ; then - einfo "Install the ldapc++ library" - cd "${BUILD_DIR}/contrib/ldapc++" || die - emake DESTDIR="${D}" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - cd "${S}"/contrib/ldapc++ || die - newdoc README ldapc++-README - fi - - if use smbkrb5passwd ; then - einfo "Install the smbk5pwd module" - cd "${S}/contrib/slapd-modules/smbk5pwd" || die - emake DESTDIR="${D}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - newdoc README smbk5pwd-README - fi - - if use overlays ; then - einfo "Install the samba4 module" - cd "${S}/contrib/slapd-modules/samba4" || die - emake DESTDIR="${D}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - newdoc README samba4-README - fi - - einfo "Installing contrib modules" - cd "${S}/contrib/slapd-modules" || die - for l in */*.la */*/*.la; do - [[ -e ${l} ]] || continue - libtool --mode=install cp ${l} \ - "${ED}"/usr/$(get_libdir)/openldap/openldap || \ - die "installing ${l} failed" - done - - dodoc "${FILESDIR}"/DB_CONFIG.fast.example - docinto contrib - doman */*.5 - #newdoc acl/README* - newdoc addpartial/README addpartial-README - newdoc allop/README allop-README - newdoc allowed/README allowed-README - newdoc autogroup/README autogroup-README - newdoc dsaschema/README dsaschema-README - newdoc passwd/README passwd-README - cd "${S}/contrib/slapi-plugins" || die - insinto /usr/$(get_libdir)/openldap/openldap - doins */*.so - docinto contrib - newdoc addrdnvalues/README addrdnvalues-README - - insinto /etc/openldap/schema - newins "${DISTDIR}"/${BIS_P} ${BIS_PN} - - docinto back-sock ; dodoc "${S}"/servers/slapd/back-sock/searchexample* - docinto back-perl ; dodoc "${S}"/servers/slapd/back-perl/SampleLDAP.pm - - dosbin "${S}"/contrib/slapd-tools/statslog - newdoc "${S}"/contrib/slapd-tools/README README.statslog - fi - - if ! use static-libs ; then - find "${ED}" \( -name '*.a' -o -name '*.la' \) -delete || die - fi -} - -multilib_src_install_all() { - dodoc ANNOUNCEMENT CHANGES COPYRIGHT README - docinto rfc ; dodoc doc/rfc/*.txt -} - -pkg_preinst() { - # keep old libs if any - preserve_old_lib /usr/$(get_libdir)/{liblber,libldap,libldap_r}-2.4$(get_libname 0) - # bug 440470, only display the getting started help there was no openldap before, - # or we are going to a non-minimal build - ! has_version net-nds/openldap || has_version 'net-nds/openldap[minimal]' - OPENLDAP_PRINT_MESSAGES=$((! $?)) -} - -pkg_postinst() { - if ! use minimal ; then - if use systemd; then - tmpfiles_process slapd.conf - fi - - # You cannot build SSL certificates during src_install that will make - # binary packages containing your SSL key, which is both a security risk - # and a misconfiguration if multiple machines use the same key and cert. - if use ssl; then - install_cert /etc/openldap/ssl/ldap - use prefix || chown ldap:ldap "${EROOT}"/etc/openldap/ssl/ldap.* - ewarn "Self-signed SSL certificates are treated harshly by OpenLDAP 2.[12]" - ewarn "Self-signed SSL certificates are treated harshly by OpenLDAP 2.[12]" - ewarn "add 'TLS_REQCERT allow' if you want to use them." - fi - - if use prefix; then - # Warn about prefix issues with slapd - eerror "slapd might NOT be usable on Prefix systems as it requires root privileges" - eerror "to start up, and requires that certain files directories be owned by" - eerror "ldap:ldap. As Prefix does not support changing ownership of files and" - eerror "directories, you will have to manually fix this yourself." - fi - - # These lines force the permissions of various content to be correct - if [[ -d "${EROOT}"/var/run/openldap ]]; then - use prefix || { chown ldap:ldap "${EROOT}"/var/run/openldap || die; } - chmod 0755 "${EROOT}"/var/run/openldap || die - fi - use prefix || chown root:ldap "${EROOT}"/etc/openldap/slapd.conf{,.default} - chmod 0640 "${EROOT}"/etc/openldap/slapd.conf{,.default} || die - use prefix || chown ldap:ldap "${EROOT}"/var/lib/openldap-data - fi - - if has_version 'net-nds/openldap[-minimal]' && ((${OPENLDAP_PRINT_MESSAGES})); then - elog "Getting started using OpenLDAP? There is some documentation available:" - elog "Gentoo Guide to OpenLDAP Authentication" - elog "(https://wiki.gentoo.org/wiki/Centralized_authentication_using_OpenLDAP)" - fi - - preserve_old_lib_notify /usr/$(get_libdir)/{liblber,libldap,libldap_r}-2.4$(get_libname 0) -} diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.6-r2.ebuild b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.6-r2.ebuild deleted file mode 100644 index 76db88d237..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.6-r2.ebuild +++ /dev/null @@ -1,874 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Re cleanups: -# 2.5.x is an LTS release so we want to keep it for a while. - -inherit autotools flag-o-matic multilib multilib-minimal preserve-libs -inherit ssl-cert toolchain-funcs systemd tmpfiles - -MY_PV="$(ver_rs 1-2 _)" - -BIS_PN=rfc2307bis.schema -BIS_PV=20140524 -BIS_P="${BIS_PN}-${BIS_PV}" - -DESCRIPTION="LDAP suite of application and development tools" -HOMEPAGE="https://www.openldap.org/" -SRC_URI=" - https://gitlab.com/openldap/${PN}/-/archive/OPENLDAP_REL_ENG_${MY_PV}/${PN}-OPENLDAP_REL_ENG_${MY_PV}.tar.bz2 - mirror://gentoo/${BIS_P} -" -S="${WORKDIR}"/${PN}-OPENLDAP_REL_ENG_${MY_PV} - -LICENSE="OPENLDAP GPL-2" -# Subslot added for bug #835654 -SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" - -IUSE_DAEMON="argon2 +cleartext crypt experimental minimal samba tcpd" -IUSE_OVERLAY="overlays perl autoca" -IUSE_OPTIONAL="debug gnutls iodbc odbc sasl ssl selinux static-libs +syslog test" -IUSE_CONTRIB="kerberos kinit pbkdf2 sha2 smbkrb5passwd" -IUSE_CONTRIB="${IUSE_CONTRIB} cxx" -IUSE="systemd ${IUSE_DAEMON} ${IUSE_BACKEND} ${IUSE_OVERLAY} ${IUSE_OPTIONAL} ${IUSE_CONTRIB}" -REQUIRED_USE=" - cxx? ( sasl ) - pbkdf2? ( ssl ) - test? ( cleartext sasl debug ) - autoca? ( !gnutls ) - ?? ( test minimal ) - kerberos? ( ?? ( kinit smbkrb5passwd ) ) -" -RESTRICT="!test? ( test )" - -SYSTEM_LMDB_VER=0.9.31 -# openssl is needed to generate lanman-passwords required by samba -COMMON_DEPEND=" - kernel_linux? ( sys-apps/util-linux ) - ssl? ( - !gnutls? ( - >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] - ) - gnutls? ( - >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] - >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] - ) - ) - sasl? ( dev-libs/cyrus-sasl:= ) - !minimal? ( - dev-libs/libevent:= - dev-libs/libltdl - sys-fs/e2fsprogs - >=dev-db/lmdb-${SYSTEM_LMDB_VER}:= - argon2? ( app-crypt/argon2:= ) - crypt? ( virtual/libcrypt:= ) - tcpd? ( sys-apps/tcp-wrappers ) - odbc? ( !iodbc? ( dev-db/unixODBC ) - iodbc? ( dev-db/libiodbc ) ) - perl? ( dev-lang/perl:=[-build(-)] ) - samba? ( - dev-libs/openssl:0= - ) - smbkrb5passwd? ( - dev-libs/openssl:0= - kerberos? ( app-crypt/heimdal ) - ) - kerberos? ( - virtual/krb5 - kinit? ( !app-crypt/heimdal ) - ) - ) -" -DEPEND=" - ${COMMON_DEPEND} - sys-apps/groff -" -RDEPEND=" - ${COMMON_DEPEND} - selinux? ( sec-policy/selinux-ldap ) -" - -# The user/group are only used for running daemons which are -# disabled in minimal builds, so elide the accounts too. -BDEPEND=" - !minimal? ( - acct-group/ldap - acct-user/ldap - ) -" - -# for tracking versions -OPENLDAP_VERSIONTAG=".version-tag" -OPENLDAP_DEFAULTDIR_VERSIONTAG="/var/lib/openldap-data" - -MULTILIB_WRAPPED_HEADERS=( - # USE=cxx - /usr/include/LDAPAsynConnection.h - /usr/include/LDAPAttrType.h - /usr/include/LDAPAttribute.h - /usr/include/LDAPAttributeList.h - /usr/include/LDAPConnection.h - /usr/include/LDAPConstraints.h - /usr/include/LDAPControl.h - /usr/include/LDAPControlSet.h - /usr/include/LDAPEntry.h - /usr/include/LDAPEntryList.h - /usr/include/LDAPException.h - /usr/include/LDAPExtResult.h - /usr/include/LDAPMessage.h - /usr/include/LDAPMessageQueue.h - /usr/include/LDAPModList.h - /usr/include/LDAPModification.h - /usr/include/LDAPObjClass.h - /usr/include/LDAPRebind.h - /usr/include/LDAPRebindAuth.h - /usr/include/LDAPReferenceList.h - /usr/include/LDAPResult.h - /usr/include/LDAPSaslBindResult.h - /usr/include/LDAPSchema.h - /usr/include/LDAPSearchReference.h - /usr/include/LDAPSearchResult.h - /usr/include/LDAPSearchResults.h - /usr/include/LDAPUrl.h - /usr/include/LDAPUrlList.h - /usr/include/LdifReader.h - /usr/include/LdifWriter.h - /usr/include/SaslInteraction.h - /usr/include/SaslInteractionHandler.h - /usr/include/StringList.h - /usr/include/TlsOptions.h -) - -PATCHES=( - "${FILESDIR}"/${PN}-2.4.28-fix-dash.patch - "${FILESDIR}"/${PN}-2.6.1-system-mdb.patch - "${FILESDIR}"/${PN}-2.6.1-cloak.patch - "${FILESDIR}"/${PN}-2.6.1-flags.patch - "${FILESDIR}"/${PN}-2.6.1-fix-missing-mapping.patch - "${FILESDIR}"/${PN}-2.6.6-fix-type-mismatch-lloadd.patch - "${FILESDIR}"/${PN}-2.6.x-gnutls-pointer-error.patch - "${FILESDIR}"/${PN}-2.6.x-slapd-pointer-types.patch -) - -openldap_filecount() { - local dir="$1" - find "${dir}" -type f ! -name '.*' ! -name 'DB_CONFIG*' | wc -l -} - -openldap_find_versiontags() { - # scan for all datadirs - local openldap_datadirs=() - if [[ -f "${EROOT}"/etc/openldap/slapd.conf ]]; then - openldap_datadirs=( $(awk '{if($1 == "directory") print $2 }' "${EROOT}"/etc/openldap/slapd.conf) ) - fi - openldap_datadirs+=( ${OPENLDAP_DEFAULTDIR_VERSIONTAG} ) - - einfo - einfo "Scanning datadir(s) from slapd.conf and" - einfo "the default installdir for Versiontags" - einfo "(${OPENLDAP_DEFAULTDIR_VERSIONTAG} may appear twice)" - einfo - - # scan datadirs if we have a version tag - openldap_found_tag=0 - have_files=0 - for each in ${openldap_datadirs[@]} ; do - CURRENT_TAGDIR="${EROOT}$(sed "s:\/::" <<< ${each})" - CURRENT_TAG="${CURRENT_TAGDIR}/${OPENLDAP_VERSIONTAG}" - if [[ -d "${CURRENT_TAGDIR}" ]] && [[ "${openldap_found_tag}" == 0 ]] ; then - einfo "- Checking ${each}..." - if [[ -r "${CURRENT_TAG}" ]] ; then - # yey, we have one :) - einfo " Found Versiontag in ${each}" - source "${CURRENT_TAG}" - if [[ "${OLDPF}" == "" ]] ; then - eerror "Invalid Versiontag found in ${CURRENT_TAGDIR}" - eerror "Please delete it" - eerror - die "Please kill the invalid versiontag in ${CURRENT_TAGDIR}" - fi - - OLD_MAJOR=$(ver_cut 2-3 ${OLDPF}) - - [[ "$(openldap_filecount ${CURRENT_TAGDIR})" -gt 0 ]] && have_files=1 - - # are we on the same branch? - if [[ "${OLD_MAJOR}" != "${PV:0:3}" ]] ; then - ewarn " Versiontag doesn't match current major release!" - if [[ "${have_files}" == "1" ]] ; then - eerror " Versiontag says other major and you (probably) have datafiles!" - echo - openldap_upgrade_howto - else - einfo " No real problem, seems there's no database." - fi - else - einfo " Versiontag is fine here :)" - fi - else - einfo " Non-tagged dir ${each}" - [[ "$(openldap_filecount ${each})" -gt 0 ]] && have_files=1 - if [[ "${have_files}" == "1" ]] ; then - einfo " EEK! Non-empty non-tagged datadir, counting `ls -a ${each} | wc -l` files" - echo - - eerror - eerror "Your OpenLDAP Installation has a non tagged datadir that" - eerror "possibly contains a database at ${CURRENT_TAGDIR}" - eerror - eerror "Please export data if any entered and empty or remove" - eerror "the directory, installation has been stopped so you" - eerror "can take required action" - eerror - eerror "For a HOWTO on exporting the data, see instructions in the ebuild" - eerror - openldap_upgrade_howto - die "Please move the datadir ${CURRENT_TAGDIR} away" - fi - fi - einfo - fi - done - [[ "${have_files}" == "1" ]] && einfo "DB files present" || einfo "No DB files present" - - # Now we must check for the major version of sys-libs/db linked against. - # TODO: remove this as we dropped bdb support (gone upstream) in 2.6.1? - SLAPD_PATH="${EROOT}/usr/$(get_libdir)/openldap/slapd" - if [[ "${have_files}" == "1" ]] && [[ -f "${SLAPD_PATH}" ]]; then - OLDVER="$(/usr/bin/ldd ${SLAPD_PATH} \ - | awk '/libdb-/{gsub("^libdb-","",$1);gsub(".so$","",$1);print $1}')" - local fail=0 - - # This will not cover detection of cn=Config based configuration, but - # it's hopefully good enough. - if grep -sq '^backend.*shell' "${EROOT}"/etc/openldap/slapd.conf; then - eerror " OpenLDAP >= 2.5.x has dropped support for Shell backend." - eerror " You will need to migrate per upstream's migration notes" - eerror " at https://www.openldap.org/doc/admin25/appendix-upgrading.html." - eerror " Your existing database will not be accessible until it is" - eerror " converted away from backend shell!" - echo - fail=1 - fi - if has_version "${CATEGORY}/${PN}[berkdb]" || grep -sq '^backend.*(bdb|hdb)' /etc/openldap/slapd.conf; then - eerror " OpenLDAP >= 2.5.x has dropped support for Berkeley DB." - eerror " You will need to migrate per upstream's migration notes" - eerror " at https://www.openldap.org/doc/admin25/appendix-upgrading.html." - eerror " Your existing database will not be accessible until it is" - eerror " converted to mdb!" - echo - fail=1 - elif [[ -z "${OLDVER}" ]] && [[ -z "${NEWVER}" ]]; then - : - # Nothing wrong here. - elif [[ -z "${OLDVER}" ]] && [[ -n "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was not built against" - eerror " any version of sys-libs/db, but the new one will build" - eerror " against ${NEWVER} and your database may be inaccessible." - echo - fail=1 - elif [[ -n "${OLDVER}" ]] && [[ -z "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was built against" - eerror " sys-libs/db:${OLDVER}, but the new one will not be" - eerror " built against any version and your database may be" - eerror " inaccessible." - echo - fail=1 - elif [[ "${OLDVER}" != "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was built against" - eerror " sys-libs/db:${OLDVER}, but the new one will build against" - eerror " ${NEWVER} and your database would be inaccessible." - echo - fail=1 - fi - [[ "${fail}" == "1" ]] && openldap_upgrade_howto - fi - - echo - einfo - einfo "All datadirs are fine, proceeding with merge now..." - einfo -} - -openldap_upgrade_howto() { - local d l i - eerror - eerror "A (possible old) installation of OpenLDAP was detected," - eerror "installation will not proceed for now." - eerror - eerror "As major version upgrades can corrupt your database," - eerror "you need to dump your database and re-create it afterwards." - eerror - eerror "Additionally, rebuilding against different major versions of the" - eerror "sys-libs/db libraries will cause your database to be inaccessible." - eerror "" - d="$(date -u +%s)" - l="/root/ldapdump.${d}" - i="${l}.raw" - eerror " 1. /etc/init.d/slapd stop" - eerror " 2. slapcat -l ${i}" - eerror " 3. grep -E -v '^(entry|context)CSN:' <${i} >${l}" - eerror " 4. mv /var/lib/openldap-data/ /var/lib/openldap-data-backup/" - eerror " 5. emerge --update \=net-nds/${PF}" - eerror " 6. etc-update, and ensure that you apply the changes" - eerror " 7. slapadd -l ${l}" - eerror " 8. chown ldap:ldap /var/lib/openldap-data/*" - eerror " 9. /etc/init.d/slapd start" - eerror "10. Check that your data is intact." - eerror "11. Set up the new replication system." - eerror - if [[ "${FORCE_UPGRADE}" != "1" ]]; then - die "You need to upgrade your database first" - else - eerror "You have the magical FORCE_UPGRADE=1 in place." - eerror "Don't say you weren't warned about data loss." - fi -} - -pkg_setup() { - if ! use sasl && use cxx ; then - die "To build the ldapc++ library you must emerge openldap with sasl support" - fi - # Bug #322787 - if use minimal && ! has_version "net-nds/openldap" ; then - einfo "No datadir scan needed, openldap not installed" - elif use minimal && has_version 'net-nds/openldap[minimal]' ; then - einfo "Skipping scan for previous datadirs as requested by minimal useflag" - else - openldap_find_versiontags - fi -} - -src_prepare() { - # The system copy of dev-db/lmdb must match the version that this copy - # of OpenLDAP shipped with! See bug #588792. - # - # Fish out MDB_VERSION_MAJOR/MDB_VERSION_MINOR/MDB_VERSION_PATCH from - # the bundled lmdb's header to find out the version. - local bundled_lmdb_version=$(sed -En '/^#define MDB_VERSION_(MAJOR|MINOR|PATCH)(\s+)?/{s/[^0-9.]//gp}' \ - libraries/liblmdb/lmdb.h || die) - printf -v bundled_lmdb_version "%s." ${bundled_lmdb_version} - - if [[ ${SYSTEM_LMDB_VER}. != ${bundled_lmdb_version} ]] ; then - eerror "Source lmdb version: ${bundled_lmdb_version}" - eerror "Ebuild lmdb version: ${SYSTEM_LMDB_VER}" - die "Ebuild needs to update SYSTEM_LMDB_VER!" - fi - - rm -r libraries/liblmdb || die 'could not removed bundled lmdb directory' - - local filename - for filename in doc/drafts/draft-ietf-ldapext-acl-model-xx.txt; do - iconv -f iso-8859-1 -t utf-8 "${filename}" > "${filename}.utf8" - mv "${filename}.utf8" "${filename}" - done - - default - - sed -i \ - -e "s:\$(localstatedir)/run:${EPREFIX}/run:" \ - -e '/MKDIR.*.(DESTDIR)\/run/d' \ - servers/slapd/Makefile.in || die 'adjusting slapd Makefile.in failed' - - pushd build &>/dev/null || die "pushd build" - einfo "Making sure upstream build strip does not do stripping too early" - sed -i.orig \ - -e '/^STRIP/s,-s,,g' \ - top.mk || die "Failed to remove too early stripping" - popd &>/dev/null || die - - # Fails with OpenSSL 3, bug #848894 - # https://bugs.openldap.org/show_bug.cgi?id=10009 - rm tests/scripts/test076-authid-rewrite || die - - eautoreconf - multilib_copy_sources -} - -build_contrib_module() { - # [] - pushd "${S}/contrib/slapd-modules/$1" &>/dev/null || die "pushd contrib/slapd-modules/$1" - einfo "Compiling contrib-module: $1" - local target="${2:-all}" - emake \ - LDAP_BUILD="${BUILD_DIR}" prefix="${EPREFIX}/usr" \ - CC="${CC}" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" \ - "${target}" - popd &>/dev/null || die -} - -multilib_src_configure() { - # Optional Features - myconf+=( - --enable-option-checking - $(use_enable debug) - --enable-dynamic - $(use_enable syslog) - --enable-ipv6 - --enable-local - ) - - # Optional Packages - myconf+=( - --without-fetch - $(multilib_native_use_with sasl cyrus-sasl) - ) - - if use experimental ; then - # connectionless ldap per bug #342439 - # connectionless is a unsupported feature according to Howard Chu - # see https://bugs.openldap.org/show_bug.cgi?id=9739 - # (see also bug #892009) - append-flags -DLDAP_CONNECTIONLESS - fi - - if ! use minimal && multilib_is_native_abi; then - # SLAPD (Standalone LDAP Daemon) Options - # overlay chaining requires '--enable-ldap' #296567 - # see https://www.openldap.org/doc/admin26/overlays.html#Chaining - myconf+=( - --enable-ldap=yes - --enable-slapd - $(use_enable cleartext) - $(use_enable crypt) - $(multilib_native_use_enable sasl spasswd) - --disable-slp - $(use_enable tcpd wrappers) - ) - if use experimental ; then - myconf+=( - --enable-dynacl - # ACI build as dynamic module not supported (yet) - --enable-aci=yes - ) - fi - - for option in modules rlookups slapi; do - myconf+=( --enable-${option} ) - done - - # static SLAPD backends - for backend in mdb; do - myconf+=( --enable-${backend}=yes ) - done - - # module SLAPD backends - for backend in asyncmeta dnssrv meta null passwd relay sock; do - # missing modules: wiredtiger (not available in portage) - myconf+=( --enable-${backend}=mod ) - done - - use perl && myconf+=( --enable-perl=mod ) - - if use odbc ; then - myconf+=( --enable-sql=mod ) - if use iodbc ; then - myconf+=( --with-odbc="iodbc" ) - append-cflags -I"${EPREFIX}"/usr/include/iodbc - else - myconf+=( --with-odbc="unixodbc" ) - fi - fi - - use overlays && myconf+=( --enable-overlays=mod ) - use autoca && myconf+=( --enable-autoca=mod ) || myconf+=( --enable-autoca=no ) - # compile-in the syncprov - myconf+=( --enable-syncprov=yes ) - - # Build the standalone load balancer (lloadd) - also available as a slapd module; --enable-balancer=mod - myconf+=( --enable-balancer=yes ) - - # SLAPD Password Module Options - myconf+=( - $(use_enable argon2) - ) - - # Optional Packages - myconf+=( - $(use_with systemd) - ) - else - myconf+=( - --disable-backends - --disable-slapd - --disable-mdb - --disable-overlays - --disable-autoca - --disable-syslog - --without-systemd - ) - fi - - # Library Generation & Linking Options - myconf+=( - $(use_enable static-libs static) - --enable-shared - --enable-versioning - --with-pic - ) - - # some cross-compiling tests don't pan out well. - tc-is-cross-compiler && myconf+=( - --with-yielding-select=yes - ) - - local ssl_lib="no" - if use ssl || ( ! use minimal && use samba ) ; then - if use gnutls ; then - myconf+=( --with-tls="gnutls" ) - else - # disable MD2 hash function - append-cflags -DOPENSSL_NO_MD2 - myconf+=( --with-tls="openssl" ) - fi - else - myconf+=( --with-tls="no" ) - fi - - tc-export AR CC CXX - - ECONF_SOURCE="${S}" econf \ - --libexecdir="${EPREFIX}"/usr/$(get_libdir)/openldap \ - --localstatedir="${EPREFIX}"/var \ - --runstatedir="${EPREFIX}"/run \ - --sharedstatedir="${EPREFIX}"/var/lib \ - "${myconf[@]}" - - # argument '--runstatedir' seems to have no effect therefore this workaround - sed -i \ - -e 's:^runstatedir=.*:runstatedir=${EPREFIX}/run:' \ - configure contrib/ldapc++/configure contrib/ldaptcl/configure || die 'could not set runstatedir' - - sed -i \ - -e "s:/var/run/sasl2/mux:${EPREFIX}/run/sasl2/mux:" \ - doc/guide/admin/security.sdf || die 'could not fix run path in doc' - - emake depend -} - -src_configure_cxx() { - # This needs the libraries built by the first build run. - # we have to run it AFTER the main build, not just after the main configure - local myconf_ldapcpp=( - --with-libldap="${E}/lib" - --with-ldap-includes="${S}/include" - ) - - mkdir -p "${BUILD_DIR}"/contrib/ldapc++ || die "could not create ${BUILD_DIR}/contrib/ldapc++ directory" - pushd "${BUILD_DIR}/contrib/ldapc++" &>/dev/null || die "pushd contrib/ldapc++" - - local LDFLAGS="${LDFLAGS}" - local CPPFLAGS="${CPPFLAGS}" - - append-ldflags -L"${BUILD_DIR}"/libraries/liblber/.libs -L"${BUILD_DIR}"/libraries/libldap/.libs - append-cppflags -I"${BUILD_DIR}"/include - - ECONF_SOURCE="${S}"/contrib/ldapc++ econf "${myconf_ldapcpp[@]}" - popd &>/dev/null || die "popd contrib/ldapc++" -} - -multilib_src_compile() { - tc-export AR CC CXX - emake CC="$(tc-getCC)" SHELL="${EPREFIX}"/bin/sh - - if ! use minimal && multilib_is_native_abi ; then - if use cxx ; then - einfo "Building contrib library: ldapc++" - src_configure_cxx - pushd "${BUILD_DIR}/contrib/ldapc++" &>/dev/null || die "pushd contrib/ldapc++" - emake - popd &>/dev/null || die - fi - - if use smbkrb5passwd ; then - einfo "Building contrib-module: smbk5pwd" - pushd "${S}/contrib/slapd-modules/smbk5pwd" &>/dev/null || die "pushd contrib/slapd-modules/smbk5pwd" - - MY_DEFS="-DDO_SHADOW" - if use samba ; then - MY_DEFS="${MY_DEFS} -DDO_SAMBA" - MY_KRB5_INC="" - fi - if use kerberos ; then - MY_DEFS="${MY_DEFS} -DDO_KRB5" - MY_KRB5_INC="$(krb5-config --cflags)" - fi - - emake \ - DEFS="${MY_DEFS}" \ - KRB5_INC="${MY_KRB5_INC}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" - popd &>/dev/null || die - fi - - if use overlays ; then - einfo "Building contrib-module: samba4" - pushd "${S}/contrib/slapd-modules/samba4" &>/dev/null || die "pushd contrib/slapd-modules/samba4" - - emake \ - LDAP_BUILD="${BUILD_DIR}" \ - CC="$(tc-getCC)" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" - popd &>/dev/null || die - fi - - if use kerberos ; then - if use kinit ; then - build_contrib_module "kinit" "kinit.c" "kinit" - fi - build_contrib_module "passwd" "pw-kerberos.la" - fi - - if use pbkdf2; then - build_contrib_module "passwd/pbkdf2" - fi - - if use sha2 ; then - build_contrib_module "passwd/sha2" - fi - - # We could build pw-radius if GNURadius would install radlib.h - build_contrib_module "passwd" "pw-netscape.la" - - #build_contrib_module "acl" "posixgroup.la" # example code only - #build_contrib_module "acl" "gssacl.la" # example code only, also needs kerberos - build_contrib_module "addpartial" - build_contrib_module "allop" - build_contrib_module "allowed" - build_contrib_module "autogroup" - build_contrib_module "cloak" - # build_contrib_module "comp_match" # really complex, adds new external deps, questionable demand - build_contrib_module "denyop" - build_contrib_module "dsaschema" - build_contrib_module "dupent" - build_contrib_module "lastbind" - # lastmod may not play well with other overlays - build_contrib_module "lastmod" - build_contrib_module "noopsrch" - #build_contrib_module "nops" https://bugs.gentoo.org/641576 - #build_contrib_module "nssov" RESO:LATER - build_contrib_module "trace" - # build slapi-plugins - pushd "${S}/contrib/slapi-plugins/addrdnvalues" &>/dev/null || die "pushd contrib/slapi-plugins/addrdnvalues" - einfo "Building contrib-module: addrdnvalues plugin" - $(tc-getCC) -shared \ - -I"${BUILD_DIR}"/include \ - -I../../../include \ - ${CPPFLAGS} \ - ${CFLAGS} \ - -fPIC \ - ${LDFLAGS} \ - -o libaddrdnvalues-plugin.so \ - addrdnvalues.c || die "Building libaddrdnvalues-plugin.so failed" - popd &>/dev/null || die - fi -} - -multilib_src_test() { - if multilib_is_native_abi; then - cd tests || die - pwd - - # Increase various test timeouts/delays, bug #894012 - # We can't just double everything as there's a cumulative effect. - export SLEEP0=2 # originally 1 - export SLEEP1=10 # originally 7 - export SLEEP2=20 # originally 15 - export TIMEOUT=16 # originally 8 - - # emake test => runs only lloadd & mdb, in serial; skips ldif,sql,wt,regression - # emake partests => runs ALL of the tests in parallel - # wt/WiredTiger is not supported in Gentoo - TESTS=( plloadd pmdb ) - #TESTS+=( pldif ) # not done by default, so also exclude here - #use odbc && TESTS+=( psql ) # not done by default, so also exclude here - - emake -Onone "${TESTS[@]}" - fi -} - -multilib_src_install() { - emake CC="$(tc-getCC)" \ - DESTDIR="${D}" SHELL="${EPREFIX}"/bin/sh install - - if ! use minimal && multilib_is_native_abi; then - # openldap modules go here - # TODO: write some code to populate slapd.conf with moduleload statements - keepdir /usr/$(get_libdir)/openldap/openldap/ - - # initial data storage dir - keepdir /var/lib/openldap-data - use prefix || fowners ldap:ldap /var/lib/openldap-data - fperms 0700 /var/lib/openldap-data - - echo "OLDPF='${PF}'" > "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - echo "# do NOT delete this. it is used" >> "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - echo "# to track versions for upgrading." >> "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - - # use our config - rm "${ED}"/etc/openldap/slapd.conf - insinto /etc/openldap - newins "${FILESDIR}"/${PN}-2.6.3-slapd-conf slapd.conf - configfile="${ED}"/etc/openldap/slapd.conf - - # populate with built backends - einfo "populate config with built backends" - for x in "${ED}"/usr/$(get_libdir)/openldap/openldap/back_*.so; do - einfo "Adding $(basename ${x})" - sed -e "/###INSERTDYNAMICMODULESHERE###$/a# moduleload\t$(basename ${x})" -i "${configfile}" || die - done - sed -e "s:###INSERTDYNAMICMODULESHERE###$:# modulepath\t${EPREFIX}/usr/$(get_libdir)/openldap/openldap:" \ - -i "${configfile}" || die - use prefix || fowners root:ldap /etc/openldap/slapd.conf - fperms 0640 /etc/openldap/slapd.conf - cp "${configfile}" "${configfile}".default || die - - # install our own init scripts and systemd unit files - einfo "Install init scripts" - sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd-initd-2.4.40-r2 > "${T}"/slapd || die - doinitd "${T}"/slapd - newconfd "${FILESDIR}"/slapd-confd-2.6.1 slapd - - if use systemd; then - # The systemd unit uses Type=notify, so it is useless without USE=systemd - einfo "Install systemd service" - rm -rf "${ED}"/{,usr/}lib/systemd - sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd-2.6.1.service > "${T}"/slapd.service || die - systemd_dounit "${T}"/slapd.service - systemd_install_serviced "${FILESDIR}"/slapd.service.conf - newtmpfiles "${FILESDIR}"/slapd.tmpfilesd slapd.conf - fi - - # if built without SLP, we don't need to be before avahi - sed -i \ - -e '/before/{s/avahi-daemon//g}' \ - "${ED}"/etc/init.d/slapd \ - || die - - if use cxx ; then - einfo "Install the ldapc++ library" - cd "${BUILD_DIR}/contrib/ldapc++" || die - emake DESTDIR="${D}" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - cd "${S}"/contrib/ldapc++ || die - newdoc README ldapc++-README - fi - - if use smbkrb5passwd ; then - einfo "Install the smbk5pwd module" - cd "${S}/contrib/slapd-modules/smbk5pwd" || die - emake DESTDIR="${D}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - newdoc README smbk5pwd-README - fi - - if use overlays ; then - einfo "Install the samba4 module" - cd "${S}/contrib/slapd-modules/samba4" || die - emake DESTDIR="${D}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - newdoc README samba4-README - fi - - einfo "Installing contrib modules" - cd "${S}/contrib/slapd-modules" || die - for l in */*.la */*/*.la; do - [[ -e ${l} ]] || continue - libtool --mode=install cp ${l} \ - "${ED}"/usr/$(get_libdir)/openldap/openldap || \ - die "installing ${l} failed" - done - - dodoc "${FILESDIR}"/DB_CONFIG.fast.example - docinto contrib - doman */*.5 - #newdoc acl/README* - newdoc addpartial/README addpartial-README - newdoc allop/README allop-README - newdoc allowed/README allowed-README - newdoc autogroup/README autogroup-README - newdoc dsaschema/README dsaschema-README - newdoc passwd/README passwd-README - cd "${S}/contrib/slapi-plugins" || die - insinto /usr/$(get_libdir)/openldap/openldap - doins */*.so - docinto contrib - newdoc addrdnvalues/README addrdnvalues-README - - insinto /etc/openldap/schema - newins "${DISTDIR}"/${BIS_P} ${BIS_PN} - - docinto back-sock ; dodoc "${S}"/servers/slapd/back-sock/searchexample* - docinto back-perl ; dodoc "${S}"/servers/slapd/back-perl/SampleLDAP.pm - - dosbin "${S}"/contrib/slapd-tools/statslog - newdoc "${S}"/contrib/slapd-tools/README README.statslog - fi - - if ! use static-libs ; then - find "${ED}" \( -name '*.a' -o -name '*.la' \) -delete || die - fi -} - -multilib_src_install_all() { - dodoc ANNOUNCEMENT CHANGES COPYRIGHT README - docinto rfc ; dodoc doc/rfc/*.txt - rmdir -p "${D}"/var/openldap-lloadd # Created but not used by any part of current codebase. -} - -pkg_preinst() { - # keep old libs if any - preserve_old_lib /usr/$(get_libdir)/{liblber,libldap,libldap_r}-2.4$(get_libname 0) - # bug 440470, only display the getting started help there was no openldap before, - # or we are going to a non-minimal build - ! has_version net-nds/openldap || has_version 'net-nds/openldap[minimal]' - OPENLDAP_PRINT_MESSAGES=$((! $?)) -} - -pkg_postinst() { - if ! use minimal ; then - if use systemd; then - tmpfiles_process slapd.conf - fi - - # You cannot build SSL certificates during src_install that will make - # binary packages containing your SSL key, which is both a security risk - # and a misconfiguration if multiple machines use the same key and cert. - if use ssl; then - install_cert /etc/openldap/ssl/ldap - use prefix || chown ldap:ldap "${EROOT}"/etc/openldap/ssl/ldap.* - ewarn "Self-signed SSL certificates are treated harshly by OpenLDAP 2.[12]" - ewarn "Self-signed SSL certificates are treated harshly by OpenLDAP 2.[12]" - ewarn "add 'TLS_REQCERT allow' if you want to use them." - fi - - if use prefix; then - # Warn about prefix issues with slapd - eerror "slapd might NOT be usable on Prefix systems as it requires root privileges" - eerror "to start up, and requires that certain files directories be owned by" - eerror "ldap:ldap. As Prefix does not support changing ownership of files and" - eerror "directories, you will have to manually fix this yourself." - fi - - # These lines force the permissions of various content to be correct - if [[ -d "${EROOT}"/var/run/openldap ]]; then - use prefix || { chown ldap:ldap "${EROOT}"/var/run/openldap || die; } - chmod 0755 "${EROOT}"/var/run/openldap || die - fi - use prefix || chown root:ldap "${EROOT}"/etc/openldap/slapd.conf{,.default} - chmod 0640 "${EROOT}"/etc/openldap/slapd.conf{,.default} || die - use prefix || chown ldap:ldap "${EROOT}"/var/lib/openldap-data - fi - - if has_version 'net-nds/openldap[-minimal]' && ((${OPENLDAP_PRINT_MESSAGES})); then - elog "Getting started using OpenLDAP? There is some documentation available:" - elog "Gentoo Guide to OpenLDAP Authentication" - elog "(https://wiki.gentoo.org/wiki/Centralized_authentication_using_OpenLDAP)" - fi - - preserve_old_lib_notify /usr/$(get_libdir)/{liblber,libldap,libldap_r}-2.4$(get_libname 0) -} diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.6-r3.ebuild b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.6-r3.ebuild deleted file mode 100644 index 66fd46cecd..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.6-r3.ebuild +++ /dev/null @@ -1,877 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Re cleanups: -# 2.5.x is an LTS release so we want to keep it for a while. - -inherit autotools flag-o-matic multilib multilib-minimal preserve-libs -inherit ssl-cert toolchain-funcs systemd tmpfiles - -MY_PV="$(ver_rs 1-2 _)" - -BIS_PN=rfc2307bis.schema -BIS_PV=20140524 -BIS_P="${BIS_PN}-${BIS_PV}" - -DESCRIPTION="LDAP suite of application and development tools" -HOMEPAGE="https://www.openldap.org/" -SRC_URI=" - https://gitlab.com/openldap/${PN}/-/archive/OPENLDAP_REL_ENG_${MY_PV}/${PN}-OPENLDAP_REL_ENG_${MY_PV}.tar.bz2 - mirror://gentoo/${BIS_P} -" -S="${WORKDIR}"/${PN}-OPENLDAP_REL_ENG_${MY_PV} - -LICENSE="OPENLDAP GPL-2" -# Subslot added for bug #835654 -SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" - -IUSE_DAEMON="argon2 +cleartext crypt experimental minimal samba tcpd" -IUSE_OVERLAY="overlays perl autoca" -IUSE_OPTIONAL="debug gnutls iodbc odbc sasl ssl selinux static-libs +syslog test" -IUSE_CONTRIB="kerberos kinit pbkdf2 sha2 smbkrb5passwd" -IUSE_CONTRIB="${IUSE_CONTRIB} cxx" -IUSE="systemd ${IUSE_DAEMON} ${IUSE_BACKEND} ${IUSE_OVERLAY} ${IUSE_OPTIONAL} ${IUSE_CONTRIB}" -REQUIRED_USE=" - cxx? ( sasl ) - pbkdf2? ( ssl ) - test? ( cleartext sasl ) - autoca? ( !gnutls ) - ?? ( test minimal ) - kerberos? ( ?? ( kinit smbkrb5passwd ) ) -" -RESTRICT="!test? ( test )" - -SYSTEM_LMDB_VER=0.9.31 -# openssl is needed to generate lanman-passwords required by samba -COMMON_DEPEND=" - kernel_linux? ( sys-apps/util-linux ) - ssl? ( - !gnutls? ( - >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] - ) - gnutls? ( - >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] - >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] - ) - ) - sasl? ( dev-libs/cyrus-sasl:= ) - !minimal? ( - dev-libs/libevent:= - dev-libs/libltdl - sys-fs/e2fsprogs - >=dev-db/lmdb-${SYSTEM_LMDB_VER}:= - argon2? ( app-crypt/argon2:= ) - crypt? ( virtual/libcrypt:= ) - tcpd? ( sys-apps/tcp-wrappers ) - odbc? ( !iodbc? ( dev-db/unixODBC ) - iodbc? ( dev-db/libiodbc ) ) - perl? ( dev-lang/perl:=[-build(-)] ) - samba? ( - dev-libs/openssl:0= - ) - smbkrb5passwd? ( - dev-libs/openssl:0= - kerberos? ( app-crypt/heimdal ) - ) - kerberos? ( - virtual/krb5 - kinit? ( !app-crypt/heimdal ) - ) - ) -" -DEPEND=" - ${COMMON_DEPEND} - sys-apps/groff -" -RDEPEND=" - ${COMMON_DEPEND} - selinux? ( sec-policy/selinux-ldap ) -" - -# The user/group are only used for running daemons which are -# disabled in minimal builds, so elide the accounts too. -BDEPEND=" - !minimal? ( - acct-group/ldap - acct-user/ldap - ) -" - -# for tracking versions -OPENLDAP_VERSIONTAG=".version-tag" -OPENLDAP_DEFAULTDIR_VERSIONTAG="/var/lib/openldap-data" - -MULTILIB_WRAPPED_HEADERS=( - # USE=cxx - /usr/include/LDAPAsynConnection.h - /usr/include/LDAPAttrType.h - /usr/include/LDAPAttribute.h - /usr/include/LDAPAttributeList.h - /usr/include/LDAPConnection.h - /usr/include/LDAPConstraints.h - /usr/include/LDAPControl.h - /usr/include/LDAPControlSet.h - /usr/include/LDAPEntry.h - /usr/include/LDAPEntryList.h - /usr/include/LDAPException.h - /usr/include/LDAPExtResult.h - /usr/include/LDAPMessage.h - /usr/include/LDAPMessageQueue.h - /usr/include/LDAPModList.h - /usr/include/LDAPModification.h - /usr/include/LDAPObjClass.h - /usr/include/LDAPRebind.h - /usr/include/LDAPRebindAuth.h - /usr/include/LDAPReferenceList.h - /usr/include/LDAPResult.h - /usr/include/LDAPSaslBindResult.h - /usr/include/LDAPSchema.h - /usr/include/LDAPSearchReference.h - /usr/include/LDAPSearchResult.h - /usr/include/LDAPSearchResults.h - /usr/include/LDAPUrl.h - /usr/include/LDAPUrlList.h - /usr/include/LdifReader.h - /usr/include/LdifWriter.h - /usr/include/SaslInteraction.h - /usr/include/SaslInteractionHandler.h - /usr/include/StringList.h - /usr/include/TlsOptions.h -) - -PATCHES=( - "${FILESDIR}"/${PN}-2.4.28-fix-dash.patch - "${FILESDIR}"/${PN}-2.6.1-system-mdb.patch - "${FILESDIR}"/${PN}-2.6.1-cloak.patch - "${FILESDIR}"/${PN}-2.6.1-flags.patch - "${FILESDIR}"/${PN}-2.6.1-fix-missing-mapping.v2.patch - "${FILESDIR}"/${PN}-2.6.6-fix-type-mismatch-lloadd.patch - "${FILESDIR}"/${PN}-2.6.x-gnutls-pointer-error.patch - "${FILESDIR}"/${PN}-2.6.x-slapd-pointer-types.patch -) - -openldap_filecount() { - local dir="$1" - find "${dir}" -type f ! -name '.*' ! -name 'DB_CONFIG*' | wc -l -} - -openldap_find_versiontags() { - # scan for all datadirs - local openldap_datadirs=() - if [[ -f "${EROOT}"/etc/openldap/slapd.conf ]]; then - openldap_datadirs=( $(awk '{if($1 == "directory") print $2 }' "${EROOT}"/etc/openldap/slapd.conf) ) - fi - openldap_datadirs+=( ${OPENLDAP_DEFAULTDIR_VERSIONTAG} ) - - einfo - einfo "Scanning datadir(s) from slapd.conf and" - einfo "the default installdir for Versiontags" - einfo "(${OPENLDAP_DEFAULTDIR_VERSIONTAG} may appear twice)" - einfo - - # scan datadirs if we have a version tag - openldap_found_tag=0 - have_files=0 - for each in ${openldap_datadirs[@]} ; do - CURRENT_TAGDIR="${EROOT}$(sed "s:\/::" <<< ${each})" - CURRENT_TAG="${CURRENT_TAGDIR}/${OPENLDAP_VERSIONTAG}" - if [[ -d "${CURRENT_TAGDIR}" ]] && [[ "${openldap_found_tag}" == 0 ]] ; then - einfo "- Checking ${each}..." - if [[ -r "${CURRENT_TAG}" ]] ; then - # yey, we have one :) - einfo " Found Versiontag in ${each}" - source "${CURRENT_TAG}" - if [[ "${OLDPF}" == "" ]] ; then - eerror "Invalid Versiontag found in ${CURRENT_TAGDIR}" - eerror "Please delete it" - eerror - die "Please kill the invalid versiontag in ${CURRENT_TAGDIR}" - fi - - OLD_MAJOR=$(ver_cut 2-3 ${OLDPF}) - - [[ "$(openldap_filecount ${CURRENT_TAGDIR})" -gt 0 ]] && have_files=1 - - # are we on the same branch? - if [[ "${OLD_MAJOR}" != "${PV:0:3}" ]] ; then - ewarn " Versiontag doesn't match current major release!" - if [[ "${have_files}" == "1" ]] ; then - eerror " Versiontag says other major and you (probably) have datafiles!" - echo - openldap_upgrade_howto - else - einfo " No real problem, seems there's no database." - fi - else - einfo " Versiontag is fine here :)" - fi - else - einfo " Non-tagged dir ${each}" - [[ "$(openldap_filecount ${each})" -gt 0 ]] && have_files=1 - if [[ "${have_files}" == "1" ]] ; then - einfo " EEK! Non-empty non-tagged datadir, counting `ls -a ${each} | wc -l` files" - echo - - eerror - eerror "Your OpenLDAP Installation has a non tagged datadir that" - eerror "possibly contains a database at ${CURRENT_TAGDIR}" - eerror - eerror "Please export data if any entered and empty or remove" - eerror "the directory, installation has been stopped so you" - eerror "can take required action" - eerror - eerror "For a HOWTO on exporting the data, see instructions in the ebuild" - eerror - openldap_upgrade_howto - die "Please move the datadir ${CURRENT_TAGDIR} away" - fi - fi - einfo - fi - done - [[ "${have_files}" == "1" ]] && einfo "DB files present" || einfo "No DB files present" - - # Now we must check for the major version of sys-libs/db linked against. - # TODO: remove this as we dropped bdb support (gone upstream) in 2.6.1? - SLAPD_PATH="${EROOT}/usr/$(get_libdir)/openldap/slapd" - if [[ "${have_files}" == "1" ]] && [[ -f "${SLAPD_PATH}" ]]; then - OLDVER="$(/usr/bin/ldd ${SLAPD_PATH} \ - | awk '/libdb-/{gsub("^libdb-","",$1);gsub(".so$","",$1);print $1}')" - local fail=0 - - # This will not cover detection of cn=Config based configuration, but - # it's hopefully good enough. - if grep -sq '^backend.*shell' "${EROOT}"/etc/openldap/slapd.conf; then - eerror " OpenLDAP >= 2.5.x has dropped support for Shell backend." - eerror " You will need to migrate per upstream's migration notes" - eerror " at https://www.openldap.org/doc/admin25/appendix-upgrading.html." - eerror " Your existing database will not be accessible until it is" - eerror " converted away from backend shell!" - echo - fail=1 - fi - if has_version "${CATEGORY}/${PN}[berkdb]" || grep -sq '^backend.*(bdb|hdb)' /etc/openldap/slapd.conf; then - eerror " OpenLDAP >= 2.5.x has dropped support for Berkeley DB." - eerror " You will need to migrate per upstream's migration notes" - eerror " at https://www.openldap.org/doc/admin25/appendix-upgrading.html." - eerror " Your existing database will not be accessible until it is" - eerror " converted to mdb!" - echo - fail=1 - elif [[ -z "${OLDVER}" ]] && [[ -z "${NEWVER}" ]]; then - : - # Nothing wrong here. - elif [[ -z "${OLDVER}" ]] && [[ -n "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was not built against" - eerror " any version of sys-libs/db, but the new one will build" - eerror " against ${NEWVER} and your database may be inaccessible." - echo - fail=1 - elif [[ -n "${OLDVER}" ]] && [[ -z "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was built against" - eerror " sys-libs/db:${OLDVER}, but the new one will not be" - eerror " built against any version and your database may be" - eerror " inaccessible." - echo - fail=1 - elif [[ "${OLDVER}" != "${NEWVER}" ]]; then - eerror " Your existing version of OpenLDAP was built against" - eerror " sys-libs/db:${OLDVER}, but the new one will build against" - eerror " ${NEWVER} and your database would be inaccessible." - echo - fail=1 - fi - [[ "${fail}" == "1" ]] && openldap_upgrade_howto - fi - - echo - einfo - einfo "All datadirs are fine, proceeding with merge now..." - einfo -} - -openldap_upgrade_howto() { - local d l i - eerror - eerror "A (possible old) installation of OpenLDAP was detected," - eerror "installation will not proceed for now." - eerror - eerror "As major version upgrades can corrupt your database," - eerror "you need to dump your database and re-create it afterwards." - eerror - eerror "Additionally, rebuilding against different major versions of the" - eerror "sys-libs/db libraries will cause your database to be inaccessible." - eerror "" - d="$(date -u +%s)" - l="/root/ldapdump.${d}" - i="${l}.raw" - eerror " 1. /etc/init.d/slapd stop" - eerror " 2. slapcat -l ${i}" - eerror " 3. grep -E -v '^(entry|context)CSN:' <${i} >${l}" - eerror " 4. mv /var/lib/openldap-data/ /var/lib/openldap-data-backup/" - eerror " 5. emerge --update \=net-nds/${PF}" - eerror " 6. etc-update, and ensure that you apply the changes" - eerror " 7. slapadd -l ${l}" - eerror " 8. chown ldap:ldap /var/lib/openldap-data/*" - eerror " 9. /etc/init.d/slapd start" - eerror "10. Check that your data is intact." - eerror "11. Set up the new replication system." - eerror - if [[ "${FORCE_UPGRADE}" != "1" ]]; then - die "You need to upgrade your database first" - else - eerror "You have the magical FORCE_UPGRADE=1 in place." - eerror "Don't say you weren't warned about data loss." - fi -} - -pkg_setup() { - if ! use sasl && use cxx ; then - die "To build the ldapc++ library you must emerge openldap with sasl support" - fi - # Bug #322787 - if use minimal && ! has_version "net-nds/openldap" ; then - einfo "No datadir scan needed, openldap not installed" - elif use minimal && has_version 'net-nds/openldap[minimal]' ; then - einfo "Skipping scan for previous datadirs as requested by minimal useflag" - else - openldap_find_versiontags - fi -} - -src_prepare() { - # The system copy of dev-db/lmdb must match the version that this copy - # of OpenLDAP shipped with! See bug #588792. - # - # Fish out MDB_VERSION_MAJOR/MDB_VERSION_MINOR/MDB_VERSION_PATCH from - # the bundled lmdb's header to find out the version. - local bundled_lmdb_version=$(sed -En '/^#define MDB_VERSION_(MAJOR|MINOR|PATCH)(\s+)?/{s/[^0-9.]//gp}' \ - libraries/liblmdb/lmdb.h || die) - printf -v bundled_lmdb_version "%s." ${bundled_lmdb_version} - - if [[ ${SYSTEM_LMDB_VER}. != ${bundled_lmdb_version} ]] ; then - eerror "Source lmdb version: ${bundled_lmdb_version}" - eerror "Ebuild lmdb version: ${SYSTEM_LMDB_VER}" - die "Ebuild needs to update SYSTEM_LMDB_VER!" - fi - - rm -r libraries/liblmdb || die 'could not removed bundled lmdb directory' - - local filename - for filename in doc/drafts/draft-ietf-ldapext-acl-model-xx.txt; do - iconv -f iso-8859-1 -t utf-8 "${filename}" > "${filename}.utf8" - mv "${filename}.utf8" "${filename}" - done - - default - - sed -i \ - -e "s:\$(localstatedir)/run:${EPREFIX}/run:" \ - -e '/MKDIR.*.(DESTDIR)\/run/d' \ - servers/slapd/Makefile.in || die 'adjusting slapd Makefile.in failed' - - pushd build &>/dev/null || die "pushd build" - einfo "Making sure upstream build strip does not do stripping too early" - sed -i.orig \ - -e '/^STRIP/s,-s,,g' \ - top.mk || die "Failed to remove too early stripping" - popd &>/dev/null || die - - # Fails with OpenSSL 3, bug #848894 - # https://bugs.openldap.org/show_bug.cgi?id=10009 - rm tests/scripts/test076-authid-rewrite || die - - eautoreconf - multilib_copy_sources -} - -build_contrib_module() { - # [] - pushd "${S}/contrib/slapd-modules/$1" &>/dev/null || die "pushd contrib/slapd-modules/$1" - einfo "Compiling contrib-module: $1" - local target="${2:-all}" - emake \ - LDAP_BUILD="${BUILD_DIR}" prefix="${EPREFIX}/usr" \ - CC="${CC}" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" \ - "${target}" - popd &>/dev/null || die -} - -multilib_src_configure() { - # Workaround for bug #923334, #938553, #946816 - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) - - # Optional Features - myconf+=( - --enable-option-checking - $(use_enable debug) - --enable-dynamic - $(use_enable syslog) - --enable-ipv6 - --enable-local - ) - - # Optional Packages - myconf+=( - --without-fetch - $(multilib_native_use_with sasl cyrus-sasl) - ) - - if use experimental ; then - # connectionless ldap per bug #342439 - # connectionless is a unsupported feature according to Howard Chu - # see https://bugs.openldap.org/show_bug.cgi?id=9739 - # (see also bug #892009) - append-flags -DLDAP_CONNECTIONLESS - fi - - if ! use minimal && multilib_is_native_abi; then - # SLAPD (Standalone LDAP Daemon) Options - # overlay chaining requires '--enable-ldap' #296567 - # see https://www.openldap.org/doc/admin26/overlays.html#Chaining - myconf+=( - --enable-ldap=yes - --enable-slapd - $(use_enable cleartext) - $(use_enable crypt) - $(multilib_native_use_enable sasl spasswd) - --disable-slp - $(use_enable tcpd wrappers) - ) - if use experimental ; then - myconf+=( - --enable-dynacl - # ACI build as dynamic module not supported (yet) - --enable-aci=yes - ) - fi - - for option in modules rlookups slapi; do - myconf+=( --enable-${option} ) - done - - # static SLAPD backends - for backend in mdb; do - myconf+=( --enable-${backend}=yes ) - done - - # module SLAPD backends - for backend in asyncmeta dnssrv meta null passwd relay sock; do - # missing modules: wiredtiger (not available in portage) - myconf+=( --enable-${backend}=mod ) - done - - use perl && myconf+=( --enable-perl=mod ) - - if use odbc ; then - myconf+=( --enable-sql=mod ) - if use iodbc ; then - myconf+=( --with-odbc="iodbc" ) - append-cflags -I"${EPREFIX}"/usr/include/iodbc - else - myconf+=( --with-odbc="unixodbc" ) - fi - fi - - use overlays && myconf+=( --enable-overlays=mod ) - use autoca && myconf+=( --enable-autoca=mod ) || myconf+=( --enable-autoca=no ) - # compile-in the syncprov - myconf+=( --enable-syncprov=yes ) - - # Build the standalone load balancer (lloadd) - also available as a slapd module; --enable-balancer=mod - myconf+=( --enable-balancer=yes ) - - # SLAPD Password Module Options - myconf+=( - $(use_enable argon2) - ) - - # Optional Packages - myconf+=( - $(use_with systemd) - ) - else - myconf+=( - --disable-backends - --disable-slapd - --disable-mdb - --disable-overlays - --disable-autoca - --disable-syslog - --without-systemd - ) - fi - - # Library Generation & Linking Options - myconf+=( - $(use_enable static-libs static) - --enable-shared - --enable-versioning - --with-pic - ) - - # some cross-compiling tests don't pan out well. - tc-is-cross-compiler && myconf+=( - --with-yielding-select=yes - ) - - local ssl_lib="no" - if use ssl || ( ! use minimal && use samba ) ; then - if use gnutls ; then - myconf+=( --with-tls="gnutls" ) - else - # disable MD2 hash function - append-cflags -DOPENSSL_NO_MD2 - myconf+=( --with-tls="openssl" ) - fi - else - myconf+=( --with-tls="no" ) - fi - - tc-export AR CC CXX - - ECONF_SOURCE="${S}" econf \ - --libexecdir="${EPREFIX}"/usr/$(get_libdir)/openldap \ - --localstatedir="${EPREFIX}"/var \ - --runstatedir="${EPREFIX}"/run \ - --sharedstatedir="${EPREFIX}"/var/lib \ - "${myconf[@]}" - - # argument '--runstatedir' seems to have no effect therefore this workaround - sed -i \ - -e 's:^runstatedir=.*:runstatedir=${EPREFIX}/run:' \ - configure contrib/ldapc++/configure contrib/ldaptcl/configure || die 'could not set runstatedir' - - sed -i \ - -e "s:/var/run/sasl2/mux:${EPREFIX}/run/sasl2/mux:" \ - doc/guide/admin/security.sdf || die 'could not fix run path in doc' - - emake depend -} - -src_configure_cxx() { - # This needs the libraries built by the first build run. - # we have to run it AFTER the main build, not just after the main configure - local myconf_ldapcpp=( - --with-libldap="${E}/lib" - --with-ldap-includes="${S}/include" - ) - - mkdir -p "${BUILD_DIR}"/contrib/ldapc++ || die "could not create ${BUILD_DIR}/contrib/ldapc++ directory" - pushd "${BUILD_DIR}/contrib/ldapc++" &>/dev/null || die "pushd contrib/ldapc++" - - local LDFLAGS="${LDFLAGS}" - local CPPFLAGS="${CPPFLAGS}" - - append-ldflags -L"${BUILD_DIR}"/libraries/liblber/.libs -L"${BUILD_DIR}"/libraries/libldap/.libs - append-cppflags -I"${BUILD_DIR}"/include - - ECONF_SOURCE="${S}"/contrib/ldapc++ econf "${myconf_ldapcpp[@]}" - popd &>/dev/null || die "popd contrib/ldapc++" -} - -multilib_src_compile() { - tc-export AR CC CXX - emake CC="$(tc-getCC)" SHELL="${EPREFIX}"/bin/sh - - if ! use minimal && multilib_is_native_abi ; then - if use cxx ; then - einfo "Building contrib library: ldapc++" - src_configure_cxx - pushd "${BUILD_DIR}/contrib/ldapc++" &>/dev/null || die "pushd contrib/ldapc++" - emake - popd &>/dev/null || die - fi - - if use smbkrb5passwd ; then - einfo "Building contrib-module: smbk5pwd" - pushd "${S}/contrib/slapd-modules/smbk5pwd" &>/dev/null || die "pushd contrib/slapd-modules/smbk5pwd" - - MY_DEFS="-DDO_SHADOW" - if use samba ; then - MY_DEFS="${MY_DEFS} -DDO_SAMBA" - MY_KRB5_INC="" - fi - if use kerberos ; then - MY_DEFS="${MY_DEFS} -DDO_KRB5" - MY_KRB5_INC="$(krb5-config --cflags)" - fi - - emake \ - DEFS="${MY_DEFS}" \ - KRB5_INC="${MY_KRB5_INC}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" - popd &>/dev/null || die - fi - - if use overlays ; then - einfo "Building contrib-module: samba4" - pushd "${S}/contrib/slapd-modules/samba4" &>/dev/null || die "pushd contrib/slapd-modules/samba4" - - emake \ - LDAP_BUILD="${BUILD_DIR}" \ - CC="$(tc-getCC)" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" - popd &>/dev/null || die - fi - - if use kerberos ; then - if use kinit ; then - build_contrib_module "kinit" "kinit.c" "kinit" - fi - build_contrib_module "passwd" "pw-kerberos.la" - fi - - if use pbkdf2; then - build_contrib_module "passwd/pbkdf2" - fi - - if use sha2 ; then - build_contrib_module "passwd/sha2" - fi - - # We could build pw-radius if GNURadius would install radlib.h - build_contrib_module "passwd" "pw-netscape.la" - - #build_contrib_module "acl" "posixgroup.la" # example code only - #build_contrib_module "acl" "gssacl.la" # example code only, also needs kerberos - build_contrib_module "addpartial" - build_contrib_module "allop" - build_contrib_module "allowed" - build_contrib_module "autogroup" - build_contrib_module "cloak" - # build_contrib_module "comp_match" # really complex, adds new external deps, questionable demand - build_contrib_module "denyop" - build_contrib_module "dsaschema" - build_contrib_module "dupent" - build_contrib_module "lastbind" - # lastmod may not play well with other overlays - build_contrib_module "lastmod" - build_contrib_module "noopsrch" - #build_contrib_module "nops" https://bugs.gentoo.org/641576 - #build_contrib_module "nssov" RESO:LATER - build_contrib_module "trace" - # build slapi-plugins - pushd "${S}/contrib/slapi-plugins/addrdnvalues" &>/dev/null || die "pushd contrib/slapi-plugins/addrdnvalues" - einfo "Building contrib-module: addrdnvalues plugin" - $(tc-getCC) -shared \ - -I"${BUILD_DIR}"/include \ - -I../../../include \ - ${CPPFLAGS} \ - ${CFLAGS} \ - -fPIC \ - ${LDFLAGS} \ - -o libaddrdnvalues-plugin.so \ - addrdnvalues.c || die "Building libaddrdnvalues-plugin.so failed" - popd &>/dev/null || die - fi -} - -multilib_src_test() { - if multilib_is_native_abi; then - cd tests || die - pwd - - # Increase various test timeouts/delays, bug #894012 - # We can't just double everything as there's a cumulative effect. - export SLEEP0=2 # originally 1 - export SLEEP1=10 # originally 7 - export SLEEP2=20 # originally 15 - export TIMEOUT=16 # originally 8 - - # emake test => runs only lloadd & mdb, in serial; skips ldif,sql,wt,regression - # emake partests => runs ALL of the tests in parallel - # wt/WiredTiger is not supported in Gentoo - TESTS=( plloadd pmdb ) - #TESTS+=( pldif ) # not done by default, so also exclude here - #use odbc && TESTS+=( psql ) # not done by default, so also exclude here - - emake -Onone "${TESTS[@]}" - fi -} - -multilib_src_install() { - emake CC="$(tc-getCC)" \ - DESTDIR="${D}" SHELL="${EPREFIX}"/bin/sh install - - if ! use minimal && multilib_is_native_abi; then - # openldap modules go here - # TODO: write some code to populate slapd.conf with moduleload statements - keepdir /usr/$(get_libdir)/openldap/openldap/ - - # initial data storage dir - keepdir /var/lib/openldap-data - use prefix || fowners ldap:ldap /var/lib/openldap-data - fperms 0700 /var/lib/openldap-data - - echo "OLDPF='${PF}'" > "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - echo "# do NOT delete this. it is used" >> "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - echo "# to track versions for upgrading." >> "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" - - # use our config - rm "${ED}"/etc/openldap/slapd.conf - insinto /etc/openldap - newins "${FILESDIR}"/${PN}-2.6.3-slapd-conf slapd.conf - configfile="${ED}"/etc/openldap/slapd.conf - - # populate with built backends - einfo "populate config with built backends" - for x in "${ED}"/usr/$(get_libdir)/openldap/openldap/back_*.so; do - einfo "Adding $(basename ${x})" - sed -e "/###INSERTDYNAMICMODULESHERE###$/a# moduleload\t$(basename ${x})" -i "${configfile}" || die - done - sed -e "s:###INSERTDYNAMICMODULESHERE###$:# modulepath\t${EPREFIX}/usr/$(get_libdir)/openldap/openldap:" \ - -i "${configfile}" || die - use prefix || fowners root:ldap /etc/openldap/slapd.conf - fperms 0640 /etc/openldap/slapd.conf - cp "${configfile}" "${configfile}".default || die - - # install our own init scripts and systemd unit files - einfo "Install init scripts" - sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd-initd-2.4.40-r2 > "${T}"/slapd || die - doinitd "${T}"/slapd - newconfd "${FILESDIR}"/slapd-confd-2.6.1 slapd - - if use systemd; then - # The systemd unit uses Type=notify, so it is useless without USE=systemd - einfo "Install systemd service" - rm -rf "${ED}"/{,usr/}lib/systemd - sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd-2.6.1.service > "${T}"/slapd.service || die - systemd_dounit "${T}"/slapd.service - systemd_install_serviced "${FILESDIR}"/slapd.service.conf - newtmpfiles "${FILESDIR}"/slapd.tmpfilesd slapd.conf - fi - - # if built without SLP, we don't need to be before avahi - sed -i \ - -e '/before/{s/avahi-daemon//g}' \ - "${ED}"/etc/init.d/slapd \ - || die - - if use cxx ; then - einfo "Install the ldapc++ library" - cd "${BUILD_DIR}/contrib/ldapc++" || die - emake DESTDIR="${D}" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - cd "${S}"/contrib/ldapc++ || die - newdoc README ldapc++-README - fi - - if use smbkrb5passwd ; then - einfo "Install the smbk5pwd module" - cd "${S}/contrib/slapd-modules/smbk5pwd" || die - emake DESTDIR="${D}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - newdoc README smbk5pwd-README - fi - - if use overlays ; then - einfo "Install the samba4 module" - cd "${S}/contrib/slapd-modules/samba4" || die - emake DESTDIR="${D}" \ - LDAP_BUILD="${BUILD_DIR}" \ - libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install - newdoc README samba4-README - fi - - einfo "Installing contrib modules" - cd "${S}/contrib/slapd-modules" || die - for l in */*.la */*/*.la; do - [[ -e ${l} ]] || continue - libtool --mode=install cp ${l} \ - "${ED}"/usr/$(get_libdir)/openldap/openldap || \ - die "installing ${l} failed" - done - - dodoc "${FILESDIR}"/DB_CONFIG.fast.example - docinto contrib - doman */*.5 - #newdoc acl/README* - newdoc addpartial/README addpartial-README - newdoc allop/README allop-README - newdoc allowed/README allowed-README - newdoc autogroup/README autogroup-README - newdoc dsaschema/README dsaschema-README - newdoc passwd/README passwd-README - cd "${S}/contrib/slapi-plugins" || die - insinto /usr/$(get_libdir)/openldap/openldap - doins */*.so - docinto contrib - newdoc addrdnvalues/README addrdnvalues-README - - insinto /etc/openldap/schema - newins "${DISTDIR}"/${BIS_P} ${BIS_PN} - - docinto back-sock ; dodoc "${S}"/servers/slapd/back-sock/searchexample* - docinto back-perl ; dodoc "${S}"/servers/slapd/back-perl/SampleLDAP.pm - - dosbin "${S}"/contrib/slapd-tools/statslog - newdoc "${S}"/contrib/slapd-tools/README README.statslog - fi - - if ! use static-libs ; then - find "${ED}" \( -name '*.a' -o -name '*.la' \) -delete || die - fi -} - -multilib_src_install_all() { - dodoc ANNOUNCEMENT CHANGES COPYRIGHT README - docinto rfc ; dodoc doc/rfc/*.txt - rmdir -p "${D}"/var/openldap-lloadd # Created but not used by any part of current codebase. -} - -pkg_preinst() { - # keep old libs if any - preserve_old_lib /usr/$(get_libdir)/{liblber,libldap,libldap_r}-2.4$(get_libname 0) - # bug 440470, only display the getting started help there was no openldap before, - # or we are going to a non-minimal build - ! has_version net-nds/openldap || has_version 'net-nds/openldap[minimal]' - OPENLDAP_PRINT_MESSAGES=$((! $?)) -} - -pkg_postinst() { - if ! use minimal ; then - if use systemd; then - tmpfiles_process slapd.conf - fi - - # You cannot build SSL certificates during src_install that will make - # binary packages containing your SSL key, which is both a security risk - # and a misconfiguration if multiple machines use the same key and cert. - if use ssl; then - install_cert /etc/openldap/ssl/ldap - use prefix || chown ldap:ldap "${EROOT}"/etc/openldap/ssl/ldap.* - ewarn "Self-signed SSL certificates are treated harshly by OpenLDAP 2.[12]" - ewarn "Self-signed SSL certificates are treated harshly by OpenLDAP 2.[12]" - ewarn "add 'TLS_REQCERT allow' if you want to use them." - fi - - if use prefix; then - # Warn about prefix issues with slapd - eerror "slapd might NOT be usable on Prefix systems as it requires root privileges" - eerror "to start up, and requires that certain files directories be owned by" - eerror "ldap:ldap. As Prefix does not support changing ownership of files and" - eerror "directories, you will have to manually fix this yourself." - fi - - # These lines force the permissions of various content to be correct - if [[ -d "${EROOT}"/var/run/openldap ]]; then - use prefix || { chown ldap:ldap "${EROOT}"/var/run/openldap || die; } - chmod 0755 "${EROOT}"/var/run/openldap || die - fi - use prefix || chown root:ldap "${EROOT}"/etc/openldap/slapd.conf{,.default} - chmod 0640 "${EROOT}"/etc/openldap/slapd.conf{,.default} || die - use prefix || chown ldap:ldap "${EROOT}"/var/lib/openldap-data - fi - - if has_version 'net-nds/openldap[-minimal]' && ((${OPENLDAP_PRINT_MESSAGES})); then - elog "Getting started using OpenLDAP? There is some documentation available:" - elog "Gentoo Guide to OpenLDAP Authentication" - elog "(https://wiki.gentoo.org/wiki/Centralized_authentication_using_OpenLDAP)" - fi - - preserve_old_lib_notify /usr/$(get_libdir)/{liblber,libldap,libldap_r}-2.4$(get_libname 0) -} diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.8-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.8-r1.ebuild index dcd8bb68c6..a001cc4d9e 100644 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.8-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.8-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -26,7 +26,7 @@ S="${WORKDIR}"/${PN}-OPENLDAP_REL_ENG_${MY_PV} LICENSE="OPENLDAP GPL-2" # Subslot added for bug #835654 SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" IUSE_DAEMON="argon2 +cleartext crypt experimental minimal samba tcpd" IUSE_OVERLAY="overlays perl autoca" @@ -148,9 +148,8 @@ PATCHES=( "${FILESDIR}"/${PN}-2.6.1-cloak.patch "${FILESDIR}"/${PN}-2.6.1-flags.patch "${FILESDIR}"/${PN}-2.6.1-fix-missing-mapping.v2.patch - #"${FILESDIR}"/${PN}-2.6.6-fix-type-mismatch-lloadd.patch "${FILESDIR}"/${PN}-2.6.x-gnutls-pointer-error.patch - #"${FILESDIR}"/${PN}-2.6.x-slapd-pointer-types.patch # included upstream + "${FILESDIR}"/${PN}-2.5.19-gcc14-SDWORD-vs-SQLINTEGER.patch ) openldap_filecount() { @@ -423,10 +422,6 @@ multilib_src_configure() { $(multilib_native_use_with sasl cyrus-sasl) ) - # error: passing argument 3 of ‘ldap_bv2rdn’ from incompatible pointer type [-Wincompatible-pointer-types] - # expected ‘char **’ but argument is of type ‘const char **’ - #append-flags $(test-flags-CC -Wno-error=incompatible-pointer-types) - if use experimental ; then # connectionless ldap per bug #342439 # connectionless is a unsupported feature according to Howard Chu diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.8.ebuild b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.9.ebuild similarity index 96% rename from sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.8.ebuild rename to sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.9.ebuild index 292b1747d7..b6bac7149c 100644 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.8.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.9.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -7,7 +7,7 @@ EAPI=8 # 2.5.x is an LTS release so we want to keep it for a while. inherit autotools flag-o-matic multilib multilib-minimal preserve-libs -inherit ssl-cert toolchain-funcs systemd tmpfiles +inherit ssl-cert toolchain-funcs systemd tmpfiles verify-sig MY_PV="$(ver_rs 1-2 _)" @@ -18,15 +18,17 @@ BIS_P="${BIS_PN}-${BIS_PV}" DESCRIPTION="LDAP suite of application and development tools" HOMEPAGE="https://www.openldap.org/" SRC_URI=" - https://gitlab.com/openldap/${PN}/-/archive/OPENLDAP_REL_ENG_${MY_PV}/${PN}-OPENLDAP_REL_ENG_${MY_PV}.tar.bz2 + https://openldap.org/software/download/OpenLDAP/${PN}-release/${P}.tgz mirror://gentoo/${BIS_P} + verify-sig? ( https://openldap.org/software/download/OpenLDAP/${PN}-release/${P}.tgz.asc ) " -S="${WORKDIR}"/${PN}-OPENLDAP_REL_ENG_${MY_PV} +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openldap.asc +#S="${WORKDIR}"/${P} LICENSE="OPENLDAP GPL-2" # Subslot added for bug #835654 SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" IUSE_DAEMON="argon2 +cleartext crypt experimental minimal samba tcpd" IUSE_OVERLAY="overlays perl autoca" @@ -37,7 +39,7 @@ IUSE="systemd ${IUSE_DAEMON} ${IUSE_BACKEND} ${IUSE_OVERLAY} ${IUSE_OPTIONAL} ${ REQUIRED_USE=" cxx? ( sasl ) pbkdf2? ( ssl ) - test? ( cleartext sasl ) + test? ( cleartext sasl debug ) autoca? ( !gnutls ) ?? ( test minimal ) kerberos? ( ?? ( kinit smbkrb5passwd ) ) @@ -98,6 +100,7 @@ BDEPEND=" acct-group/ldap acct-user/ldap ) + verify-sig? ( >=sec-keys/openpgp-keys-openldap-20201216 ) " # for tracking versions @@ -147,10 +150,8 @@ PATCHES=( "${FILESDIR}"/${PN}-2.6.1-system-mdb.patch "${FILESDIR}"/${PN}-2.6.1-cloak.patch "${FILESDIR}"/${PN}-2.6.1-flags.patch - "${FILESDIR}"/${PN}-2.6.1-fix-missing-mapping.patch - #"${FILESDIR}"/${PN}-2.6.6-fix-type-mismatch-lloadd.patch - "${FILESDIR}"/${PN}-2.6.x-gnutls-pointer-error.patch - #"${FILESDIR}"/${PN}-2.6.x-slapd-pointer-types.patch # included upstream + "${FILESDIR}"/${PN}-2.6.1-fix-missing-mapping.v2.patch + "${FILESDIR}"/${PN}-2.5.19-gcc14-SDWORD-vs-SQLINTEGER.patch ) openldap_filecount() { @@ -342,6 +343,12 @@ pkg_setup() { fi } +src_unpack() { + use verify-sig && + verify-sig_verify_detached "${DISTDIR}"/${P}.tgz{,.asc} + default +} + src_prepare() { # The system copy of dev-db/lmdb must match the version that this copy # of OpenLDAP shipped with! See bug #588792. @@ -404,6 +411,9 @@ build_contrib_module() { } multilib_src_configure() { + # Workaround for bug #923334, #938553, #946816 + append-ldflags $(test-flags-CCLD -Wl,--undefined-version) + # Optional Features myconf+=( --enable-option-checking @@ -420,10 +430,6 @@ multilib_src_configure() { $(multilib_native_use_with sasl cyrus-sasl) ) - # error: passing argument 3 of ‘ldap_bv2rdn’ from incompatible pointer type [-Wincompatible-pointer-types] - # expected ‘char **’ but argument is of type ‘const char **’ - #append-flags $(test-flags-CC -Wno-error=incompatible-pointer-types) - if use experimental ; then # connectionless ldap per bug #342439 # connectionless is a unsupported feature according to Howard Chu 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 008329e567..75dd18accf 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 @@ -155,10 +155,6 @@ app-arch/rpm -sequoia # Only available for amd64. sys-apps/irqbalance -thermal -# Ionen Wolkens (2023-10-09) -# media-libs/shaderc is keyworded here. -media-libs/libplacebo -shaderc - # Ionen Wolkens (2023-09-13) # media-gfx/renderdoc is keyworded here dev-qt/qtbase -renderdoc @@ -312,11 +308,6 @@ app-metrics/collectd -collectd_plugins_gpu_nvidia # Columnstore engine is supported on amd64 dev-db/mariadb -columnstore -# Sam James (2020-07-03) -# Rust is available here -# Bug #728558 -media-video/ffmpeg -rav1e - # Robin H. Johnson (2020-07-02) # Mask io-uring & zbc pending keywording sys-block/fio -io-uring -zbc diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/23.0-armv6j_hf/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/arm/23.0-armv6j_hf/package.use.mask deleted file mode 100644 index 20a7e47e59..0000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/23.0-armv6j_hf/package.use.mask +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Sam James (2020-07-04) -# Rust is available here -# Bug #728558 -media-video/ffmpeg -rav1e diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/23.0-armv6j_sf/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/arm/23.0-armv6j_sf/package.use.mask deleted file mode 100644 index 20a7e47e59..0000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/23.0-armv6j_sf/package.use.mask +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Sam James (2020-07-04) -# Rust is available here -# Bug #728558 -media-video/ffmpeg -rav1e diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/23.0-armv7a_hf/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/arm/23.0-armv7a_hf/package.use.mask index 30e3a211c6..10dcb65c47 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/23.0-armv7a_hf/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/arm/23.0-armv7a_hf/package.use.mask @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Sam James (2020-10-05) @@ -7,11 +7,6 @@ # (See 9.3.8 in the Guile manual) dev-scheme/guile -jit -# Sam James (2020-07-03) -# Rust is available here -# Bug #728558 -media-video/ffmpeg -rav1e - # Sam James (2020-06-27) # Tests require Valgrind, available on armv7a dev-libs/rapidjson -test diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/23.0-armv7a_sf/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/arm/23.0-armv7a_sf/package.use.mask index 30e3a211c6..10dcb65c47 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/23.0-armv7a_sf/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/arm/23.0-armv7a_sf/package.use.mask @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Sam James (2020-10-05) @@ -7,11 +7,6 @@ # (See 9.3.8 in the Guile manual) dev-scheme/guile -jit -# Sam James (2020-07-03) -# Rust is available here -# Bug #728558 -media-video/ffmpeg -rav1e - # Sam James (2020-06-27) # Tests require Valgrind, available on armv7a dev-libs/rapidjson -test diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/armv6j/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/arm/armv6j/package.use.mask deleted file mode 100644 index 20a7e47e59..0000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/armv6j/package.use.mask +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Sam James (2020-07-04) -# Rust is available here -# Bug #728558 -media-video/ffmpeg -rav1e diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/armv7a/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/arm/armv7a/package.use.mask index 30e3a211c6..10dcb65c47 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/armv7a/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/arm/armv7a/package.use.mask @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Sam James (2020-10-05) @@ -7,11 +7,6 @@ # (See 9.3.8 in the Guile manual) dev-scheme/guile -jit -# Sam James (2020-07-03) -# Rust is available here -# Bug #728558 -media-video/ffmpeg -rav1e - # Sam James (2020-06-27) # Tests require Valgrind, available on armv7a dev-libs/rapidjson -test diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use b/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use index 9790384c50..651d66ae82 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # James Le Cuirot (2023-12-16) @@ -6,7 +6,3 @@ media-tv/kodi soc media-video/ffmpeg libdrm soc media-video/mpv soc - -# Ionen Wolkens (2023-10-09) -# media-libs/shaderc is not keyworded here, so enable glslang fallback. -media-libs/libplacebo glslang -shaderc 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 d525eba191..4c3eb494e3 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Alfred Wingate (2025-02-22) +# media-libs/zint is not keyworded here +media-libs/zxing-cpp experimental + # Sam James (2025-01-04) # kde-plasma/kde-cli-tools not keyworded here x11-misc/xdg-utils plasma diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use b/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use index f1ba7d873a..14f8b65ef2 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Michał Górny (2024-09-04) @@ -13,10 +13,6 @@ media-tv/kodi soc media-video/ffmpeg libdrm soc media-video/mpv soc -# Ionen Wolkens (2023-10-09) -# media-libs/shaderc is not keyworded here, so enable glslang fallback. -media-libs/libplacebo glslang -shaderc - # Alexis Ballier (2017-07-10) # Enable the native arch as the default qemu target app-emulation/qemu qemu_softmmu_targets_aarch64 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 fc09e29863..bad25872af 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,14 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Paul Zander (2025-02-23) +# Not part of the arm64 archive +dev-util/nvidia-cuda-toolkit -examples -rdma + +# Alfred Wingate (2025-02-22) +# media-libs/zint is not keyworded here +media-libs/zxing-cpp experimental + # Nowa Ammerlaan (2025-02-03) # QtWebView is available here dev-python/pyside -webview @@ -298,11 +306,6 @@ sys-block/tgt rbd # dev-lua/busted is not keyworded yet dev-lua/mpack test -# Sam James (2020-07-03) -# Rust is available here -# bug #728558 -media-video/ffmpeg -rav1e - # Robin H. Johnson (2020-07-02) # Mask io-uring & zbc pending keywording sys-block/fio -io-uring diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/use.mask index 8545308e26..3ff27eb707 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/use.mask @@ -4,6 +4,10 @@ # Unmask the flag which corresponds to ARCH. -arm64 +# Sam James (2025-02-19) +# x11-drivers/xf86-input-wacom is available here +-input_devices_wacom + # Sam James (2025-01-05) # Older targets don't have an old enough dev-lang/ada-bootstrap available ada_target_gnat_2021 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 bbdf1065db..08fc31c1b1 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 @@ -9,6 +9,10 @@ dev-python/pyside webview # QtSerialBus is not available everywhere dev-python/pyside serialbus +# Matt Jolly (2025-01-11) +# mrustc currenly only works on amd64. +dev-lang/rust mrustc-bootstrap + # Michał Górny (2024-12-24) # OpenMP offloading is supported on 64-bit architectures only. llvm-core/clang-runtime offload @@ -130,10 +134,6 @@ media-video/obs-studio websocket # net-libs/librist is only keyworded for arm64 at this time. media-video/obs-studio mpegts -# Ionen Wolkens (2023-10-09) -# media-libs/shaderc has very few keywords. -media-libs/libplacebo shaderc - # Ionen Wolkens (2023-09-13) # media-gfx/renderdoc currently has few keywords dev-qt/qtbase renderdoc @@ -291,11 +291,6 @@ dev-scheme/guile jit # dev-util/nvidia-cuda-toolkit is only available on amd64 app-metrics/collectd collectd_plugins_gpu_nvidia -# Sam James (2020-07-03) -# Rust is only available on some arches -# Bug #728558 -media-video/ffmpeg rav1e - # Robin H. Johnson (2020-07-02) # Mask io-uring & zbc pending keywording sys-block/fio io-uring zbc 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 d97b9aa2f1..1706428078 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 @@ -110,7 +110,7 @@ app-alternatives/ninja samurai # Ionen Wolkens (2023-10-09) # Vulkan is not available here, including packages for related USE. -media-libs/libplacebo glslang shaderc vulkan +media-libs/libplacebo shaderc vulkan # Andreas Sturmlechner (2023-10-08) # Vulkan is not available on hppa. diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/loong/make.defaults b/sdk_container/src/third_party/portage-stable/profiles/arch/loong/make.defaults index 7665e2f054..172292294e 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/loong/make.defaults +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/loong/make.defaults @@ -44,9 +44,3 @@ FEATURES="-pid-sandbox -network-sandbox -ipc-sandbox" # ABI # DEFAULT_ABI # MULTILIB_ABIS - -# Sam James (2025-01-10) -# Temporary USE until the global default catches up. dev-lang/ada-bootstrap -# starts with sys-devel/gcc:14 so ADA_TARGET needs to be >= that. This -# entry can be dropped once the global one is >= gcc_14. -ADA_TARGET="gcc_14" 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 864c9e29be..93e9d7a25c 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-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Alfred Wingate (2025-02-22) +# media-libs/zint is not keyworded here +media-libs/zxing-cpp experimental + # WANG Xuerui (2025-01-16) # tests require qtwebengine which is unavailable dev-python/qtconsole test @@ -8,7 +12,6 @@ dev-python/qtpy test # WANG Xuerui (2025-01-12) # Vulkan works on loong. -gui-libs/gtk -vulkan media-video/mpv -vulkan # Sam James (2025-01-10) @@ -115,14 +118,6 @@ dev-perl/DBD-MariaDB mysql # Unmask only where grub is keyworded sys-kernel/installkernel -grub -# WANG Xuerui (2024-01-09) -# PCRE2 upstream has gained JIT support on loong since 10.43. - (2024-01-08) -# media-libs/shaderc is keyworded here. -media-libs/libplacebo -shaderc - # WANG Xuerui (2024-01-03) # app-crypt/rpm-sequoia is keyworded here. app-arch/rpm -sequoia 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 7584271fbb..07d4ce6523 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,10 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Sam James (2025-02-21) +# media-video/rav1e is not yet keyworded here +media-video/ffmpeg rav1e + # Pacho Ramos (2025-01-26) # Needs unkeyworded net-libs/msgraph gnome-base/gvfs onedrive diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc32/package.use b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc32/package.use index bd39f8122a..96c63a9c49 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc32/package.use +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc32/package.use @@ -1,14 +1,10 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Sam James (2024-01-05) # keyutils is masked here net-fs/cifs-utils -ads -# Ionen Wolkens (2023-10-09) -# media-libs/shaderc is not keyworded here, so enable glslang fallback. -media-libs/libplacebo glslang -shaderc - # Sam James (2023-10-08) # dev-db/mysql not keyworded here >=dev-perl/DBD-mysql-5 -mysql mariadb diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc32/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc32/package.use.mask index 942157ba7b..d67f12ae17 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc32/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc32/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Sam James (2025-02-21) +# media-video/rav1e is not yet keyworded here +media-video/ffmpeg rav1e + # Pacho Ramos (2025-01-26) # Needs unkeyworded net-libs/msgraph gnome-base/gvfs onedrive diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc32/package.use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc32/package.use.stable.mask index bb654ae9f2..0cb37eecca 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc32/package.use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc32/package.use.stable.mask @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # When you add an entry to the top of this file, add your name, the date, and @@ -59,6 +59,7 @@ media-video/vlc samba # net-nds/openldap / dev-libs/cyrus-sasl not stable here dev-lang/php ldap-sasl mail-mta/postfix ldap-bind +net-nds/openldap cxx sasl # Sam James (2022-03-03) # No kerberos provider is marked stable here diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/package.use.mask index 826617e455..63724affe5 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Alfred Wingate (2025-02-22) +# media-libs/zint is not keyworded here +media-libs/zxing-cpp experimental + # Michał Górny (2024-12-24) # OpenMP offloading is supported on 64-bit architectures only. llvm-core/clang-runtime -offload @@ -29,10 +33,6 @@ dev-python/qtpy webengine test # virtiofsd is available here app-emulation/libvirt -virtiofsd -# Ionen Wolkens (2023-10-09) -# media-libs/shaderc is keyworded here. -media-libs/libplacebo -shaderc - # Alexey Sokolov (2023-08-14) # OpenMW is only playtested with LuaJIT, and in fact unit tests fail with Lua-5. # Therefore apply mask/force to override the profile's defaults, and invert on @@ -132,11 +132,6 @@ sys-boot/grub -libzfs # Cinnamon is not keyworded on this architecture. x11-themes/arc-theme cinnamon -# Sam James (2020-07-03) -# Rust is available here -# Bug #728558 -media-video/ffmpeg -rav1e - # Georgy Yakovlev (2020-06-07) # works on ppc64 app-emulation/qemu -spice -usbredir 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 8c21b8ef51..729d74128f 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,11 +1,6 @@ -# Copyright 2021-2024 Gentoo Authors +# Copyright 2021-2025 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/riscv/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/package.use.mask index 5bb9427b61..07bc3e7174 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/package.use.mask @@ -1,8 +1,12 @@ # Copyright 2019-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Alfred Wingate (2025-02-22) +# media-libs/zint is not keyworded here +media-libs/zxing-cpp experimental + # Alexey Shvetsov (2024-11-21) -# sci-libs/caffe2 is not keyworded on arm64 +# sci-libs/caffe2 is not keyworded on riscv sci-chemistry/gromacs nnpot # Benda Xu (2024-10-10) @@ -49,10 +53,6 @@ app-emulation/libvirt nbd # Unmask only where grub is keyworded sys-kernel/installkernel -grub -# Ionen Wolkens (2023-10-09) -# media-libs/shaderc is keyworded here. -media-libs/libplacebo -shaderc - # Patrick McLean (2023-10-03) # sys-apps/s6-linux-init has not been tested on this arch sys-apps/openrc s6 @@ -167,17 +167,6 @@ app-emulation/qemu rbd # but with it installed, anyio passes all tests dev-python/anyio test -# Marek Szuba (2021-09-23) -# mkdocs ecosystem only partly keyworded on riscv, has rather messy -# Python-target requirements. -dev-python/pyspelling doc -dev-python/wcmatch doc - -# Alex Fan (2022-05-16) -# These depend on Haskell: -# - app-text/pandoc -sys-cluster/ceph pmdk - # Alex Fan (2021-09-15) # Marek Szuba (2021-09-07) # All of these require net-libs/nodejs, which now builds on riscv @@ -186,7 +175,6 @@ sys-cluster/ceph pmdk dev-ruby/capybara test # - dev-qt/qtwebengine (bdepend) dev-python/ipython qt5 -net-irc/quassel urlpreview # Jonathan Davies (2021-09-03) # Requires CPU with SSSE3 support @@ -204,8 +192,6 @@ net-analyzer/rrdtool rados # Marek Szuba (2021-08-22) # net-fs/openafs does not support riscv app-crypt/heimdal afs -# app-editors/xemacs reports arch as unknown, fails to build -dev-lang/ruby xemacs # Alex Fan (2021-08-17) # dependencies not keyworded/tested diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/use.mask index 9d3e36ad24..2743d42cd4 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/use.mask @@ -1,4 +1,4 @@ -# Copyright 2019-2024 Gentoo Authors +# Copyright 2019-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Unmask the flag which corresponds to ARCH. @@ -32,11 +32,6 @@ pdfium webengine -# Marek Szuba (2021-08-14) -# sci-libs/netcdf fails tests in a way suggesting it might be completely -# unreliable on this arch as far as I/O is concerned. -netcdf - # Marek Szuba (2021-07-05) # dev-lang/luajit does not support this arch lua_single_target_luajit 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 26d06c9607..2b8ff1ac18 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Sam James (2025-02-21) +# media-video/rav1e is not yet keyworded here +media-video/ffmpeg rav1e + # Matt Jolly (2025-01-29) # Needs dev-lang/go which is not keyworded here x11-wm/fvwm3 go 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 b0a86cacb7..50737a6100 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-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Alfred Wingate (2025-02-22) +# media-libs/zint is not keyworded here +media-libs/zxing-cpp experimental + # Nowa Ammerlaan (2025-02-03) # QtSerialBus is available here dev-python/pyside -serialbus @@ -88,10 +92,6 @@ net-libs/xrootd xrdec # Unmask only where grub is keyworded sys-kernel/installkernel -grub -# Ionen Wolkens (2023-10-09) -# media-libs/shaderc is keyworded here. -media-libs/libplacebo -shaderc - # Jon Janzen (2023-09-11) # librttopo has not been tested on this arch dev-db/spatialite rttopo @@ -271,11 +271,6 @@ net-vpn/strongswan -strongswan_plugins_aesni -strongswan_plugins_rdrand -strongs # (See 9.3.8 in the Guile manual) dev-scheme/guile -jit -# Sam James (2020-07-03) -# Rust is available here -# Bug #728558 -media-video/ffmpeg -rav1e - # Robin H. Johnson (2020-07-02) # Mask io-uring & zbc pending keywording sys-block/fio -io-uring -zbc diff --git a/sdk_container/src/third_party/portage-stable/profiles/base/make.defaults b/sdk_container/src/third_party/portage-stable/profiles/base/make.defaults index c18715c55f..98b9cee3e1 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/base/make.defaults +++ b/sdk_container/src/third_party/portage-stable/profiles/base/make.defaults @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # # System-wide defaults for the Portage system @@ -166,10 +166,10 @@ POSTGRES_TARGETS="postgres16" # PHP_TARGETS="php8-2" -# Sam James (2024-12-29) +# Sam James (2025-02-19) # # Default ADA target -ADA_TARGET="gcc_13" +ADA_TARGET="gcc_14" # Marek Szuba (2020-10-15) # Default targets for lua{,-single}.eclass diff --git a/sdk_container/src/third_party/portage-stable/profiles/base/package.use.force b/sdk_container/src/third_party/portage-stable/profiles/base/package.use.force index e6eb75e716..85ccdbdac9 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/base/package.use.force +++ b/sdk_container/src/third_party/portage-stable/profiles/base/package.use.force @@ -26,10 +26,12 @@ llvm-runtimes/libcxxabi clang # echo "dev-lang/rust:${slot} llvm_slot_${_RUST_LLVM_MAP[${slot}]}" # echo "dev-lang/rust-bin:${slot} llvm_slot_${_RUST_LLVM_MAP[${slot}]}" # done +dev-lang/rust:1.86.0 llvm_slot_19 +dev-lang/rust-bin:1.86.0 llvm_slot_19 +dev-lang/rust:1.85.0 llvm_slot_19 +dev-lang/rust-bin:1.85.0 llvm_slot_19 dev-lang/rust:1.84.1 llvm_slot_19 dev-lang/rust-bin:1.84.1 llvm_slot_19 -dev-lang/rust:1.84.0 llvm_slot_19 -dev-lang/rust-bin:1.84.0 llvm_slot_19 dev-lang/rust:1.83.0 llvm_slot_19 dev-lang/rust-bin:1.83.0 llvm_slot_19 dev-lang/rust:1.82.0 llvm_slot_19 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 f8c791230d..d4a0180e87 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 @@ -1,8 +1,28 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# This file is only for generic masks. For arch-specific masks (i.e. +# mask everywhere, unmask on arch/*) use arch/base. + # New entries go on top. +# Paul Zander (2025-02-24) +# Only builds with ffmpeg-4.x, upstream has no timeline to fix it. +# https://tracker.dev.opencascade.org/view.php?id=32871 +# Fringe usage only to play audio. Which most consumers (freecad, vtk) +# don't do. Mask so the unsuspecting user with ffmpeg in global USE isn't +# restricted to ancient ffmpeg. +sci-libs/opencascade ffmpeg + +# Sam James (2025-02-21) +# Mask for older GTK to phase in enabling Vulkan for users (and avoid a surprise +# for stable users, as Vulkan is enabled by default on desktop profiles). + (2025-02-20) +# Requires dev-python/recommonmark with Python 3.10 + (2025-02-13) # Prepare cleanup of dev-qt/qtgamepad:5 dev-qt/qt3d gamepad @@ -26,10 +46,6 @@ kde-frameworks/knewstuff:5 opds # most places. dev-build/meson test-full -# Matt Jolly (2025-01-11) -# mrustc currenly only works on amd64. -dev-lang/rust mrustc-bootstrap - # Volkmar W. Pogatzki (2025-01-09) # No suitable versions of dev-libs/protobuf available. =dev-java/protobuf-java-4.29.3 system-protoc @@ -120,9 +136,6 @@ app-i18n/mozc fcitx4 # that makes it OK if we do it too, right? Bug 893700. media-gfx/gthumb webkit -# This file is only for generic masks. For arch-specific masks (i.e. -# mask everywhere, unmask on arch/*) use arch/base. - # Sam James (2024-09-30) # gnat-gpl is purely for bootstrapping Ada and it's based on an old # version of GCC. Avoid risks of miscompilations. @@ -588,10 +601,6 @@ dev-lang/rust parallel-compiler # see also: https://github.com/rspamd/rspamd/issues/3871 >=mail-filter/rspamd-3.0 jemalloc -# Matt Turner (2021-08-28) -# Mask experimental options. -gui-libs/gtk ffmpeg vulkan - # Marek Szuba (2021-07-14) # Makes two tests fail (when linked against openmpi, at least) due to # incorrect implementation of either MPI support itself or said tests: 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 bfa19e1b82..b92c056639 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 @@ -14,7 +14,6 @@ app-arch/mt-st test # Andreas Sturmlechner (2024-08-29) # Pin down kf6compat mask to currently stable versions. - (2025-02-21) +# Needs Rust +media-video/ffmpeg rav1e + # Viorel Munteanu (2025-01-24) # Requires dev-python/asyncssh. net-misc/dropbear test-async diff --git a/sdk_container/src/third_party/portage-stable/profiles/license_groups b/sdk_container/src/third_party/portage-stable/profiles/license_groups index 0f36cdbdf2..e775b0362d 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/license_groups +++ b/sdk_container/src/third_party/portage-stable/profiles/license_groups @@ -48,7 +48,7 @@ FSF-APPROVED-OTHER Arphic CC-BY-2.0 CC-BY-2.5 CC-BY-3.0 CC-BY-4.0 CC-BY-SA-2.0 C # Misc licenses for free documents and other works (including fonts) # that follow the definition at https://freedomdefined.org/ but are NOT # listed in @FSF-APPROVED-OTHER -MISC-FREE-DOCS BAEKMUK BitstreamVera CC-BY-1.0 CC-BY-SA-1.0 CC-PD CC-SA-1.0 LDP-1 LDP-1a man-pages man-pages-posix-2013 MaxMind2 mplus-fonts myspell-en_CA-KevinAtkinson quake1-textures Texinfo-manual UbuntuFontLicense-1.0 vlgothic wxWinFDL-3 +MISC-FREE-DOCS BAEKMUK BitstreamVera CC-BY-1.0 CC-BY-SA-1.0 CC-PD CC-SA-1.0 LDP-1 LDP-1a man-pages man-pages-posix-2013 MaxMind2 mplus-fonts myspell-en_CA-KevinAtkinson quake1-textures Texinfo-manual UbuntuFontLicense-1.0 Unsplash vlgothic wxWinFDL-3 # Metaset for all free documents FREE-DOCUMENTS @FSF-APPROVED-OTHER @MISC-FREE-DOCS 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 0cd571f0fc..ecf671a4c0 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,36 @@ #--- END OF EXAMPLES --- +# Eray Aslan (2025-02-24) +# Mask experimental software +=mail-mta/postfix-3.11* + +# Michał Górny (2025-02-24) +# Bad package with frequent release issues. No reverse dependencies +# left. Use dev-python/zstandard instead (admittedly, also far +# from perfect). Removal on 2025-03-26. Bug #950214. +dev-python/zstd + +# Sam James (2025-02-22) +# (Only) needed for no-yet-released LibreOffice. Mask for now to avoid +# unnecessary conflicts/backtracking for LO users. +=dev-libs/liborcus-0.20.0 +=dev-libs/libixion-0.20.0 +=dev-util/mdds-3.0.0 + +# Nowa Ammerlaan (2025-02-21) +# Shiboken and Pyside-tools have been merged into dev-python/pyside +# as of version 6.8.2. Pyside-tools are useable when the "tools" USE +# flag is enabled. +dev-python/shiboken6 +dev-python/pyside6-tools + +# Andreas Sturmlechner (2025-02-18) +# Depends on deprecated Qt5WebEngine, no response from maintainers. +# Download source appears gone; bugs #926675, #880649, #870256. +# Removal on 2025-03-18. +sci-electronics/eagle + # Andreas Sturmlechner (2025-02-16) # KF5/Qt5 based and no signs of porting or even life upstream. # kde-frameworks/kcalendarcore:5 has no more revdeps after this. @@ -162,17 +192,6 @@ games-fps/quakeforge # Removal on 2025-03-07. Bug: 949318 net-misc/AQtion -# Matt Turner (2025-02-05) -# Masked for testing -=dev-util/mesa_clc-25.0* -=media-libs/mesa-25.0* - -# Ionen Wolkens (2025-01-30) -# Breaks the only consumer of pytest-bdd (qutebrowser), -# not looked into yet but mask for now as it prevents -# using it to test PyQt6 for the upcoming Qt bump. ->=dev-python/gherkin-official-31.0.0 - # Andreas Sturmlechner (2025-01-30) # Last release 15 years ago, dead upstream (never imported from kdesvn), # no revdeps probably since amarok last-rites. Removal on 2025-02-27. @@ -214,11 +233,6 @@ dev-go/get-ego-vendor # Plenty of other options in ::gentoo. Bug #947724, removal on 2025-02-27. media-sound/bempc -# Anthony G. Basile (2025-01-25) -# Bug 909889. Needs PEP517 build. Very low user base -# Remove 2025-02-24. -app-portage/grs - # Arthur Zamarin (2025-01-24) # EAPI=7, uses deprecated Go eclasses, fails to compile, installation # blocked by current versions of docker (which provides the features). @@ -240,24 +254,6 @@ app-metrics/burrow_exporter dev-go/go-colortext dev-go/gom -# Andreas Sturmlechner (2025-01-23) -# Last release from 12 years ago, git master still defaults to Qt4. -# Plenty of other options in ::gentoo. Bug #947741, removal on 2025-02-22. -app-editors/juffed - -# Nowa Ammerlaan (2025-01-23) -# Sypder-5 requires Qt5, and there are several dead -# plugins that have not been migrated to Spyder-6. -# Bugs #926687, #926686. Removal on 2025-02-23 - (2025-01-23) -# CVE-2025-23050, bug #948573; Removal on 2025-02-22. -dev-qt/qtbluetooth:5 - # Andreas Sturmlechner (2025-01-23) # Qt5 package without any revdeps. Use dev-qt/qttools[qdbus] instead. dev-qt/qdbusviewer @@ -278,27 +274,6 @@ dev-qt/qtserialbus:5 dev-qt/qtvirtualkeyboard:5 dev-qt/qtwebview:5 -# Volkmar W. Pogatzki (2025-01-20) -# Unused Java library. Removal on 2025-02-19. -dev-java/saslprep - -# Zac Medico (2025-01-18) -# Ebuild is difficult to maintain. No revdeps. -# Removal on 2025-02-17. Bug #896044 -sys-cluster/k3s - -# Michał Górny (2025-01-18) -# Superseded by dev-python/terminaltables3, the only revdep switched -# over. -# Removal on 2025-02-17. Bug #948333. -dev-python/terminaltables - -# Arthur Zamarin (2025-01-10) -# EAPI=7, maintainer needed, no reverse dependencies, fails to compile, -# uses deprecated Go eclass. -# Removal on 2025-02-09. Bugs #947810, #856319, #844730, #771048, #679078. -sys-cluster/zetcd - # Conrad Kostecki (2025-01-09) # New version, which dropps support for legacy devices. # Will be unmasked, when split to legacy-branch is done. @@ -427,10 +402,6 @@ app-emulation/virtualbox-kvm # Beware that if you upgrade to it, you may need to reset your keyrings. >=app-crypt/gnupg-2.5 -# Ulrich Müller (2024-09-12) -# Pretest versions, masked for testing. - (2024-09-02) # exim_tinydb utility crashes due to invalid free() (used in startup script) =mail-mta/exim-4.98 @@ -544,10 +515,6 @@ sec-keys/openpgp-keys-jiatan ~app-arch/xz-utils-5.6.0 ~app-arch/xz-utils-5.6.1 -# Eray Aslan (2024-03-10) -# Mask experimental software -=mail-mta/postfix-3.10* - # Sam James (2023-12-14) # Gentoo's kernel maintainers have decided to discontinue gentoo-sources and # gentoo-kernel for old kernel LTS branches because of the resources to require diff --git a/sdk_container/src/third_party/portage-stable/profiles/updates/1Q-2025 b/sdk_container/src/third_party/portage-stable/profiles/updates/1Q-2025 index ae7c9c333e..22b8430552 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/updates/1Q-2025 +++ b/sdk_container/src/third_party/portage-stable/profiles/updates/1Q-2025 @@ -1 +1,3 @@ move dev-python/pyside6 dev-python/pyside +slotmove dev-php/pecl-ssh2 0 7 +slotmove dev-php/pecl-stomp 0 7 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/acl/acl-2.3.2-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/acl/acl-2.3.2-r2.ebuild new file mode 100644 index 0000000000..d0791550bd --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/acl/acl-2.3.2-r2.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit libtool multilib-minimal + +DESCRIPTION="Access control list utilities, libraries, and headers" +HOMEPAGE="https://savannah.nongnu.org/projects/acl" +SRC_URI="mirror://nongnu/${PN}/${P}.tar.xz" + +LICENSE="LGPL-2.1+ GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="nls static-libs" + +RDEPEND=" + >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] +" +DEPEND="${RDEPEND}" +BDEPEND="nls? ( sys-devel/gettext )" + +src_prepare() { + default + + # bug #580792 + elibtoolize +} + +multilib_src_configure() { + local myeconfargs=( + --bindir="${EPREFIX}"/bin + --libexecdir="${EPREFIX}"/usr/$(get_libdir) + --enable-largefile + $(use_enable static-libs static) + $(use_enable nls) + ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_test() { + # Tests call native binaries with an LD_PRELOAD wrapper + # bug #772356 + multilib_is_native_abi && default +} + +multilib_src_install_all() { + if ! use static-libs ; then + find "${ED}" -type f -name "*.la" -delete || die + fi +} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/file/file-5.45-r4.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/file/file-5.45-r4.ebuild index 84ced37c54..d84acc4be1 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/file/file-5.45-r4.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/file/file-5.45-r4.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -10,13 +10,13 @@ PYTHON_COMPAT=( python3_{10..13} ) inherit distutils-r1 toolchain-funcs multilib-minimal if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://github.com/glensc/file.git" + EGIT_REPO_URI="https://github.com/file/file" inherit autotools git-r3 else VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/file.asc inherit autotools verify-sig - SRC_URI="ftp://ftp.astron.com/pub/file/${P}.tar.gz" - SRC_URI+=" verify-sig? ( ftp://ftp.astron.com/pub/file/${P}.tar.gz.asc )" + SRC_URI="http://ftp.astron.com/pub/file/${P}.tar.gz" + SRC_URI+=" verify-sig? ( http://ftp.astron.com/pub/file/${P}.tar.gz.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" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/file/file-5.46-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/file/file-5.46-r2.ebuild index 17090d64e6..ae069ac59e 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/file/file-5.46-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/file/file-5.46-r2.ebuild @@ -10,13 +10,13 @@ PYTHON_COMPAT=( python3_{10..13} ) inherit distutils-r1 toolchain-funcs multilib-minimal if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://github.com/glensc/file.git" + EGIT_REPO_URI="https://github.com/file/file" inherit autotools git-r3 else VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/file.asc inherit libtool verify-sig - SRC_URI="ftp://ftp.astron.com/pub/file/${P}.tar.gz" - SRC_URI+=" verify-sig? ( ftp://ftp.astron.com/pub/file/${P}.tar.gz.asc )" + SRC_URI="http://ftp.astron.com/pub/file/${P}.tar.gz" + SRC_URI+=" verify-sig? ( http://ftp.astron.com/pub/file/${P}.tar.gz.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" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/file/file-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/file/file-9999.ebuild index 5372c6099b..235a8c9910 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/file/file-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/file/file-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -10,13 +10,13 @@ PYTHON_COMPAT=( python3_{10..13} ) inherit distutils-r1 toolchain-funcs multilib-minimal if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://github.com/glensc/file.git" + EGIT_REPO_URI="https://github.com/file/file" inherit autotools git-r3 else VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/file.asc inherit libtool verify-sig - SRC_URI="ftp://ftp.astron.com/pub/file/${P}.tar.gz" - SRC_URI+=" verify-sig? ( ftp://ftp.astron.com/pub/file/${P}.tar.gz.asc )" + SRC_URI="http://ftp.astron.com/pub/file/${P}.tar.gz" + SRC_URI+=" verify-sig? ( http://ftp.astron.com/pub/file/${P}.tar.gz.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" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/Manifest index 50e5811b14..1b014edf7f 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/Manifest @@ -1,2 +1 @@ DIST gptfdisk-1.0.10.tar.gz 220787 BLAKE2B 9047bf68a2c5c254bda9b2815488963dc19a9415c90fbf4a127268a37fe8a545b7d45a333e356bd9da22e37ef649d9f60896ffedfdc35b60c7642a48e4ed2e5a SHA512 76764e176cd92470648a1d7a8d2570ebc41005204e73b0f2dd5a7aff2fc1981d3bec61a3bd68b855cc3474bcb7cf49c1cb2ea25843d4e7945bef7648d548383d -DIST gptfdisk-1.0.9.tar.gz 215065 BLAKE2B 1939ffd75972a4d7f92af2bfab90c7b0223825b5478b6b808dd35af943c687d38ba81663cd7ba5e0f9400656db4dac019c13a9f75d90b7bd716568c676c24dd2 SHA512 c2489ac7e196cb53b9fdb18d0e421571eca43c366de8922c5c7f550aadf192558e7af69b181c30747d6cf607c1670126223465eaa5e231cc589402d94a4e97a2 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/files/gptfdisk-1.0.9-libuuid.patch b/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/files/gptfdisk-1.0.9-libuuid.patch deleted file mode 100644 index e7a5f68e19..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/files/gptfdisk-1.0.9-libuuid.patch +++ /dev/null @@ -1,37 +0,0 @@ -From e67faca2c0ca955f56cbd22e90941cdcbdc12597 Mon Sep 17 00:00:00 2001 -From: Rod Smith -Date: Sat, 16 Apr 2022 09:32:04 -0400 -Subject: [PATCH] Updated guid.cc to deal with minor change in libuuid - ---- - NEWS | 3 +++ - guid.cc | 2 +- - 2 files changed, 4 insertions(+), 1 deletion(-) - -diff --git a/NEWS b/NEWS -index c7add56..3d90d9a 100644 ---- a/NEWS -+++ b/NEWS -@@ -1,3 +1,6 @@ -+ -+- Updated guid.cc to deal with minor change in libuuid. -+ - 1.0.9 (4/14/2022): - ------------------ - -diff --git a/guid.cc b/guid.cc -index 1e73ab7..d3e4fd5 100644 ---- a/guid.cc -+++ b/guid.cc -@@ -141,7 +141,7 @@ void GUIDData::Zero(void) { - void GUIDData::Randomize(void) { - int i, uuidGenerated = 0; - --#ifdef _UUID_UUID_H -+#if defined (_UUID_UUID_H) || defined (_UL_LIBUUID_UUID_H) - uuid_generate(uuidData); - ReverseBytes(&uuidData[0], 4); - ReverseBytes(&uuidData[4], 2); --- -2.36.1 - diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/files/gptfdisk-1.0.9-musl-1.2.4.patch b/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/files/gptfdisk-1.0.9-musl-1.2.4.patch deleted file mode 100644 index 6f019d9eec..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/files/gptfdisk-1.0.9-musl-1.2.4.patch +++ /dev/null @@ -1,30 +0,0 @@ -Upstream: https://sourceforge.net/p/gptfdisk/code/ci/7dfa8984f5a30f313d8675ff6097c8592d636d10/ - -From 7dfa8984f5a30f313d8675ff6097c8592d636d10 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 12 Dec 2022 12:50:07 -0800 -Subject: [PATCH] Use 64bit time_t on linux as well - -Alias 64bit version of stat functions to original functions -we are already passing -D_FILE_OFFSET_BITS=64 in linux Makefile - -Signed-off-by: Khem Raj ---- a/diskio-unix.cc -+++ b/diskio-unix.cc -@@ -37,8 +37,12 @@ - - using namespace std; - --#ifdef __APPLE__ -+#if defined(__APPLE__) || defined(__linux__) - #define off64_t off_t -+#define stat64 stat -+#define fstat64 fstat -+#define lstat64 lstat -+#define lseek64 lseek - #endif - - // Returns the official "real" name for a shortened version of same. --- -2.41.0 - diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/files/gptfdisk-1.0.9-popt_segv.patch b/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/files/gptfdisk-1.0.9-popt_segv.patch deleted file mode 100644 index 470defd33c..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/files/gptfdisk-1.0.9-popt_segv.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/gptcl.cc -+++ b/gptcl.cc -@@ -156,9 +156,10 @@ - - // Assume first non-option argument is the device filename.... - device = (char*) poptGetArg(poptCon); -- poptResetContext(poptCon); - - if (device != NULL) { -+ device = strdup(device); -+ poptResetContext(poptCon); - JustLooking(); // reset as necessary - BeQuiet(); // Tell called functions to be less verbose & interactive - if (LoadPartitions((string) device)) { -@@ -498,6 +499,7 @@ - cerr << "Error encountered; not saving changes.\n"; - retval = 4; - } // if -+ free(device); - } // if (device != NULL) - poptFreeContext(poptCon); - return retval; diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/gptfdisk-1.0.9-r3.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/gptfdisk-1.0.9-r3.ebuild deleted file mode 100644 index 9258919e09..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/gptfdisk-1.0.9-r3.ebuild +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit flag-o-matic toolchain-funcs - -DESCRIPTION="GPT partition table manipulator for Linux" -HOMEPAGE="https://www.rodsbooks.com/gdisk/" -SRC_URI="https://downloads.sourceforge.net/${PN}/${PN}/${PV}/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux" -IUSE="ncurses static" - -# libuuid from util-linux is required. -RDEPEND="!static? ( - dev-libs/popt - ncurses? ( sys-libs/ncurses:=[unicode(+)] ) - kernel_linux? ( sys-apps/util-linux ) - )" -DEPEND=" - ${RDEPEND} - static? ( - dev-libs/popt[static-libs(+)] - ncurses? ( sys-libs/ncurses:=[unicode(+),static-libs(+)] ) - kernel_linux? ( sys-apps/util-linux[static-libs(+)] ) - ) - virtual/pkgconfig -" - -PATCHES=( - "${FILESDIR}/${PN}-1.0.9-libuuid.patch" #844073 - "${FILESDIR}/${PN}-1.0.9-popt_segv.patch" #872131 - "${FILESDIR}"/${PN}-1.0.9-build_flags.patch - "${FILESDIR}"/${PN}-1.0.9-musl-1.2.4.patch -) - -src_prepare() { - default - - tc-export CXX PKG_CONFIG - - if ! use ncurses ; then - sed -i \ - -e '/^all:/s: cgdisk::' \ - Makefile || die - fi - - sed \ - -e '/g++/s:=:?=:g' \ - -e 's:-lncursesw:$(shell $(PKG_CONFIG) --libs ncursesw):g' \ - -i Makefile || die - - use static && append-ldflags -static -} - -src_install() { - dosbin gdisk sgdisk $(usex ncurses cgdisk '') fixparts - doman *.8 - dodoc NEWS README -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/hwdata/hwdata-0.391.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/hwdata/hwdata-0.391.ebuild index 145dcd2deb..21b1f4e1c1 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/hwdata/hwdata-0.391.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/hwdata/hwdata-0.391.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/vcrhonek/hwdata/archive/refs/tags/v${PV}.tar.gz -> $ LICENSE="GPL-2+" SLOT="0" -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" RESTRICT="test" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/i2c-tools/i2c-tools-4.3.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/i2c-tools/i2c-tools-4.3.ebuild deleted file mode 100644 index 86b0f1a7d2..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/i2c-tools/i2c-tools-4.3.ebuild +++ /dev/null @@ -1,62 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{9..11} ) -DISTUTILS_OPTIONAL="1" - -inherit distutils-r1 flag-o-matic toolchain-funcs - -DESCRIPTION="I2C tools for bus probing, chip dumping, EEPROM decoding, and more" -HOMEPAGE="https://www.kernel.org/pub/software/utils/i2c-tools" -SRC_URI="https://www.kernel.org/pub/software/utils/${PN}/${P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86" -IUSE="python" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -RDEPEND=" - python? ( ${PYTHON_DEPS} )" -BDEPEND=" - python? ( - ${PYTHON_DEPS} - dev-python/setuptools[${PYTHON_USEDEP}] - )" - -src_prepare() { - default - use python && distutils-r1_src_prepare -} - -src_configure() { - use python && distutils-r1_src_configure - - export BUILD_DYNAMIC_LIB=1 - export USE_STATIC_LIB=0 - export BUILD_STATIC_LIB=0 -} - -src_compile() { - emake AR="$(tc-getAR)" CC="$(tc-getCC)" EXTRA="eeprog" - - if use python ; then - cd py-smbus || die - append-cppflags -I../include - distutils-r1_src_compile - fi -} - -src_install() { - emake EXTRA="eeprog" DESTDIR="${D}" libdir="/usr/$(get_libdir)" PREFIX="/usr" install - dodoc CHANGES README - - if use python ; then - cd py-smbus || die - docinto py-smbus - dodoc README* - distutils-r1_src_install - fi -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/man-pages/man-pages-6.10.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/man-pages/man-pages-6.10.ebuild index eeb536cb1d..9a787b0cbe 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/man-pages/man-pages-6.10.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/man-pages/man-pages-6.10.ebuild @@ -3,6 +3,8 @@ EAPI=8 +inherit eapi9-ver + # Maintenance notes: # - Upstream are very friendly, do approach them if have any questions; # @@ -133,13 +135,10 @@ src_install() { } pkg_postinst() { - for ver in ${REPLACING_VERSIONS} ; do - if ver_test ${ver} -lt 5.13-r2 ; then - # Avoid ACCEPT_LICENSE issues for users by default - # bug #871636 - ewarn "This version of ${PN} no longer depends on sys-apps/man-pages-posix!" - ewarn "Please install sys-apps/man-pages-posix yourself if needed." - break - fi - done + if ver_replacing -lt 5.13-r2 ; then + # Avoid ACCEPT_LICENSE issues for users by default + # bug #871636 + ewarn "This version of ${PN} no longer depends on sys-apps/man-pages-posix!" + ewarn "Please install sys-apps/man-pages-posix yourself if needed." + fi } diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/man-pages/man-pages-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/man-pages/man-pages-9999.ebuild index 3650f5532a..2e025b4606 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/man-pages/man-pages-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/man-pages/man-pages-9999.ebuild @@ -1,8 +1,10 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 +inherit eapi9-ver + # Maintenance notes: # - Upstream are very friendly, do approach them if have any questions; # @@ -133,13 +135,10 @@ src_install() { } pkg_postinst() { - for ver in ${REPLACING_VERSIONS} ; do - if ver_test ${ver} -lt 5.13-r2 ; then - # Avoid ACCEPT_LICENSE issues for users by default - # bug #871636 - ewarn "This version of ${PN} no longer depends on sys-apps/man-pages-posix!" - ewarn "Please install sys-apps/man-pages-posix yourself if needed." - break - fi - done + if ver_replacing -lt 5.13-r2 ; then + # Avoid ACCEPT_LICENSE issues for users by default + # bug #871636 + ewarn "This version of ${PN} no longer depends on sys-apps/man-pages-posix!" + ewarn "Please install sys-apps/man-pages-posix yourself if needed." + fi } 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 7ab3077e76..ac72c95d96 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 @@ -3,3 +3,5 @@ DIST sandbox-2.40.tar.xz 465824 BLAKE2B 1e7e8b1c69807d493d5ca242d746b07aa669e18f DIST sandbox-2.41.tar.xz 468180 BLAKE2B cb00ec8605b9b51ce559a9e9baa68d757e17900abbe9fff890ddbabcc001e47d72a0e7a693104a6594d3d86bc9afebc6945ed3ec101fd67bfe8a855de3ef010f SHA512 ac787ecc61a625717a66fef663f34ddc855c144226f80e1593033f06ccd9dbd526ffbd032a7b142404a0a5a5aea4b813c9258e9c2202c2e9b0574aa35aae3ef8 DIST sandbox-2.42.tar.xz 468676 BLAKE2B c4a17c9c6c1644bf27565eab8d76b37689f2a1ca2083d30d65deffd76449f69f68dd4d56ebb19236ca3111996c037fa4e1e5d034dc942349b93ba7c4c68f6248 SHA512 05076394cec77a6443ccc9ba31209fac32c57497210b817e71d10ffc75388673de75de8be6a86ee2f798a285e02ed1af8f134a988eceb6824a3e94bd5be4fc62 DIST sandbox-2.43.tar.xz 468420 BLAKE2B c407f7c853d53297d4b0b64f1f3e0a6a26402c32990d7a02f6b2d5aec2b73716a0bb9a931371b87917a5390fb3f80b739e9d2884aec07aa6a1679c32926872ab SHA512 aff9bcbc0a26d4d0df2a469e1978051b9cdd2ce67786c90f857576ddfce20eefa78bfdf6c611fa3f60f0cb0247398c4cf6e4413fed0e4f2eb3bfe11e8a5b6e3e +DIST sandbox-2.44.tar.xz 447548 BLAKE2B 89241ef5addf84cfe651d5c25986382966216fe380942d17b523b1187cfcc1a294c9de74736828209ad60ed7819229f4662763ccf5464ce6d032668ea405bc89 SHA512 e75276b1228bb2aa96aa8d5ff9583ea6514a00d5ab2a7ef07da18c88114c3438d11fa8edd6c2fa4be4ddaddee6415913673684e95584368df6f2f52e10b3e627 +DIST sandbox-2.45.tar.xz 447840 BLAKE2B df1cfba485668781b7dbf863ecdc523b3ffbc91c82ce815ab5ade6c1f33aa4e97c0674012f67ad212c94d8e6fe5285ab0aa4f96f6155e7d81ee649973366c1b9 SHA512 aad9e746c8e1d964cbd29fef5139b18853dac36204dcb414b8a4a94d6fdc53609fe7949dcd845894b38965e08be9901ebdfc83dacc4fb37e810efd6a01eeb7b8 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/sandbox/sandbox-2.44.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/sandbox/sandbox-2.44.ebuild new file mode 100644 index 0000000000..42636c70dc --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/sandbox/sandbox-2.44.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +inherit flag-o-matic multilib-minimal multiprocessing + +if [[ ${PV} == *9999 ]]; then + inherit autotools git-r3 + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/sandbox.git + https://github.com/gentoo/sandbox.git" +else + SRC_URI="https://dev.gentoo.org/~floppym/dist/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +DESCRIPTION="sandbox'd LD_PRELOAD hack" +HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Sandbox" + +LICENSE="GPL-2" +SLOT="0" +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="!= dep in Portage but this is a safety net if people do partial upgrades. +RDEPEND="! -Date: Tue, 11 Feb 2025 13:51:32 +0100 -Subject: [PATCH] c++: don't default -frange-for-ext-temps in -std=gnu++20 - [PR188574] - -Since -frange-for-ext-temps has been causing trouble, let's not enable it -by default in pre-C++23 GNU modes for GCC 15, and also allow disabling it in -C++23 and up. - - PR c++/188574 - -gcc/c-family/ChangeLog: - - * c-opts.cc (c_common_post_options): Only enable - -frange-for-ext-temps by default in C++23. - -gcc/ChangeLog: - - * doc/invoke.texi: Adjust -frange-for-ext-temps documentation. - -gcc/testsuite/ChangeLog: - - * g++.dg/cpp23/range-for3.C: Use -frange-for-ext-temps. - * g++.dg/cpp23/range-for4.C: Adjust expected result. - -libgomp/ChangeLog: - - * testsuite/libgomp.c++/range-for-4.C: Adjust expected result. ---- - gcc/c-family/c-opts.cc | 17 +++-------------- - gcc/doc/invoke.texi | 5 ++--- - gcc/testsuite/g++.dg/cpp23/range-for3.C | 4 ++-- - gcc/testsuite/g++.dg/cpp23/range-for4.C | 4 ++-- - libgomp/testsuite/libgomp.c++/range-for-4.C | 2 +- - 5 files changed, 10 insertions(+), 22 deletions(-) - -diff --git a/gcc/c-family/c-opts.cc b/gcc/c-family/c-opts.cc -index 87b231861a64..d43b3aef1024 100644 ---- a/gcc/c-family/c-opts.cc -+++ b/gcc/c-family/c-opts.cc -@@ -1213,20 +1213,9 @@ c_common_post_options (const char **pfilename) - if (cxx_dialect >= cxx20) - flag_concepts = 1; - -- /* Enable lifetime extension of range based for temporaries for C++23. -- Diagnose -std=c++23 -fno-range-for-ext-temps. */ -- if (cxx_dialect >= cxx23) -- { -- if (OPTION_SET_P (flag_range_for_ext_temps) -- && !flag_range_for_ext_temps) -- error ("%<-fno-range-for-ext-temps%> is incompatible with C++23"); -- flag_range_for_ext_temps = 1; -- } -- /* Otherwise default to enabled in GNU modes but allow user to override. */ -- else if (cxx_dialect >= cxx11 -- && !flag_iso -- && !OPTION_SET_P (flag_range_for_ext_temps)) -- flag_range_for_ext_temps = 1; -+ /* Enable lifetime extension of range based for temporaries for C++23. */ -+ SET_OPTION_IF_UNSET (&global_options, &global_options_set, -+ flag_range_for_ext_temps, cxx_dialect >= cxx23); - - /* -fimmediate-escalation has no effect when immediate functions are not - supported. */ -diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi -index 0aef2abf05b9..56d43cb67796 100644 ---- a/gcc/doc/invoke.texi -+++ b/gcc/doc/invoke.texi -@@ -3548,9 +3548,8 @@ easier, you can use @option{-fno-pretty-templates} to disable them. - Enable lifetime extension of C++ range based for temporaries. - With @option{-std=c++23} and above this is part of the language standard, - so lifetime of the temporaries is extended until the end of the loop --regardless of this option. This option allows enabling that behavior also --in earlier versions of the standard and is enabled by default in the --GNU dialects, from @option{-std=gnu++11} until @option{-std=gnu++20}. -+by default. This option allows enabling that behavior also -+in earlier versions of the standard. - - @opindex fno-rtti - @opindex frtti -diff --git a/gcc/testsuite/g++.dg/cpp23/range-for3.C b/gcc/testsuite/g++.dg/cpp23/range-for3.C -index 301e25886ec6..f95b21b3ceee 100644 ---- a/gcc/testsuite/g++.dg/cpp23/range-for3.C -+++ b/gcc/testsuite/g++.dg/cpp23/range-for3.C -@@ -1,7 +1,7 @@ - // P2718R0 - Wording for P2644R1 Fix for Range-based for Loop - // { dg-do run { target c++11 } } --// Verify -frange-for-ext-temps is set by default in -std=gnu++* modes. --// { dg-options "" } -+// Verify -frange-for-ext-temps works in earlier standards. -+// { dg-additional-options "-frange-for-ext-temps" } - - #define RANGE_FOR_EXT_TEMPS 1 - #include "range-for1.C" -diff --git a/gcc/testsuite/g++.dg/cpp23/range-for4.C b/gcc/testsuite/g++.dg/cpp23/range-for4.C -index f8c380d32c72..16204974bac9 100644 ---- a/gcc/testsuite/g++.dg/cpp23/range-for4.C -+++ b/gcc/testsuite/g++.dg/cpp23/range-for4.C -@@ -1,7 +1,7 @@ - // P2718R0 - Wording for P2644R1 Fix for Range-based for Loop - // { dg-do run { target c++11 } } --// Verify -frange-for-ext-temps is set by default in -std=gnu++* modes. -+// Verify -frange-for-ext-temps is not set by default in -std=gnu++* modes. - // { dg-options "" } - --#define RANGE_FOR_EXT_TEMPS 1 -+#define RANGE_FOR_EXT_TEMPS 0 - #include "range-for2.C" -diff --git a/libgomp/testsuite/libgomp.c++/range-for-4.C b/libgomp/testsuite/libgomp.c++/range-for-4.C -index 3c10e7349af7..aa6e4da523c1 100644 ---- a/libgomp/testsuite/libgomp.c++/range-for-4.C -+++ b/libgomp/testsuite/libgomp.c++/range-for-4.C -@@ -3,5 +3,5 @@ - // { dg-additional-options "-std=gnu++17" } - // { dg-require-effective-target tls_runtime } - --#define RANGE_FOR_EXT_TEMPS 1 -+#define RANGE_FOR_EXT_TEMPS 0 - #include "range-for-1.C" --- -2.43.5 diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-15.0.1_pre20250209-range-for-mariadb.patch b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-15.0.1_pre20250209-range-for-mariadb.patch deleted file mode 100644 index 8ffe1b558b..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-15.0.1_pre20250209-range-for-mariadb.patch +++ /dev/null @@ -1,530 +0,0 @@ -https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=26baa2c09b39abf037afad349a318dc5734eae25 - -From 26baa2c09b39abf037afad349a318dc5734eae25 Mon Sep 17 00:00:00 2001 -From: Jakub Jelinek -Date: Thu, 13 Feb 2025 10:21:29 +0100 -Subject: [PATCH] c++: Fix up regressions caused by for/while loops with - declarations [PR118822] - -The recent PR86769 r15-7426 changes regressed the following two testcases, -the first one is more important as it is derived from real-world code. - -The first problem is that the chosen -prep = do_pushlevel (sk_block); -// emit something -body = push_stmt_list (); -// emit further stuff -body = pop_stmt_list (body); -prep = do_poplevel (prep); -way of constructing the {FOR,WHILE}_COND_PREP and {FOR,WHILE}_BODY -isn't reliable. If during parsing a label is seen in the body and then -some decl with destructors, sk_cleanup transparent scope is added, but -the correspondiong result from push_stmt_list is saved in -*current_binding_level and pop_stmt_list then pops even that statement list -but only do_poplevel actually attempts to pop the sk_cleanup scope and so we -ICE. -The reason for not doing do_pushlevel (sk_block); do_pushlevel (sk_block); -is that variables should be in the same scope (otherwise various e.g. -redeclaration*.C tests FAIL) and doing do_pushlevel (sk_block); do_pushlevel -(sk_cleanup); wouldn't work either as do_poplevel would silently unwind even -the cleanup one. - -The second problem is that my assumption that the declaration in the -condition will have zero or one cleanup is just wrong, at least for -structured bindings used as condition, there can be as many cleanups as -there are names in the binding + 1. - -So, the following patch changes the earlier approach. Nothing is removed -from the {FOR,WHILE}_COND_PREP subtrees while doing adjust_loop_decl_cond, -push_stmt_list isn't called either; all it does is remember as an integer -the number of cleanups (CLEANUP_STMT at the end of the STATEMENT_LISTs) -from querying stmt_list_stack and finding the initial *body_p in there -(that integer is stored into {FOR,WHILE}_COND_CLEANUP), and temporarily -{FOR,WHILE}_BODY is set to the last statement (if any) in the innermost -STATEMENT_LIST at the adjust_loop_decl_cond time; then at -finish_{for,while}_stmt a new finish_loop_cond_prep routine takes care of -do_poplevel for the scope (which is in {FOR,WHILE}_COND_PREP) and finds -given {FOR,WHILE}_COND_CLEANUP number and {FOR,WHILE}_BODY tree the right -spot where body statements start and moves that into {FOR,WHILE}_BODY. -Finally genericize_c_loop then inserts the cond, body, continue label, expr -into the right subtree of {FOR,WHILE}_COND_PREP. -The constexpr evaluation unfortunately had to be changed as well, because -we don't want to evaluate everything in BIND_EXPR_BODY (*_COND_PREP ()) -right away, we want to evaluate it with the exception of the CLEANUP_STMT -cleanups at the end (given {FOR,WHILE}_COND_CLEANUP levels), and defer -the evaluation of the cleanups until after cond, body, expr are evaluated. - -2025-02-13 Jakub Jelinek - - PR c++/118822 - PR c++/118833 -gcc/ - * tree-iterator.h (tsi_split_stmt_list): Declare. - * tree-iterator.cc (tsi_split_stmt_list): New function. -gcc/c-family/ - * c-common.h (WHILE_COND_CLEANUP): Change description in comment. - (FOR_COND_CLEANUP): Likewise. - * c-gimplify.cc (genericize_c_loop): Adjust for COND_CLEANUP - being CLEANUP_STMT/TRY_FINALLY_EXPR trailing nesting depth - instead of actual cleanup. -gcc/cp/ - * semantics.cc (adjust_loop_decl_cond): Allow multiple trailing - CLEANUP_STMT levels in *BODY_P. Set *CLEANUP_P to the number - of levels rather than one particular cleanup, keep the cleanups - in *PREP_P. Set *BODY_P to the last stmt in the cur_stmt_list - or NULL if *CLEANUP_P and the innermost cur_stmt_list is empty. - (finish_loop_cond_prep): New function. - (finish_while_stmt, finish_for_stmt): Use it. Don't call - set_one_cleanup_loc. - * constexpr.cc (cxx_eval_loop_expr): Adjust handling of - {FOR,WHILE}_COND_{PREP,CLEANUP}. -gcc/testsuite/ - * g++.dg/expr/for9.C: New test. - * g++.dg/cpp26/decomp12.C: New test. ---- - gcc/c-family/c-common.h | 6 +- - gcc/c-family/c-gimplify.cc | 41 +++------ - gcc/cp/constexpr.cc | 97 +++++++++++++++++-- - gcc/cp/semantics.cc | 128 +++++++++++++++++++------- - gcc/testsuite/g++.dg/cpp26/decomp12.C | 46 +++++++++ - gcc/testsuite/g++.dg/expr/for9.C | 25 +++++ - gcc/tree-iterator.cc | 22 +++++ - gcc/tree-iterator.h | 1 + - 8 files changed, 297 insertions(+), 69 deletions(-) - create mode 100644 gcc/testsuite/g++.dg/cpp26/decomp12.C - create mode 100644 gcc/testsuite/g++.dg/expr/for9.C - -diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h -index bc238430b7a7..ea6c29750567 100644 ---- a/gcc/c-family/c-common.h -+++ b/gcc/c-family/c-common.h -@@ -1518,7 +1518,8 @@ extern tree build_userdef_literal (tree suffix_id, tree value, - - /* WHILE_STMT accessors. These give access to the condition of the - while statement, the body, and name of the while statement, and -- condition preparation statements and its cleanup, respectively. */ -+ condition preparation statements and number of its nested cleanups, -+ respectively. */ - #define WHILE_COND(NODE) TREE_OPERAND (WHILE_STMT_CHECK (NODE), 0) - #define WHILE_BODY(NODE) TREE_OPERAND (WHILE_STMT_CHECK (NODE), 1) - #define WHILE_NAME(NODE) TREE_OPERAND (WHILE_STMT_CHECK (NODE), 2) -@@ -1533,7 +1534,8 @@ extern tree build_userdef_literal (tree suffix_id, tree value, - - /* FOR_STMT accessors. These give access to the init statement, - condition, update expression, body and name of the for statement, -- and condition preparation statements and its cleanup, respectively. */ -+ and condition preparation statements and number of its nested cleanups, -+ respectively. */ - #define FOR_INIT_STMT(NODE) TREE_OPERAND (FOR_STMT_CHECK (NODE), 0) - #define FOR_COND(NODE) TREE_OPERAND (FOR_STMT_CHECK (NODE), 1) - #define FOR_EXPR(NODE) TREE_OPERAND (FOR_STMT_CHECK (NODE), 2) -diff --git a/gcc/c-family/c-gimplify.cc b/gcc/c-family/c-gimplify.cc -index d53e0c2dc567..dc5e80dfa6be 100644 ---- a/gcc/c-family/c-gimplify.cc -+++ b/gcc/c-family/c-gimplify.cc -@@ -258,8 +258,10 @@ expr_loc_or_loc (const_tree expr, location_t or_loc) - for C++ for/while loops with variable declaration as condition. COND_PREP - is a BIND_EXPR with the declaration and initialization of the condition - variable, into which COND, BODY, continue label if needed and INCR if -- non-NULL should be appended, and COND_CLEANUP are statements which should -- be evaluated after that or if anything in COND, BODY or INCR throws. */ -+ non-NULL should be appended, and COND_CLEANUP is number of nested -+ CLEANUP_STMT -> TRY_FINALLY_EXPR statements at the end. If non-NULL, -+ COND, BODY, continue label if needed and INCR if non-NULL should be -+ appended to the body of the COND_CLEANUP's nested TRY_FINALLY_EXPR. */ - - static void - genericize_c_loop (tree *stmt_p, location_t start_locus, tree cond, tree body, -@@ -278,7 +280,6 @@ genericize_c_loop (tree *stmt_p, location_t start_locus, tree cond, tree body, - walk_tree_1 (&cond_prep, func, data, NULL, lh); - walk_tree_1 (&cond, func, data, NULL, lh); - walk_tree_1 (&incr, func, data, NULL, lh); -- walk_tree_1 (&cond_cleanup, func, data, NULL, lh); - - blab = begin_bc_block (bc_break, start_locus); - clab = begin_bc_block (bc_continue, start_locus); -@@ -309,36 +310,24 @@ genericize_c_loop (tree *stmt_p, location_t start_locus, tree cond, tree body, - EXPR; - goto top; - -- or -- -- try { -- if (COND); else break; -- BODY; -- cont: -- EXPR; -- } finally { -- COND_CLEANUP -- } -- -- appended into COND_PREP body. */ -+ appended into COND_PREP body or body of some TRY_FINALLY_EXPRs -+ at the end of COND_PREP. */ - gcc_assert (cond_is_first && TREE_CODE (cond_prep) == BIND_EXPR); - tree top = build1 (LABEL_EXPR, void_type_node, - create_artificial_label (start_locus)); - exit = build1 (GOTO_EXPR, void_type_node, LABEL_EXPR_LABEL (top)); - append_to_statement_list (top, &outer_stmt_list); - append_to_statement_list (cond_prep, &outer_stmt_list); -- stmt_list = BIND_EXPR_BODY (cond_prep); -- BIND_EXPR_BODY (cond_prep) = NULL_TREE; - stmt_list_p = &BIND_EXPR_BODY (cond_prep); -- if (cond_cleanup && TREE_SIDE_EFFECTS (cond_cleanup)) -- { -- t = build2_loc (EXPR_LOCATION (cond_cleanup), TRY_FINALLY_EXPR, -- void_type_node, NULL_TREE, cond_cleanup); -- append_to_statement_list (t, &stmt_list); -- *stmt_list_p = stmt_list; -- stmt_list_p = &TREE_OPERAND (t, 0); -- stmt_list = NULL_TREE; -- } -+ if (cond_cleanup) -+ for (unsigned depth = tree_to_uhwi (cond_cleanup); depth; --depth) -+ { -+ t = tsi_stmt (tsi_last (*stmt_list_p)); -+ gcc_assert (TREE_CODE (t) == TRY_FINALLY_EXPR); -+ stmt_list_p = &TREE_OPERAND (t, 0); -+ } -+ stmt_list = *stmt_list_p; -+ *stmt_list_p = NULL_TREE; - tree after_cond = create_artificial_label (cond_locus); - tree goto_after_cond = build1 (GOTO_EXPR, void_type_node, after_cond); - t = build1 (GOTO_EXPR, void_type_node, get_bc_label (bc_break)); -diff --git a/gcc/cp/constexpr.cc b/gcc/cp/constexpr.cc -index f142dd32bc80..299b13456873 100644 ---- a/gcc/cp/constexpr.cc -+++ b/gcc/cp/constexpr.cc -@@ -7153,6 +7153,7 @@ cxx_eval_loop_expr (const constexpr_ctx *ctx, tree t, - - tree body, cond = NULL_TREE, expr = NULL_TREE; - tree cond_prep = NULL_TREE, cond_cleanup = NULL_TREE; -+ unsigned cond_cleanup_depth = 0; - int count = 0; - switch (TREE_CODE (t)) - { -@@ -7188,11 +7189,25 @@ cxx_eval_loop_expr (const constexpr_ctx *ctx, tree t, - } - if (cond_prep) - gcc_assert (TREE_CODE (cond_prep) == BIND_EXPR); -- auto cleanup_cond = [=] { -+ auto cleanup_cond = [&] { - /* Clean up the condition variable after each iteration. */ -- if (cond_cleanup && !*non_constant_p) -- cxx_eval_constant_expression (ctx, cond_cleanup, vc_discard, -- non_constant_p, overflow_p); -+ if (cond_cleanup_depth && !*non_constant_p) -+ { -+ auto_vec cleanups (cond_cleanup_depth); -+ tree s = BIND_EXPR_BODY (cond_prep); -+ unsigned i; -+ for (i = cond_cleanup_depth; i; --i) -+ { -+ tree_stmt_iterator iter = tsi_last (s); -+ s = tsi_stmt (iter); -+ cleanups.quick_push (CLEANUP_EXPR (s)); -+ s = CLEANUP_BODY (s); -+ } -+ tree c; -+ FOR_EACH_VEC_ELT_REVERSE (cleanups, i, c) -+ cxx_eval_constant_expression (ctx, c, vc_discard, non_constant_p, -+ overflow_p); -+ } - if (cond_prep) - for (tree decl = BIND_EXPR_VARS (cond_prep); - decl; decl = DECL_CHAIN (decl)) -@@ -7227,9 +7242,77 @@ cxx_eval_loop_expr (const constexpr_ctx *ctx, tree t, - for (tree decl = BIND_EXPR_VARS (cond_prep); - decl; decl = DECL_CHAIN (decl)) - ctx->global->clear_value (decl); -- cxx_eval_constant_expression (ctx, BIND_EXPR_BODY (cond_prep), -- vc_discard, non_constant_p, -- overflow_p, jump_target); -+ if (cond_cleanup) -+ { -+ /* If COND_CLEANUP is non-NULL, we need to evaluate DEPTH -+ nested STATEMENT_LISTs from inside of BIND_EXPR_BODY, -+ but defer the evaluation of CLEANUP_EXPRs of CLEANUP_STMT -+ at the end of those STATEMENT_LISTs. */ -+ cond_cleanup_depth = 0; -+ tree s = BIND_EXPR_BODY (cond_prep); -+ for (unsigned depth = tree_to_uhwi (cond_cleanup); -+ depth; --depth) -+ { -+ for (tree_stmt_iterator i = tsi_start (s); -+ !tsi_end_p (i); ++i) -+ { -+ tree stmt = *i; -+ if (TREE_CODE (stmt) == DEBUG_BEGIN_STMT) -+ continue; -+ if (tsi_one_before_end_p (i)) -+ { -+ /* The last statement in the STATEMENT_LIST -+ has to be a CLEANUP_STMT (verified in -+ finish_loop_cond_prep). We want to -+ evaluate just its CLEANUP_BODY part but not -+ CLEANUP_EXPR part just yet. */ -+ gcc_assert (TREE_CODE (stmt) == CLEANUP_STMT); -+ /* If the CLEANUP_STMT is not actually to be -+ evaluated, don't increment cond_cleanup_depth -+ so that we don't evaluate the CLEANUP_EXPR -+ for it later either. */ -+ if (*jump_target) -+ { -+ depth = 1; -+ break; -+ } -+ ++cond_cleanup_depth; -+ /* If not in the innermost one, next iteration -+ will handle CLEANUP_BODY similarly. */ -+ if (depth > 1) -+ { -+ s = CLEANUP_BODY (stmt); -+ break; -+ } -+ /* The innermost one can be evaluated normally. */ -+ cxx_eval_constant_expression (ctx, -+ CLEANUP_BODY (stmt), -+ vc_discard, -+ non_constant_p, -+ overflow_p, -+ jump_target); -+ break; -+ } -+ /* And so should be evaluated statements which aren't -+ last in the STATEMENT_LIST. */ -+ cxx_eval_constant_expression (ctx, stmt, vc_discard, -+ non_constant_p, overflow_p, -+ jump_target); -+ if (*non_constant_p -+ || returns (jump_target) -+ || breaks (jump_target) -+ || continues (jump_target)) -+ { -+ depth = 1; -+ break; -+ } -+ } -+ } -+ } -+ else -+ cxx_eval_constant_expression (ctx, BIND_EXPR_BODY (cond_prep), -+ vc_discard, non_constant_p, -+ overflow_p, jump_target); - } - - if (cond) -diff --git a/gcc/cp/semantics.cc b/gcc/cp/semantics.cc -index 8a2d86576fb0..7c7d3e3c4326 100644 ---- a/gcc/cp/semantics.cc -+++ b/gcc/cp/semantics.cc -@@ -790,8 +790,8 @@ finish_cond (tree *cond_p, tree expr) - while (A x = 42) { } - for (; A x = 42;) { } - move the *BODY_P statements as a BIND_EXPR into {FOR,WHILE}_COND_PREP -- and if there is any CLEANUP_STMT at the end, remove that and -- put the cleanup into {FOR,WHILE}_COND_CLEANUP. -+ and if there are any CLEANUP_STMT at the end, remember their count in -+ {FOR,WHILE}_COND_CLEANUP. - genericize_c_loop will then handle it appropriately. In particular, - the {FOR,WHILE}_COND, {FOR,WHILE}_BODY, if used continue label and - FOR_EXPR will be appended into the {FOR,WHILE}_COND_PREP BIND_EXPR, -@@ -807,26 +807,88 @@ adjust_loop_decl_cond (tree *body_p, tree *prep_p, tree *cleanup_p) - return; - - gcc_assert (!processing_template_decl); -- if (*body_p != cur_stmt_list) -- { -- /* There can be either no cleanup at all, if the condition -- declaration doesn't have non-trivial destructor, or a single -- one if it does. In that case extract it into *CLEANUP_P. */ -- gcc_assert (stmt_list_stack->length () > 1 -- && (*stmt_list_stack)[stmt_list_stack->length () -- - 2] == *body_p); -- tree_stmt_iterator last = tsi_last (*body_p); -- gcc_assert (tsi_one_before_end_p (last) -- && TREE_CODE (tsi_stmt (last)) == CLEANUP_STMT -- && CLEANUP_BODY (tsi_stmt (last)) == cur_stmt_list -- && tsi_end_p (tsi_last (cur_stmt_list)) -- && !CLEANUP_EH_ONLY (tsi_stmt (last))); -- *cleanup_p = CLEANUP_EXPR (tsi_stmt (last)); -- tsi_delink (&last); -+ *prep_p = *body_p; -+ if (*prep_p != cur_stmt_list) -+ { -+ /* There can be just one CLEANUP_STMT, or there could be multiple -+ nested CLEANUP_STMTs, e.g. for structured bindings used as -+ condition. */ -+ gcc_assert (stmt_list_stack->length () > 1); -+ for (unsigned i = stmt_list_stack->length () - 2; ; --i) -+ { -+ tree t = (*stmt_list_stack)[i]; -+ tree_stmt_iterator last = tsi_last (t); -+ gcc_assert (tsi_one_before_end_p (last) -+ && TREE_CODE (tsi_stmt (last)) == CLEANUP_STMT -+ && (CLEANUP_BODY (tsi_stmt (last)) -+ == (*stmt_list_stack)[i + 1]) -+ && !CLEANUP_EH_ONLY (tsi_stmt (last))); -+ if (t == *prep_p) -+ { -+ *cleanup_p = build_int_cst (long_unsigned_type_node, -+ stmt_list_stack->length () - 1 - i); -+ break; -+ } -+ gcc_assert (i >= 1); -+ } - } - current_binding_level->keep = true; -- *prep_p = *body_p; -- *body_p = push_stmt_list (); -+ tree_stmt_iterator iter = tsi_last (cur_stmt_list); -+ /* Temporarily store in {FOR,WHILE}_BODY the last statement of -+ the innnermost statement list or NULL if it has no statement. -+ This is used in finish_loop_cond_prep to find out the splitting -+ point and then {FOR,WHILE}_BODY will be changed to the actual -+ body. */ -+ if (tsi_end_p (iter)) -+ *body_p = NULL_TREE; -+ else -+ *body_p = tsi_stmt (iter); -+} -+ -+/* Finalize {FOR,WHILE}_{BODY,COND_PREP} after the loop body. -+ The above function initialized *BODY_P to the last statement -+ in *PREP_P at that point. -+ Call do_poplevel on *PREP_P and move everything after that -+ former last statement into *BODY_P. genericize_c_loop -+ will later put those parts back together. -+ CLEANUP is {FOR,WHILE}_COND_CLEANUP. */ -+ -+static void -+finish_loop_cond_prep (tree *body_p, tree *prep_p, tree cleanup) -+{ -+ *prep_p = do_poplevel (*prep_p); -+ gcc_assert (TREE_CODE (*prep_p) == BIND_EXPR); -+ if (BIND_EXPR_BODY (*prep_p) == *body_p) -+ { -+ gcc_assert (cleanup == NULL_TREE); -+ *body_p = build_empty_stmt (input_location); -+ return; -+ } -+ tree stmt_list = BIND_EXPR_BODY (*prep_p); -+ gcc_assert (TREE_CODE (stmt_list) == STATEMENT_LIST); -+ if (cleanup) -+ { -+ tree_stmt_iterator iter = tsi_last (stmt_list); -+ gcc_assert (TREE_CODE (tsi_stmt (iter)) == CLEANUP_STMT); -+ for (unsigned depth = tree_to_uhwi (cleanup); depth > 1; --depth) -+ { -+ gcc_assert (TREE_CODE (CLEANUP_BODY (tsi_stmt (iter))) -+ == STATEMENT_LIST); -+ iter = tsi_last (CLEANUP_BODY (tsi_stmt (iter))); -+ gcc_assert (TREE_CODE (tsi_stmt (iter)) == CLEANUP_STMT); -+ } -+ if (*body_p == NULL_TREE) -+ { -+ *body_p = CLEANUP_BODY (tsi_stmt (iter)); -+ CLEANUP_BODY (tsi_stmt (iter)) = build_empty_stmt (input_location); -+ return; -+ } -+ stmt_list = CLEANUP_BODY (tsi_stmt (iter)); -+ } -+ tree_stmt_iterator iter = tsi_start (stmt_list); -+ while (tsi_stmt (iter) != *body_p) -+ tsi_next (&iter); -+ *body_p = tsi_split_stmt_list (input_location, iter); - } - - /* Finish a goto-statement. */ -@@ -1437,14 +1499,13 @@ void - finish_while_stmt (tree while_stmt) - { - end_maybe_infinite_loop (boolean_true_node); -- WHILE_BODY (while_stmt) -- = (WHILE_COND_PREP (while_stmt) -- ? pop_stmt_list (WHILE_BODY (while_stmt)) -- : do_poplevel (WHILE_BODY (while_stmt))); -- finish_loop_cond (&WHILE_COND (while_stmt), WHILE_BODY (while_stmt)); - if (WHILE_COND_PREP (while_stmt)) -- WHILE_COND_PREP (while_stmt) = do_poplevel (WHILE_COND_PREP (while_stmt)); -- set_one_cleanup_loc (WHILE_COND_CLEANUP (while_stmt), input_location); -+ finish_loop_cond_prep (&WHILE_BODY (while_stmt), -+ &WHILE_COND_PREP (while_stmt), -+ WHILE_COND_CLEANUP (while_stmt)); -+ else -+ WHILE_BODY (while_stmt) = do_poplevel (WHILE_BODY (while_stmt)); -+ finish_loop_cond (&WHILE_COND (while_stmt), WHILE_BODY (while_stmt)); - } - - /* Begin a do-statement. Returns a newly created DO_STMT if -@@ -1709,17 +1770,16 @@ finish_for_stmt (tree for_stmt) - RANGE_FOR_BODY (for_stmt) = do_poplevel (RANGE_FOR_BODY (for_stmt)); - else - { -- FOR_BODY (for_stmt) -- = (FOR_COND_PREP (for_stmt) -- ? pop_stmt_list (FOR_BODY (for_stmt)) -- : do_poplevel (FOR_BODY (for_stmt))); -+ if (FOR_COND_PREP (for_stmt)) -+ finish_loop_cond_prep (&FOR_BODY (for_stmt), -+ &FOR_COND_PREP (for_stmt), -+ FOR_COND_CLEANUP (for_stmt)); -+ else -+ FOR_BODY (for_stmt) = do_poplevel (FOR_BODY (for_stmt)); - if (FOR_COND (for_stmt)) - finish_loop_cond (&FOR_COND (for_stmt), - FOR_EXPR (for_stmt) ? integer_one_node - : FOR_BODY (for_stmt)); -- if (FOR_COND_PREP (for_stmt)) -- FOR_COND_PREP (for_stmt) = do_poplevel (FOR_COND_PREP (for_stmt)); -- set_one_cleanup_loc (FOR_COND_CLEANUP (for_stmt), input_location); - } - - /* Pop the scope for the body of the loop. */ -diff --git a/gcc/tree-iterator.cc b/gcc/tree-iterator.cc -index db2219c62489..b7e2b421c5ee 100644 ---- a/gcc/tree-iterator.cc -+++ b/gcc/tree-iterator.cc -@@ -284,6 +284,28 @@ tsi_delink (tree_stmt_iterator *i) - i->ptr = next; - } - -+/* Split a STATEMENT_LIST in I.contrainer into two, all statements -+ from the start until I.ptr inclusive will remain in the original -+ one, all statements after I.ptr are removed from that STATEMENT_LIST -+ and returned as a new STATEMENT_LIST. If I is the last statement, -+ an empty statement with LOC location is returned. */ -+ -+tree -+tsi_split_stmt_list (location_t loc, tree_stmt_iterator i) -+{ -+ if (tsi_one_before_end_p (i)) -+ return build_empty_stmt (loc); -+ tsi_next (&i); -+ tree ret = NULL_TREE; -+ while (!tsi_end_p (i)) -+ { -+ tree t = tsi_stmt (i); -+ tsi_delink (&i); -+ append_to_statement_list_force (t, &ret); -+ } -+ return ret; -+} -+ - /* Return the first expression in a sequence of COMPOUND_EXPRs, or in - a STATEMENT_LIST, disregarding DEBUG_BEGIN_STMTs, recursing into a - STATEMENT_LIST if that's the first non-DEBUG_BEGIN_STMT. */ -diff --git a/gcc/tree-iterator.h b/gcc/tree-iterator.h -index 27795e9ee2b8..d1bc9014c65b 100644 ---- a/gcc/tree-iterator.h -+++ b/gcc/tree-iterator.h -@@ -138,6 +138,7 @@ extern void tsi_link_after (tree_stmt_iterator *, tree, - enum tsi_iterator_update); - - extern void tsi_delink (tree_stmt_iterator *); -+extern tree tsi_split_stmt_list (location_t, tree_stmt_iterator); - - extern tree alloc_stmt_list (void); - extern void free_stmt_list (tree); --- -2.43.5 diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250123.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250123.ebuild deleted file mode 100644 index 83011b194d..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250123.ebuild +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 1999-2025 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="2" -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_p20250130.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250130.ebuild deleted file mode 100644 index 83011b194d..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250130.ebuild +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 1999-2025 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="2" -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_p20250206.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250206.ebuild deleted file mode 100644 index 83011b194d..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250206.ebuild +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 1999-2025 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="2" -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_p20250213.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250213.ebuild deleted file mode 100644 index 83011b194d..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250213.ebuild +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 1999-2025 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="2" -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_p20250116.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250220.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250116.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250220.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20250124.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20250124.ebuild deleted file mode 100644 index ac245b9b41..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20250124.ebuild +++ /dev/null @@ -1,66 +0,0 @@ -# Copyright 1999-2025 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="2" -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_p20250131.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20250131.ebuild deleted file mode 100644 index ac245b9b41..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20250131.ebuild +++ /dev/null @@ -1,66 +0,0 @@ -# Copyright 1999-2025 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="2" -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_p20250207.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20250207.ebuild deleted file mode 100644 index ac245b9b41..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20250207.ebuild +++ /dev/null @@ -1,66 +0,0 @@ -# Copyright 1999-2025 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="2" -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_p20250214.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20250214.ebuild deleted file mode 100644 index ac245b9b41..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20250214.ebuild +++ /dev/null @@ -1,66 +0,0 @@ -# Copyright 1999-2025 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="2" -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_p20250117.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20250221.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20250117.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20250221.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20250118.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20250118.ebuild deleted file mode 100644 index 95c826f029..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20250118.ebuild +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 1999-2025 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="7" -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_p20250125.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20250125.ebuild deleted file mode 100644 index 95c826f029..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20250125.ebuild +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 1999-2025 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="7" -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_p20250201.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20250201.ebuild deleted file mode 100644 index 95c826f029..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20250201.ebuild +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 1999-2025 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="7" -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_p20250215.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20250215.ebuild deleted file mode 100644 index 8797a7ea31..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20250215.ebuild +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 1999-2025 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="8" -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_p20250208.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20250222.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20250208.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20250222.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.1_pre20250119.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.1_pre20250119.ebuild deleted file mode 100644 index f621405128..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.1_pre20250119.ebuild +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright 1999-2025 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="42" -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.1_pre20250126.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.1_pre20250126.ebuild deleted file mode 100644 index bd26365ddc..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.1_pre20250126.ebuild +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright 1999-2025 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="43" -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.1_pre20250202.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.1_pre20250202.ebuild deleted file mode 100644 index 3af8354bed..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.1_pre20250202.ebuild +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright 1999-2025 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="44" -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.1_pre20250209-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.1_pre20250209-r1.ebuild deleted file mode 100644 index c30b842f30..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.1_pre20250209-r1.ebuild +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 1999-2025 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="45" -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 - eapply "${FILESDIR}"/${P}-coro.patch - eapply "${FILESDIR}"/${P}-range-for-mariadb.patch -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20250112-r3.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.1_pre20250223.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20250112-r3.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.1_pre20250223.ebuild index e5348afa3e..876aa1eb35 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.0_pre20250112-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.1_pre20250223.ebuild @@ -6,7 +6,7 @@ EAPI=8 TOOLCHAIN_PATCH_DEV="sam" TOOLCHAIN_HAS_TESTS=1 PATCH_GCC_VER="15.0.0" -PATCH_VER="41" +PATCH_VER="46" 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/gettext/gettext-0.22.5-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.22.5-r1.ebuild index 1528c6eabe..a170dc8064 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.22.5-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.22.5-r1.ebuild @@ -23,7 +23,7 @@ else mirror://gnu/${PN}/${P}.tar.xz verify-sig? ( mirror://gnu/${PN}/${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 # Only libasprintf is under the LGPL (and libintl is in a sep package), diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/e2fsprogs/e2fsprogs-1.47.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/e2fsprogs/e2fsprogs-1.47.2.ebuild index 55fb96d3c4..eb92f18944 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/e2fsprogs/e2fsprogs-1.47.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/e2fsprogs/e2fsprogs-1.47.2.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v${PV}/$ LICENSE="GPL-2 BSD" SLOT="0" -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" IUSE="archive cron fuse nls static-libs test +tools" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/mtools/Manifest b/sdk_container/src/third_party/portage-stable/sys-fs/mtools/Manifest index ed942f8b77..cdda1af097 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/mtools/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-fs/mtools/Manifest @@ -1,2 +1,3 @@ DIST mtools-4.0.46.tar.lz 391300 BLAKE2B 997e766b215aebefb23d57f357ea0b95db62a7e3b40712597c38aa11c0f9c47dc43b0b6a34bfa2b976ec8298ed221c5d7d81e9f16dbeb0a4812e3a6cbff16a16 SHA512 1af737cc4793a2e6afe14b5595f085f8aa29e58bf4d8ba89454c7b9a10041a0ebe06fd50b525332c38805c7a9b014fc4379ae1cc259da7626974c6b6a061e727 DIST mtools-4.0.47.tar.lz 391656 BLAKE2B 52fdfdaaea09cf3809b0432237b1491be9c2869fe839e951f11178970ebbc82d9dc4bc6446015e50f44098171493c4d4d191d23c03a0b83819b1dd66934493f1 SHA512 7d3db137a121f5fa54b1b2565048a3be5ac197f25240da037c8200232a0282b1541eb220359e6759e96e77836d2babc0b5a9894c91c5ba7b87b9acc5d1458c81 +DIST mtools-4.0.48.tar.lz 396333 BLAKE2B 3305f79bb7c67040a2df3cccfb2e5e7fde721c8b21f0a1eec1f34a7733596cd6d80135b21595b0b0d8ca6a556d23e891880adcc5122e7c9e128561842df4ffcc SHA512 a352ac557341a594009c7adf44964bc3e4ac31d7fbcfe8a52d70c3b3a06ac134d176f52515d5a7d9aef0563c14967fd80385dc0b84a979abed1f221156ff22a0 diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/mtools/mtools-4.0.47.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/mtools/mtools-4.0.47.ebuild index 00ad3bb1d9..712eeed318 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/mtools/mtools-4.0.47.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/mtools/mtools-4.0.47.ebuild @@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.lz" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv sparc x86 ~x64-macos ~x64-solaris" IUSE="gui" RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/mtools/mtools-4.0.48.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/mtools/mtools-4.0.48.ebuild new file mode 100644 index 0000000000..00ad3bb1d9 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/mtools/mtools-4.0.48.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic unpacker + +DESCRIPTION="Utilities to access MS-DOS disks from Unix without mounting them" +HOMEPAGE="https://www.gnu.org/software/mtools/ https://savannah.gnu.org/projects/mtools" +SRC_URI="mirror://gnu/${PN}/${P}.tar.lz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos ~x64-solaris" +IUSE="gui" + +RDEPEND=" + virtual/libiconv + gui? ( + x11-libs/libICE + x11-libs/libXau + x11-libs/libSM + x11-libs/libX11 + x11-libs/libXt + ) +" +DEPEND="${RDEPEND}" +BDEPEND="$(unpacker_src_uri_depends)" + +src_configure() { + if ! use elibc_glibc && ! use elibc_musl ; then + # bug #447688 + append-libs "-liconv" + fi + + local myeconfargs=( + --sysconfdir="${EPREFIX}"/etc/mtools + $(use_with gui x) + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + local -a DOCS=( README* Release.notes ) + + default + + insinto /etc/mtools + doins mtools.conf + + # Default is fine + sed -i -e '/^SAMPLE FILE$/s:^:#:' "${ED}"/etc/mtools/mtools.conf || die +} 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 bdcef0e027..55396fa679 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,6 +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.12.0.tar.xz 1471672 BLAKE2B 471832b07bc2cca5bde6e1ac253d151b0889f7b7be75ae322727299a83329899d4c3aac8217b069fee3f7abc6bc964127c35a206b04cb796999497f5ad701f44 SHA512 020810b4a261f4ab4eb94aae813f22b26bb9f17705967198189509e684422361dd80af938e4a77cf326353d5d61d5aeaaee9a34e8a7b8ed1dddd63b7ad1b0510 +DIST xfsprogs-6.13.0.tar.xz 1506676 BLAKE2B 98a8b51ba7fb7f58ea292e9c4624ca3c2337d962f832d92549763a85036b8ba0579de0d172465227eb51cc5c51e3b5d4f54144690001ea8b6795b3a43bc41b9b SHA512 9fd73c8585cd295b79b227cd5855407da4b3ea2d40a1ca82e0a93887644b497cced182960bcd8f3c45805dda4a244d1555fd49da5d7e82fe4525d345c766a63a 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/files/xfsprogs-6.10.0-c++-void.patch b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/files/xfsprogs-6.10.0-c++-void.patch deleted file mode 100644 index 04b71ff89f..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/files/xfsprogs-6.10.0-c++-void.patch +++ /dev/null @@ -1,46 +0,0 @@ -https://bugs.gentoo.org/938569 -https://lore.kernel.org/linux-xfs/172480131521.2291268.17945339760767205637.stgit@frogsfrogsfrogs/ - -From fd885ea4d54be6e98df7342bd99b77bc8cbd64d5 Mon Sep 17 00:00:00 2001 -Message-ID: -From: "Darrick J. Wong" -Date: Tue, 27 Aug 2024 16:33:58 -0700 -Subject: [PATCH] xfs: fix C++ compilation errors in xfs_fs.h - -Several people reported C++ compilation errors due to things that C -compilers allow but C++ compilers do not. Fix both of these problems, -and hope there aren't more of these brown paper bags in 2 months when we -finally get these fixes through the process into a released xfsprogs. - -Reported-by: kernel@mattwhitlock.name -Reported-by: sam@gentoo.org -Closes: https://bugzilla.kernel.org/show_bug.cgi?id=219203 -Fixes: 233f4e12bbb2c ("xfs: add parent pointer ioctls") -Signed-off-by: Darrick J. Wong ---- - libxfs/xfs_fs.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libxfs/xfs_fs.h b/libxfs/xfs_fs.h -index 454b63ef..2b8e1f4f 100644 ---- a/libxfs/xfs_fs.h -+++ b/libxfs/xfs_fs.h -@@ -906,13 +906,13 @@ static inline struct xfs_getparents_rec * - xfs_getparents_next_rec(struct xfs_getparents *gp, - struct xfs_getparents_rec *gpr) - { -- void *next = ((void *)gpr + gpr->gpr_reclen); -+ void *next = ((char *)gpr + gpr->gpr_reclen); - void *end = (void *)(uintptr_t)(gp->gp_buffer + gp->gp_bufsize); - - if (next >= end) - return NULL; - -- return next; -+ return (struct xfs_getparents_rec *)next; - } - - /* Iterate through this file handle's directory parent pointers. */ --- -2.46.0 - diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/files/xfsprogs-6.13.0-32-bit.patch b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/files/xfsprogs-6.13.0-32-bit.patch new file mode 100644 index 0000000000..e5bb09425f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/files/xfsprogs-6.13.0-32-bit.patch @@ -0,0 +1,44 @@ +https://lore.kernel.org/linux-xfs/20250221185757.79333-1-preichl@redhat.com/ + +From: Pavel Reichl +To: aalbersh@redhat.com +Cc: linux-xfs@vger.kernel.org +Subject: [PATCH v2] xfsprogs: Fix mismatched return type of filesize() +Date: Fri, 21 Feb 2025 19:57:57 +0100 +Message-ID: <20250221185757.79333-1-preichl@redhat.com> +X-Mailer: git-send-email 2.48.1 +In-Reply-To: <20250217155043.78452-1-preichl@redhat.com> +References: <20250217155043.78452-1-preichl@redhat.com> +Precedence: bulk +X-Mailing-List: linux-xfs@vger.kernel.org +List-Id: +List-Subscribe: +List-Unsubscribe: +MIME-Version: 1.0 +Content-Transfer-Encoding: 8bit + +The function filesize() was declared with a return type of 'long' but +defined with 'off_t'. This mismatch caused build issues due to type +incompatibility. + +This commit updates the declaration to match the definition, ensuring +consistency and preventing potential compilation errors. + +Fixes: 73fb78e5ee8 ("mkfs: support copying in large or sparse files") + +Signed-off-by: Pavel Reichl +Reviewed-by: Darrick J. Wong +Reviewed-by: Carlos Maiolino +--- a/mkfs/proto.c ++++ b/mkfs/proto.c +@@ -20,7 +20,7 @@ static struct xfs_trans * getres(struct xfs_mount *mp, uint blocks); + static void rsvfile(xfs_mount_t *mp, xfs_inode_t *ip, long long len); + static int newregfile(char **pp, char **fname); + static void rtinit(xfs_mount_t *mp); +-static long filesize(int fd); ++static off_t filesize(int fd); + static int slashes_are_spaces; + + /* +-- +2.48.1 diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.10.0-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.13.0-r1.ebuild similarity index 91% rename from sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.10.0-r2.ebuild rename to sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.13.0-r1.ebuild index 7e71209b2e..f2dfa068fb 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.10.0-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.13.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -21,12 +21,15 @@ RDEPEND=" icu? ( dev-libs/icu:= ) libedit? ( dev-libs/libedit ) " -DEPEND="${RDEPEND}" +DEPEND=" + ${RDEPEND} + >=sys-kernel/linux-headers-6.11 +" BDEPEND="nls? ( sys-devel/gettext )" RDEPEND+=" selinux? ( sec-policy/selinux-xfs )" PATCHES=( - "${FILESDIR}"/${PN}-6.10.0-c++-void.patch + "${FILESDIR}"/${PN}-6.13.0-32-bit.patch ) src_prepare() { @@ -86,7 +89,9 @@ src_configure() { } src_compile() { - emake V=1 + # -j1 for: + # gmake[2]: *** No rule to make target '../libhandle/libhandle.la', needed by 'xfs_spaceman'. Stop. + emake V=1 -j1 } src_install() { diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.9.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.9.0.ebuild deleted file mode 100644 index 48fe18a4a7..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.9.0.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 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 )" - -PATCHES=( - "${FILESDIR}"/${PN}-5.3.0-libdir.patch -) - -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 - --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() { - emake V=1 -} - -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 - - if ! use static-libs; then - rm "${ED}/usr/$(get_libdir)/libhandle.a" || die - fi -} - -pkg_postrm() { - udev_reload -} - -pkg_postinst() { - udev_reload -} diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.12.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.12.ebuild index e740370311..6a51ff9fb8 100644 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.12.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-kernel/linux-headers/linux-headers-6.12.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -17,7 +17,7 @@ SRC_URI=" " S="${WORKDIR}/linux-${PV}" -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=" app-arch/xz-utils diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/cracklib/cracklib-2.10.3.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/cracklib/cracklib-2.10.3.ebuild index 13f5dab1a0..9708b38db1 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/cracklib/cracklib-2.10.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/cracklib/cracklib-2.10.3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -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/glibc/glibc-2.41.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.41.ebuild index 9706271cc1..394b594a66 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.41.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.41.ebuild @@ -33,7 +33,7 @@ MIN_PAX_UTILS_VER="1.3.3" MIN_SYSTEMD_VER="254.9-r1" inherit python-any-r1 prefix preserve-libs toolchain-funcs flag-o-matic gnuconfig \ - multilib systemd multiprocessing tmpfiles + multilib systemd multiprocessing tmpfiles eapi9-ver DESCRIPTION="GNU libc C library" HOMEPAGE="https://www.gnu.org/software/libc/" @@ -895,16 +895,12 @@ upgrade_warning() { is_crosscompile && return if [[ ${MERGE_TYPE} != buildonly && -n ${REPLACING_VERSIONS} && -z ${ROOT} ]]; then - local oldv newv=$(ver_cut 1-2 ${PV}) - for oldv in ${REPLACING_VERSIONS}; do - if ver_test ${oldv} -lt ${newv}; then - ewarn "After upgrading glibc, please restart all running processes." - ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)." - ewarn "Alternatively, reboot your system." - ewarn "(See bug #660556, bug #741116, bug #823756, etc)" - break - fi - done + if ver_replacing -lt $(ver_cut 1-2 ${PV}); then + ewarn "After upgrading glibc, please restart all running processes." + ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)." + ewarn "Alternatively, reboot your system." + ewarn "(See bug #660556, bug #741116, bug #823756, etc)" + fi fi } diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-9999.ebuild index 3d994649ea..f66d2de88d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-9999.ebuild @@ -33,7 +33,7 @@ MIN_PAX_UTILS_VER="1.3.3" MIN_SYSTEMD_VER="254.9-r1" inherit python-any-r1 prefix preserve-libs toolchain-funcs flag-o-matic gnuconfig \ - multilib systemd multiprocessing tmpfiles + multilib systemd multiprocessing tmpfiles eapi9-ver DESCRIPTION="GNU libc C library" HOMEPAGE="https://www.gnu.org/software/libc/" @@ -895,16 +895,12 @@ upgrade_warning() { is_crosscompile && return if [[ ${MERGE_TYPE} != buildonly && -n ${REPLACING_VERSIONS} && -z ${ROOT} ]]; then - local oldv newv=$(ver_cut 1-2 ${PV}) - for oldv in ${REPLACING_VERSIONS}; do - if ver_test ${oldv} -lt ${newv}; then - ewarn "After upgrading glibc, please restart all running processes." - ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)." - ewarn "Alternatively, reboot your system." - ewarn "(See bug #660556, bug #741116, bug #823756, etc)" - break - fi - done + if ver_replacing -lt $(ver_cut 1-2 ${PV}); then + ewarn "After upgrading glibc, please restart all running processes." + ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)." + ewarn "Alternatively, reboot your system." + ewarn "(See bug #660556, bug #741116, bug #823756, etc)" + fi fi } diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libxcrypt/libxcrypt-4.4.36-r3.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libxcrypt/libxcrypt-4.4.36-r3.ebuild index 6bca15f08f..31934e95cd 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libxcrypt/libxcrypt-4.4.36-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libxcrypt/libxcrypt-4.4.36-r3.ebuild @@ -1,4 +1,4 @@ -# Copyright 2004-2024 Gentoo Authors +# Copyright 2004-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -116,6 +116,14 @@ src_configure() { MYSYSROOT=${ESYSROOT} if target_is_not_host; then + # Hack to work around missing TARGET_CC support. + # See bug 949976. + if tc-is-clang; then + export CC="${CTARGET}-clang" + else + export CC="${CTARGET}-gcc" + fi + local CHOST=${CTARGET} MYPREFIX= @@ -126,12 +134,6 @@ src_configure() { multilib_env ABI=${DEFAULT_ABI} - tc-getCC >/dev/null - if [[ ${CC} != ${CHOST}-* ]]; then - unset CC - tc-getCC >/dev/null - fi - strip-unsupported-flags fi diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libxcrypt/libxcrypt-4.4.38.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libxcrypt/libxcrypt-4.4.38.ebuild index b4006c5176..566750ba0d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libxcrypt/libxcrypt-4.4.38.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libxcrypt/libxcrypt-4.4.38.ebuild @@ -116,6 +116,14 @@ src_configure() { MYSYSROOT=${ESYSROOT} if target_is_not_host; then + # Hack to work around missing TARGET_CC support. + # See bug 949976. + if tc-is-clang; then + export CC="${CTARGET}-clang" + else + export CC="${CTARGET}-gcc" + fi + local CHOST=${CTARGET} MYPREFIX= @@ -126,12 +134,6 @@ src_configure() { multilib_env ABI=${DEFAULT_ABI} - tc-getCC >/dev/null - if [[ ${CC} != ${CHOST}-* ]]; then - unset CC - tc-getCC >/dev/null - fi - strip-unsupported-flags fi