mirror of
https://github.com/flatcar/scripts.git
synced 2026-05-05 12:16:41 +02:00
Merge pull request #3366 from flatcar/buildbot/weekly-portage-stable-package-updates-2025-10-13
Weekly portage-stable package updates 2025-10-13
This commit is contained in:
commit
541bab17b9
5
changelog/security/2025-10-14-weekly-updates.md
Normal file
5
changelog/security/2025-10-14-weekly-updates.md
Normal file
@ -0,0 +1,5 @@
|
||||
- expat ([CVE-2025-59375](https://www.cve.org/CVERecord?id=CVE-2025-59375))
|
||||
- intel-microcode ([CVE-2024-28956](https://www.cve.org/CVERecord?id=CVE-2024-28956), [CVE-2024-43420](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-43420), [CVE-2024-45332](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-45332), [CVE-2025-20012](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-20012), [CVE-2025-20054](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-20054), [CVE-2025-20103](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-20103), [CVE-2025-20623](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-20623), [CVE-2025-24495](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-24495), [CVE-2025-20053](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-20053), [CVE-2025-20109](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-20109), [CVE-2025-22839](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-22839), [CVE-2025-22840](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-22840), [CVE-2025-22889](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-22889), [CVE-2025-26403](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-26403))
|
||||
- nvidia-drivers ([CVE-2025-23280](https://www.cve.org/CVERecord?id=CVE-2025-23280), [CVE-2025-23282](https://www.cve.org/CVERecord?id=CVE-2025-23282), [CVE-2025-23300](https://www.cve.org/CVERecord?id=CVE-2025-23300), [CVE-2025-23330](https://www.cve.org/CVERecord?id=CVE-2025-23330), [CVE-2025-23332](https://www.cve.org/CVERecord?id=CVE-2025-23332), [CVE-2025-23345](https://www.cve.org/CVERecord?id=CVE-2025-23345))
|
||||
- openssh ([CVE-2025-61984](https://www.cve.org/CVERecord?id=CVE-2025-61984), [CVE-2025-61985](https://www.cve.org/CVERecord?id=CVE-2025-61985))
|
||||
- openssl ([CVE-2025-9230](https://www.cve.org/CVERecord?id=CVE-2025-9230), [CVE-2025-9231](https://www.cve.org/CVERecord?id=CVE-2025-9231), [CVE-2025-9232](https://www.cve.org/CVERecord?id=CVE-2025-9232))
|
||||
26
changelog/updates/2025-10-14-weekly-updates.md
Normal file
26
changelog/updates/2025-10-14-weekly-updates.md
Normal file
@ -0,0 +1,26 @@
|
||||
- SDK: cmake ([3.31.9](https://cmake.org/cmake/help/v3.31/release/3.31.html#id1))
|
||||
- SDK: go ([1.25.1](https://go.dev/doc/devel/release#go1.25.minor) (includes [1.25](https://go.dev/doc/go1.25)))
|
||||
- SDK: qemu ([10.0.5](https://wiki.qemu.org/ChangeLog/10.0))
|
||||
- azure, dev: inotify-tools ([4.25.9.0](https://github.com/inotify-tools/inotify-tools/releases/tag/4.25.9.0))
|
||||
- azure, stackit: chrony ([4.8](https://gitlab.com/chrony/chrony/-/raw/4.8/NEWS))
|
||||
- base, dev: bind ([9.18.38](https://bind9.readthedocs.io/en/v9.18.38/notes.html#notes-for-bind-9-18-38))
|
||||
- base, dev: bpftool ([7.6.0](https://github.com/libbpf/bpftool/releases/tag/v7.6.0))
|
||||
- base, dev: btrfs-progs ([6.16.1](https://github.com/kdave/btrfs-progs/releases/tag/v6.16.1))
|
||||
- base, dev: expat ([2.7.3](https://raw.githubusercontent.com/libexpat/libexpat/refs/tags/R_2_7_3/expat/Changes))
|
||||
- base, dev: gettext ([0.23.2](https://gitweb.git.savannah.gnu.org/gitweb/?p=gettext.git;a=blob_plain;f=NEWS;h=a5cc8a63eb4f06e4a1171afda862812feb67d693;hb=e8e6cb71aec0de1f5758ac21327bb8cd69e33731) (includes [0.23.1](https://gitweb.git.savannah.gnu.org/gitweb/?p=gettext.git;a=blob_plain;f=NEWS;h=4aafedf9b10a66891838e1f35c7af020c6124ee0;hb=d9b0432a825bfe3fc72f9a081d295a9528cd8aac), [0.23.0](https://gitweb.git.savannah.gnu.org/gitweb/?p=gettext.git;a=blob_plain;f=NEWS;h=9d87d45408f510d15856a1dda8a9376573f0a9c5;hb=c12b25dc82104691ca80c4da1cbc538fcab42bf5)))
|
||||
- base, dev: git ([2.51.0](https://github.com/git/git/blob/v2.51.0/Documentation/RelNotes/2.51.0.adoc) (includes [2.50.0](https://github.com/git/git/blob/v2.50.0/Documentation/RelNotes/2.50.0.adoc)))
|
||||
- base, dev: intel-microcode ([20250812](https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/microcode-20250812) (includes [20250512](https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/microcode-20250512)))
|
||||
- base, dev: libxml2 ([2.14.6](https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.14.6) (includes [2.14.5](https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.14.5), [2.14.4](https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.14.4), [2.14.3](https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.14.3), [2.14.2](https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.14.2), [2.14.1](https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.14.1), [2.14.0](https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.14.0)))
|
||||
- base, dev: nftables ([1.1.5](https://www.netfilter.org/projects/nftables/files/changes-nftables-1.1.5.txt))
|
||||
- base, dev: nvidia-drivers-service (amd64) ([535.274.02](https://docs.nvidia.com/datacenter/tesla/tesla-release-notes-535-274-02/index.html))
|
||||
- base, dev: nvidia-drivers-service (arm64) ([570.195.03](https://docs.nvidia.com/datacenter/tesla/tesla-release-notes-570-195-03/index.html))
|
||||
- base, dev: openssh ([10.2_p1](https://www.openssh.com/txt/release-10.2) (includes [10.1](https://www.openssh.com/txt/release-10.1)))
|
||||
- base, dev: openssl ([3.4.3](https://github.com/openssl/openssl/releases/tag/openssl-3.4.3))
|
||||
- base, dev: xfsprogs ([6.16.0](https://web.git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git/tree/doc/CHANGES?h=v6.16.0) (includes [6.15.0](https://web.git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git/tree/doc/CHANGES?h=v6.15.0)))
|
||||
- sysext-nvidia-drivers-535, sysext-nvidia-drivers-535-open: nvidia-drivers ([535.274.02](https://docs.nvidia.com/datacenter/tesla/tesla-release-notes-535-274-02/index.html))
|
||||
- sysext-nvidia-drivers-570, sysext-nvidia-drivers-570-open: nvidia-drivers ([570.195.03](https://docs.nvidia.com/datacenter/tesla/tesla-release-notes-570-195-03/index.html))
|
||||
- sysext-podman: crun ([1.21](https://github.com/containers/crun/releases/tag/1.21))
|
||||
- sysext-podman: netavark ([1.15.2](https://github.com/containers/netavark/releases/tag/v1.15.2) (includes [1.15.1](https://github.com/containers/netavark/releases/tag/v1.15.1), [1.15.0](https://github.com/containers/netavark/releases/tag/v1.15.0)))
|
||||
- sysext-podman: passt ([2025.06.11](https://archives.passt.top/passt-user/20250611175947.7d540ddc@elisabeth/T/#u))
|
||||
- sysext-python: platformdirs ([4.4.0](https://github.com/tox-dev/platformdirs/releases/tag/4.4.0))
|
||||
- sysext-python: typing-extensions ([4.15.0](https://raw.githubusercontent.com/python/typing_extensions/refs/tags/4.15.0/CHANGELOG.md))
|
||||
@ -0,0 +1,47 @@
|
||||
From 2478055bf48a54c0fcb518bbd48a30b307db0009 Mon Sep 17 00:00:00 2001
|
||||
From: Kerin Millar <kfm@plushkava.net>
|
||||
Date: Mon, 18 Aug 2025 14:25:20 +0200
|
||||
Subject: [PATCH 1/2] Support locale-gen-3 (the perl version)
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
|
||||
---
|
||||
targets/stage1/chroot.sh | 6 +++++-
|
||||
targets/support/chroot-functions.sh | 2 +-
|
||||
2 files changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/targets/stage1/chroot.sh b/targets/stage1/chroot.sh
|
||||
index e0587b59..541c060f 100755
|
||||
--- a/targets/stage1/chroot.sh
|
||||
+++ b/targets/stage1/chroot.sh
|
||||
@@ -91,7 +91,11 @@ run_merge --implicit-system-deps=n --oneshot "${buildpkgs[@]}"
|
||||
# not run locale-gen when ROOT is set. Since we've set LANG, we need to run
|
||||
# locale-gen explicitly.
|
||||
if [ -x "$(command -v locale-gen)" ]; then
|
||||
- locale-gen --destdir "$ROOT"/ || die "locale-gen failed"
|
||||
+ if ! locale-gen -V | grep -q '^locale-gen-2\.'; then
|
||||
+ locale-gen --config /etc/locale.gen --prefix "$ROOT"/
|
||||
+ else
|
||||
+ locale-gen --destdir "$ROOT"/
|
||||
+ fi || die "locale-gen failed"
|
||||
fi
|
||||
|
||||
# Why are we removing these? Don't we need them for final make.conf?
|
||||
diff --git a/targets/support/chroot-functions.sh b/targets/support/chroot-functions.sh
|
||||
index d8472d46..08738d0a 100755
|
||||
--- a/targets/support/chroot-functions.sh
|
||||
+++ b/targets/support/chroot-functions.sh
|
||||
@@ -284,7 +284,7 @@ show_debug() {
|
||||
}
|
||||
|
||||
readonly locales="
|
||||
-C.UTF8 UTF-8
|
||||
+C.UTF-8 UTF-8
|
||||
"
|
||||
|
||||
if [[ ${RUN_DEFAULT_FUNCS} != no ]]
|
||||
--
|
||||
2.51.0
|
||||
|
||||
@ -0,0 +1,41 @@
|
||||
From 8f3dad52ef6b7360f69f93554172d76aa5d59d8a Mon Sep 17 00:00:00 2001
|
||||
From: Sam James <sam@gentoo.org>
|
||||
Date: Mon, 15 Sep 2025 12:35:43 +0100
|
||||
Subject: [PATCH 2/2] Fix UTF-8 spelling
|
||||
|
||||
Bug: https://bugs.gentoo.org/962878
|
||||
Signed-off-by: Sam James <sam@gentoo.org>
|
||||
---
|
||||
catalyst/base/stagebase.py | 2 +-
|
||||
targets/stage1/chroot.sh | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py
|
||||
index 8a3d2af6..d09b3aad 100644
|
||||
--- a/catalyst/base/stagebase.py
|
||||
+++ b/catalyst/base/stagebase.py
|
||||
@@ -1252,7 +1252,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
|
||||
'\n'
|
||||
'# This sets the language of build output to English.\n'
|
||||
'# Please keep this setting intact when reporting bugs.\n'
|
||||
- 'LC_MESSAGES=C.utf8\n')
|
||||
+ 'LC_MESSAGES=C.UTF-8\n')
|
||||
|
||||
def write_binrepos_conf(self):
|
||||
# only if catalyst.conf defines the host and the spec defines the path...
|
||||
diff --git a/targets/stage1/chroot.sh b/targets/stage1/chroot.sh
|
||||
index 541c060f..dc8571bd 100755
|
||||
--- a/targets/stage1/chroot.sh
|
||||
+++ b/targets/stage1/chroot.sh
|
||||
@@ -67,7 +67,7 @@ sed -i "/USE=\"${USE} build\"/d" ${clst_make_conf}
|
||||
|
||||
echo "$locales" > /etc/locale.gen
|
||||
for etc in /etc "$ROOT"/etc; do
|
||||
- echo "LANG=C.UTF8" > ${etc}/env.d/02locale
|
||||
+ echo "LANG=C.UTF-8" > ${etc}/env.d/02locale
|
||||
done
|
||||
update_env_settings
|
||||
|
||||
--
|
||||
2.51.0
|
||||
|
||||
3
sdk_container/src/third_party/coreos-overlay/coreos/user-patches/dev-util/catalyst/README.md
vendored
Normal file
3
sdk_container/src/third_party/coreos-overlay/coreos/user-patches/dev-util/catalyst/README.md
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
The patches fix some locale generation issues in catalyst - they are
|
||||
currently a part of the master branch, so there is no release that
|
||||
contain those fixes yet.
|
||||
@ -40,6 +40,7 @@ app-crypt/azure-keyvault-pkcs11
|
||||
=app-emulation/open-vmdk-1.0 *
|
||||
|
||||
# Keep versions on both arches in sync.
|
||||
=app-emulation/qemu-10.0.5 ~arm64
|
||||
=app-emulation/qemu-guest-agent-9.2.0 ~arm64
|
||||
|
||||
# Packages are in Gentoo but not expected to be used outside Flatcar, so they
|
||||
@ -50,26 +51,17 @@ dev-cpp/azure-identity
|
||||
dev-cpp/azure-security-keyvault-certificates
|
||||
dev-cpp/azure-security-keyvault-keys
|
||||
|
||||
# CVE-2025-47910
|
||||
=dev-lang/go-1.24.7 ~amd64 ~arm64
|
||||
|
||||
# Keep versions on both arches in sync.
|
||||
=dev-lang/yasm-1.3.0-r1 ~arm64
|
||||
=dev-libs/cowsql-1.15.9 ~arm64
|
||||
=dev-libs/ding-libs-0.6.2-r1 ~arm64
|
||||
|
||||
# CVE-2025-59375
|
||||
=dev-libs/expat-2.7.2 ~amd64 ~arm64
|
||||
|
||||
# CVE-2025-7039
|
||||
=dev-libs/glib-2.84.4 ~amd64 ~arm64
|
||||
|
||||
# The only available ebuild (from GURU) has ~amd64 and no keyword for arm64 yet.
|
||||
=dev-libs/jose-12 **
|
||||
|
||||
# CVE-2025-58050
|
||||
=dev-libs/libpcre2-10.46 ~amd64 ~arm64
|
||||
|
||||
# The only available ebuild (from GURU) has ~amd64 and no keyword for arm64 yet.
|
||||
=dev-libs/luksmeta-9-r1 **
|
||||
|
||||
@ -97,7 +89,10 @@ dev-cpp/azure-security-keyvault-keys
|
||||
=net-libs/libnetfilter_cttimeout-1.0.1 ~arm64
|
||||
|
||||
# CVE-2025-9086, CVE-2025-10148
|
||||
=net-misc/curl-8.16.0-r1 ~amd64 ~arm64
|
||||
=net-misc/curl-8.16.0-r1 ~arm64
|
||||
|
||||
# CVE-2025-61984, CVE-2025-61985
|
||||
=net-misc/openssh-10.2_p1 ~amd64 ~arm64
|
||||
|
||||
# Packages are in Gentoo but not expected to be used outside Flatcar, so they
|
||||
# are generally never stabilised. Thus an unusual form is used to pick up the
|
||||
|
||||
@ -20,9 +20,3 @@
|
||||
|
||||
# Pulls in LLVM and clang.
|
||||
>=sys-block/thin-provisioning-tools-1.0.14
|
||||
|
||||
# Too large to fit into our /boot partition - the size grew by 3MB. We
|
||||
# mask a specific version in hope that the future update may be smaller,
|
||||
# who knows.
|
||||
=sys-firmware/intel-microcode-20250512_p20250513
|
||||
=sys-firmware/intel-microcode-20250812_p20250813
|
||||
|
||||
@ -4,3 +4,4 @@ DIST containerd-2.0.4.tar.gz 10450939 BLAKE2B f82ed40eab0f1d186f4fb04217b8f75a9d
|
||||
DIST containerd-2.0.5.tar.gz 10452563 BLAKE2B bf03316c9211eaa17a3b40b1fc9f9aca42fe3e621e086e612eb07c286c6b62bc7a0a2426ce7b6742dce2924d570ab599aefb43463c4fa6be277e562bad79668f SHA512 af89a5c9ad5f931c5fee33c75c13c296fc9ec966f2c64ec244897695eebb365bcb542f6b431e60d4ef7213f0ea11d3a8896d1b7f033ed445e6b521b7ddbffe6f
|
||||
DIST containerd-2.1.0.tar.gz 10610618 BLAKE2B 147c21b4650543af9b0e533e381a0505ba927d6e9270b9b03a09016eb3ccf29875db7fa274944fea2ff7b029b6a05a17d14c61e24b5f3426b31f320831eeb46a SHA512 e9bb128917bb6b2e21a8e05344af3fdcdda8620be20e54407bc2c73046278a88a77bcbed6ef7a59099c9ee3303283db46b90b71afdd45236d3c534749ba844e0
|
||||
DIST containerd-2.1.1.tar.gz 10610787 BLAKE2B acc2d769752c783643795d228c0d267b0802e09166dc783e84087da0029a822a64688f5e59c047c47b25f50ca2a1ccb7f5b6216ad6beeb4489df308e525e9716 SHA512 542f7cae61e1ef2e1b529b0bea66d7ad9016d4605de73de9c9c8a738e50ec6f470b939d1546482320515b77424bffe1cf24b721173ac0c0ecd0100c92817cfb1
|
||||
DIST containerd-2.1.4.tar.gz 10614131 BLAKE2B b8f4007b4bb368a1fa04c913d606f65d2ea4a17a6419ce12f2b6112eee2574d7a09fb8e2500d1c2f21bef8792dc047df4d63446211ae006662e616facda91f24 SHA512 a9f84784e917621ee5ea38ad20b8106e642fbf463a00d319b73a1a8e4d1fdd5be2fba0789b6a5d31107ef239d3713eced99ce979d4b2764714271a63c0936c15
|
||||
|
||||
94
sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.1.4.ebuild
vendored
Normal file
94
sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.1.4.ebuild
vendored
Normal file
@ -0,0 +1,94 @@
|
||||
# Copyright 2022-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
inherit go-env go-module systemd toolchain-funcs
|
||||
GIT_REVISION=75cb2b7193e4e490e9fbdc236c0e811ccaba3376
|
||||
|
||||
DESCRIPTION="A daemon to control runC"
|
||||
HOMEPAGE="https://containerd.io/"
|
||||
SRC_URI="https://github.com/containerd/containerd/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
|
||||
IUSE="apparmor btrfs device-mapper +cri hardened +seccomp selinux test"
|
||||
|
||||
COMMON_DEPEND="
|
||||
btrfs? ( sys-fs/btrfs-progs )
|
||||
seccomp? ( sys-libs/libseccomp )
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
${COMMON_DEPEND}
|
||||
"
|
||||
|
||||
# recommended minimum version of runc is found in script/setup/runc-version
|
||||
RDEPEND="
|
||||
${COMMON_DEPEND}
|
||||
>=app-containers/runc-1.3.0[apparmor?,seccomp?]
|
||||
"
|
||||
|
||||
BDEPEND="
|
||||
dev-go/go-md2man
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
# tests require root or docker
|
||||
RESTRICT+="test"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
sed -i \
|
||||
-e "s/-s -w//" \
|
||||
Makefile || die
|
||||
sed -i \
|
||||
-e "s:/usr/local:/usr:" \
|
||||
containerd.service || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local options=(
|
||||
$(usev apparmor)
|
||||
$(usex btrfs "" "no_btrfs")
|
||||
$(usex cri "" "no_cri")
|
||||
$(usex device-mapper "" "no_devmapper")
|
||||
$(usev seccomp)
|
||||
$(usev selinux)
|
||||
)
|
||||
|
||||
myemakeargs=(
|
||||
BUILDTAGS="${options[*]}"
|
||||
LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')"
|
||||
REVISION="${GIT_REVISION}"
|
||||
VERSION=v${PV}
|
||||
)
|
||||
|
||||
# The Go env is already set, but reset it for CBUILD in a subshell to allow
|
||||
# building the man pages when cross-compiling.
|
||||
(
|
||||
CHOST="${CBUILD}" go-env_set_compile_environment
|
||||
# race condition in man target https://bugs.gentoo.org/765100
|
||||
tc-env_build emake "${myemakeargs[@]}" man -j1 #nowarn
|
||||
)
|
||||
|
||||
emake "${myemakeargs[@]}" all
|
||||
|
||||
}
|
||||
|
||||
src_install() {
|
||||
rm bin/gen-manpages || die
|
||||
dobin bin/*
|
||||
doman man/*
|
||||
newconfd "${FILESDIR}"/${PN}.confd "${PN}"
|
||||
newinitd "${FILESDIR}"/${PN}.initd "${PN}"
|
||||
systemd_dounit containerd.service
|
||||
keepdir /var/lib/containerd
|
||||
|
||||
# we already installed manpages, remove markdown source
|
||||
# before installing docs directory
|
||||
rm -r docs/man || die
|
||||
|
||||
local DOCS=( ADOPTERS.md README.md RELEASES.md ROADMAP.md SCOPE.md docs/. )
|
||||
einstalldocs
|
||||
}
|
||||
@ -15,7 +15,7 @@ if [[ "${PV}" == *9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/containers/${PN}.git"
|
||||
else
|
||||
SRC_URI="https://github.com/containers/${PN}/releases/download/${PV}/${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv"
|
||||
KEYWORDS="amd64 ~arm arm64 ~loong ppc64 ~riscv"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-2+ LGPL-2.1+"
|
||||
|
||||
@ -6,3 +6,4 @@ DIST docker-cli-28.1.1-man.tar.xz 69976 BLAKE2B 497c0874a5ed72c3d2dff6c77b687f01
|
||||
DIST docker-cli-28.1.1.tar.gz 7518124 BLAKE2B 2d9a1b620d4cffa718571cef9aa1825b57600630624715ccdae50a1bbcc44821d599ea2f6e6c66628434740904d53218e101f69b4fd0865b4197ef19d9c2d4fe SHA512 39ff5f982779b70311d4fce5f829e52199b058cedf92c0e650786a52004edbf3935f8673db98527affc57f0e33be435f8a8af624c2e06f28c7f8f405ed570746
|
||||
DIST docker-cli-28.2.2-man.tar.xz 69888 BLAKE2B bee8b296ee94c57c34cfa268fde015aff15b6b269905275d47cce73ab94c7bed7edc9ba4d5b9d730dea78d149306736e14186c8a9c782047094511771ec8d105 SHA512 ce608b60915a0b7b15302260ec500b433ba6c9174fa82b34a4ae8ad7bb9d2f6abe45d4e43c0e3978b2f5bb440425e08d416ab9f613cdf64eb6294254765aa37b
|
||||
DIST docker-cli-28.2.2.tar.gz 7531638 BLAKE2B cb7d2766e4a6c444169f8462379b8524e0433a29541837c1acbefa62f4b303b6ce1dd629fbb2ed6e154ea51b72ac17c8452284a5e26c9716217e8cbf169374bb SHA512 1ba62398322c65e6994c0c6821b912c9a9b215083593d63557c5255064c407bd25f72044336ebb19977fe6d03215ec47174c6617890a817b9e34ed010535fb6b
|
||||
DIST docker-cli-28.4.0.tar.gz 7612765 BLAKE2B acfa0ee4cdeb6eec31ae92eb8c0a41357aa0ff3cb34bd497307ce5f136a6f1dd4d78cbbea27b1c48b0d5995262f1e039548a725c106bcc91f48f01932354e8dc SHA512 ab35867bdcaa07909cfd24e9bc4f5cde10b6930fa42e87d61d4544bb20b365fff146713239483169ef989cacfae7d7493d7f42d269b0f37f86c0c14a9373b445
|
||||
|
||||
71
sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-28.4.0.ebuild
vendored
Normal file
71
sdk_container/src/third_party/portage-stable/app-containers/docker-cli/docker-cli-28.4.0.ebuild
vendored
Normal file
@ -0,0 +1,71 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit shell-completion go-module
|
||||
MY_PV=${PV/_/-}
|
||||
|
||||
# update this on every bump
|
||||
GIT_COMMIT=d8eb465f86cfceeb57f8582e373d41a558d35503
|
||||
|
||||
# To create the man pages tarball, run the following in the git source
|
||||
# directory:
|
||||
#git checkout ${PV}
|
||||
# make manpages
|
||||
# tar -acf ${P}-man.tar.xz man/man?
|
||||
|
||||
DESCRIPTION="the command line binary for docker"
|
||||
HOMEPAGE="https://www.docker.com/"
|
||||
SRC_URI="https://github.com/docker/cli/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/cli-${PV}"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
|
||||
IUSE="hardened selinux"
|
||||
|
||||
RDEPEND="selinux? ( sec-policy/selinux-docker )"
|
||||
|
||||
RESTRICT="installsources strip test"
|
||||
|
||||
src_unpack() {
|
||||
default
|
||||
cd "${S}"
|
||||
ln -s vendor.mod go.mod
|
||||
ln -s vendor.sum go.sum
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
sed -i 's@dockerd\?\.exe@@g' contrib/completion/bash/docker || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
export DISABLE_WARN_OUTSIDE_CONTAINER=1
|
||||
# setup CFLAGS and LDFLAGS for separate build target
|
||||
# see https://github.com/tianon/docker-overlay/pull/10
|
||||
CGO_CFLAGS+=" -I${ESYSROOT}/usr/include"
|
||||
CGO_LDFLAGS+=" -L${ESYSROOT}/usr/$(get_libdir)"
|
||||
emake \
|
||||
LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" \
|
||||
VERSION="${PV}" \
|
||||
GITCOMMIT="${GIT_COMMIT}" \
|
||||
dynbinary manpages
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin build/docker
|
||||
doman man/man?/*
|
||||
dobashcomp contrib/completion/bash/docker
|
||||
bashcomp_alias docker dockerd
|
||||
dofishcomp contrib/completion/fish/docker.fish
|
||||
dozshcomp contrib/completion/zsh/_*
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
has_version "app-containers/docker-buildx" && return
|
||||
ewarn "the 'docker build' command is deprecated and will be removed in a"
|
||||
ewarn "future release. If you need this functionality, install"
|
||||
ewarn "app-containers/docker-buildx."
|
||||
}
|
||||
@ -2,3 +2,4 @@ DIST docker-28.0.1.tar.gz 17553228 BLAKE2B 8c172d58fb75d307983ace06b509e86ed5337
|
||||
DIST docker-28.0.4.tar.gz 17579330 BLAKE2B 3b1ecb6ddceea0fe772bd597bf6b3c4b5867b691e35bbb0b05ad6ab0c4dc79193dbde02cdcb45c607c0dd704aeaa9629deffb098a0d1533dd3f5e9fb882ef34f SHA512 dfa6bc18c7cecf82c80e45c6a615e0cccb866a993ad2b6c3134e0f0d5d069b5abb0b8201029019a5396353f666252b5fd36b6a34080723af46291d3fda1c2608
|
||||
DIST docker-28.1.1.tar.gz 17719438 BLAKE2B 95307e9c03e4c1ad436fffe321f69c269c0fba9fea22c56963b503a051360b9a38170c865e42674ca17adde6690ed14da5039539e7f8d082e1304191d25c9ddb SHA512 15de0a10dc9d60be5c6047a30be5065ee69b9cde938654363cd27d71103057cc78510f546f7b161ba5f0b8b764dc6167e4ffebbcc9e69b171fe49ee1e09e97b2
|
||||
DIST docker-28.2.2.tar.gz 17861904 BLAKE2B 6f55e96d653579b749908080550ebee0635549fafd25c775fd59126018820a30f5234c680834a7ece897cb0f38f92f5afe3684d5dbc43694837516528c79f19b SHA512 e63ce38bb7badb01de918f678ad9fb216b279170177fe7d7c4120c8a1196add485cc974f9dff239a274220ebab60a2dc6852f07dc2ddafe8cec07c65dbd19a49
|
||||
DIST docker-28.4.0.tar.gz 18066393 BLAKE2B 70c9910bec169994ddd39f46e4a7042e5f38a3b76e8a43389ee934fb7f3c75ae686f32ad7f3cbc0dcff210b5c0eeed24674db0fdf4e845e78c330cf6c2b75918 SHA512 a98f8012547dc1e61e6a4f420355d29fbd6f6ddb5642601d8762099768e0b284fcf129ee31af155049731f61f43ff4efe42313467055dae32337dc5cc8c8cf78
|
||||
|
||||
333
sdk_container/src/third_party/portage-stable/app-containers/docker/docker-28.4.0.ebuild
vendored
Normal file
333
sdk_container/src/third_party/portage-stable/app-containers/docker/docker-28.4.0.ebuild
vendored
Normal file
@ -0,0 +1,333 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
MY_PV=${PV/_/-}
|
||||
|
||||
inherit go-module linux-info optfeature systemd toolchain-funcs udev
|
||||
|
||||
GIT_COMMIT=249d679a6baf8a32bb6d72d6ac5cc7ab9c90b4ea
|
||||
|
||||
DESCRIPTION="The core functions you need to create Docker images and run Docker containers"
|
||||
HOMEPAGE="https://www.docker.com/"
|
||||
SRC_URI="https://github.com/moby/moby/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/moby-${PV}"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
|
||||
IUSE="apparmor btrfs +container-init cuda +overlay2 seccomp selinux systemd"
|
||||
|
||||
DEPEND="
|
||||
acct-group/docker
|
||||
>=dev-db/sqlite-3.7.9:3
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
btrfs? ( >=sys-fs/btrfs-progs-3.16.1 )
|
||||
seccomp? ( >=sys-libs/libseccomp-2.2.1 )
|
||||
systemd? ( sys-apps/systemd )
|
||||
"
|
||||
|
||||
# https://github.com/moby/moby/blob/master/project/PACKAGERS.md#runtime-dependencies
|
||||
# https://github.com/moby/moby/blob/master/project/PACKAGERS.md#optional-dependencies
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
>=net-firewall/iptables-1.4
|
||||
sys-process/procps
|
||||
>=dev-vcs/git-1.7
|
||||
>=app-arch/xz-utils-4.9
|
||||
>=app-containers/containerd-2.1.4[apparmor?,btrfs?,seccomp?]
|
||||
>=app-containers/runc-1.2.6[apparmor?,seccomp?]
|
||||
!app-containers/docker-proxy
|
||||
!<app-containers/docker-cli-${PV}
|
||||
container-init? ( >=sys-process/tini-0.19.0[static] )
|
||||
cuda? ( app-containers/nvidia-container-toolkit )
|
||||
selinux? ( sec-policy/selinux-docker )
|
||||
"
|
||||
|
||||
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies
|
||||
BDEPEND="
|
||||
dev-go/go-md2man
|
||||
virtual/pkgconfig
|
||||
"
|
||||
# tests require running dockerd as root and downloading containers
|
||||
RESTRICT="installsources strip test"
|
||||
|
||||
# https://bugs.gentoo.org/748984 https://github.com/etcd-io/etcd/pull/12552
|
||||
pkg_setup() {
|
||||
# this is based on "contrib/check-config.sh" from upstream's sources
|
||||
# required features.
|
||||
CONFIG_CHECK="
|
||||
~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS
|
||||
~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG
|
||||
~KEYS
|
||||
~VETH ~BRIDGE ~BRIDGE_NETFILTER
|
||||
~IP_NF_FILTER ~IP_NF_RAW ~IP_NF_TARGET_MASQUERADE
|
||||
~NETFILTER_XT_MATCH_ADDRTYPE
|
||||
~NETFILTER_XT_MATCH_CONNTRACK
|
||||
~NETFILTER_XT_MATCH_IPVS
|
||||
~NETFILTER_XT_MARK
|
||||
~IP_NF_NAT ~NF_NAT
|
||||
~POSIX_MQUEUE
|
||||
"
|
||||
WARNING_POSIX_MQUEUE="CONFIG_POSIX_MQUEUE: is required for bind-mounting /dev/mqueue into containers"
|
||||
|
||||
if kernel_is lt 4 8; then
|
||||
CONFIG_CHECK+="
|
||||
~DEVPTS_MULTIPLE_INSTANCES
|
||||
"
|
||||
fi
|
||||
|
||||
if kernel_is le 5 1; then
|
||||
CONFIG_CHECK+="
|
||||
~NF_NAT_IPV4
|
||||
"
|
||||
fi
|
||||
|
||||
if kernel_is le 5 2; then
|
||||
CONFIG_CHECK+="
|
||||
~NF_NAT_NEEDED
|
||||
"
|
||||
fi
|
||||
|
||||
if kernel_is ge 4 15; then
|
||||
CONFIG_CHECK+="
|
||||
~CGROUP_BPF
|
||||
"
|
||||
fi
|
||||
|
||||
# optional features
|
||||
CONFIG_CHECK+="
|
||||
~USER_NS
|
||||
"
|
||||
|
||||
if use seccomp; then
|
||||
CONFIG_CHECK+="
|
||||
~SECCOMP ~SECCOMP_FILTER
|
||||
"
|
||||
fi
|
||||
|
||||
CONFIG_CHECK+="
|
||||
~CGROUP_PIDS
|
||||
"
|
||||
|
||||
if kernel_is lt 6 1; then
|
||||
CONFIG_CHECK+="
|
||||
~MEMCG_SWAP
|
||||
"
|
||||
fi
|
||||
|
||||
if kernel_is le 5 8; then
|
||||
CONFIG_CHECK+="
|
||||
~MEMCG_SWAP_ENABLED
|
||||
"
|
||||
fi
|
||||
|
||||
CONFIG_CHECK+="
|
||||
~!LEGACY_VSYSCALL_NATIVE
|
||||
"
|
||||
if kernel_is lt 5 19; then
|
||||
CONFIG_CHECK+="
|
||||
~LEGACY_VSYSCALL_EMULATE
|
||||
"
|
||||
fi
|
||||
CONFIG_CHECK+="
|
||||
~!LEGACY_VSYSCALL_NONE
|
||||
"
|
||||
WARNING_LEGACY_VSYSCALL_NONE="CONFIG_LEGACY_VSYSCALL_NONE enabled: \
|
||||
Containers with <=glibc-2.13 will not work"
|
||||
|
||||
if kernel_is le 4 5; then
|
||||
CONFIG_CHECK+="
|
||||
~MEMCG_KMEM
|
||||
"
|
||||
fi
|
||||
|
||||
if kernel_is lt 5; then
|
||||
CONFIG_CHECK+="
|
||||
~IOSCHED_CFQ ~CFQ_GROUP_IOSCHED
|
||||
"
|
||||
fi
|
||||
|
||||
CONFIG_CHECK+="
|
||||
~BLK_CGROUP ~BLK_DEV_THROTTLING
|
||||
~CGROUP_PERF
|
||||
~CGROUP_HUGETLB
|
||||
~NET_CLS_CGROUP ~CGROUP_NET_PRIO
|
||||
~CFS_BANDWIDTH ~FAIR_GROUP_SCHED
|
||||
~IP_NF_TARGET_REDIRECT
|
||||
~IP_VS
|
||||
~IP_VS_NFCT
|
||||
~IP_VS_PROTO_TCP
|
||||
~IP_VS_PROTO_UDP
|
||||
~IP_VS_RR
|
||||
"
|
||||
|
||||
if use selinux; then
|
||||
CONFIG_CHECK+="
|
||||
~SECURITY_SELINUX
|
||||
"
|
||||
fi
|
||||
|
||||
if use apparmor; then
|
||||
CONFIG_CHECK+="
|
||||
~SECURITY_APPARMOR
|
||||
"
|
||||
fi
|
||||
|
||||
# if ! is_set EXT4_USE_FOR_EXT2; then
|
||||
# check_flags EXT3_FS EXT3_FS_XATTR EXT3_FS_POSIX_ACL EXT3_FS_SECURITY
|
||||
# if ! is_set EXT3_FS || ! is_set EXT3_FS_XATTR || ! is_set EXT3_FS_POSIX_ACL || ! is_set EXT3_FS_SECURITY; then
|
||||
# echo " $(wrap_color '(enable these ext3 configs if you are using ext3 as backing filesystem)' bold black)"
|
||||
# fi
|
||||
# fi
|
||||
|
||||
CONFIG_CHECK+="
|
||||
~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
|
||||
"
|
||||
|
||||
# if ! is_set EXT4_FS || ! is_set EXT4_FS_POSIX_ACL || ! is_set EXT4_FS_SECURITY; then
|
||||
# if is_set EXT4_USE_FOR_EXT2; then
|
||||
# echo " $(wrap_color 'enable these ext4 configs if you are using ext3 or ext4 as backing filesystem' bold black)"
|
||||
# else
|
||||
# echo " $(wrap_color 'enable these ext4 configs if you are using ext4 as backing filesystem' bold black)"
|
||||
# fi
|
||||
# fi
|
||||
|
||||
# network drivers
|
||||
CONFIG_CHECK+="
|
||||
~VXLAN ~BRIDGE_VLAN_FILTERING
|
||||
~CRYPTO ~CRYPTO_AEAD ~CRYPTO_GCM ~CRYPTO_SEQIV ~CRYPTO_GHASH
|
||||
~XFRM ~XFRM_USER ~XFRM_ALGO ~INET_ESP
|
||||
"
|
||||
if kernel_is le 5 3; then
|
||||
CONFIG_CHECK+="
|
||||
~INET_XFRM_MODE_TRANSPORT
|
||||
"
|
||||
fi
|
||||
|
||||
CONFIG_CHECK+="
|
||||
~IPVLAN
|
||||
"
|
||||
CONFIG_CHECK+="
|
||||
~MACVLAN ~DUMMY
|
||||
"
|
||||
CONFIG_CHECK+="
|
||||
~NF_NAT_FTP ~NF_CONNTRACK_FTP ~NF_NAT_TFTP ~NF_CONNTRACK_TFTP
|
||||
"
|
||||
|
||||
# storage drivers
|
||||
if use btrfs; then
|
||||
CONFIG_CHECK+="
|
||||
~BTRFS_FS
|
||||
~BTRFS_FS_POSIX_ACL
|
||||
"
|
||||
fi
|
||||
|
||||
CONFIG_CHECK+="
|
||||
~OVERLAY_FS
|
||||
"
|
||||
|
||||
linux-info_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
default
|
||||
cd "${S}"
|
||||
[[ -f go.mod ]] || ln -s vendor.mod go.mod || die
|
||||
[[ -f go.sum ]] || ln -s vendor.sum go.sum || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
export DOCKER_GITCOMMIT="${GIT_COMMIT}"
|
||||
export VERSION=${PV}
|
||||
tc-export PKG_CONFIG
|
||||
|
||||
# setup CFLAGS and LDFLAGS for separate build target
|
||||
# see https://github.com/tianon/docker-overlay/pull/10
|
||||
CGO_CFLAGS+=" -I${ESYSROOT}/usr/include"
|
||||
CGO_LDFLAGS+=" -L${ESYSROOT}/usr/$(get_libdir)"
|
||||
|
||||
# let's set up some optional features :)
|
||||
export DOCKER_BUILDTAGS=''
|
||||
for gd in btrfs overlay2; do
|
||||
if ! use $gd; then
|
||||
DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
|
||||
fi
|
||||
done
|
||||
|
||||
for tag in apparmor seccomp; do
|
||||
if use $tag; then
|
||||
DOCKER_BUILDTAGS+=" $tag"
|
||||
fi
|
||||
done
|
||||
|
||||
export AUTO_GOPATH=1
|
||||
export EXCLUDE_AUTO_BUILDTAG_JOURNALD=$(usex systemd '' 'y')
|
||||
export GO_MD2MAN=/usr/bin/go-md2man
|
||||
|
||||
# build binaries
|
||||
./hack/make.sh dynbinary || die 'dynbinary failed'
|
||||
|
||||
# build man page
|
||||
cd man || die
|
||||
emake || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dosym containerd /usr/bin/docker-containerd
|
||||
dosym containerd-shim-runc-v2 /usr/bin/docker-containerd-shim
|
||||
dosym runc /usr/bin/docker-runc
|
||||
use container-init && dosym tini /usr/bin/docker-init
|
||||
dobin bundles/dynbinary-daemon/dockerd
|
||||
dobin bundles/dynbinary-daemon/docker-proxy
|
||||
for f in dockerd-rootless-setuptool.sh dockerd-rootless.sh; do
|
||||
dosym ../share/docker/contrib/${f} /usr/bin/${f}
|
||||
done
|
||||
|
||||
newinitd contrib/init/openrc/docker.initd docker
|
||||
newconfd contrib/init/openrc/docker.confd docker
|
||||
|
||||
systemd_dounit contrib/init/systemd/docker.{service,socket}
|
||||
|
||||
udev_dorules contrib/udev/*.rules
|
||||
|
||||
dodoc AUTHORS CONTRIBUTING.md NOTICE README.md
|
||||
dodoc -r docs/*
|
||||
doman man/man8/dockerd.8
|
||||
|
||||
# note: intentionally not using "doins" so that we preserve +x bits
|
||||
dodir /usr/share/${PN}/contrib
|
||||
cp -R contrib/* "${ED}/usr/share/${PN}/contrib"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
udev_reload
|
||||
|
||||
elog
|
||||
elog "To use Docker, the Docker daemon must be running as root. To automatically"
|
||||
elog "start the Docker daemon at boot:"
|
||||
if systemd_is_booted || has_version sys-apps/systemd; then
|
||||
elog " systemctl enable docker.service"
|
||||
else
|
||||
elog " rc-update add docker default"
|
||||
fi
|
||||
elog
|
||||
elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
|
||||
elog ' usermod -aG docker <youruser>'
|
||||
elog
|
||||
|
||||
if has_version sys-fs/zfs; then
|
||||
elog " ZFS storage driver is available"
|
||||
elog " Check https://docs.docker.com/storage/storagedriver/zfs-driver for more info"
|
||||
elog
|
||||
fi
|
||||
|
||||
optfeature "rootless mode support" sys-apps/shadow
|
||||
optfeature "rootless mode support" sys-apps/rootlesskit
|
||||
optfeature_header "for rootless mode you also need a network stack"
|
||||
optfeature "rootless mode network stack" app-containers/slirp4netns
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
udev_reload
|
||||
}
|
||||
@ -8,3 +8,5 @@ DIST incus-6.14.tar.xz 12509468 BLAKE2B ec3bb614088d82e07c13169a6b26d8c83214fddb
|
||||
DIST incus-6.14.tar.xz.asc 833 BLAKE2B c9cfa631bb316234a6958f2aa3e708e32ea2fca34357700e7d1e38723be539f5b6b1484597c18baca1f22d922c7aca148463dfc0b818f7809126e6873e4826b5 SHA512 6a2f4ceeab44462cca74799a1c135eeb17cbece3d270c5195c3eacda8ea24419fc34cab6d157dbfed803bb269df42a02abc417b98887cec5f10b0ec70b430644
|
||||
DIST incus-6.15.tar.xz 12716184 BLAKE2B bc821575f7f24b42054028ce628a29f38ef41b8a31a94f34381019306681f9279ae6c36cb00b7f84d62f5ddc89d27216d753e5c0f5ec1d327bbd283ab5fe1e15 SHA512 7561abce8eb9c01764aca9bb5477028439c05f6c1c20637f288028be93f4bc0d74a36af76f7ad0e35028dfe40e2a0bb2d7b4a363d1da35fe657072f5d847c78e
|
||||
DIST incus-6.15.tar.xz.asc 833 BLAKE2B ccab84a2fd3f9d6971ff0fd7cba9afc23dbe0fc0bcb8738656f9071db7c773840566009d5014dc15d37be26bff018e3faf8af59dd5d50b629aebd2e79cf3dc5e SHA512 b1bf43ffff719a3f1c6be7a8d32e44f418efb8e926914dea5479ba1175768910fa38b4e5b83c51e90ec34d2d345629597beb286215b9658a611cf568b8e43122
|
||||
DIST incus-6.17.tar.xz 12809024 BLAKE2B 5d6cb615b547430641faa716df5ce7c4d03aad436a4161c9d9dab99bd4fff7b8f93c8250d5b65237047c2baeeeac6f42a21b9a6970a41e79e7e6af9ceca2cf62 SHA512 ae744784ed676dcdcad3a284a0e16a816786cb87d78fae7f317baa4c75b193edb56ab2ec38b916c84930df5385e7b239c1cb9dc869672502be1e4d660a8d6113
|
||||
DIST incus-6.17.tar.xz.asc 833 BLAKE2B a0fc3eaa51df6b77988cc331cf03fad982d0a735a2e751564d05bd6f929b422b8682b56ec9101b17000978ec7f919189b3721779ca299f7df0c46fa56275aaf6 SHA512 23cc6ed65bf99899bd3ed4dd7f79a1eada375e32ad0f9b91be1e3fcc0d2af5abeffe05b7c02f0b63a7eca7dfaeee030dbc27fce67e8952f42f18638ebfc9a2e2
|
||||
|
||||
259
sdk_container/src/third_party/portage-stable/app-containers/incus/incus-6.17.ebuild
vendored
Normal file
259
sdk_container/src/third_party/portage-stable/app-containers/incus/incus-6.17.ebuild
vendored
Normal file
@ -0,0 +1,259 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit go-env go-module linux-info optfeature systemd toolchain-funcs verify-sig
|
||||
|
||||
DESCRIPTION="Modern, secure and powerful system container and virtual machine manager"
|
||||
HOMEPAGE="https://linuxcontainers.org/incus/introduction/ https://github.com/lxc/incus"
|
||||
SRC_URI="https://linuxcontainers.org/downloads/incus/${P}.tar.xz
|
||||
verify-sig? ( https://linuxcontainers.org/downloads/incus/${P}.tar.xz.asc )"
|
||||
|
||||
LICENSE="Apache-2.0 BSD LGPL-3 MIT"
|
||||
SLOT="0/stable"
|
||||
KEYWORDS="~amd64 ~arm64"
|
||||
IUSE="apparmor fuidshift nls qemu"
|
||||
|
||||
DEPEND="acct-group/incus
|
||||
acct-group/incus-admin
|
||||
app-arch/xz-utils
|
||||
>=app-containers/lxc-5.0.0:=[apparmor?,seccomp(+)]
|
||||
dev-db/sqlite:3
|
||||
>=dev-libs/cowsql-1.15.7
|
||||
dev-libs/lzo
|
||||
>=dev-libs/raft-0.22.1:=[lz4]
|
||||
>=dev-util/xdelta-3.0[lzma(+)]
|
||||
net-dns/dnsmasq[dhcp]
|
||||
sys-libs/libcap
|
||||
virtual/udev"
|
||||
RDEPEND="${DEPEND}
|
||||
|| (
|
||||
net-firewall/iptables
|
||||
net-firewall/nftables[json]
|
||||
)
|
||||
fuidshift? ( !app-containers/lxd )
|
||||
net-firewall/ebtables
|
||||
sys-apps/iproute2
|
||||
sys-fs/fuse:*
|
||||
>=sys-fs/lxcfs-5.0.0
|
||||
sys-fs/squashfs-tools[lzma]
|
||||
virtual/acl
|
||||
apparmor? ( sec-policy/apparmor-profiles )
|
||||
qemu? (
|
||||
app-cdr/cdrtools
|
||||
app-emulation/qemu[spice,usbredir,virtfs]
|
||||
sys-apps/gptfdisk
|
||||
)"
|
||||
BDEPEND=">=dev-lang/go-1.24.7
|
||||
nls? ( sys-devel/gettext )
|
||||
verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )"
|
||||
|
||||
CONFIG_CHECK="
|
||||
~AIO
|
||||
~CGROUPS
|
||||
~IPC_NS
|
||||
~NET_NS
|
||||
~PID_NS
|
||||
|
||||
~SECCOMP
|
||||
~USER_NS
|
||||
~UTS_NS
|
||||
|
||||
~KVM
|
||||
~MACVTAP
|
||||
~VHOST_VSOCK
|
||||
"
|
||||
|
||||
ERROR_AIO="CONFIG_AIO is required."
|
||||
ERROR_IPC_NS="CONFIG_IPC_NS is required."
|
||||
ERROR_NET_NS="CONFIG_NET_NS is required."
|
||||
ERROR_PID_NS="CONFIG_PID_NS is required."
|
||||
ERROR_SECCOMP="CONFIG_SECCOMP is required."
|
||||
ERROR_UTS_NS="CONFIG_UTS_NS is required."
|
||||
|
||||
WARNING_KVM="CONFIG_KVM and CONFIG_KVM_AMD/-INTEL is required for virtual machines."
|
||||
WARNING_MACVTAP="CONFIG_MACVTAP is required for virtual machines."
|
||||
WARNING_VHOST_VSOCK="CONFIG_VHOST_VSOCK is required for virtual machines."
|
||||
|
||||
# Go magic.
|
||||
QA_PREBUILT="/usr/bin/incus
|
||||
/usr/bin/incus-agent
|
||||
/usr/bin/incus-benchmark
|
||||
/usr/bin/incus-migrate
|
||||
/usr/bin/lxc-to-incus
|
||||
/usr/sbin/fuidshift
|
||||
/usr/sbin/incusd
|
||||
/usr/sbin/lxd-to-incus"
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/linuxcontainers.asc
|
||||
|
||||
# The testsuite must be run as root.
|
||||
# make: *** [Makefile:156: check] Error 1
|
||||
RESTRICT="test"
|
||||
|
||||
GOPATH="${S}/_dist"
|
||||
|
||||
src_unpack() {
|
||||
verify-sig_src_unpack
|
||||
go-module_src_unpack
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
export GOPATH="${S}/_dist"
|
||||
|
||||
default
|
||||
|
||||
sed -i \
|
||||
-e "s:\./configure:./configure --prefix=/usr --libdir=${EPREFIX}/usr/lib/incus:g" \
|
||||
-e "s:make:make ${MAKEOPTS}:g" \
|
||||
Makefile || die
|
||||
|
||||
sed -i \
|
||||
-e "s:/usr/share/OVMF:/usr/share/edk2/OvmfX64:g" \
|
||||
-e "s:OVMF_VARS.ms.fd:OVMF_VARS.fd:g" \
|
||||
internal/server/instance/drivers/edk2/driver_edk2.go || die "Failed to fix hardcoded ovmf paths."
|
||||
|
||||
cp "${FILESDIR}"/incus-6.14-r1.service "${T}"/incus.service || die
|
||||
if use apparmor; then
|
||||
sed -i \
|
||||
'/^EnvironmentFile=.*/a ExecStartPre=\/usr\/libexec\/lxc\/lxc-apparmor-load' \
|
||||
"${T}"/incus.service || die
|
||||
fi
|
||||
|
||||
# Disable -Werror's from go modules.
|
||||
find "${S}" -name "cgo.go" -exec sed -i "s/ -Werror / /g" {} + || die
|
||||
}
|
||||
|
||||
src_configure() { :; }
|
||||
|
||||
src_compile() {
|
||||
export GOPATH="${S}/_dist"
|
||||
export CGO_LDFLAGS_ALLOW="-Wl,-z,now"
|
||||
|
||||
for k in incus-benchmark incus-simplestreams incus-user incus lxc-to-incus lxd-to-incus ; do
|
||||
ego install -v -x "${S}/cmd/${k}"
|
||||
done
|
||||
|
||||
if use fuidshift ; then
|
||||
ego install -v -x "${S}/cmd/fuidshift"
|
||||
fi
|
||||
|
||||
ego install -v -x -tags libsqlite3 "${S}"/cmd/incusd
|
||||
|
||||
# Needs to be built statically
|
||||
CGO_ENABLED=0 go install -v -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-migrate
|
||||
|
||||
# Build the VM agents, statically too
|
||||
if use amd64 ; then
|
||||
GOARCH=amd64 CGO_ENABLED=0 ego build -o "${S}"/_dist/bin/incus-agent.linux.x86_64 -v \
|
||||
-tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent
|
||||
GOARCH=386 CGO_ENABLED=0 ego build -o "${S}"/_dist/bin/incus-agent.linux.i686 -v \
|
||||
-tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent
|
||||
GOARCH=amd64 GOOS=windows CGO_ENABLED=0 ego build -o "${S}"/_dist/bin/incus-agent.windows.x86_64 -v \
|
||||
-tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent
|
||||
GOARCH=386 GOOS=windows CGO_ENABLED=0 ego build -o "${S}"/_dist/bin/incus-agent.windows.i686 -v \
|
||||
-tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent
|
||||
elif use arm64 ; then
|
||||
GOARCH=arm64 CGO_ENABLED=0 ego build -o "${S}"/_dist/bin/incus-agent.linux.aarch64 -v \
|
||||
-tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent
|
||||
GOARCH=arm64 GOOS=windows CGO_ENABLED=0 ego build -o "${S}"/_dist/bin/incus-agent.windows.aarch64 -v \
|
||||
-tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent
|
||||
else
|
||||
echo "No VM support for this arch."
|
||||
return
|
||||
fi
|
||||
|
||||
use nls && emake build-mo
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake check
|
||||
}
|
||||
|
||||
src_install() {
|
||||
export GOPATH="${S}/_dist"
|
||||
|
||||
export GOHOSTARCH=$(go-env_goarch "${CBUILD}")
|
||||
if [[ "${GOARCH}" != "${GOHOSTARCH}" ]]; then
|
||||
local bindir="_dist/bin/linux_${GOARCH}"
|
||||
else
|
||||
local bindir="_dist/bin"
|
||||
fi
|
||||
|
||||
newsbin "${FILESDIR}"/incus-startup-0.4.sh incus-startup
|
||||
|
||||
# Admin tools
|
||||
for l in incusd incus-user lxd-to-incus ; do
|
||||
dosbin "${bindir}/${l}"
|
||||
done
|
||||
|
||||
# User tools
|
||||
for m in incus-benchmark incus-migrate incus-simplestreams incus lxc-to-incus ; do
|
||||
dobin "${bindir}/${m}"
|
||||
done
|
||||
|
||||
# VM Agents
|
||||
if use amd64 ; then
|
||||
exeinto /usr/libexec/incus/agents
|
||||
doexe ${bindir}/incus-agent.linux.x86_64
|
||||
doexe ${bindir}/incus-agent.linux.i686
|
||||
doexe ${bindir}/incus-agent.windows.x86_64
|
||||
doexe ${bindir}/incus-agent.windows.i686
|
||||
elif use arm64 ; then
|
||||
exeinto /usr/libexec/incus
|
||||
doexe ${bindir}/incus-agent.linux.aarch64
|
||||
doexe ${bindir}/incus-agent.windows.aarch64
|
||||
fi
|
||||
|
||||
# fuidshift, should be moved under admin tools at some point
|
||||
if use fuidshift ; then
|
||||
dosbin ${bindir}/fuidshift
|
||||
fi
|
||||
|
||||
newconfd "${FILESDIR}"/incus-6.0.confd incus
|
||||
newinitd "${FILESDIR}"/incus-6.0.initd incus
|
||||
newinitd "${FILESDIR}"/incus-user-0.4.initd incus-user
|
||||
|
||||
systemd_dounit "${T}"/incus.service
|
||||
systemd_newunit "${FILESDIR}"/incus-0.4.socket incus.socket
|
||||
systemd_newunit "${FILESDIR}"/incus-startup-0.4.service incus-startup.service
|
||||
systemd_newunit "${FILESDIR}"/incus-user-0.4.service incus-user.service
|
||||
systemd_newunit "${FILESDIR}"/incus-user-0.4.socket incus-user.socket
|
||||
|
||||
if ! tc-is-cross-compiler; then
|
||||
# Generate and install shell completion files.
|
||||
mkdir -p "${D}"/usr/share/{bash-completion/completions/,fish/vendor_completions.d/,zsh/site-functions/} || die
|
||||
"${bindir}"/incus completion bash > "${D}"/usr/share/bash-completion/completions/incus || die
|
||||
"${bindir}"/incus completion fish > "${D}"/usr/share/fish/vendor_completions.d/incus.fish || die
|
||||
"${bindir}"/incus completion zsh > "${D}"/usr/share/zsh/site-functions/_incus || die
|
||||
else
|
||||
ewarn "Shell completion files not installed! Install them manually with incus completion --help"
|
||||
fi
|
||||
|
||||
dodoc AUTHORS
|
||||
dodoc -r doc/*
|
||||
use nls && domo po/*.mo
|
||||
|
||||
# Incus needs INCUS_EDK2_PATH in env to find OVMF files for virtual machines, #946184,
|
||||
# and INCUS_AGENT_PATH to find multi-setup agents for VMs, #959878.
|
||||
newenvd "${FILESDIR}"/90incus.envd 90incus
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog
|
||||
elog "Please see"
|
||||
elog " https://wiki.gentoo.org/wiki/Incus"
|
||||
elog " https://wiki.gentoo.org/wiki/Incus#Migrating_from_LXD"
|
||||
elog
|
||||
optfeature "OCI container images support" app-containers/skopeo app-containers/umoci
|
||||
optfeature "support for ACME certificate issuance" app-crypt/lego
|
||||
optfeature "btrfs storage backend" sys-fs/btrfs-progs
|
||||
optfeature "ipv6 support" net-dns/dnsmasq[ipv6]
|
||||
optfeature "full incus-migrate support" net-misc/rsync
|
||||
optfeature "lvm2 storage backend" sys-fs/lvm2
|
||||
optfeature "zfs storage backend" sys-fs/zfs
|
||||
elog
|
||||
elog "Be sure to add your local user to the incus group."
|
||||
elog
|
||||
}
|
||||
@ -5,6 +5,10 @@
|
||||
<email>juippis@gentoo.org</email>
|
||||
<name>Joonas Niilola</name>
|
||||
</maintainer>
|
||||
<maintainer type="person">
|
||||
<email>mschiff@gentoo.org</email>
|
||||
<name>Marc Schiffbauer</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>virtualization@gentoo.org</email>
|
||||
<name>Gentoo Virtualization Project</name>
|
||||
|
||||
@ -15,7 +15,7 @@ if [[ ${PV} == 9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/containers/netavark.git"
|
||||
else
|
||||
SRC_URI="${CARGO_CRATE_URIS} https://github.com/containers/netavark/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv"
|
||||
KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv"
|
||||
fi
|
||||
|
||||
# main
|
||||
|
||||
@ -2,3 +2,4 @@ DIST runc-1.2.4.tar.gz 2759394 BLAKE2B 02b282c9fbe7f82ad1d4297b9d2576ee99db7f4db
|
||||
DIST runc-1.2.5.tar.gz 2763738 BLAKE2B 446dd633d94f41957ba205b944320734ddf505e1bdc8f6f9d1002de8ecdd46368af19d788b8812cee87aaab1f8583d01e0c4d6fd0a56590a819588814bfb1841 SHA512 67dd870a24cfe896ead01f156eda6076b14bf287781734c2c4ab0e313d66f49bbf8d51705c5f0c24a604df311439c769a95cbfda12c7fa87ab2e6a31801a6984
|
||||
DIST runc-1.2.6.tar.gz 2763135 BLAKE2B d5e40e95f8c0069073d0010d120aca1828e585b103ecd671fca072138ef3528a316414cfac5ca725f45cb84f23ab4216d9e6f466beb118fb2813ab4be3a18e92 SHA512 9a89295e001914726dfc1040729301f62ad6b630943c65f7ade6ed460ef4a2f5f35cf40662730a9e8a6c6d0301a3c9959a85973097ceb8db05c043f9c1a86248
|
||||
DIST runc-1.3.0.tar.gz 2858199 BLAKE2B c9402a074b816b9452763267a7ffdc69af6c0cd4cf54fbdfdc91ccbd8bbc5daa783259176775e90f6266fa6a02bf0bad7fbb8eb879b5764309f7f9cd2f246086 SHA512 63422501f6189d0d47f6b2f59565de572bc68b138a65c7dbcc8b5ad42dbc37245ee66e2683ab61971a84c076a15f54f484c37fde4a30815ee19edc9a0d97e9f4
|
||||
DIST runc-1.3.1.tar.gz 2860795 BLAKE2B 5711881488dc3d52182377dc09690436aff142552d35728b10c221874a1dafc3b1fe78972891ebfc53e232465aec97eacc78318a453b030c052ca2218c61438d SHA512 0a3007d046fe9711541e29ca07fd72515f19b220c8c79b9df9164f7b88a6b9077ba7a11607593b641823b9e99c0f2e96500a57e2a16e11501bbb7c4690870183
|
||||
|
||||
71
sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.3.1.ebuild
vendored
Normal file
71
sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.3.1.ebuild
vendored
Normal file
@ -0,0 +1,71 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit go-module linux-info
|
||||
|
||||
# update on bump, look for commit ID on release tag.
|
||||
# https://github.com/opencontainers/runc
|
||||
RUNC_COMMIT=e6457afc48eff1ce22dece664932395026a7105e
|
||||
|
||||
CONFIG_CHECK="~USER_NS"
|
||||
|
||||
DESCRIPTION="runc container cli tools"
|
||||
HOMEPAGE="https://github.com/opencontainers/runc/"
|
||||
MY_PV="${PV/_/-}"
|
||||
SRC_URI="https://github.com/opencontainers/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/${PN}-${MY_PV}"
|
||||
|
||||
LICENSE="Apache-2.0 BSD-2 BSD MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
|
||||
IUSE="apparmor hardened +kmem +seccomp selinux test"
|
||||
|
||||
COMMON_DEPEND="
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
seccomp? ( sys-libs/libseccomp )"
|
||||
DEPEND="${COMMON_DEPEND}"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
!app-emulation/docker-runc
|
||||
selinux? ( sec-policy/selinux-container )"
|
||||
BDEPEND="
|
||||
dev-go/go-md2man
|
||||
test? ( "${RDEPEND}" )"
|
||||
|
||||
# tests need busybox binary, and portage namespace
|
||||
# sandboxing disabled: mount-sandbox pid-sandbox ipc-sandbox
|
||||
# majority of tests pass
|
||||
RESTRICT+=" test"
|
||||
|
||||
src_compile() {
|
||||
# build up optional flags
|
||||
local options=(
|
||||
$(usev apparmor)
|
||||
$(usev seccomp)
|
||||
$(usex kmem '' 'nokmem')
|
||||
)
|
||||
|
||||
myemakeargs=(
|
||||
BUILDTAGS="${options[*]}"
|
||||
COMMIT="${RUNC_COMMIT}"
|
||||
)
|
||||
|
||||
emake "${myemakeargs[@]}" runc man
|
||||
}
|
||||
|
||||
src_install() {
|
||||
myemakeargs+=(
|
||||
PREFIX="${ED}/usr"
|
||||
BINDIR="${ED}/usr/bin"
|
||||
MANDIR="${ED}/usr/share/man"
|
||||
)
|
||||
emake "${myemakeargs[@]}" install install-man install-bash
|
||||
|
||||
local DOCS=( README.md PRINCIPLES.md docs/. )
|
||||
einstalldocs
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake "${myemakeargs[@]}" localunittest
|
||||
}
|
||||
@ -1,8 +1,6 @@
|
||||
DIST gnupg-2.2.45.tar.bz2 7447141 BLAKE2B 8fe2036325e31332166c0477ce9514152c8417a9f61b3edc43487340d5b52e6a4d4c2b104ca9fe7ce6893e6d2977e2cd9c9ccfb52c0b1ea18dae3304ec6ec7f3 SHA512 086bb2a96ff4a681451b357495c8b435229e6526e1121d8faee3cb2ecc9c14965c92c9b1ccbbf3a03f6c59c215cca85a5c4f740f2df7c008a9fa672b370bf33c
|
||||
DIST gnupg-2.2.45.tar.bz2.sig 119 BLAKE2B 6656747b2d640a95c4172a221952fa75f7d03c231b7c6d40ea57b43a5bcfbceb800023ca2f352ca09325aaf186a7bf31fcfe7104129c5d6628f0e1256994df76 SHA512 181195a76eede8113bd8f2a7f5bc20674226f6327cf8263389e3d178c205ed2d817b28f2d3b504dd9f852f22fc283d2c14e809ba1c05cfe88b66103845ff114c
|
||||
DIST gnupg-2.4.7.tar.bz2 8010244 BLAKE2B 4cdc6be4330b0c8f150d9d1a9ce9c7d34232ecf9b980b15fbd20e96ff6fcd8665688456d66f1c862b816472034eaa0796444357b1f36e75e8520a603a0e6b298 SHA512 3e84f1679904bf0efb789df6466e468bd2be9149d52561f35e2380038133479bebf1c61ee7adf6d3564b370915f32111098c052be6e6acaf3083a807f9f36019
|
||||
DIST gnupg-2.4.7.tar.bz2.sig 119 BLAKE2B e97012f433c2818dda953ccaa2f5e8e94492b306a7815b16d7a9f8bf165f11972114d94a1aaba6156baed0ee3566ad998ed74a9521c71464268f4c6f8f14306c SHA512 d944a57b21fa7a4058fb4f00e3c164220be038037010a07a43e48c881dd66d901f8ea249f5df183a1c7de811ecc3aa9ed1591c18baf201e338129eb7e28bddc4
|
||||
DIST gnupg-2.4.8.tar.bz2 8017685 BLAKE2B ab7126aac6c7bf323075c68084c963f75d93c729d8918b6ca10ef0a4466879636433c682a5437776d2ce9f5d432e1f66995dd94a4f44d7f184542f030087dbb2 SHA512 d7f07a258141a583bc8be18c0984d7dfe8508f12c624c053881ee63dfee11adcda8de216bcaaef9f5d24a1e217de70bf69ee2e3cc43b0da66a0e571ce9c4b436
|
||||
DIST gnupg-2.4.8.tar.bz2.sig 119 BLAKE2B 4f94b2abc40b17cfab44f28fc2a2ae5246f8356141a3932a92b5adb78002c7064bb132a6529079bc14900036f90d9d318d7d01818999150e2c875b88a3fca265 SHA512 9fb54be4e99ecee6c7b649d6f0ef24a25e81c0af57e07ccdd512a1ea2ebf7558dd25518b7b78347e4a216167849e6285bb91ec23d0968966aba0784d45f02a06
|
||||
DIST gnupg-2.5.1.tar.bz2 8126739 BLAKE2B 46955d2eebe14395adc0fdf81e89a32f3f9baaabfe1eee78f256a1fab25ce6fdb96b873678cfeb5e4abf4894c7ab4908359ed04cc6571ff442dcc5325b3ccd66 SHA512 733a11ff24145e23dd7d34d954a70c25bf70ecb1d517b8e15cc34bf690786c9f7007e4e99cde573500ac012852e91b29568fed00491f8c8254b3fb63ca5777cd
|
||||
DIST gnupg-2.5.1.tar.bz2.sig 238 BLAKE2B cd024a63ecb82a12e92444cbff8dbc9bef6a4e436d59957aae77927cce0baf9e282e63df7a5159a521c7c8694a0dbe96d6537ad3ec5f779c7c0dea8d02b5e70d SHA512 8ffd5cc72a2907972bf1854e804f6c215ff66ba2d6e91952700f49b2b5ba8bab035d0f42efdb0d3c3166301cda6e716394928bdd9c0d0d1e1789a02c7aa1a926
|
||||
DIST gnupg-2.5.12.tar.bz2 8225353 BLAKE2B cab3802d08acf96772071c42949c55e78734447a29d3088b7c08636282cf38f92fcf35ce6ded5df9a18b2725a27500980d1616f5d3850df05f9543a43453d5c0 SHA512 fa0510f24b844e2ee122543421e0ee47415cb5a1599c28abe2ec22830c378b50125e70289fd227bd6ca35bb3d6a40928955f42b44b24f657733b93c64d6d27d8
|
||||
DIST gnupg-2.5.12.tar.bz2.sig 266 BLAKE2B b52d3f2d3af94061c5210ede10b074d871e9782ae92974a58480e6e0cfa29e5d6622b67b24989bb757e96a0cbb8ff9df2d15b69ecc5b5c531880920f45907b9f SHA512 ff141f5dc30cd81494c8a50f86b673fe9c0fc74d344fb868f922285851929ed863b66fe52e973d0ab869391394e7fe6a0efc83b7b2383f28771a1cd6ca62be3b
|
||||
|
||||
@ -1,197 +0,0 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Maintainers should:
|
||||
# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/
|
||||
# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159
|
||||
# (find the one for the current release then subscribe to it +
|
||||
# any subsequent ones linked within so you're covered for a while.)
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
|
||||
# in-source builds are not supported: https://dev.gnupg.org/T6313#166339
|
||||
inherit flag-o-matic out-of-source multiprocessing systemd toolchain-funcs verify-sig
|
||||
|
||||
MY_P="${P/_/-}"
|
||||
|
||||
DESCRIPTION="The GNU Privacy Guard, a GPL OpenPGP implementation"
|
||||
HOMEPAGE="https://gnupg.org/"
|
||||
SRC_URI="mirror://gnupg/gnupg/${MY_P}.tar.bz2"
|
||||
SRC_URI+=" verify-sig? ( mirror://gnupg/gnupg/${P}.tar.bz2.sig )"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="bzip2 doc ldap nls readline selinux +smartcard ssl test +tofu tpm tools usb user-socket wks-server"
|
||||
RESTRICT="!test? ( test )"
|
||||
REQUIRED_USE="test? ( tofu )"
|
||||
|
||||
# Existence of executables is checked during configuration.
|
||||
# Note: On each bump, update dep bounds on each version from configure.ac!
|
||||
DEPEND="
|
||||
>=dev-libs/libassuan-2.5.0:=
|
||||
>=dev-libs/libgcrypt-1.9.1:=
|
||||
>=dev-libs/libgpg-error-1.46
|
||||
>=dev-libs/libksba-1.6.3
|
||||
>=dev-libs/npth-1.2
|
||||
sys-libs/zlib
|
||||
bzip2? ( app-arch/bzip2 )
|
||||
ldap? ( net-nds/openldap:= )
|
||||
readline? ( sys-libs/readline:0= )
|
||||
smartcard? ( usb? ( virtual/libusb:1 ) )
|
||||
tofu? ( >=dev-db/sqlite-3.27 )
|
||||
tpm? ( >=app-crypt/tpm2-tss-2.4.0:= )
|
||||
ssl? ( >=net-libs/gnutls-3.2:0= )
|
||||
"
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
nls? ( virtual/libintl )
|
||||
selinux? ( sec-policy/selinux-gpg )
|
||||
wks-server? ( virtual/mta )
|
||||
"
|
||||
PDEPEND="
|
||||
app-crypt/pinentry
|
||||
"
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
doc? ( sys-apps/texinfo )
|
||||
nls? ( sys-devel/gettext )
|
||||
verify-sig? ( sec-keys/openpgp-keys-gnupg )
|
||||
"
|
||||
|
||||
DOCS=(
|
||||
ChangeLog NEWS README THANKS TODO VERSION
|
||||
doc/FAQ doc/DETAILS doc/HACKING doc/TRANSLATE doc/OpenPGP doc/KEYSERVER
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch
|
||||
"${FILESDIR}"/${PN}-2.4.5-revert-rfc4880bis.patch # bug #926186
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
GNUPG_SYSTEMD_UNITS=(
|
||||
dirmngr.service
|
||||
dirmngr.socket
|
||||
gpg-agent-browser.socket
|
||||
gpg-agent-extra.socket
|
||||
gpg-agent.service
|
||||
gpg-agent.socket
|
||||
gpg-agent-ssh.socket
|
||||
)
|
||||
|
||||
cp "${GNUPG_SYSTEMD_UNITS[@]/#/${FILESDIR}/}" "${T}" || die
|
||||
|
||||
# Inject SSH_AUTH_SOCK into user's sessions after enabling gpg-agent-ssh.socket in systemctl --user mode,
|
||||
# idea borrowed from libdbus, see
|
||||
# https://gitlab.freedesktop.org/dbus/dbus/-/blob/master/bus/systemd-user/dbus.socket.in#L6
|
||||
#
|
||||
# This cannot be upstreamed, as it requires determining the exact prefix of 'systemctl',
|
||||
# which in turn requires discovery in Autoconf, something that upstream deeply resents.
|
||||
sed -e "/DirectoryMode=/a ExecStartPost=-${EPREFIX}/bin/systemctl --user set-environment SSH_AUTH_SOCK=%t/gnupg/S.gpg-agent.ssh" \
|
||||
-i "${T}"/gpg-agent-ssh.socket || die
|
||||
}
|
||||
|
||||
my_src_configure() {
|
||||
# Upstream don't support LTO, bug #854222.
|
||||
filter-lto
|
||||
|
||||
local myconf=(
|
||||
$(use_enable bzip2)
|
||||
$(use_enable nls)
|
||||
$(use_enable smartcard scdaemon)
|
||||
$(use_enable ssl gnutls)
|
||||
$(use_enable test all-tests)
|
||||
$(use_enable test tests)
|
||||
$(use_enable tofu)
|
||||
$(use_enable tofu keyboxd)
|
||||
$(use_enable tofu sqlite)
|
||||
$(usex tpm '--with-tss=intel' '--disable-tpm2d')
|
||||
$(use smartcard && use_enable usb ccid-driver || echo '--disable-ccid-driver')
|
||||
$(use_enable wks-server wks-tools)
|
||||
$(use_with ldap)
|
||||
$(use_with readline)
|
||||
|
||||
# Hardcode mailprog to /usr/libexec/sendmail even if it does not exist.
|
||||
# As of GnuPG 2.3, the mailprog substitution is used for the binary called
|
||||
# by wks-client & wks-server; and if it's autodetected but not not exist at
|
||||
# build time, then then 'gpg-wks-client --send' functionality will not
|
||||
# work. This has an unwanted side-effect in stage3 builds: there was a
|
||||
# [R]DEPEND on virtual/mta, which also brought in virtual/logger, bloating
|
||||
# the build where the install guide previously make the user chose the
|
||||
# logger & mta early in the install.
|
||||
--with-mailprog=/usr/libexec/sendmail
|
||||
|
||||
--disable-ntbtls
|
||||
--enable-gpgsm
|
||||
--enable-large-secmem
|
||||
|
||||
CC_FOR_BUILD="$(tc-getBUILD_CC)"
|
||||
GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config"
|
||||
|
||||
$("${S}/configure" --help | grep -o -- '--without-.*-prefix')
|
||||
)
|
||||
|
||||
if use prefix && use usb; then
|
||||
# bug #649598
|
||||
append-cppflags -I"${ESYSROOT}/usr/include/libusb-1.0"
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
# https://dev.gnupg.org/T7368
|
||||
append-cppflags -D_XOPEN_SOURCE=500
|
||||
fi
|
||||
|
||||
# bug #663142
|
||||
if use user-socket; then
|
||||
myconf+=( --enable-run-gnupg-user-socket )
|
||||
fi
|
||||
|
||||
# glib fails and picks up clang's internal stdint.h causing weird errors
|
||||
tc-is-clang && export gl_cv_absolute_stdint_h="${ESYSROOT}"/usr/include/stdint.h
|
||||
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
my_src_compile() {
|
||||
default
|
||||
|
||||
use doc && emake -C doc html
|
||||
}
|
||||
|
||||
my_src_test() {
|
||||
export TESTFLAGS="--parallel=$(makeopts_jobs)"
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
my_src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
use tools && dobin tools/{gpgconf,gpgsplit,gpg-check-pattern} tools/make-dns-cert
|
||||
|
||||
dosym gpg /usr/bin/gpg2
|
||||
dosym gpgv /usr/bin/gpgv2
|
||||
echo ".so man1/gpg.1" > "${ED}"/usr/share/man/man1/gpg2.1 || die
|
||||
echo ".so man1/gpgv.1" > "${ED}"/usr/share/man/man1/gpgv2.1 || die
|
||||
|
||||
dodir /etc/env.d
|
||||
echo "CONFIG_PROTECT=/usr/share/gnupg/qualified.txt" >> "${ED}"/etc/env.d/30gnupg || die
|
||||
|
||||
use doc && dodoc doc/gnupg.html/*
|
||||
}
|
||||
|
||||
my_src_install_all() {
|
||||
einstalldocs
|
||||
|
||||
use tools && dobin tools/{convert-from-106,mail-signed-keys,lspgpot}
|
||||
use doc && dodoc doc/*.png
|
||||
|
||||
# Dropped upstream in https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commitdiff;h=eae28f1bd4a5632e8f8e85b7248d1c4d4a10a5ed.
|
||||
dodoc "${FILESDIR}"/README-systemd
|
||||
systemd_douserunit "${GNUPG_SYSTEMD_UNITS[@]/#/${T}/}"
|
||||
}
|
||||
@ -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
|
||||
@ -23,7 +23,7 @@ S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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 )"
|
||||
@ -31,9 +31,9 @@ REQUIRED_USE="test? ( tofu )"
|
||||
# Existence of executables is checked during configuration.
|
||||
# Note: On each bump, update dep bounds on each version from configure.ac!
|
||||
DEPEND="
|
||||
>=dev-libs/libassuan-2.5.0:=
|
||||
>=dev-libs/libgcrypt-1.9.1:=
|
||||
>=dev-libs/libgpg-error-1.46
|
||||
>=dev-libs/libassuan-3.0.0:=
|
||||
>=dev-libs/libgcrypt-1.11.0:=
|
||||
>=dev-libs/libgpg-error-1.51
|
||||
>=dev-libs/libksba-1.6.3
|
||||
>=dev-libs/npth-1.2
|
||||
sys-libs/zlib
|
||||
@ -68,7 +68,6 @@ DOCS=(
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch
|
||||
"${FILESDIR}"/${PN}-2.4.5-revert-rfc4880bis.patch # bug #926186
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
@ -94,6 +93,10 @@ src_prepare() {
|
||||
# which in turn requires discovery in Autoconf, something that upstream deeply resents.
|
||||
sed -e "/DirectoryMode=/a ExecStartPost=-${EPREFIX}/bin/systemctl --user set-environment SSH_AUTH_SOCK=%t/gnupg/S.gpg-agent.ssh" \
|
||||
-i "${T}"/gpg-agent-ssh.socket || die
|
||||
|
||||
# Since 2.5.3, --supervised is called --deprecated-supervised. See
|
||||
# https://dev.gnupg.org/rGa019a0fcd8dfb9d1eae5bc991fdd54b7cf55641e
|
||||
sed -i "s/--supervised/--deprecated-supervised/g" "${T}"/*.service || die
|
||||
}
|
||||
|
||||
my_src_configure() {
|
||||
@ -1,4 +1,4 @@
|
||||
DIST gpgme-1.24.3.tar.bz2 1892862 BLAKE2B ace04d4fc803f6ce96f850a46b4b383ebdcbfe51d55fbe2a5ced10451310553c15ee5a603d1e6ffb78a8de75461fafacc296fec3e4f38d4908171a095cab185f SHA512 3b5fc22a2f83576058ac14e744333f46df362b39f742d6c9e54a5a66828194a1312f5f365bdc15683e148821f5d591fa92a2daad83fc116f65dccf14e817ca48
|
||||
DIST gpgme-1.24.3.tar.bz2.sig 238 BLAKE2B 5b8402b011899faae26bcba428e45a7bb7baf9b16e4c605cdae3d84dc1cbf52ccd524181ef0726e25075c42f9ccb72cd996707a2f96c04b7054cc9050270b586 SHA512 056b28b041dd83c86984e73c31403ea45d33db30c1b2b05e45b0cfb5bb723b25a0fa21ddee192c135cea5d93d934502085bc0fc94fa3c29858513e260c332948
|
||||
DIST gpgme-2.0.0.tar.bz2 1383911 BLAKE2B 7053955f80f9a69c62d8b4bb6cc80ea259e6854857b340577c4a68fac1d34c0f2aff1dbbf88b503dd2b021c48d9fff67709593817f3b0e74f72df913d7e3de0d SHA512 ee58dc2a4273c740d5b9ef13cc655d5e600ddddd137fb85a781c31e8854829283b4ce241d7810a963d9a125d603213600f37e7d0c1ce3b3cf1b935e62cf60777
|
||||
DIST gpgme-2.0.0.tar.bz2.sig 119 BLAKE2B 3fe43a1047f8fba1fe793b5f501b9902067b3eea8d08713c4358d78b7c0c19b82e417251dbe602d04c2f945e46e0c5651bead5a2bf59dfc0861d1e9261893a98 SHA512 fc7b3cafd0e9d830c1709a086185047ecf118997feaa8896707917c420d12386c6e298116b457fea478c2e2f85fc9413ab3fa268a1798793377e4739419fde66
|
||||
DIST gpgme-2.0.1.tar.bz2 1392080 BLAKE2B b2dbc41abf6947b335307e5add09ff6104d3666998e2ae0efed518b5a0cfbced8a64b24b7567666fcf392bdb07ba01c1c2e4cb27a7b53569ce92f73661e5e1a4 SHA512 ad19169594b6048b11df9311080e179232ff03def08f377e7d7536a3a91e12f722cbae93e80364b73db013152b327bc3457ec9a9ddea9c660d74f389f6ab8837
|
||||
DIST gpgme-2.0.1.tar.bz2.sig 147 BLAKE2B 3d2a6c19d052ba9885298bf90156cf43fda86b837902bf5ec74bb9bf2fdde693a2ef74fc533c0e8921fb6a24eafd5dac8bbfcd930aaf13656358e7db62333783 SHA512 53f45e0d61d3fca5965ecaf32fb8c0d75517d7267901da1f4facb664595d55713378161774415bbd5491f52d934944750478da8de9ddef0fec1d4702fac36100
|
||||
|
||||
@ -1,26 +0,0 @@
|
||||
https://dev.gnupg.org/T6778
|
||||
--- a/lang/python/tests/support.py
|
||||
+++ b/lang/python/tests/support.py
|
||||
@@ -46,13 +46,15 @@ def is_gpg_version(version):
|
||||
|
||||
|
||||
def have_tofu_support(ctx, some_uid):
|
||||
- keys = list(
|
||||
- ctx.keylist(
|
||||
- some_uid,
|
||||
- mode=(gpg.constants.keylist.mode.LOCAL |
|
||||
- gpg.constants.keylist.mode.WITH_TOFU)))
|
||||
- return len(keys) > 0
|
||||
-
|
||||
+ try:
|
||||
+ keys = list(
|
||||
+ ctx.keylist(
|
||||
+ some_uid,
|
||||
+ mode=(gpg.constants.keylist.mode.LOCAL |
|
||||
+ gpg.constants.keylist.mode.WITH_TOFU)))
|
||||
+ return len(keys) > 0
|
||||
+ except gpg.errors.GPGMEError:
|
||||
+ return False
|
||||
|
||||
# Skip the Python tests for GnuPG < 2.1.12. Prior versions do not
|
||||
# understand the command line flags that we assume exist. C.f. issue
|
||||
@ -1,180 +0,0 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Maintainers should:
|
||||
# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/
|
||||
# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159
|
||||
# (find the one for the current release then subscribe to it +
|
||||
# any subsequent ones linked within so you're covered for a while.)
|
||||
|
||||
DISTUTILS_EXT=1
|
||||
DISTUTILS_OPTIONAL=1
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{11..14} )
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
|
||||
|
||||
# in-source builds are not supported:
|
||||
# * https://dev.gnupg.org/T6313#166339
|
||||
# * https://dev.gnupg.org/T6673#174545
|
||||
inherit distutils-r1 libtool flag-o-matic out-of-source qmake-utils toolchain-funcs verify-sig
|
||||
|
||||
DESCRIPTION="GnuPG Made Easy is a library for making GnuPG easier to use"
|
||||
HOMEPAGE="https://www.gnupg.org/related_software/gpgme"
|
||||
SRC_URI="
|
||||
mirror://gnupg/gpgme/${P}.tar.bz2
|
||||
verify-sig? ( mirror://gnupg/gpgme/${P}.tar.bz2.sig )
|
||||
"
|
||||
|
||||
LICENSE="GPL-2 LGPL-2.1"
|
||||
# Please check ABI on each bump, even if SONAMEs didn't change: bug #833355
|
||||
# Use e.g. app-portage/iwdevtools integration with dev-libs/libabigail's abidiff.
|
||||
# Subslot: SONAME of each: <libgpgme.libgpgmepp.libqgpgme.FUDGE>
|
||||
# Bump FUDGE if a release is made which breaks ABI without changing SONAME.
|
||||
# (Reset to 0 if FUDGE != 0 if libgpgme/libgpgmepp/libqpggme change.)
|
||||
SLOT="1/11.6.15.2"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="common-lisp static-libs +cxx python qt5 qt6 test"
|
||||
RESTRICT="!test? ( test )"
|
||||
REQUIRED_USE="
|
||||
qt5? ( cxx )
|
||||
qt6? ( cxx )
|
||||
python? ( ${PYTHON_REQUIRED_USE} )
|
||||
"
|
||||
|
||||
# - On each bump, update dep bounds on each version from configure.ac!
|
||||
COMMON_DEPEND="
|
||||
>=app-crypt/gnupg-2
|
||||
>=dev-libs/libassuan-2.5.3:=
|
||||
>=dev-libs/libgpg-error-1.46-r1:=
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
qt5? ( dev-qt/qtcore:5 )
|
||||
qt6? ( dev-qt/qtbase:6 )
|
||||
"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
test? ( qt5? ( dev-qt/qttest:5 ) )
|
||||
"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
cxx? ( !>=dev-cpp/gpgmepp-2 )
|
||||
python? ( !>dev-python/gpgmepy-1.9999 )
|
||||
qt6? ( !>=dev-libs/qgpgme-2 )
|
||||
"
|
||||
#doc? ( app-text/doxygen[dot] )
|
||||
BDEPEND="
|
||||
python? (
|
||||
${PYTHON_DEPS}
|
||||
${DISTUTILS_DEPS}
|
||||
dev-lang/swig
|
||||
)
|
||||
verify-sig? ( sec-keys/openpgp-keys-gnupg )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.18.0-tests-start-stop-agent-use-command-v.patch
|
||||
"${FILESDIR}"/${PN}-1.23.1-tests-gnupg-no-tofu.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
elibtoolize
|
||||
|
||||
# bug #697456
|
||||
addpredict /run/user/$(id -u)/gnupg
|
||||
|
||||
local MAX_WORKDIR=66
|
||||
if use test && [[ "${#WORKDIR}" -gt "${MAX_WORKDIR}" ]]; then
|
||||
eerror "Unable to run tests as WORKDIR='${WORKDIR}' is longer than ${MAX_WORKDIR} which causes failure!"
|
||||
die "Could not run tests as requested with too-long WORKDIR."
|
||||
fi
|
||||
|
||||
# Make best effort to allow longer PORTAGE_TMPDIR
|
||||
# as usock limitation fails build/tests
|
||||
ln -s "${P}" "${WORKDIR}/b" || die
|
||||
S="${WORKDIR}/b"
|
||||
}
|
||||
|
||||
my_src_configure() {
|
||||
# bug #847955
|
||||
append-lfs-flags
|
||||
|
||||
cd "${BUILD_DIR}" || die
|
||||
|
||||
local languages=(
|
||||
$(usev common-lisp 'cl')
|
||||
$(usev cxx 'cpp')
|
||||
$(usev qt5 'qt5')
|
||||
$(usev qt6 'qt6')
|
||||
)
|
||||
|
||||
use qt5 && export MOC5="$(qt5_get_bindir)/moc"
|
||||
use qt6 && export MOC6="$(qt6_get_libdir)/qt6/libexec/moc"
|
||||
|
||||
local myeconfargs=(
|
||||
$(use test || echo "--disable-gpgconf-test --disable-gpg-test --disable-gpgsm-test --disable-g13-test")
|
||||
--enable-languages="${languages[*]}"
|
||||
$(use_enable static-libs static)
|
||||
GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config"
|
||||
)
|
||||
|
||||
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
||||
|
||||
if use python ; then
|
||||
emake -C lang/python prepare
|
||||
|
||||
pushd lang/python > /dev/null || die
|
||||
top_builddir="../.." srcdir="${S}/lang/python" CPP="$(tc-getCPP)" distutils-r1_src_configure
|
||||
popd > /dev/null || die
|
||||
fi
|
||||
}
|
||||
|
||||
my_src_compile() {
|
||||
cd "${BUILD_DIR}" || die
|
||||
|
||||
emake
|
||||
|
||||
if use python ; then
|
||||
pushd lang/python > /dev/null || die
|
||||
top_builddir="../.." srcdir="${S}/lang/python" CPP="$(tc-getCPP)" distutils-r1_src_compile
|
||||
popd > /dev/null || die
|
||||
fi
|
||||
}
|
||||
|
||||
my_src_test() {
|
||||
cd "${BUILD_DIR}" || die
|
||||
|
||||
emake check
|
||||
|
||||
if use python ; then
|
||||
distutils-r1_src_test
|
||||
fi
|
||||
}
|
||||
|
||||
python_test() {
|
||||
emake -C lang/python/tests check \
|
||||
PYTHON=${EPYTHON} \
|
||||
PYTHONS=${EPYTHON} \
|
||||
TESTFLAGS="--python-libdir=${BUILD_DIR}/lib"
|
||||
}
|
||||
|
||||
my_src_install() {
|
||||
einstalldocs
|
||||
|
||||
cd "${BUILD_DIR}" || die
|
||||
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
if use python ; then
|
||||
pushd lang/python > /dev/null || die
|
||||
top_builddir="../.." srcdir="${S}/lang/python" CPP="$(tc-getCPP)" distutils-r1_src_install
|
||||
popd > /dev/null || die
|
||||
fi
|
||||
|
||||
find "${ED}" -type f -name '*.la' -delete || die
|
||||
|
||||
# Backward compatibility for gentoo
|
||||
# (in the past, we had slots)
|
||||
dodir /usr/include/gpgme
|
||||
dosym -r /usr/include/gpgme.h /usr/include/gpgme/gpgme.h
|
||||
}
|
||||
@ -27,7 +27,7 @@ LICENSE="GPL-2 LGPL-2.1"
|
||||
# Please check ABI on each bump, even if SONAMEs didn't change: bug #833355
|
||||
# Subslot: SONAME of each: <libgpgme.FUDGE>
|
||||
SLOT="1/45.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="common-lisp static-libs test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
|
||||
90
sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-2.0.1.ebuild
vendored
Normal file
90
sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-2.0.1.ebuild
vendored
Normal file
@ -0,0 +1,90 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Maintainers should:
|
||||
# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/
|
||||
# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159
|
||||
# (find the one for the current release then subscribe to it +
|
||||
# any subsequent ones linked within so you're covered for a while.)
|
||||
|
||||
# out-of-source b/c in-source builds are not supported:
|
||||
# * https://dev.gnupg.org/T6313#166339
|
||||
# * https://dev.gnupg.org/T6673#174545
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
|
||||
inherit libtool flag-o-matic out-of-source verify-sig
|
||||
|
||||
DESCRIPTION="GnuPG Made Easy is a library for making GnuPG easier to use"
|
||||
HOMEPAGE="https://www.gnupg.org/related_software/gpgme"
|
||||
SRC_URI="
|
||||
mirror://gnupg/gpgme/${P}.tar.bz2
|
||||
verify-sig? ( mirror://gnupg/gpgme/${P}.tar.bz2.sig )
|
||||
"
|
||||
|
||||
LICENSE="GPL-2 LGPL-2.1"
|
||||
# Please check ABI on each bump, even if SONAMEs didn't change: bug #833355
|
||||
# Subslot: SONAME of each: <libgpgme.FUDGE>
|
||||
SLOT="1/45.0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="common-lisp static-libs test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
>=app-crypt/gnupg-2
|
||||
>=dev-libs/libassuan-2.5.3:=
|
||||
>=dev-libs/libgpg-error-1.46-r1:=
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
#doc? ( app-text/doxygen[dot] )
|
||||
BDEPEND="
|
||||
verify-sig? ( sec-keys/openpgp-keys-gnupg )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.18.0-tests-start-stop-agent-use-command-v.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
elibtoolize
|
||||
|
||||
# bug #697456
|
||||
addpredict /run/user/$(id -u)/gnupg
|
||||
|
||||
local MAX_WORKDIR=66
|
||||
if use test && [[ "${#WORKDIR}" -gt "${MAX_WORKDIR}" ]]; then
|
||||
eerror "Unable to run tests as WORKDIR='${WORKDIR}' is longer than ${MAX_WORKDIR} which causes failure!"
|
||||
die "Could not run tests as requested with too-long WORKDIR."
|
||||
fi
|
||||
|
||||
# Make best effort to allow longer PORTAGE_TMPDIR as usock limitation
|
||||
# fails build/tests.
|
||||
ln -s "${P}" "${WORKDIR}/b" || die
|
||||
S="${WORKDIR}/b"
|
||||
}
|
||||
|
||||
my_src_configure() {
|
||||
# bug #847955
|
||||
append-lfs-flags
|
||||
|
||||
local languages=(
|
||||
$(usev common-lisp 'cl')
|
||||
)
|
||||
|
||||
local myeconfargs=(
|
||||
$(use test || echo "--disable-gpgconf-test --disable-gpg-test --disable-gpgsm-test --disable-g13-test")
|
||||
--enable-languages="${languages[*]}"
|
||||
$(use_enable static-libs static)
|
||||
GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config"
|
||||
)
|
||||
|
||||
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
my_src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
find "${ED}" -type f -name '*.la' -delete || die
|
||||
}
|
||||
@ -1,3 +1,2 @@
|
||||
DIST p11-kit-0.25.10.tar.xz 1053532 BLAKE2B 9f5a1be36a5b67ac35b294afdacf1b3a5c1c579b04e3407ea7bc6899cfe74330682653da50975a13e443b3a79379fdf6c6ed2a778933cf5dbba4fdf6dc52c99a SHA512 c5a5dfb6bd46e8964a70f2fc601bd5b61bf88f79d1011c70e6f37a62130c4aad692d8bac83aff2fd2728543274e198d2946ded7a53636835aefb13b9a3155527
|
||||
DIST p11-kit-0.25.5.tar.xz 1002056 BLAKE2B 96d6a9c2807586abafae4da4df89f566672733963997d6a83e00aaf83a7a0c0e2995638f505e98fb87a90c60bde28814f1e8b7d5071bf0af96bb0467105a1ddc SHA512 177ec6ff5eb891901078306dce2bf3f5c1a0e5c2a8c493bdf5a08ae1ff1240fdf6952961e973c373f80ac3d1d5a9927e07f4da49e4ff92269d992e744889fc94
|
||||
DIST p11-kit-0.25.8.tar.xz 1060504 BLAKE2B d351b7b015920d7ecf1b9d3b4f1f3fc62c7ef46c1dc9ed3475b9ac7f5dbf5a47b2d2a19049e7eef81e35d0f993a860ee5df1864f0341596dca143140ae14e5c4 SHA512 4a3852459a4a5e4ea71eea5d23ef74deeb51c66b28d095be30a263f10d1f47853341f8628eb0c43c88247503059a4c1f67017965a70cd3c7df31d86e458a8162
|
||||
DIST p11-kit-0.25.9.tar.xz 530960 BLAKE2B d9895b1479179b39c9b50878deefc40afbd29a291814e62e345b6758c4fde8023383b2708701ab1f684e7874a8657a5a988ed453d10802f5b3b51267d7a689ab SHA512 8232839f398e058325bc6f3666fcec293a85ed8d655bdf285ee267db4dd71bbdb8c5ab7b225bb6524a2536e4c1b00ac6ceeaf9053638da691a04882fb9b73c42
|
||||
|
||||
@ -1,76 +0,0 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{11..14} )
|
||||
inherit shell-completion meson-multilib python-any-r1
|
||||
|
||||
DESCRIPTION="Provides a standard configuration setup for installing PKCS#11"
|
||||
HOMEPAGE="https://p11-glue.github.io/p11-glue/p11-kit.html"
|
||||
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"
|
||||
IUSE="+libffi gtk-doc nls systemd test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
app-misc/ca-certificates
|
||||
>=dev-libs/libtasn1-3.4:=[${MULTILIB_USEDEP}]
|
||||
libffi? ( dev-libs/libffi:=[${MULTILIB_USEDEP}] )
|
||||
systemd? ( sys-apps/systemd )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
app-text/docbook-xsl-stylesheets
|
||||
dev-libs/libxslt
|
||||
virtual/pkgconfig
|
||||
gtk-doc? ( dev-util/gtk-doc )
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Relies on dlopen which won't work for multilib tests (bug #913971)
|
||||
cat <<-EOF > "${S}"/p11-kit/test-server.sh || die
|
||||
#!/bin/sh
|
||||
exit 77
|
||||
EOF
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# Disable unsafe tests, bug#502088
|
||||
export FAKED_MODE=1
|
||||
|
||||
local native_file="${T}"/meson.${CHOST}.${ABI}.ini.local
|
||||
|
||||
# p11-kit doesn't need this to build and castxml needs Clang. To get
|
||||
# a deterministic non-automagic build, always disable the search for
|
||||
# castxml.
|
||||
cat >> ${native_file} <<-EOF || die
|
||||
[binaries]
|
||||
castxml='castxml-falseified'
|
||||
EOF
|
||||
|
||||
local emesonargs=(
|
||||
--native-file "${native_file}"
|
||||
-Dbash_completion=enabled
|
||||
-Dzsh_completion=enabled
|
||||
-Dbashcompdir="$(get_bashcompdir)"
|
||||
-Dzshcompdir="$(get_zshcompdir)"
|
||||
-Dtrust_module=enabled
|
||||
-Dtrust_paths="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt
|
||||
$(meson_feature libffi)
|
||||
$(meson_use nls)
|
||||
$(meson_use test)
|
||||
$(meson_native_use_bool gtk-doc gtk_doc)
|
||||
$(meson_native_true man)
|
||||
$(meson_native_use_feature systemd)
|
||||
)
|
||||
|
||||
meson_src_configure
|
||||
}
|
||||
@ -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"
|
||||
|
||||
@ -6,8 +6,10 @@ DIST qemu-10.0.0.tar.xz 135618260 BLAKE2B 3408c7b2a38ace7f0b2e0912411a26cab96cb2
|
||||
DIST qemu-10.0.2.tar.xz 135678180 BLAKE2B be4ddf050d2102cefded5b4967222df749ee8af92c2427c31a9b29b3800fac8bb328daf2c38d11aa307b51eb7d7243f9b064b3bf24d446a001e5520359ee83c3 SHA512 7fda582c3845ea663aa5eda21bb38ebcfb6c25bccf8944ea6cdf8b5be6946b5a874b36674a7f5db3e325abb9cca0dd9bc0727837fdceb71a8c947d96169a9b20
|
||||
DIST qemu-10.0.3.tar.xz 135736600 BLAKE2B 382800d9a9f5241123ebeb43d8eaa6a4aaf9acae0df7a25f2c7831aa7eeb97014cff29886c53f03ea0a1ac98729b85bad1e4d5634e592a373af84f79a9219adc SHA512 7f37c2df5ac7048fb32f1d89a7c2da0929be9d2f5767bc209ca1e99167f196fb5867fc8b69f915c8c349c58089ce3d7e08c9a3f35a73223abff258b9a5bf3466
|
||||
DIST qemu-10.0.4.tar.xz 141652160 BLAKE2B 987b69f2d9f2e98a1447c321a00a5c8df7114285c2bfabe7e127d57afb8b1d0b56dc34967be9e161652fd07dc25a0b09135a01758a82973ef819d71a2d5c6748 SHA512 1737124306b293401362ce33b5ce226df237cc577466afdff510b7f8e851e16708c7ec8d282e86dce3d66b54d1ff14876ac448061faf43d59de375b817155a1e
|
||||
DIST qemu-10.0.5.tar.xz 141642600 BLAKE2B bd7abfd5a977cf47862f0a7b26ce4e36c857dd858e0d0def652c00e9186fe476f461005b673bac6031162b5de47d412c1b7faebdbf4456487501f6d4a37f69b7 SHA512 c87948868910f458aeb724ebfe71db10f0ca1e9e0e6b4c4f082c2776d1c8f64c36f65bc5714d4625f6919d4064452f4378a7578273b69db6d4295d90b75fc86f
|
||||
DIST qemu-10.1.0-docs.tar.xz 2788092 BLAKE2B c9f1138e6eb19966da05b5be6e28640cabf698cb7c4247e0a69b29ed71d462423ba356efc8c0f26a727a58b4adc84edc3eefbff12a35e0c93e475f0ab51e6ff7 SHA512 96d9133d83991014c3ce9a57273a017f45bf29ae3f7029c5b926c8c5fbfd0e8da80dbbecca038b981312cec68b931a0471837a0aebd3e5dbc1648eb49e28ecc9
|
||||
DIST qemu-10.1.0.tar.xz 141999456 BLAKE2B 025012e73cdd2468b1b0fdef9b34aae41893780cfcad0d52c05e7f67ff7a9969c8c596f006b8a7e6f1b59e39da8fdec07d6f241911c604502755acd26bb750b6 SHA512 20552a524b6b298181df1af7084b470ded3fe8d1505f05011dda3c33cbc3d91f518ce026b44ba1a8b7f34c64ae81afddceda383066f4772a3a2a6333a2638caf
|
||||
DIST qemu-10.1.1.tar.xz 142046220 BLAKE2B 3617898fb4275e1e18f9567e9a9137ad0f3e3e3bc6a1b77301fd59614047757d77a9b810ece2e504ff47c1b98e2b9881a1ff551a4bc356c87c0d5d85f471a59b SHA512 72ca08894fb63c734163a53c6a836a6237de0f9f4ece4570e871bf80bcfba43fb5d4f11715564e0aef7244b7b3c4fe1890d5f10bbb05528b592d25cd95a57dfa
|
||||
DIST qemu-9.1.0-docs.tar.xz 2376072 BLAKE2B 31d13133b3a2e21a7d9b5af028407610ae8f2fa61dd296fc35e57fc12eb66cfd1a39ec5e3b5a3852095d10a388f424f8a38417b3ab58ca30d0817ece779328cf SHA512 5b705b577daad6aa010d5c713db9dc314114334b89901840ebcecc9032595a969f5ad9054e42b36b2be5ef9f5d6dc1159841ff46dbb08314b5c48491aa631040
|
||||
DIST qemu-9.1.3.tar.xz 132492084 BLAKE2B 268c8fb91dd5fc4e393a46a578537338861e5d2a92c381517447c6c2fe67604ed9aacc96371c864dc7f4a800cc9b9f94118d17c5dcc24f3fac5be0a18ca553e5 SHA512 e7b938e72eb4a8a4a6680ce3b282a4e5cbd1ad30003bed959e51ea2621acea7434b4366ef6559e3622fac8865ad212702f393ba7698be38cf2fc8f264b951318
|
||||
DIST qemu-9.2.0-docs.tar.xz 2431076 BLAKE2B 420148b9d7cafbdc9aea21b0d0a84a53ca0d17fb99fc34ae4c0786fa7d4ce40838f4b3173508b90742d6dfbfd4b58dda25b2e5cd1394241b0b56a64fe5705d9b SHA512 88816e326e9eac9acf0a1c73e677552845d6885e220b55e795241c40d2c1bd1b1994a22e56f95046e420225e0b7dc839d459f1c1e5318c8c36392727a86b3008
|
||||
|
||||
44
sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-10.0.5-hppa1.1.patch
vendored
Normal file
44
sdk_container/src/third_party/portage-stable/app-emulation/qemu/files/qemu-10.0.5-hppa1.1.patch
vendored
Normal file
@ -0,0 +1,44 @@
|
||||
target/hppa: correct size bit parity for fmpyadd
|
||||
|
||||
For the fmpyadd instruction on the hppa architecture, there is a bit
|
||||
used to specify whether the instruction is operating on a 32 bit or 64
|
||||
bit floating point register. For most instructions, such a bit is 0 when
|
||||
operating on the smaller register and 1 when operating on the larger
|
||||
register. However, according to page 6-57 of the PA-RISC 1.1 Architecture
|
||||
and Instruction Set Reference Manual, this convention is reversed for the
|
||||
fmpyadd instruction specifically, meaning the bit is 1 for operations on
|
||||
32 bit registers and 0 for 64 bit registers. Previously, QEMU decoded
|
||||
this operation as operating on the other size of register, leading to
|
||||
bugs when translating the fmpyadd instruction. This patch fixes that
|
||||
issue.
|
||||
|
||||
Reported-by: Andreas Hüttel <andreas.huettel@ur.de>
|
||||
Signed-off-by: Gabriel Brookman <brookmangabriel@gmail.com>
|
||||
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/3096
|
||||
---
|
||||
target/hppa/insns.decode | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/target/hppa/insns.decode b/target/hppa/insns.decode
|
||||
index 4eaac750ea..13c6a55bf2 100644
|
||||
--- a/target/hppa/insns.decode
|
||||
+++ b/target/hppa/insns.decode
|
||||
@@ -365,10 +365,10 @@ fstd 011100 ..... ..... .. ............1. @ldstim11
|
||||
&mpyadd rm1 rm2 ta ra tm
|
||||
@mpyadd ...... rm1:5 rm2:5 ta:5 ra:5 . tm:5 &mpyadd
|
||||
|
||||
-fmpyadd_f 000110 ..... ..... ..... ..... 0 ..... @mpyadd
|
||||
-fmpyadd_d 000110 ..... ..... ..... ..... 1 ..... @mpyadd
|
||||
-fmpysub_f 100110 ..... ..... ..... ..... 0 ..... @mpyadd
|
||||
-fmpysub_d 100110 ..... ..... ..... ..... 1 ..... @mpyadd
|
||||
+fmpyadd_f 000110 ..... ..... ..... ..... 1 ..... @mpyadd
|
||||
+fmpyadd_d 000110 ..... ..... ..... ..... 0 ..... @mpyadd
|
||||
+fmpysub_f 100110 ..... ..... ..... ..... 1 ..... @mpyadd
|
||||
+fmpysub_d 100110 ..... ..... ..... ..... 0 ..... @mpyadd
|
||||
|
||||
####
|
||||
# Conditional Branches
|
||||
|
||||
---
|
||||
base-commit: 94474a7733a57365d5a27efc28c05462e90e8944
|
||||
change-id: 20251009-hppa-correct-fmpyadd-size-bit-decoding-059501a0ae49
|
||||
1014
sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.0.5.ebuild
vendored
Normal file
1014
sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.0.5.ebuild
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1018
sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.1.1.ebuild
vendored
Normal file
1018
sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.1.1.ebuild
vendored
Normal file
File diff suppressed because it is too large
Load Diff
@ -1 +1,2 @@
|
||||
DIST gentoolkit-0.6.8.tar.bz2 3190065 BLAKE2B 2f792d174a25c03e0f1b895fe06282412d383561e5456d5b4d2d918f7648790846fa9390b3bb9c862618ffefe749d9ccc236682be9fecde12ef8fda17c79359d SHA512 91ba97d8000d90350ea63c4d3be69dda919795b62ae84fe264ae8fee24ce6f6250599e03b086a334344df402781372ba9ced4cedb1c2fc66e2a4f6115ee57fc5
|
||||
DIST gentoolkit-0.6.9.tar.bz2 3190321 BLAKE2B 6a16b44be07d89865d384249c007597f6e81ee598a8c2f5e5b92f5d37a0be827b03259ba28791b40d885378af95d28b6930a312c1339c73391084a568608038d SHA512 5eaa03ca9f0b81fa0c3e3dcd72cb7b7467e9ec256778b1e36b3d66173c4495e6b5060fb09a0b42057e9acda9e6511d41b0133a38bbd0f98fc1e46d3821776f6c
|
||||
|
||||
130
sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.9.ebuild
vendored
Normal file
130
sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.6.9.ebuild
vendored
Normal file
@ -0,0 +1,130 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..13} pypy3 pypy3_11 )
|
||||
PYTHON_REQ_USE="xml(+),threads(+)"
|
||||
|
||||
inherit meson python-r1 tmpfiles
|
||||
|
||||
if [[ ${PV} = 9999* ]]; then
|
||||
EGIT_REPO_URI="
|
||||
https://anongit.gentoo.org/git/proj/gentoolkit.git
|
||||
https://github.com/gentoo/gentoolkit
|
||||
"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://gitweb.gentoo.org/proj/gentoolkit.git/snapshot/${P}.tar.bz2"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Collection of administration scripts for Gentoo"
|
||||
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage-Tools"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Need newer Portage for eclean-pkg API, bug #900224
|
||||
DEPEND="
|
||||
>=sys-apps/portage-3.0.57[${PYTHON_USEDEP}]
|
||||
"
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
${PYTHON_DEPS}
|
||||
app-alternatives/awk
|
||||
sys-apps/gentoo-functions
|
||||
"
|
||||
|
||||
# setuptools is still needed as a workaround for Python 3.12+ for now.
|
||||
# https://github.com/mesonbuild/meson/issues/7702
|
||||
#
|
||||
# >=meson-1.2.1-r1 for bug #912051
|
||||
BDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
>=dev-build/meson-1.2.1-r1
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
' python3_12)
|
||||
test? (
|
||||
dev-python/pytest[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
if use prefix-guest ; then
|
||||
# use correct repo name, bug #632223
|
||||
sed -i \
|
||||
-e "/load_profile_data/s/repo='gentoo'/repo='gentoo_prefix'/" \
|
||||
pym/gentoolkit/profile.py || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local code_only=false
|
||||
python_foreach_impl my_src_configure
|
||||
}
|
||||
|
||||
my_src_configure() {
|
||||
local emesonargs=(
|
||||
-Dcode-only=${code_only}
|
||||
$(meson_use test tests)
|
||||
-Deprefix="${EPREFIX}"
|
||||
-Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
|
||||
)
|
||||
|
||||
meson_src_configure
|
||||
code_only=true
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
python_foreach_impl meson_src_compile
|
||||
}
|
||||
|
||||
src_test() {
|
||||
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
|
||||
python_foreach_impl epytest
|
||||
}
|
||||
|
||||
src_install() {
|
||||
python_foreach_impl my_src_install
|
||||
dotmpfiles data/tmpfiles.d/revdep-rebuild.conf
|
||||
|
||||
local scripts
|
||||
mapfile -t scripts < <(awk '/^#!.*python/ {print FILENAME} {nextfile}' "${ED}"/usr/bin/* || die)
|
||||
python_replicate_script "${scripts[@]}"
|
||||
}
|
||||
|
||||
my_src_install() {
|
||||
local pydirs=(
|
||||
"${D}$(python_get_sitedir)"
|
||||
)
|
||||
|
||||
meson_src_install
|
||||
python_optimize "${pydirs[@]}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
tmpfiles_process revdep-rebuild.conf
|
||||
|
||||
# Only show the elog information on a new install
|
||||
if [[ ! ${REPLACING_VERSIONS} ]]; then
|
||||
elog
|
||||
elog "For further information on gentoolkit, please read the gentoolkit"
|
||||
elog "guide: https://wiki.gentoo.org/wiki/Gentoolkit"
|
||||
elog
|
||||
elog "Another alternative to equery is app-portage/portage-utils"
|
||||
elog
|
||||
elog "Additional tools that may be of interest:"
|
||||
elog
|
||||
elog " app-admin/eclean-kernel"
|
||||
elog " app-portage/diffmask"
|
||||
elog " app-portage/flaggie"
|
||||
elog " app-portage/portpeek"
|
||||
elog " app-portage/smart-live-rebuild"
|
||||
fi
|
||||
}
|
||||
@ -3,7 +3,7 @@
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..13} pypy3 )
|
||||
PYTHON_COMPAT=( python3_{10..13} pypy3 pypy3_11 )
|
||||
PYTHON_REQ_USE="xml(+),threads(+)"
|
||||
|
||||
inherit meson python-r1 tmpfiles
|
||||
|
||||
@ -1,5 +1,2 @@
|
||||
DIST getuto-1.13.tar.gz 10758 BLAKE2B cf7412e6253f883c29a3d89048073d14f982e4bc708ebe11541e4273c69cdc3f1131b6b62484b3b4f1131a11dc541776368f4bfe4500f0ec01e24de9e925a69d SHA512 111c60595dce79b3286afaa8d8485cb852d4d8a4ea5f0659ccde538a9ee8ccdb4d7d7251cce713b30e4f8a769891539bf6fdb52978b5f25df6536afb16dc8f2a
|
||||
DIST getuto-1.14.tar.gz 10801 BLAKE2B cbcbbdfa42a4dc1d1d0e6a0fe573c14a5937e5573c9332e7adae35931885964ef7e0e3c6c7229a1f27995b22feeb5d49bd80b56db73a242e210f726e35235224 SHA512 a796db7212df9cc723c05e93f9938697f2b593ce694668028c617a48bdf69a358db6687e34ff6a69fb379156b03cc4f06e1f5f7a743102f6ebe219fa468b5c09
|
||||
DIST getuto-1.15.tar.gz 10749 BLAKE2B 535a400a2ebdf2cee2d00466557863a1d1ab5f409c3fa12e8d0bb08379331d5684ba9f9aed5da67e761b9373aa8d675810ff7b803a993a606982bfc56cbe9195 SHA512 98f6c8900fa4469fb76bae42712e8457a3cf07b8c0ca99aa24ece2691677a06b6952b714d3a04f6f102880c5dd7fe390352b4474cdd39647d88cb7d7b7c776c7
|
||||
DIST getuto-23.0-libc-1-r1-1.gpkg.tar 20480 BLAKE2B a6f9284131690c39ff63a6046b19478a9f460d4115b1bd306d2996b631026fe9c4c4b2e3be23f30d2668794302d2a1686680738dd052a53e2d4c3ecb2a513070 SHA512 a692817ea63fb69c7cbb5e32fcba21e78bd87dd4e670d4c1ac9105e390ef63ea0f3660464e573adb28320b0a9cb0a78c52fe895ecdfd62a24986b1d79d2c692e
|
||||
DIST libc-1-r1-1.gpkg.tar 20480 BLAKE2B b2c184e20c1a29ff66240e992f9f81219285f525eb63cea081372685cf03a2e231a2edb528259617e74c655fbe61b6e0d8fc0bbdbd8452b6098de58432f019d7 SHA512 ce52f398ea8979ec16161381803740d49a4294c77303880f54090c379ba5eb8e545a3d3550f229cacc18c7763dc3adf7936561ba1c64b43c87692ec66084e4e6
|
||||
|
||||
@ -1,50 +0,0 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DESCRIPTION="Standalone Gentoo gpg trust anchor generation tool for binpkgs"
|
||||
HOMEPAGE="https://github.com/projg2/getuto"
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
EGIT_REPO_URI="https://github.com/projg2/getuto"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="
|
||||
https://github.com/projg2/getuto/archive/refs/tags/${P}.tar.gz
|
||||
"
|
||||
S=${WORKDIR}/${PN}-${P}
|
||||
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
|
||||
fi
|
||||
|
||||
SRC_URI+=" test? ( https://mirror.bytemark.co.uk/gentoo/releases/amd64/binpackages/17.1/x86-64/virtual/libc/libc-1-r1-1.gpkg.tar )"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
app-crypt/gnupg
|
||||
dev-libs/openssl
|
||||
sec-keys/openpgp-keys-gentoo-release
|
||||
sys-apps/gentoo-functions
|
||||
"
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
git-r3_src_unpack
|
||||
else
|
||||
# Don't mangle test data
|
||||
unpack ${P}.tar.gz
|
||||
fi
|
||||
|
||||
if use test ; then
|
||||
cp "${DISTDIR}"/libc-1-r1-1.gpkg.tar "${S}" || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin getuto
|
||||
}
|
||||
@ -1,50 +0,0 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DESCRIPTION="Standalone Gentoo gpg trust anchor generation tool for binpkgs"
|
||||
HOMEPAGE="https://github.com/projg2/getuto"
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
EGIT_REPO_URI="https://github.com/projg2/getuto"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="
|
||||
https://github.com/projg2/getuto/archive/refs/tags/${P}.tar.gz
|
||||
"
|
||||
S=${WORKDIR}/${PN}-${P}
|
||||
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
|
||||
fi
|
||||
|
||||
SRC_URI+=" test? ( https://mirror.bytemark.co.uk/gentoo/releases/amd64/binpackages/23.0/x86-64/virtual/libc/libc-1-r1-1.gpkg.tar -> ${PN}-23.0-libc-1-r1-1.gpkg.tar )"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
app-crypt/gnupg
|
||||
dev-libs/openssl
|
||||
sec-keys/openpgp-keys-gentoo-release
|
||||
sys-apps/gentoo-functions
|
||||
"
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
git-r3_src_unpack
|
||||
else
|
||||
# Don't mangle test data
|
||||
unpack ${P}.tar.gz
|
||||
fi
|
||||
|
||||
if use test ; then
|
||||
cp "${DISTDIR}"/${PN}-23.0-libc-1-r1-1.gpkg.tar "${S}/libc-1-r1-1.gpkg.tar" || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin getuto
|
||||
}
|
||||
@ -19,7 +19,7 @@ SRC_URI="
|
||||
|
||||
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="+eselect test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
|
||||
@ -0,0 +1,172 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
BASHCOMP_P=bashcomp-2.0.3
|
||||
PYTHON_COMPAT=( python3_{11..13} )
|
||||
|
||||
inherit autotools python-any-r1
|
||||
|
||||
DESCRIPTION="Programmable Completion for bash"
|
||||
HOMEPAGE="https://github.com/scop/bash-completion"
|
||||
SRC_URI="
|
||||
https://github.com/scop/bash-completion/releases/download/${PV}/${P}.tar.xz
|
||||
eselect? (
|
||||
https://github.com/projg2/bashcomp2/releases/download/v${BASHCOMP_P#*-}/${BASHCOMP_P}.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 ~ppc-macos ~x64-macos"
|
||||
IUSE="+eselect test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
>=app-shells/bash-4.3_p30-r1:0
|
||||
sys-apps/miscfiles
|
||||
!<app-text/tree-2.1.1-r1
|
||||
!!<=net-fs/mc-2025.04.16.18.13.26
|
||||
"
|
||||
BDEPEND="
|
||||
test? (
|
||||
${RDEPEND}
|
||||
$(python_gen_any_dep '
|
||||
dev-python/pexpect[${PYTHON_USEDEP}]
|
||||
dev-python/pytest[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-xdist[${PYTHON_USEDEP}]
|
||||
')
|
||||
)
|
||||
"
|
||||
PDEPEND="
|
||||
>=app-shells/gentoo-bashcomp-20140911
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-2.14.0-optimize-kernel-modules.patch
|
||||
"${FILESDIR}"/${PN}-2.16.0-libsecret-completion.patch
|
||||
)
|
||||
|
||||
strip_completions() {
|
||||
# Remove unwanted completions.
|
||||
local strip_completions=(
|
||||
# Slackware package stuff, quite generic names cause collisions
|
||||
# (e.g. with sys-apps/pacman)
|
||||
explodepkg installpkg makepkg pkgtool removepkg upgradepkg
|
||||
|
||||
# Debian/Red Hat network stuff
|
||||
ifdown ifup ifquery ifstatus
|
||||
|
||||
# Installed in app-editors/vim-core
|
||||
xxd
|
||||
|
||||
# Now-dead symlinks to deprecated completions
|
||||
hd ncal
|
||||
|
||||
# For GNU mailman, which isn't packaged. If mailman isn't installed,
|
||||
# it triggers a QA warning.
|
||||
arch
|
||||
|
||||
# Now installed by patchutils
|
||||
interdiff
|
||||
)
|
||||
|
||||
local file
|
||||
for file in "${strip_completions[@]}"; do
|
||||
rm "${ED}"/usr/share/bash-completion/completions/${file} ||
|
||||
die "stripping ${file} failed"
|
||||
done
|
||||
|
||||
# remove deprecated completions (moved to other packages)
|
||||
rm "${ED}"/usr/share/bash-completion/completions/_* || die
|
||||
}
|
||||
|
||||
python_check_deps() {
|
||||
python_has_version "dev-python/pexpect[${PYTHON_USEDEP}]" &&
|
||||
python_has_version "dev-python/pytest[${PYTHON_USEDEP}]" &&
|
||||
python_has_version "dev-python/pytest-xdist[${PYTHON_USEDEP}]"
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
use test && python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if use eselect; then
|
||||
eapply "${WORKDIR}/${BASHCOMP_P}/bash-completion-blacklist-support.patch"
|
||||
fi
|
||||
|
||||
default
|
||||
# Only needed for ${PN}-2.16.0-libsecret-completion.patch
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_test() {
|
||||
local EPYTEST_DESELECT=(
|
||||
# redhat-specific, we strip these completions
|
||||
test/t/test_if{down,up}.py
|
||||
# not available for icedtea
|
||||
test/t/test_javaws.py
|
||||
# TODO
|
||||
test/t/test_vi.py::TestVi::test_2
|
||||
test/t/test_xmlwf.py::TestXmlwf::test_2 #bug 886159
|
||||
test/t/test_xrandr.py::TestXrandr::test_output_filter
|
||||
test/t/unit/test_unit_dequote.py
|
||||
test/t/test_sudo.py::TestSudo::test_1 #bug 935400
|
||||
test/t/test_xfreerdp.py::TestXfreerdp::test_6 #bug 935400
|
||||
test/t/unit/test_unit_command_offset.py::TestUnitCommandOffset::test_cmd_quoted #bug 931744
|
||||
test/t/test_make.py::TestMake::test_6 #bug 931744
|
||||
)
|
||||
local EPYTEST_IGNORE=(
|
||||
# stupid test that async tests work
|
||||
test/fixtures/pytest/test_async.py
|
||||
)
|
||||
local EPYTEST_XDIST=1
|
||||
|
||||
# portage's HOME override breaks tests
|
||||
local -x HOME=$(unset HOME; echo ~)
|
||||
addpredict "${HOME}"
|
||||
# used in pytest tests
|
||||
local -x NETWORK=none
|
||||
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
|
||||
local -x PYTEST_PLUGINS=xdist.plugin
|
||||
emake -C completions check
|
||||
epytest
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# work-around race conditions, bug #526996
|
||||
mkdir -p "${ED}"/usr/share/bash-completion/{completions,helpers} || die
|
||||
|
||||
emake DESTDIR="${D}" profiledir="${EPREFIX}"/etc/bash/bashrc.d install
|
||||
|
||||
strip_completions
|
||||
|
||||
dodoc AUTHORS CHANGELOG.md CONTRIBUTING.md README.md
|
||||
|
||||
# install the python completions for all targets, bug #622892
|
||||
local TARGET
|
||||
for TARGET in "${PYTHON_COMPAT[@]}"; do
|
||||
if [[ ! -e "${ED}"/usr/share/bash-completion/completions/${TARGET/_/.} ]]; then
|
||||
dosym python "${ED}"/usr/share/bash-completion/completions/${TARGET/_/.}
|
||||
fi
|
||||
done
|
||||
|
||||
# install the eselect module
|
||||
if use eselect; then
|
||||
insinto /usr/share/eselect/modules
|
||||
doins "${WORKDIR}/${BASHCOMP_P}/bashcomp.eselect"
|
||||
doman "${WORKDIR}/${BASHCOMP_P}/bashcomp.eselect.5"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if has_version 'app-shells/zsh'; then
|
||||
elog
|
||||
elog "If you are interested in using the provided bash completion functions with"
|
||||
elog "zsh, valuable tips on the effective use of bashcompinit are available:"
|
||||
elog " http://www.zsh.org/mla/workers/2003/msg00046.html"
|
||||
elog
|
||||
fi
|
||||
}
|
||||
@ -54,6 +54,9 @@ strip_completions() {
|
||||
|
||||
# Now-dead symlinks to deprecated completions
|
||||
hd ncal
|
||||
|
||||
# Now installed by patchutils
|
||||
interdiff
|
||||
)
|
||||
|
||||
rm -v "${strip_completions[@]/#/${ED}/usr/share/bash-completion/completions/}" || die
|
||||
|
||||
@ -24,9 +24,9 @@ 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.tar.gz 11355854 BLAKE2B 82d1b54322bbd1e8c2a93380f1b2888a42a1d7186e504f41cee705a0fdd41463d8f20baa1755051e1396192f8ebd089524767d933a9e0b5fb76f2588601539bb SHA512 426702c8b0fb9e0c9956259973ce5b657890fd47f4f807a64febf20077bb48d0b91474ed6e843d2ef277186b46c5fffa79b808da9b48d4ec027d5e2de1b28ed8
|
||||
DIST bash-5.3.tar.gz.sig 95 BLAKE2B 2fb04e4f699fdee6e583581821cf9a5fa435a00febf7893a344371f11ccb964545386c98dfb2d8f5d0efc74aafe9d491b544e90ae4716bdc286ac48d942430f0 SHA512 c77c0898f03e80a042574a486686cc296b96426f6cdb7a6d2376ecd5182ba03477bfcbd95ea3db499c11866d3f4ae99012a37662ccb6f83dfd6b59f671349dc7
|
||||
DIST bash-5.4_alpha_pre20250822-ab17ddb7af948ee6e1a6370aac4ee57b4179cd9c.tar.gz 16121182 BLAKE2B 2802ab3bea45fe40f515d668baeaf5ca04797b992dcb764ee38b707701bc6aac845f091b16770a51c84bfdd2ba3953b12b1fded9fdbfde035df7088f4376c236 SHA512 af7182bcad82bc7256d2b806a6f8c3ee1855fa1b3e4b3695cd8b3618e56263285899a01d6ef49fe2862e812731718fc9d309836ff260e39d30e7e02fab044c72
|
||||
DIST bash-5.4_alpha_pre20250904-a451bfc3f57201bc0933b62c2fb721940a4c33f5.tar.gz 16571099 BLAKE2B c4661bfe261ac4c653444d7ff4ed17b7335d0c32b12b342e8ae683a5022d098f922a2ac0b2312eb4eb672e53bdbd7e0518d565ee7119f463bc5650ac2663a07b SHA512 9d0f7aecb8809c34828ada19fd69f0e5889a30c5bc4177ce32d3e3c7dc26803d1311a9ef4e2386845d884fa6aa6c1212263253e1347f413350ed2ea42d961036
|
||||
DIST bash-5.4_alpha_pre20250918-cf8a2518c8b94f75b330d398f5daa0ee21417e1b.tar.gz 16611222 BLAKE2B 4c6f4713da5f1b103176980b5def4c8643ca43b2c97faf3cab61f64baf562c3871bb0f5843164de617eb4f9dcab5c5a11ddd1f31e8614ddc5ff00c41893c4ef7 SHA512 2d0b90277c6e9130064d712c6167e5a2871b0485251cca746a57055e08626b9a11be0cb134f082446ee8db82043eb1eb7f8b20fa58e8cdc859638f50cb16d56d
|
||||
DIST bash-5.4_alpha_pre20251001-4f536430e45d847d6945133690312a8e94762254.tar.gz 16561642 BLAKE2B 8d33d6916e9590d1ce842621318de7c11c6b5994312c07aabff289714723bce4a58f395f38e76ebad83eb65693fcd90c9cc844e79e3c6762ce582ab60a6c2d30 SHA512 b83d6ef0972dbab6ad050a5c6a5d2a349640c706efdedd1ed37068f04d7289a93c225bb45cc96fb8f164239cd3786621a7089dc887dba1abd6314ab4679cab26
|
||||
DIST bash-5.4_alpha_pre20251007-25c6aa5b230167c6471898539c46dd2891d891a5.tar.gz 16566456 BLAKE2B 3623eaf45fa81666f2e5c7e8d38f89a24f95f1e697c8e8c7f728ef7a867563bc2880b10efcb8365bcc3e1352eaec153bffa79e49a79d8a09780d6079434c0ae7 SHA512 1d98f20baa6af53f08a15606f398d4546b8e16946f0621d8d96fb964adea2f8ace7b474d83e6997ce6473b807d6d30a47dd3492cd3bef7f6be8ba669784e4b67
|
||||
DIST bash205b-001 1132 BLAKE2B 0c5eef29777d54ef05957ea3d63b1556fb380bd20c238dc28993d822b37bc4e78ff4048ad069f6b8cd25da77ccdeb7aecd86c4349cb9d81e5e94c7001eeae5e6 SHA512 5ce4357468821b05e747201f3aa57225ad8f540c9e2c87051720490e039c30b478b9b662a68f14a0800fefe40184e4495e2645665200f9d75e9a115b2ac08071
|
||||
DIST bash205b-002 755 BLAKE2B 6a6ed5679d451f02f8104b345c1722d11718ce3b4043b581c17786d40d8da69a34786fb56d0c363dba277b8e9dd33f12f70c9cc73a9fc39ba4a8319406f0458d SHA512 46947b0229478d5c2cfeff68b8ebc00e4ef0c8b94e336ca12f72b4490ba3622c0240c01c17c1641c3b07adc2c64ec94d6d780365e8990768ec8888f3a9526883
|
||||
DIST bash205b-003 2356 BLAKE2B b7887d00d92fd298cd07a15e1c73b516dabd22ecd74c97091636dd97a0cd55024ed698e5cc924c4311d994dd326b1ad074bea35e7650cf9cf4e25c60d2713fa7 SHA512 74528ca5d165b812d299f1c69b47757bd677c0b22ce4217e155cd641708b02364a93c6709fb57b546b376b36da74429a61493921c7c199563da40ddcf1c1f399
|
||||
|
||||
@ -17,12 +17,15 @@ MY_PATCHES=()
|
||||
|
||||
# Determine the patchlevel. See https://ftp.gnu.org/gnu/bash/bash-5.2-patches/.
|
||||
case ${PV} in
|
||||
*_p*)
|
||||
PLEVEL=${PV##*_p}
|
||||
;;
|
||||
9999|*_alpha*|*_beta*|*_rc*)
|
||||
# Set a negative patchlevel to indicate that it's a pre-release.
|
||||
PLEVEL=-1
|
||||
if [[ ${PV} =~ _pre[0-9]{8}$ ]]; then
|
||||
BASH_COMMIT=
|
||||
fi
|
||||
;;
|
||||
*_p*)
|
||||
PLEVEL=${PV##*_p}
|
||||
;;
|
||||
*)
|
||||
PLEVEL=0
|
||||
@ -39,6 +42,14 @@ if [[ ${PV} == 9999 ]]; then
|
||||
EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git"
|
||||
EGIT_BRANCH=devel
|
||||
inherit git-r3
|
||||
elif (( PLEVEL < 0 )) && [[ ${BASH_COMMIT} ]]; 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.
|
||||
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/${MY_P}.tar.gz" )
|
||||
|
||||
@ -52,6 +63,7 @@ else
|
||||
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
|
||||
@ -60,8 +72,6 @@ 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
|
||||
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
if (( PLEVEL >= 0 )); then
|
||||
@ -121,6 +131,8 @@ src_unpack() {
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
git-r3_src_unpack
|
||||
elif (( PLEVEL < 0 )) && [[ ${BASH_COMMIT} ]]; then
|
||||
default
|
||||
else
|
||||
if use verify-sig; then
|
||||
verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig}
|
||||
@ -172,8 +184,10 @@ src_configure() {
|
||||
# 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.
|
||||
# may misbehave at runtime. Chet also advises against use of byacc:
|
||||
# https://lists.gnu.org/archive/html/bug-bash/2025-08/msg00115.html
|
||||
unset -v YACC
|
||||
|
||||
# bash 5.3 drops unprototyped functions, earlier versions are
|
||||
@ -372,21 +386,41 @@ pkg_preinst() {
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local old_ver
|
||||
local IFS old_ver ver
|
||||
local -a versions
|
||||
|
||||
# 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
|
||||
if [[ -e ${EROOT}/etc/bash/bashrc.d/15-gentoo-bashrc-check.bash ]]; then
|
||||
ewarn "The following file is no longer packaged and can safely be deleted:"
|
||||
ewarn "${EROOT}/etc/bash/bashrc.d/15-gentoo-bashrc-check.bash"
|
||||
fi
|
||||
|
||||
read -rd '' -a versions <<<"${REPLACING_VERSIONS}"
|
||||
for ver in "${versions[@]}"; do
|
||||
if [[ ! ${old_ver} ]] || ver_test "${ver}" -lt "${old_ver}"; then
|
||||
old_ver=${ver}
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ ! ${old_ver} ]]; then
|
||||
return
|
||||
fi
|
||||
|
||||
while read -r; do ewarn "${REPLY}"; done <<'EOF'
|
||||
{
|
||||
if ver_test "${old_ver}" -ge "5.2" \
|
||||
&& ver_test "${old_ver}" -ge "5.2_p26-r8"
|
||||
then
|
||||
:
|
||||
elif ver_test "${old_ver}" -lt "5.2" \
|
||||
&& ver_test "${old_ver}" -ge "5.1_p16-r8"
|
||||
then
|
||||
:
|
||||
else
|
||||
cat <<'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
|
||||
@ -409,4 +443,14 @@ 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
|
||||
fi
|
||||
} \
|
||||
| if [[ ${COLUMNS} == [1-9]*([0-9]) ]] && (( COLUMNS > 80 )); then
|
||||
fmt -w "$(( COLUMNS - 3 ))"
|
||||
else
|
||||
cat
|
||||
fi \
|
||||
| while read -r; do
|
||||
ewarn "${REPLY}"
|
||||
done
|
||||
}
|
||||
|
||||
@ -17,12 +17,15 @@ MY_PATCHES=()
|
||||
|
||||
# Determine the patchlevel. See https://ftp.gnu.org/gnu/bash/bash-5.2-patches/.
|
||||
case ${PV} in
|
||||
*_p*)
|
||||
PLEVEL=${PV##*_p}
|
||||
;;
|
||||
9999|*_alpha*|*_beta*|*_rc*)
|
||||
# Set a negative patchlevel to indicate that it's a pre-release.
|
||||
PLEVEL=-1
|
||||
if [[ ${PV} =~ _pre[0-9]{8}$ ]]; then
|
||||
BASH_COMMIT=
|
||||
fi
|
||||
;;
|
||||
*_p*)
|
||||
PLEVEL=${PV##*_p}
|
||||
;;
|
||||
*)
|
||||
PLEVEL=0
|
||||
@ -39,6 +42,14 @@ if [[ ${PV} == 9999 ]]; then
|
||||
EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git"
|
||||
EGIT_BRANCH=devel
|
||||
inherit git-r3
|
||||
elif (( PLEVEL < 0 )) && [[ ${BASH_COMMIT} ]]; 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.
|
||||
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/${MY_P}.tar.gz" )
|
||||
|
||||
@ -52,6 +63,7 @@ else
|
||||
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
|
||||
@ -60,12 +72,10 @@ 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
|
||||
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
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"
|
||||
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"
|
||||
|
||||
@ -121,6 +131,8 @@ src_unpack() {
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
git-r3_src_unpack
|
||||
elif (( PLEVEL < 0 )) && [[ ${BASH_COMMIT} ]]; then
|
||||
default
|
||||
else
|
||||
if use verify-sig; then
|
||||
verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig}
|
||||
@ -172,8 +184,10 @@ src_configure() {
|
||||
# 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.
|
||||
# may misbehave at runtime. Chet also advises against use of byacc:
|
||||
# https://lists.gnu.org/archive/html/bug-bash/2025-08/msg00115.html
|
||||
unset -v YACC
|
||||
|
||||
# bash 5.3 drops unprototyped functions, earlier versions are
|
||||
@ -317,14 +331,14 @@ src_install() {
|
||||
|
||||
insinto /etc/bash
|
||||
doins "${FILESDIR}"/bash_logout
|
||||
my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc
|
||||
my_prefixify bashrc.d "${FILESDIR}"/bashrc-r2 | newins - bashrc
|
||||
|
||||
insinto /etc/bash/bashrc.d
|
||||
my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color-r2.bash | newins - 10-gentoo-color.bash
|
||||
newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r2.bash 10-gentoo-title.bash
|
||||
if [[ ! ${EPREFIX} ]]; then
|
||||
doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash
|
||||
fi
|
||||
newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r3.bash 10-gentoo-title.bash
|
||||
|
||||
insinto /etc/profile.d
|
||||
doins "${FILESDIR}/profile.d/00-prompt-command.sh"
|
||||
|
||||
insinto /etc/skel
|
||||
for f in bash{_logout,_profile,rc}; do
|
||||
@ -372,21 +386,41 @@ pkg_preinst() {
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local old_ver
|
||||
local IFS old_ver ver
|
||||
local -a versions
|
||||
|
||||
# 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
|
||||
if [[ -e ${EROOT}/etc/bash/bashrc.d/15-gentoo-bashrc-check.bash ]]; then
|
||||
ewarn "The following file is no longer packaged and can safely be deleted:"
|
||||
ewarn "${EROOT}/etc/bash/bashrc.d/15-gentoo-bashrc-check.bash"
|
||||
fi
|
||||
|
||||
read -rd '' -a versions <<<"${REPLACING_VERSIONS}"
|
||||
for ver in "${versions[@]}"; do
|
||||
if [[ ! ${old_ver} ]] || ver_test "${ver}" -lt "${old_ver}"; then
|
||||
old_ver=${ver}
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ ! ${old_ver} ]]; then
|
||||
return
|
||||
fi
|
||||
|
||||
while read -r; do ewarn "${REPLY}"; done <<'EOF'
|
||||
{
|
||||
if ver_test "${old_ver}" -ge "5.2" \
|
||||
&& ver_test "${old_ver}" -ge "5.2_p26-r8"
|
||||
then
|
||||
:
|
||||
elif ver_test "${old_ver}" -lt "5.2" \
|
||||
&& ver_test "${old_ver}" -ge "5.1_p16-r8"
|
||||
then
|
||||
:
|
||||
else
|
||||
cat <<'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
|
||||
@ -409,4 +443,40 @@ 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
|
||||
fi
|
||||
|
||||
if ver_test "${old_ver}" -ge "5.3" \
|
||||
&& ver_test "${old_ver}" -ge "5.3_p3-r3"
|
||||
then
|
||||
:
|
||||
elif ver_test "${old_ver}" -lt "5.3" \
|
||||
&& ver_test "${old_ver}" -ge "5.2_p37-r5"
|
||||
then
|
||||
:
|
||||
else
|
||||
cat <<'EOF'
|
||||
The window title setting behaviour has been improved. It is now formatted as
|
||||
"\u@\h \W", in accordance with the prompting mechanism of bash. For example,
|
||||
after switching to the home directory, the current working directly will be
|
||||
shown as the <tilde> character.
|
||||
|
||||
The value of PROMPT_DIRTRIM is now respected. If this variable is unset, the
|
||||
use of the \W prompt string escape will prevail, with the current working
|
||||
directory typically being shown as its basename. If set to 0 or greater, \w
|
||||
will be used instead, which may be trimmed. This also means that the title
|
||||
can be made to show the full path by setting PROMPT_DIRTRIM=0.
|
||||
|
||||
For further information, run info '(bash)Bash Variables' or visit
|
||||
https://www.gnu.org/software/bash/manual/bash.html#index-PROMPT_005fDIRTRIM.
|
||||
EOF
|
||||
fi
|
||||
} \
|
||||
| if [[ ${COLUMNS} == [1-9]*([0-9]) ]] && (( COLUMNS > 80 )); then
|
||||
fmt -w "$(( COLUMNS - 3 ))"
|
||||
else
|
||||
cat
|
||||
fi \
|
||||
| while read -r; do
|
||||
ewarn "${REPLY}"
|
||||
done
|
||||
}
|
||||
@ -20,13 +20,15 @@ case ${PV} in
|
||||
9999|*_alpha*|*_beta*|*_rc*)
|
||||
# Set a negative patchlevel to indicate that it's a pre-release.
|
||||
PLEVEL=-1
|
||||
if [[ ${PV} =~ _pre[0-9]{8}$ ]]; then
|
||||
BASH_COMMIT=
|
||||
fi
|
||||
;;
|
||||
*_p*)
|
||||
PLEVEL=${PV##*_p}
|
||||
;;
|
||||
*)
|
||||
PLEVEL=0
|
||||
;;
|
||||
esac
|
||||
|
||||
# The version of readline this bash normally ships with. Note that we only use
|
||||
@ -40,13 +42,12 @@ 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
|
||||
elif (( PLEVEL < 0 )) && [[ ${BASH_COMMIT} ]]; 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="b35866a2891a9b069e37ca5684d4309c0391e261"
|
||||
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
|
||||
@ -124,7 +125,7 @@ src_unpack() {
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
git-r3_src_unpack
|
||||
elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
|
||||
elif (( PLEVEL < 0 )) && [[ ${BASH_COMMIT} ]]; then
|
||||
default
|
||||
else
|
||||
if use verify-sig; then
|
||||
@ -168,8 +169,10 @@ src_configure() {
|
||||
# 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.
|
||||
# may misbehave at runtime. Chet also advises against use of byacc:
|
||||
# https://lists.gnu.org/archive/html/bug-bash/2025-08/msg00115.html
|
||||
unset -v YACC
|
||||
|
||||
if tc-is-cross-compiler; then
|
||||
@ -365,21 +368,41 @@ pkg_preinst() {
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local old_ver
|
||||
local IFS old_ver ver
|
||||
local -a versions
|
||||
|
||||
# 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
|
||||
if [[ -e ${EROOT}/etc/bash/bashrc.d/15-gentoo-bashrc-check.bash ]]; then
|
||||
ewarn "The following file is no longer packaged and can safely be deleted:"
|
||||
ewarn "${EROOT}/etc/bash/bashrc.d/15-gentoo-bashrc-check.bash"
|
||||
fi
|
||||
|
||||
read -rd '' -a versions <<<"${REPLACING_VERSIONS}"
|
||||
for ver in "${versions[@]}"; do
|
||||
if [[ ! ${old_ver} ]] || ver_test "${ver}" -lt "${old_ver}"; then
|
||||
old_ver=${ver}
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ ! ${old_ver} ]]; then
|
||||
return
|
||||
fi
|
||||
|
||||
while read -r; do ewarn "${REPLY}"; done <<'EOF'
|
||||
{
|
||||
if ver_test "${old_ver}" -ge "5.2" \
|
||||
&& ver_test "${old_ver}" -ge "5.2_p26-r8"
|
||||
then
|
||||
:
|
||||
elif ver_test "${old_ver}" -lt "5.2" \
|
||||
&& ver_test "${old_ver}" -ge "5.1_p16-r8"
|
||||
then
|
||||
:
|
||||
else
|
||||
cat <<'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
|
||||
@ -402,4 +425,14 @@ 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
|
||||
fi
|
||||
} \
|
||||
| if [[ ${COLUMNS} == [1-9]*([0-9]) ]] && (( COLUMNS > 80 )); then
|
||||
fmt -w "$(( COLUMNS - 3 ))"
|
||||
else
|
||||
cat
|
||||
fi \
|
||||
| while read -r; do
|
||||
ewarn "${REPLY}"
|
||||
done
|
||||
}
|
||||
|
||||
@ -20,13 +20,15 @@ case ${PV} in
|
||||
9999|*_alpha*|*_beta*|*_rc*)
|
||||
# Set a negative patchlevel to indicate that it's a pre-release.
|
||||
PLEVEL=-1
|
||||
if [[ ${PV} =~ _pre[0-9]{8}$ ]]; then
|
||||
BASH_COMMIT=
|
||||
fi
|
||||
;;
|
||||
*_p*)
|
||||
PLEVEL=${PV##*_p}
|
||||
;;
|
||||
*)
|
||||
PLEVEL=0
|
||||
;;
|
||||
esac
|
||||
|
||||
# The version of readline this bash normally ships with. Note that we only use
|
||||
@ -40,13 +42,12 @@ 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
|
||||
elif (( PLEVEL < 0 )) && [[ ${BASH_COMMIT} ]]; 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="b35866a2891a9b069e37ca5684d4309c0391e261"
|
||||
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
|
||||
@ -124,7 +125,7 @@ src_unpack() {
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
git-r3_src_unpack
|
||||
elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
|
||||
elif (( PLEVEL < 0 )) && [[ ${BASH_COMMIT} ]]; then
|
||||
default
|
||||
else
|
||||
if use verify-sig; then
|
||||
@ -168,8 +169,10 @@ src_configure() {
|
||||
# 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.
|
||||
# may misbehave at runtime. Chet also advises against use of byacc:
|
||||
# https://lists.gnu.org/archive/html/bug-bash/2025-08/msg00115.html
|
||||
unset -v YACC
|
||||
|
||||
if tc-is-cross-compiler; then
|
||||
@ -199,6 +202,7 @@ src_configure() {
|
||||
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\"\' \
|
||||
-DDEFAULT_LOADABLE_BUILTINS_PATH=\'\""${EPREFIX}"/usr/local/$(get_libdir)/bash:"${EPREFIX}"/usr/$(get_libdir)/bash\"\' \
|
||||
-DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \
|
||||
-DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \
|
||||
-DNON_INTERACTIVE_LOGIN_SHELLS \
|
||||
@ -313,7 +317,7 @@ src_install() {
|
||||
|
||||
insinto /etc/bash/bashrc.d
|
||||
my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color-r2.bash | newins - 10-gentoo-color.bash
|
||||
newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r2.bash 10-gentoo-title.bash
|
||||
newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r3.bash 10-gentoo-title.bash
|
||||
|
||||
insinto /etc/profile.d
|
||||
doins "${FILESDIR}/profile.d/00-prompt-command.sh"
|
||||
@ -364,21 +368,41 @@ pkg_preinst() {
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local old_ver
|
||||
local IFS old_ver ver
|
||||
local -a versions
|
||||
|
||||
# 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
|
||||
if [[ -e ${EROOT}/etc/bash/bashrc.d/15-gentoo-bashrc-check.bash ]]; then
|
||||
ewarn "The following file is no longer packaged and can safely be deleted:"
|
||||
ewarn "${EROOT}/etc/bash/bashrc.d/15-gentoo-bashrc-check.bash"
|
||||
fi
|
||||
|
||||
read -rd '' -a versions <<<"${REPLACING_VERSIONS}"
|
||||
for ver in "${versions[@]}"; do
|
||||
if [[ ! ${old_ver} ]] || ver_test "${ver}" -lt "${old_ver}"; then
|
||||
old_ver=${ver}
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ ! ${old_ver} ]]; then
|
||||
return
|
||||
fi
|
||||
|
||||
while read -r; do ewarn "${REPLY}"; done <<'EOF'
|
||||
{
|
||||
if ver_test "${old_ver}" -ge "5.2" \
|
||||
&& ver_test "${old_ver}" -ge "5.2_p26-r8"
|
||||
then
|
||||
:
|
||||
elif ver_test "${old_ver}" -lt "5.2" \
|
||||
&& ver_test "${old_ver}" -ge "5.1_p16-r8"
|
||||
then
|
||||
:
|
||||
else
|
||||
cat <<'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
|
||||
@ -401,4 +425,40 @@ 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
|
||||
fi
|
||||
|
||||
if ver_test "${old_ver}" -ge "5.3" \
|
||||
&& ver_test "${old_ver}" -ge "5.3_p3-r3"
|
||||
then
|
||||
:
|
||||
elif ver_test "${old_ver}" -lt "5.3" \
|
||||
&& ver_test "${old_ver}" -ge "5.2_p37-r5"
|
||||
then
|
||||
:
|
||||
else
|
||||
cat <<'EOF'
|
||||
The window title setting behaviour has been improved. It is now formatted as
|
||||
"\u@\h \W", in accordance with the prompting mechanism of bash. For example,
|
||||
after switching to the home directory, the current working directly will be
|
||||
shown as the <tilde> character.
|
||||
|
||||
The value of PROMPT_DIRTRIM is now respected. If this variable is unset, the
|
||||
use of the \W prompt string escape will prevail, with the current working
|
||||
directory typically being shown as its basename. If set to 0 or greater, \w
|
||||
will be used instead, which may be trimmed. This also means that the title
|
||||
can be made to show the full path by setting PROMPT_DIRTRIM=0.
|
||||
|
||||
For further information, run info '(bash)Bash Variables' or visit
|
||||
https://www.gnu.org/software/bash/manual/bash.html#index-PROMPT_005fDIRTRIM.
|
||||
EOF
|
||||
fi
|
||||
} \
|
||||
| if [[ ${COLUMNS} == [1-9]*([0-9]) ]] && (( COLUMNS > 80 )); then
|
||||
fmt -w "$(( COLUMNS - 3 ))"
|
||||
else
|
||||
cat
|
||||
fi \
|
||||
| while read -r; do
|
||||
ewarn "${REPLY}"
|
||||
done
|
||||
}
|
||||
@ -1,403 +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"
|
||||
|
||||
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="ab17ddb7af948ee6e1a6370aac4ee57b4179cd9c"
|
||||
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/${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/${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[@]}"
|
||||
|
||||
# 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
|
||||
|
||||
if tc-is-cross-compiler; then
|
||||
export CFLAGS_FOR_BUILD="${BUILD_CFLAGS} -std=gnu17"
|
||||
fi
|
||||
|
||||
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-r2.bash | newins - 10-gentoo-color.bash
|
||||
newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r2.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}/skel/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
|
||||
}
|
||||
@ -20,13 +20,15 @@ case ${PV} in
|
||||
9999|*_alpha*|*_beta*|*_rc*)
|
||||
# Set a negative patchlevel to indicate that it's a pre-release.
|
||||
PLEVEL=-1
|
||||
if [[ ${PV} =~ _pre[0-9]{8}$ ]]; then
|
||||
BASH_COMMIT="cf8a2518c8b94f75b330d398f5daa0ee21417e1b"
|
||||
fi
|
||||
;;
|
||||
*_p*)
|
||||
PLEVEL=${PV##*_p}
|
||||
;;
|
||||
*)
|
||||
PLEVEL=0
|
||||
;;
|
||||
esac
|
||||
|
||||
# The version of readline this bash normally ships with. Note that we only use
|
||||
@ -40,13 +42,12 @@ 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
|
||||
elif (( PLEVEL < 0 )) && [[ ${BASH_COMMIT} ]]; 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="a451bfc3f57201bc0933b62c2fb721940a4c33f5"
|
||||
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
|
||||
@ -123,7 +124,7 @@ src_unpack() {
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
git-r3_src_unpack
|
||||
elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
|
||||
elif (( PLEVEL < 0 )) && [[ ${BASH_COMMIT} ]]; then
|
||||
default
|
||||
else
|
||||
if use verify-sig; then
|
||||
@ -167,8 +168,10 @@ src_configure() {
|
||||
# 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.
|
||||
# may misbehave at runtime. Chet also advises against use of byacc:
|
||||
# https://lists.gnu.org/archive/html/bug-bash/2025-08/msg00115.html
|
||||
unset -v YACC
|
||||
|
||||
if tc-is-cross-compiler; then
|
||||
@ -309,14 +312,14 @@ src_install() {
|
||||
|
||||
insinto /etc/bash
|
||||
doins "${FILESDIR}"/bash_logout
|
||||
my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc
|
||||
my_prefixify bashrc.d "${FILESDIR}"/bashrc-r2 | newins - bashrc
|
||||
|
||||
insinto /etc/bash/bashrc.d
|
||||
my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color-r2.bash | newins - 10-gentoo-color.bash
|
||||
newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r2.bash 10-gentoo-title.bash
|
||||
if [[ ! ${EPREFIX} ]]; then
|
||||
doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash
|
||||
fi
|
||||
newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r3.bash 10-gentoo-title.bash
|
||||
|
||||
insinto /etc/profile.d
|
||||
doins "${FILESDIR}/profile.d/00-prompt-command.sh"
|
||||
|
||||
insinto /etc/skel
|
||||
for f in bash{_logout,_profile,rc}; do
|
||||
@ -364,21 +367,41 @@ pkg_preinst() {
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local old_ver
|
||||
local IFS old_ver ver
|
||||
local -a versions
|
||||
|
||||
# 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
|
||||
if [[ -e ${EROOT}/etc/bash/bashrc.d/15-gentoo-bashrc-check.bash ]]; then
|
||||
ewarn "The following file is no longer packaged and can safely be deleted:"
|
||||
ewarn "${EROOT}/etc/bash/bashrc.d/15-gentoo-bashrc-check.bash"
|
||||
fi
|
||||
|
||||
read -rd '' -a versions <<<"${REPLACING_VERSIONS}"
|
||||
for ver in "${versions[@]}"; do
|
||||
if [[ ! ${old_ver} ]] || ver_test "${ver}" -lt "${old_ver}"; then
|
||||
old_ver=${ver}
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ ! ${old_ver} ]]; then
|
||||
return
|
||||
fi
|
||||
|
||||
while read -r; do ewarn "${REPLY}"; done <<'EOF'
|
||||
{
|
||||
if ver_test "${old_ver}" -ge "5.2" \
|
||||
&& ver_test "${old_ver}" -ge "5.2_p26-r8"
|
||||
then
|
||||
:
|
||||
elif ver_test "${old_ver}" -lt "5.2" \
|
||||
&& ver_test "${old_ver}" -ge "5.1_p16-r8"
|
||||
then
|
||||
:
|
||||
else
|
||||
cat <<'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
|
||||
@ -401,4 +424,40 @@ 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
|
||||
fi
|
||||
|
||||
if ver_test "${old_ver}" -ge "5.3" \
|
||||
&& ver_test "${old_ver}" -ge "5.3_p3-r3"
|
||||
then
|
||||
:
|
||||
elif ver_test "${old_ver}" -lt "5.3" \
|
||||
&& ver_test "${old_ver}" -ge "5.2_p37-r5"
|
||||
then
|
||||
:
|
||||
else
|
||||
cat <<'EOF'
|
||||
The window title setting behaviour has been improved. It is now formatted as
|
||||
"\u@\h \W", in accordance with the prompting mechanism of bash. For example,
|
||||
after switching to the home directory, the current working directly will be
|
||||
shown as the <tilde> character.
|
||||
|
||||
The value of PROMPT_DIRTRIM is now respected. If this variable is unset, the
|
||||
use of the \W prompt string escape will prevail, with the current working
|
||||
directory typically being shown as its basename. If set to 0 or greater, \w
|
||||
will be used instead, which may be trimmed. This also means that the title
|
||||
can be made to show the full path by setting PROMPT_DIRTRIM=0.
|
||||
|
||||
For further information, run info '(bash)Bash Variables' or visit
|
||||
https://www.gnu.org/software/bash/manual/bash.html#index-PROMPT_005fDIRTRIM.
|
||||
EOF
|
||||
fi
|
||||
} \
|
||||
| if [[ ${COLUMNS} == [1-9]*([0-9]) ]] && (( COLUMNS > 80 )); then
|
||||
fmt -w "$(( COLUMNS - 3 ))"
|
||||
else
|
||||
cat
|
||||
fi \
|
||||
| while read -r; do
|
||||
ewarn "${REPLY}"
|
||||
done
|
||||
}
|
||||
@ -20,13 +20,15 @@ case ${PV} in
|
||||
9999|*_alpha*|*_beta*|*_rc*)
|
||||
# Set a negative patchlevel to indicate that it's a pre-release.
|
||||
PLEVEL=-1
|
||||
if [[ ${PV} =~ _pre[0-9]{8}$ ]]; then
|
||||
BASH_COMMIT="4f536430e45d847d6945133690312a8e94762254"
|
||||
fi
|
||||
;;
|
||||
*_p*)
|
||||
PLEVEL=${PV##*_p}
|
||||
;;
|
||||
*)
|
||||
PLEVEL=0
|
||||
;;
|
||||
esac
|
||||
|
||||
# The version of readline this bash normally ships with. Note that we only use
|
||||
@ -40,13 +42,12 @@ 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
|
||||
elif (( PLEVEL < 0 )) && [[ ${BASH_COMMIT} ]]; 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="cf8a2518c8b94f75b330d398f5daa0ee21417e1b"
|
||||
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
|
||||
@ -123,7 +124,7 @@ src_unpack() {
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
git-r3_src_unpack
|
||||
elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
|
||||
elif (( PLEVEL < 0 )) && [[ ${BASH_COMMIT} ]]; then
|
||||
default
|
||||
else
|
||||
if use verify-sig; then
|
||||
@ -167,8 +168,10 @@ src_configure() {
|
||||
# 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.
|
||||
# may misbehave at runtime. Chet also advises against use of byacc:
|
||||
# https://lists.gnu.org/archive/html/bug-bash/2025-08/msg00115.html
|
||||
unset -v YACC
|
||||
|
||||
if tc-is-cross-compiler; then
|
||||
@ -309,14 +312,14 @@ src_install() {
|
||||
|
||||
insinto /etc/bash
|
||||
doins "${FILESDIR}"/bash_logout
|
||||
my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc
|
||||
my_prefixify bashrc.d "${FILESDIR}"/bashrc-r2 | newins - bashrc
|
||||
|
||||
insinto /etc/bash/bashrc.d
|
||||
my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color-r2.bash | newins - 10-gentoo-color.bash
|
||||
newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r2.bash 10-gentoo-title.bash
|
||||
if [[ ! ${EPREFIX} ]]; then
|
||||
doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash
|
||||
fi
|
||||
newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r3.bash 10-gentoo-title.bash
|
||||
|
||||
insinto /etc/profile.d
|
||||
doins "${FILESDIR}/profile.d/00-prompt-command.sh"
|
||||
|
||||
insinto /etc/skel
|
||||
for f in bash{_logout,_profile,rc}; do
|
||||
@ -364,21 +367,41 @@ pkg_preinst() {
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local old_ver
|
||||
local IFS old_ver ver
|
||||
local -a versions
|
||||
|
||||
# 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
|
||||
if [[ -e ${EROOT}/etc/bash/bashrc.d/15-gentoo-bashrc-check.bash ]]; then
|
||||
ewarn "The following file is no longer packaged and can safely be deleted:"
|
||||
ewarn "${EROOT}/etc/bash/bashrc.d/15-gentoo-bashrc-check.bash"
|
||||
fi
|
||||
|
||||
read -rd '' -a versions <<<"${REPLACING_VERSIONS}"
|
||||
for ver in "${versions[@]}"; do
|
||||
if [[ ! ${old_ver} ]] || ver_test "${ver}" -lt "${old_ver}"; then
|
||||
old_ver=${ver}
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ ! ${old_ver} ]]; then
|
||||
return
|
||||
fi
|
||||
|
||||
while read -r; do ewarn "${REPLY}"; done <<'EOF'
|
||||
{
|
||||
if ver_test "${old_ver}" -ge "5.2" \
|
||||
&& ver_test "${old_ver}" -ge "5.2_p26-r8"
|
||||
then
|
||||
:
|
||||
elif ver_test "${old_ver}" -lt "5.2" \
|
||||
&& ver_test "${old_ver}" -ge "5.1_p16-r8"
|
||||
then
|
||||
:
|
||||
else
|
||||
cat <<'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
|
||||
@ -401,4 +424,40 @@ 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
|
||||
fi
|
||||
|
||||
if ver_test "${old_ver}" -ge "5.3" \
|
||||
&& ver_test "${old_ver}" -ge "5.3_p3-r3"
|
||||
then
|
||||
:
|
||||
elif ver_test "${old_ver}" -lt "5.3" \
|
||||
&& ver_test "${old_ver}" -ge "5.2_p37-r5"
|
||||
then
|
||||
:
|
||||
else
|
||||
cat <<'EOF'
|
||||
The window title setting behaviour has been improved. It is now formatted as
|
||||
"\u@\h \W", in accordance with the prompting mechanism of bash. For example,
|
||||
after switching to the home directory, the current working directly will be
|
||||
shown as the <tilde> character.
|
||||
|
||||
The value of PROMPT_DIRTRIM is now respected. If this variable is unset, the
|
||||
use of the \W prompt string escape will prevail, with the current working
|
||||
directory typically being shown as its basename. If set to 0 or greater, \w
|
||||
will be used instead, which may be trimmed. This also means that the title
|
||||
can be made to show the full path by setting PROMPT_DIRTRIM=0.
|
||||
|
||||
For further information, run info '(bash)Bash Variables' or visit
|
||||
https://www.gnu.org/software/bash/manual/bash.html#index-PROMPT_005fDIRTRIM.
|
||||
EOF
|
||||
fi
|
||||
} \
|
||||
| if [[ ${COLUMNS} == [1-9]*([0-9]) ]] && (( COLUMNS > 80 )); then
|
||||
fmt -w "$(( COLUMNS - 3 ))"
|
||||
else
|
||||
cat
|
||||
fi \
|
||||
| while read -r; do
|
||||
ewarn "${REPLY}"
|
||||
done
|
||||
}
|
||||
@ -20,13 +20,15 @@ case ${PV} in
|
||||
9999|*_alpha*|*_beta*|*_rc*)
|
||||
# Set a negative patchlevel to indicate that it's a pre-release.
|
||||
PLEVEL=-1
|
||||
if [[ ${PV} =~ _pre[0-9]{8}$ ]]; then
|
||||
BASH_COMMIT="25c6aa5b230167c6471898539c46dd2891d891a5"
|
||||
fi
|
||||
;;
|
||||
*_p*)
|
||||
PLEVEL=${PV##*_p}
|
||||
;;
|
||||
*)
|
||||
PLEVEL=0
|
||||
;;
|
||||
esac
|
||||
|
||||
# The version of readline this bash normally ships with. Note that we only use
|
||||
@ -40,13 +42,12 @@ 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
|
||||
elif (( PLEVEL < 0 )) && [[ ${BASH_COMMIT} ]]; 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="a451bfc3f57201bc0933b62c2fb721940a4c33f5"
|
||||
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
|
||||
@ -123,7 +124,7 @@ src_unpack() {
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
git-r3_src_unpack
|
||||
elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
|
||||
elif (( PLEVEL < 0 )) && [[ ${BASH_COMMIT} ]]; then
|
||||
default
|
||||
else
|
||||
if use verify-sig; then
|
||||
@ -167,8 +168,10 @@ src_configure() {
|
||||
# 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.
|
||||
# may misbehave at runtime. Chet also advises against use of byacc:
|
||||
# https://lists.gnu.org/archive/html/bug-bash/2025-08/msg00115.html
|
||||
unset -v YACC
|
||||
|
||||
if tc-is-cross-compiler; then
|
||||
@ -309,14 +312,14 @@ src_install() {
|
||||
|
||||
insinto /etc/bash
|
||||
doins "${FILESDIR}"/bash_logout
|
||||
my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc
|
||||
my_prefixify bashrc.d "${FILESDIR}"/bashrc-r2 | newins - bashrc
|
||||
|
||||
insinto /etc/bash/bashrc.d
|
||||
my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color-r2.bash | newins - 10-gentoo-color.bash
|
||||
newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r2.bash 10-gentoo-title.bash
|
||||
if [[ ! ${EPREFIX} ]]; then
|
||||
doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash
|
||||
fi
|
||||
newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r3.bash 10-gentoo-title.bash
|
||||
|
||||
insinto /etc/profile.d
|
||||
doins "${FILESDIR}/profile.d/00-prompt-command.sh"
|
||||
|
||||
insinto /etc/skel
|
||||
for f in bash{_logout,_profile,rc}; do
|
||||
@ -364,21 +367,41 @@ pkg_preinst() {
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local old_ver
|
||||
local IFS old_ver ver
|
||||
local -a versions
|
||||
|
||||
# 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
|
||||
if [[ -e ${EROOT}/etc/bash/bashrc.d/15-gentoo-bashrc-check.bash ]]; then
|
||||
ewarn "The following file is no longer packaged and can safely be deleted:"
|
||||
ewarn "${EROOT}/etc/bash/bashrc.d/15-gentoo-bashrc-check.bash"
|
||||
fi
|
||||
|
||||
read -rd '' -a versions <<<"${REPLACING_VERSIONS}"
|
||||
for ver in "${versions[@]}"; do
|
||||
if [[ ! ${old_ver} ]] || ver_test "${ver}" -lt "${old_ver}"; then
|
||||
old_ver=${ver}
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ ! ${old_ver} ]]; then
|
||||
return
|
||||
fi
|
||||
|
||||
while read -r; do ewarn "${REPLY}"; done <<'EOF'
|
||||
{
|
||||
if ver_test "${old_ver}" -ge "5.2" \
|
||||
&& ver_test "${old_ver}" -ge "5.2_p26-r8"
|
||||
then
|
||||
:
|
||||
elif ver_test "${old_ver}" -lt "5.2" \
|
||||
&& ver_test "${old_ver}" -ge "5.1_p16-r8"
|
||||
then
|
||||
:
|
||||
else
|
||||
cat <<'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
|
||||
@ -401,4 +424,40 @@ 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
|
||||
fi
|
||||
|
||||
if ver_test "${old_ver}" -ge "5.3" \
|
||||
&& ver_test "${old_ver}" -ge "5.3_p3-r3"
|
||||
then
|
||||
:
|
||||
elif ver_test "${old_ver}" -lt "5.3" \
|
||||
&& ver_test "${old_ver}" -ge "5.2_p37-r5"
|
||||
then
|
||||
:
|
||||
else
|
||||
cat <<'EOF'
|
||||
The window title setting behaviour has been improved. It is now formatted as
|
||||
"\u@\h \W", in accordance with the prompting mechanism of bash. For example,
|
||||
after switching to the home directory, the current working directly will be
|
||||
shown as the <tilde> character.
|
||||
|
||||
The value of PROMPT_DIRTRIM is now respected. If this variable is unset, the
|
||||
use of the \W prompt string escape will prevail, with the current working
|
||||
directory typically being shown as its basename. If set to 0 or greater, \w
|
||||
will be used instead, which may be trimmed. This also means that the title
|
||||
can be made to show the full path by setting PROMPT_DIRTRIM=0.
|
||||
|
||||
For further information, run info '(bash)Bash Variables' or visit
|
||||
https://www.gnu.org/software/bash/manual/bash.html#index-PROMPT_005fDIRTRIM.
|
||||
EOF
|
||||
fi
|
||||
} \
|
||||
| if [[ ${COLUMNS} == [1-9]*([0-9]) ]] && (( COLUMNS > 80 )); then
|
||||
fmt -w "$(( COLUMNS - 3 ))"
|
||||
else
|
||||
cat
|
||||
fi \
|
||||
| while read -r; do
|
||||
ewarn "${REPLY}"
|
||||
done
|
||||
}
|
||||
@ -20,13 +20,15 @@ case ${PV} in
|
||||
9999|*_alpha*|*_beta*|*_rc*)
|
||||
# Set a negative patchlevel to indicate that it's a pre-release.
|
||||
PLEVEL=-1
|
||||
if [[ ${PV} =~ _pre[0-9]{8}$ ]]; then
|
||||
BASH_COMMIT=
|
||||
fi
|
||||
;;
|
||||
*_p*)
|
||||
PLEVEL=${PV##*_p}
|
||||
;;
|
||||
*)
|
||||
PLEVEL=0
|
||||
;;
|
||||
esac
|
||||
|
||||
# The version of readline this bash normally ships with. Note that we only use
|
||||
@ -40,13 +42,12 @@ 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
|
||||
elif (( PLEVEL < 0 )) && [[ ${BASH_COMMIT} ]]; 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="b35866a2891a9b069e37ca5684d4309c0391e261"
|
||||
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
|
||||
@ -123,7 +124,7 @@ src_unpack() {
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
git-r3_src_unpack
|
||||
elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
|
||||
elif (( PLEVEL < 0 )) && [[ ${BASH_COMMIT} ]]; then
|
||||
default
|
||||
else
|
||||
if use verify-sig; then
|
||||
@ -315,7 +316,7 @@ src_install() {
|
||||
|
||||
insinto /etc/bash/bashrc.d
|
||||
my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color-r2.bash | newins - 10-gentoo-color.bash
|
||||
newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r2.bash 10-gentoo-title.bash
|
||||
newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r3.bash 10-gentoo-title.bash
|
||||
|
||||
insinto /etc/profile.d
|
||||
doins "${FILESDIR}/profile.d/00-prompt-command.sh"
|
||||
@ -366,21 +367,41 @@ pkg_preinst() {
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local old_ver
|
||||
local IFS old_ver ver
|
||||
local -a versions
|
||||
|
||||
# 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
|
||||
if [[ -e ${EROOT}/etc/bash/bashrc.d/15-gentoo-bashrc-check.bash ]]; then
|
||||
ewarn "The following file is no longer packaged and can safely be deleted:"
|
||||
ewarn "${EROOT}/etc/bash/bashrc.d/15-gentoo-bashrc-check.bash"
|
||||
fi
|
||||
|
||||
read -rd '' -a versions <<<"${REPLACING_VERSIONS}"
|
||||
for ver in "${versions[@]}"; do
|
||||
if [[ ! ${old_ver} ]] || ver_test "${ver}" -lt "${old_ver}"; then
|
||||
old_ver=${ver}
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ ! ${old_ver} ]]; then
|
||||
return
|
||||
fi
|
||||
|
||||
while read -r; do ewarn "${REPLY}"; done <<'EOF'
|
||||
{
|
||||
if ver_test "${old_ver}" -ge "5.2" \
|
||||
&& ver_test "${old_ver}" -ge "5.2_p26-r8"
|
||||
then
|
||||
:
|
||||
elif ver_test "${old_ver}" -lt "5.2" \
|
||||
&& ver_test "${old_ver}" -ge "5.1_p16-r8"
|
||||
then
|
||||
:
|
||||
else
|
||||
cat <<'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
|
||||
@ -403,4 +424,40 @@ 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
|
||||
fi
|
||||
|
||||
if ver_test "${old_ver}" -ge "5.3" \
|
||||
&& ver_test "${old_ver}" -ge "5.3_p3-r3"
|
||||
then
|
||||
:
|
||||
elif ver_test "${old_ver}" -lt "5.3" \
|
||||
&& ver_test "${old_ver}" -ge "5.2_p37-r5"
|
||||
then
|
||||
:
|
||||
else
|
||||
cat <<'EOF'
|
||||
The window title setting behaviour has been improved. It is now formatted as
|
||||
"\u@\h \W", in accordance with the prompting mechanism of bash. For example,
|
||||
after switching to the home directory, the current working directly will be
|
||||
shown as the <tilde> character.
|
||||
|
||||
The value of PROMPT_DIRTRIM is now respected. If this variable is unset, the
|
||||
use of the \W prompt string escape will prevail, with the current working
|
||||
directory typically being shown as its basename. If set to 0 or greater, \w
|
||||
will be used instead, which may be trimmed. This also means that the title
|
||||
can be made to show the full path by setting PROMPT_DIRTRIM=0.
|
||||
|
||||
For further information, run info '(bash)Bash Variables' or visit
|
||||
https://www.gnu.org/software/bash/manual/bash.html#index-PROMPT_005fDIRTRIM.
|
||||
EOF
|
||||
fi
|
||||
} \
|
||||
| if [[ ${COLUMNS} == [1-9]*([0-9]) ]] && (( COLUMNS > 80 )); then
|
||||
fmt -w "$(( COLUMNS - 3 ))"
|
||||
else
|
||||
cat
|
||||
fi \
|
||||
| while read -r; do
|
||||
ewarn "${REPLY}"
|
||||
done
|
||||
}
|
||||
|
||||
@ -1,160 +0,0 @@
|
||||
https://lists.gnu.org/archive/html/bug-bash/2025-07/msg00014.html
|
||||
--- parse.y Thu Jun 12 12:36:06 2025
|
||||
--- parse.y Sun Jul 6 16:46:00 2025
|
||||
***************
|
||||
*** 3009,3023 ****
|
||||
|
||||
void
|
||||
! execute_variable_command (const char *command, const char *vname)
|
||||
{
|
||||
char *last_lastarg;
|
||||
sh_parser_state_t ps;
|
||||
|
||||
! save_parser_state (&ps);
|
||||
last_lastarg = save_lastarg ();
|
||||
|
||||
parse_and_execute (savestring (command), vname, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_NOOPTIMIZE|SEVAL_NOTIFY);
|
||||
|
||||
! restore_parser_state (&ps);
|
||||
bind_lastarg (last_lastarg);
|
||||
FREE (last_lastarg);
|
||||
--- 3009,3025 ----
|
||||
|
||||
void
|
||||
! execute_variable_command (const char *command, const char *vname, int flags)
|
||||
{
|
||||
char *last_lastarg;
|
||||
sh_parser_state_t ps;
|
||||
|
||||
! if (flags)
|
||||
! save_parser_state (&ps);
|
||||
last_lastarg = save_lastarg ();
|
||||
|
||||
parse_and_execute (savestring (command), vname, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_NOOPTIMIZE|SEVAL_NOTIFY);
|
||||
|
||||
! if (flags)
|
||||
! restore_parser_state (&ps);
|
||||
bind_lastarg (last_lastarg);
|
||||
FREE (last_lastarg);
|
||||
--- eval.c Fri Mar 7 18:50:03 2025
|
||||
--- eval.c Sun Jul 6 16:49:18 2025
|
||||
***************
|
||||
*** 284,288 ****
|
||||
/* Caller ensures that A has a non-zero number of elements */
|
||||
int
|
||||
! execute_array_command (ARRAY *a, void *v)
|
||||
{
|
||||
char *tag;
|
||||
--- 284,288 ----
|
||||
/* Caller ensures that A has a non-zero number of elements */
|
||||
int
|
||||
! execute_array_command (ARRAY *a, void *v, int flags)
|
||||
{
|
||||
char *tag;
|
||||
***************
|
||||
*** 296,300 ****
|
||||
{
|
||||
if (argv[i] && argv[i][0])
|
||||
! execute_variable_command (argv[i], tag);
|
||||
}
|
||||
strvec_dispose (argv);
|
||||
--- 296,300 ----
|
||||
{
|
||||
if (argv[i] && argv[i][0])
|
||||
! execute_variable_command (argv[i], tag, flags);
|
||||
}
|
||||
strvec_dispose (argv);
|
||||
***************
|
||||
*** 319,323 ****
|
||||
{
|
||||
if ((pcmds = array_cell (pcv)) && array_num_elements (pcmds) > 0)
|
||||
! execute_array_command (pcmds, "PROMPT_COMMAND");
|
||||
return;
|
||||
}
|
||||
--- 319,323 ----
|
||||
{
|
||||
if ((pcmds = array_cell (pcv)) && array_num_elements (pcmds) > 0)
|
||||
! execute_array_command (pcmds, "PROMPT_COMMAND", 0);
|
||||
return;
|
||||
}
|
||||
***************
|
||||
*** 328,332 ****
|
||||
command_to_execute = value_cell (pcv);
|
||||
if (command_to_execute && *command_to_execute)
|
||||
! execute_variable_command (command_to_execute, "PROMPT_COMMAND");
|
||||
}
|
||||
|
||||
--- 328,332 ----
|
||||
command_to_execute = value_cell (pcv);
|
||||
if (command_to_execute && *command_to_execute)
|
||||
! execute_variable_command (command_to_execute, "PROMPT_COMMAND", 0);
|
||||
}
|
||||
|
||||
--- input.h Fri Mar 10 16:22:48 2023
|
||||
--- input.h Sun Jul 6 16:45:42 2025
|
||||
***************
|
||||
*** 100,104 ****
|
||||
extern int find_reserved_word (const char *);
|
||||
extern void gather_here_documents (void);
|
||||
! extern void execute_variable_command (const char *, const char *);
|
||||
|
||||
extern int *save_token_state (void);
|
||||
--- 100,104 ----
|
||||
extern int find_reserved_word (const char *);
|
||||
extern void gather_here_documents (void);
|
||||
! extern void execute_variable_command (const char *, const char *, int);
|
||||
|
||||
extern int *save_token_state (void);
|
||||
--- array.h Wed Dec 28 14:00:47 2022
|
||||
--- array.h Sun Jul 6 16:47:27 2025
|
||||
***************
|
||||
*** 178,182 ****
|
||||
|
||||
/* In eval.c, but uses ARRAY * */
|
||||
! extern int execute_array_command (ARRAY *, void *);
|
||||
|
||||
#endif /* _ARRAY_H_ */
|
||||
--- 178,182 ----
|
||||
|
||||
/* In eval.c, but uses ARRAY * */
|
||||
! extern int execute_array_command (ARRAY *, void *, int);
|
||||
|
||||
#endif /* _ARRAY_H_ */
|
||||
--- y.tab.c Mon Jun 30 09:56:25 2025
|
||||
--- y.tab.c Sun Jul 6 17:38:06 2025
|
||||
***************
|
||||
*** 5368,5382 ****
|
||||
|
||||
void
|
||||
! execute_variable_command (const char *command, const char *vname)
|
||||
{
|
||||
char *last_lastarg;
|
||||
sh_parser_state_t ps;
|
||||
|
||||
! save_parser_state (&ps);
|
||||
last_lastarg = save_lastarg ();
|
||||
|
||||
parse_and_execute (savestring (command), vname, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_NOOPTIMIZE|SEVAL_NOTIFY);
|
||||
|
||||
! restore_parser_state (&ps);
|
||||
bind_lastarg (last_lastarg);
|
||||
FREE (last_lastarg);
|
||||
--- 5368,5384 ----
|
||||
|
||||
void
|
||||
! execute_variable_command (const char *command, const char *vname, int flags)
|
||||
{
|
||||
char *last_lastarg;
|
||||
sh_parser_state_t ps;
|
||||
|
||||
! if (flags)
|
||||
! save_parser_state (&ps);
|
||||
last_lastarg = save_lastarg ();
|
||||
|
||||
parse_and_execute (savestring (command), vname, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_NOOPTIMIZE|SEVAL_NOTIFY);
|
||||
|
||||
! if (flags)
|
||||
! restore_parser_state (&ps);
|
||||
bind_lastarg (last_lastarg);
|
||||
FREE (last_lastarg);
|
||||
|
||||
@ -1,106 +0,0 @@
|
||||
# /etc/bash/bashrc
|
||||
#
|
||||
# This file is sourced by all *interactive* bash shells on startup,
|
||||
# including some apparently interactive shells such as scp and rcp
|
||||
# that can't tolerate any output. So make sure this doesn't display
|
||||
# anything or bad things will happen!
|
||||
|
||||
# Test for an interactive shell. There is no need to set anything
|
||||
# past this point for scp and rcp, and it's important to refrain from
|
||||
# outputting anything in those cases.
|
||||
if [[ $- != *i* ]] ; then
|
||||
# Shell is non-interactive. Be done now!
|
||||
return
|
||||
fi
|
||||
|
||||
# Bash won't get SIGWINCH if another process is in the foreground.
|
||||
# Enable checkwinsize so that bash will check the terminal size when
|
||||
# it regains control. #65623
|
||||
# http://cnswww.cns.cwru.edu/~chet/bash/FAQ (E11)
|
||||
shopt -s checkwinsize
|
||||
|
||||
# Disable completion when the input buffer is empty. i.e. Hitting tab
|
||||
# and waiting a long time for bash to expand all of $PATH.
|
||||
shopt -s no_empty_cmd_completion
|
||||
|
||||
# Enable history appending instead of overwriting when exiting. #139609
|
||||
shopt -s histappend
|
||||
|
||||
# Save each command to the history file as it's executed. #517342
|
||||
# This does mean sessions get interleaved when reading later on, but this
|
||||
# way the history is always up to date. History is not synced across live
|
||||
# sessions though; that is what `history -n` does.
|
||||
# Disabled by default due to concerns related to system recovery when $HOME
|
||||
# is under duress, or lives somewhere flaky (like NFS). Constantly syncing
|
||||
# the history will halt the shell prompt until it's finished.
|
||||
#PROMPT_COMMAND='history -a'
|
||||
|
||||
# Change the window title of X terminals
|
||||
case ${TERM} in
|
||||
[aEkx]term*|rxvt*|gnome*|konsole*|interix|tmux*)
|
||||
PS1='\[\033]0;\u@\h:\w\007\]'
|
||||
;;
|
||||
screen*)
|
||||
PS1='\[\033_\u@\h:\w\033\\\]'
|
||||
;;
|
||||
*)
|
||||
unset PS1
|
||||
;;
|
||||
esac
|
||||
|
||||
# Set colorful PS1 only on colorful terminals.
|
||||
# dircolors --print-database uses its own built-in database
|
||||
# instead of using /etc/DIR_COLORS. Try to use the external file
|
||||
# first to take advantage of user additions.
|
||||
# We run dircolors directly due to its changes in file syntax and
|
||||
# terminal name patching.
|
||||
use_color=false
|
||||
if type -P dircolors >/dev/null ; then
|
||||
# Enable colors for ls, etc. Prefer ~/.dir_colors #64489
|
||||
LS_COLORS=
|
||||
if [[ -f ~/.dir_colors ]] ; then
|
||||
eval "$(dircolors -b ~/.dir_colors)"
|
||||
elif [[ -f /etc/DIR_COLORS ]] ; then
|
||||
eval "$(dircolors -b /etc/DIR_COLORS)"
|
||||
else
|
||||
eval "$(dircolors -b)"
|
||||
fi
|
||||
# Note: We always evaluate the LS_COLORS setting even when it's the
|
||||
# default. If it isn't set, then `ls` will only colorize by default
|
||||
# based on file attributes and ignore extensions (even the compiled
|
||||
# in defaults of dircolors). #583814
|
||||
if [[ -n ${LS_COLORS:+set} ]] ; then
|
||||
use_color=true
|
||||
else
|
||||
# Delete it if it's empty as it's useless in that case.
|
||||
unset LS_COLORS
|
||||
fi
|
||||
else
|
||||
# Some systems (e.g. BSD & embedded) don't typically come with
|
||||
# dircolors so we need to hardcode some terminals in here.
|
||||
case ${TERM} in
|
||||
[aEkx]term*|rxvt*|gnome*|konsole*|screen|tmux|cons25|*color) use_color=true;;
|
||||
esac
|
||||
fi
|
||||
|
||||
if ${use_color} ; then
|
||||
if [[ ${EUID} == 0 ]] ; then
|
||||
PS1+='\[\033[01;31m\]\h\[\033[01;34m\] \w \$\[\033[00m\] '
|
||||
else
|
||||
PS1+='\[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\] '
|
||||
fi
|
||||
|
||||
#BSD#@export CLICOLOR=1
|
||||
#GNU#@alias ls='ls --color=auto'
|
||||
alias grep='grep --colour=auto'
|
||||
else
|
||||
# show root@ when we don't have colors
|
||||
PS1+='\u@\h \w \$ '
|
||||
fi
|
||||
|
||||
for sh in /etc/bash/bashrc.d/* ; do
|
||||
[[ -r ${sh} ]] && source "${sh}"
|
||||
done
|
||||
|
||||
# Try to keep environment pollution down, EPA loves us.
|
||||
unset use_color sh
|
||||
@ -1,29 +0,0 @@
|
||||
# /etc/bash/bashrc
|
||||
|
||||
# Proceed no further in the case of a non-interactive shell.
|
||||
if [[ $- != *i* ]]; then
|
||||
return
|
||||
fi
|
||||
|
||||
# Disable errexit in case the user enabled it then chose to re-source this file.
|
||||
shopt -u -o errexit
|
||||
|
||||
# Disable completion when the input buffer is empty. Mute STDERR because this
|
||||
# option is only present in the case that bash was built with readline support.
|
||||
shopt -s no_empty_cmd_completion 2>/dev/null &&
|
||||
|
||||
# Append to HISTFILE rather than overwrite upon exiting, per bug #139609. This
|
||||
# option also requires for bash to have been built with readline support.
|
||||
shopt -s histappend
|
||||
|
||||
# Initialise PROMPT_COMMAND as an array, which is permitted as of bash 5.1.
|
||||
PROMPT_COMMAND=()
|
||||
|
||||
# Don't let the user influence the order of sourcing for bash 5.3 or greater.
|
||||
unset -v GLOBSORT
|
||||
|
||||
for _ in /etc/bash/bashrc.d/*; do
|
||||
if [[ $_ == *.@(bash|sh) && -r $_ ]]; then
|
||||
source "$_"
|
||||
fi
|
||||
done
|
||||
@ -0,0 +1,77 @@
|
||||
# /etc/bash/bashrc.d/10-gentoo-title.bash
|
||||
|
||||
# For information regarding the control sequences used, please refer to
|
||||
# https://invisible-island.net/xterm/ctlseqs/ctlseqs.html.
|
||||
|
||||
genfun_set_win_title() {
|
||||
# Advertise the fact that the presently running interactive shell will
|
||||
# update the title. Doing so allows for its subprocesses to determine
|
||||
# whether it is safe to set the title of their own accord. Note that 0
|
||||
# refers to the value of Ps within the OSC Ps ; Pt BEL sequence.
|
||||
export SHELL_SETS_TITLE=0
|
||||
|
||||
# Sets the window title with the Set Text Parameters control sequence.
|
||||
# For screen, the sequence defines the hardstatus (%h) and for tmux, the
|
||||
# pane_title (#T). For graphical terminal emulators, it is normal for
|
||||
# the title bar to be affected.
|
||||
genfun_set_win_title() {
|
||||
local prompt
|
||||
|
||||
if [[ ${PROMPT_DIRTRIM} ]]; then
|
||||
# Respect the value of PROMPT_DIRTRIM. If set as 0, the
|
||||
# current working directory shall be shown in full.
|
||||
prompt='\u@\h \w'
|
||||
else
|
||||
# Show the basename of the current working directory.
|
||||
prompt='\u@\h \W'
|
||||
fi
|
||||
printf '\033]0;%s\007' "${prompt@P}"
|
||||
}
|
||||
|
||||
genfun_set_win_title
|
||||
}
|
||||
|
||||
unset -v SHELL_SETS_TITLE
|
||||
|
||||
# Determine whether the terminal can handle the Set Text Parameters sequence.
|
||||
# The only terminals permitted here are those for which there is empirical
|
||||
# evidence that the sequence is supported and that the UTF-8 character encoding
|
||||
# is handled correctly. Quite rightly, this precludes many vintage terminals.
|
||||
case ${TERM} in
|
||||
alacritty*|contour|foot*|tmux*|xterm-ghostty)
|
||||
# The terminal emulator also supports XTWINOPS. If the PTY was
|
||||
# created by sshd(8) then push the current window title to the
|
||||
# stack and arrange for it to be popped upon exiting. Xterm also
|
||||
# supports this but there are far too many terminal emulators
|
||||
# that falsely identify as being xterm-compatible.
|
||||
if [[ ${SSH_TTY} && ${SSH_TTY} == "$(tty)" ]]; then
|
||||
trap 'printf "\033[23;0t"' EXIT
|
||||
printf '\033[22;0t'
|
||||
fi
|
||||
;;
|
||||
rxvt-unicode*|st-256color|xterm*)
|
||||
# If the PTY was created by sshd(8) then proceed no further.
|
||||
# Alas, there exist many operating environments in which the
|
||||
# title would otherwise not be restored upon ssh(1) exiting.
|
||||
# Those wanting for the title to be set regardless may adjust
|
||||
# ~/.bashrc or create a bashrc.d drop-in to set PROMPT_COMMAND.
|
||||
# For example, PROMPT_COMMAND=(genfun_set_win_title).
|
||||
if [[ ${SSH_TTY} && ${SSH_TTY} == "$(tty)" ]]; then
|
||||
return
|
||||
fi
|
||||
;;
|
||||
screen*)
|
||||
# If the PTY was created by sshd(8) and screen(1) was launched
|
||||
# prior to the SSH session beginning, as opposed to afterwards,
|
||||
# proceed no further. It is another case in which there would be
|
||||
# no guarantee of the title being restored upon ssh(1) exiting.
|
||||
if [[ ! ${WINDOW} && ${SSH_TTY} && ${SSH_TTY} == "$(tty)" ]]; then
|
||||
return
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
return
|
||||
esac
|
||||
|
||||
# Arrange for the title to be updated each time the primary prompt is displayed.
|
||||
PROMPT_COMMAND+=('genfun_set_win_title')
|
||||
@ -1,24 +0,0 @@
|
||||
# /etc/bash/bashrc.d/15-gentoo-bashrc-check.bash
|
||||
|
||||
# Some users have ~/.bashrc as a copy of ${FILESDIR}/bashrc which either matches
|
||||
# exactly or is only trivially modified. Such is an improper state of affairs
|
||||
# and results in the bashrc.d drop-ins being sourced twice. Warn them that they
|
||||
# should use the skeleton file instead. This drop-in should be removed no sooner
|
||||
# than one year from the date of its introduction.
|
||||
|
||||
if [[ -e ${TMPDIR:-/tmp}/.gentoo-bashrc-check-${EUID} || ! -f ~/.bashrc ]]; then
|
||||
return
|
||||
fi
|
||||
|
||||
{
|
||||
if grep -qxF 'for sh in /etc/bash/bashrc.d/* ; do' -- ~/.bashrc; then
|
||||
cat >&3 <<'EOF'
|
||||
WARNING! Your ~/.bashrc file is based on an old copy of /etc/bash/bashrc, which
|
||||
is not intended for use within a home directory. Please either delete ~/.bashrc
|
||||
or replace it with a copy of /etc/skel/.bashrc before optionally customizing it
|
||||
further. Neglecting to do so may result in bash behaving unexpectedly.
|
||||
|
||||
EOF
|
||||
fi
|
||||
touch -- "${TMPDIR:-/tmp}/.gentoo-bashrc-check-${EUID}"
|
||||
} 3>&2 2>/dev/null
|
||||
@ -58,3 +58,10 @@ src_configure() {
|
||||
--program-suffix="-${PV}" \
|
||||
--infodir="${TC_AUTOCONF_INFOPATH}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
toolchain-autoconf_src_install
|
||||
|
||||
# dissuade Portage from removing our dir file
|
||||
touch "${ED}"/usr/share/${P}/info/.keepinfodir || die
|
||||
}
|
||||
|
||||
@ -80,3 +80,10 @@ src_prepare() {
|
||||
src_test() {
|
||||
emake check TESTSUITEFLAGS="--jobs=$(get_makeopts_jobs)"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
toolchain-autoconf_src_install
|
||||
|
||||
# dissuade Portage from removing our dir file
|
||||
touch "${ED}"/usr/share/${P}/info/.keepinfodir || die
|
||||
}
|
||||
|
||||
@ -80,6 +80,9 @@ src_test() {
|
||||
src_install() {
|
||||
toolchain-autoconf_src_install
|
||||
|
||||
# dissuade Portage from removing our dir file
|
||||
touch "${ED}"/usr/share/${P}/info/.keepinfodir || die
|
||||
|
||||
local f
|
||||
for f in config.{guess,sub} ; do
|
||||
ln -fs ../../gnuconfig/${f} \
|
||||
|
||||
@ -93,6 +93,9 @@ src_test() {
|
||||
src_install() {
|
||||
toolchain-autoconf_src_install
|
||||
|
||||
# dissuade Portage from removing our dir file
|
||||
touch "${ED}"/usr/share/${P}/info/.keepinfodir || die
|
||||
|
||||
local f
|
||||
for f in config.{guess,sub} ; do
|
||||
ln -fs ../../gnuconfig/${f} \
|
||||
|
||||
@ -89,6 +89,9 @@ src_test() {
|
||||
src_install() {
|
||||
toolchain-autoconf_src_install
|
||||
|
||||
# dissuade Portage from removing our dir file
|
||||
touch "${ED}"/usr/share/${P}/info/.keepinfodir || die
|
||||
|
||||
local f
|
||||
for f in config.{guess,sub} ; do
|
||||
ln -fs ../../gnuconfig/${f} \
|
||||
|
||||
@ -29,7 +29,7 @@ else
|
||||
S="${WORKDIR}"/${MY_P}
|
||||
|
||||
if [[ ${PV} != *_beta* ]] && ! [[ $(ver_cut 3) =~ [a-z] ]] ; then
|
||||
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
|
||||
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-zackweinberg )"
|
||||
@ -92,6 +92,9 @@ src_test() {
|
||||
src_install() {
|
||||
toolchain-autoconf_src_install
|
||||
|
||||
# dissuade Portage from removing our dir file
|
||||
touch "${ED}"/usr/share/${P}/info/.keepinfodir || die
|
||||
|
||||
local f
|
||||
for f in config.{guess,sub} ; do
|
||||
ln -fs ../../gnuconfig/${f} \
|
||||
@ -91,6 +91,9 @@ src_test() {
|
||||
src_install() {
|
||||
toolchain-autoconf_src_install
|
||||
|
||||
# dissuade Portage from removing our dir file
|
||||
touch "${ED}"/usr/share/${P}/info/.keepinfodir || die
|
||||
|
||||
local f
|
||||
for f in config.{guess,sub} ; do
|
||||
ln -fs ../../gnuconfig/${f} \
|
||||
|
||||
@ -1,22 +1,23 @@
|
||||
https://savannah.gnu.org/support/?111272
|
||||
https://file.savannah.gnu.org/file/0001-autoreconf-Invoke-autopoint-in-more-situations.patch?file_id=57356
|
||||
https://file.savannah.gnu.org/file/0001-autoreconf-Invoke-autopoint-in-more-situations.patch?file_id=57421
|
||||
|
||||
From 797eceb60214565db1f13339708c288c522e34a2 Mon Sep 17 00:00:00 2001
|
||||
From e2a4935b45f273410e975ecf56ab26ad72855df0 Mon Sep 17 00:00:00 2001
|
||||
From: Bruno Haible <bruno@clisp.org>
|
||||
Date: Wed, 2 Jul 2025 02:43:41 +0200
|
||||
Subject: [PATCH] autoreconf: Invoke autopoint in more situations.
|
||||
Subject: [PATCH 1/2] autoreconf: Invoke autopoint in more situations.
|
||||
|
||||
Reported in <https://savannah.gnu.org/support/?111272>.
|
||||
|
||||
* bin/autoreconf.in (autoreconf_current_directory): Invoke autopoint also when
|
||||
the package uses AM_ICONV, AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS, or
|
||||
GUILE_FLAGS.
|
||||
the package uses AM_GNU_GETTEXT (without AM_GNU_GETTEXT_VERSION), AM_PO_SUBDIRS,
|
||||
AM_ICONV, AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS, AC_LIB_LINKFLAGS_FROM_LIBS,
|
||||
or GUILE_FLAGS.
|
||||
---
|
||||
bin/autoreconf.in | 75 +++++++++++++++++++++++++++++++++++++++++++++--
|
||||
1 file changed, 72 insertions(+), 3 deletions(-)
|
||||
bin/autoreconf.in | 80 ++++++++++++++++++++++++++++++++++++++++++++---
|
||||
1 file changed, 76 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/bin/autoreconf.in b/bin/autoreconf.in
|
||||
index a5ffc6fa..3f6a74fe 100644
|
||||
index a5ffc6fa..207900df 100644
|
||||
--- a/bin/autoreconf.in
|
||||
+++ b/bin/autoreconf.in
|
||||
@@ -440,6 +440,8 @@ sub autoreconf_current_directory ($)
|
||||
@ -28,16 +29,22 @@ index a5ffc6fa..3f6a74fe 100644
|
||||
my $uses_gettext;
|
||||
if (-f $configure_ac)
|
||||
{
|
||||
@@ -449,6 +451,8 @@ sub autoreconf_current_directory ($)
|
||||
@@ -449,8 +451,13 @@ sub autoreconf_current_directory ($)
|
||||
s/#.*//;
|
||||
s/dnl.*//;
|
||||
$uses_autoconf = 1 if /AC_INIT/;
|
||||
+ $uses_liblink = 1 if /AC_LIB_(?:HAVE_)LINKFLAGS/;
|
||||
+ $uses_liblink = 1 if /AC_LIB_HAVE_LINKFLAGS/;
|
||||
+ $uses_liblink = 1 if /AC_LIB_LINKFLAGS/;
|
||||
+ $uses_liblink = 1 if /AC_LIB_LINKFLAGS_FROM_LIBS/;
|
||||
+ $uses_iconv = 1 if /AM_ICONV/;
|
||||
# See below for why we look for gettext here.
|
||||
$uses_gettext = 1 if /^AM_GNU_GETTEXT_(?:REQUIRE_)?VERSION/;
|
||||
- $uses_gettext = 1 if /^AM_GNU_GETTEXT_(?:REQUIRE_)?VERSION/;
|
||||
+ $uses_gettext = 1 if /AM_GNU_GETTEXT/;
|
||||
+ $uses_gettext = 1 if /AM_PO_SUBDIRS/;
|
||||
}
|
||||
@@ -485,7 +489,7 @@ sub autoreconf_current_directory ($)
|
||||
if (!$uses_autoconf)
|
||||
{
|
||||
@@ -485,7 +492,7 @@ sub autoreconf_current_directory ($)
|
||||
# Actually, it is even more restrictive, as it greps for
|
||||
# '^AM_GNU_GETTEXT_(REQUIRE_)?VERSION('. We did this above, while
|
||||
# scanning configure.ac.
|
||||
@ -46,7 +53,7 @@ index a5ffc6fa..3f6a74fe 100644
|
||||
{
|
||||
verb "$configure_ac: not using Gettext";
|
||||
}
|
||||
@@ -495,8 +499,21 @@ sub autoreconf_current_directory ($)
|
||||
@@ -495,8 +502,21 @@ sub autoreconf_current_directory ($)
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -70,7 +77,7 @@ index a5ffc6fa..3f6a74fe 100644
|
||||
}
|
||||
|
||||
|
||||
@@ -576,6 +593,8 @@ sub autoreconf_current_directory ($)
|
||||
@@ -576,6 +596,8 @@ sub autoreconf_current_directory ($)
|
||||
# from the final autoconf invocation.
|
||||
my $aux_dir;
|
||||
my @aux_files;
|
||||
@ -79,7 +86,7 @@ index a5ffc6fa..3f6a74fe 100644
|
||||
my $uses_gettext_via_traces;
|
||||
my $uses_libtool;
|
||||
my $uses_intltool;
|
||||
@@ -603,6 +622,11 @@ sub autoreconf_current_directory ($)
|
||||
@@ -603,6 +625,11 @@ sub autoreconf_current_directory ($)
|
||||
'AM_PROG_LIBTOOL',
|
||||
'LT_INIT',
|
||||
'LT_CONFIG_LTDL_DIR',
|
||||
@ -91,7 +98,7 @@ index a5ffc6fa..3f6a74fe 100644
|
||||
'AM_GNU_GETTEXT',
|
||||
'AM_INIT_AUTOMAKE',
|
||||
'GTK_DOC_CHECK',
|
||||
@@ -617,6 +641,15 @@ sub autoreconf_current_directory ($)
|
||||
@@ -617,6 +644,15 @@ sub autoreconf_current_directory ($)
|
||||
$aux_dir = $args[0] if $macro eq "AC_CONFIG_AUX_DIR";
|
||||
push @aux_files, $args[0] if $macro eq "AC_REQUIRE_AUX_FILE";
|
||||
$uses_autoconf = 1 if $macro eq "AC_INIT";
|
||||
@ -107,7 +114,7 @@ index a5ffc6fa..3f6a74fe 100644
|
||||
$uses_gettext_via_traces = 1 if $macro eq "AM_GNU_GETTEXT";
|
||||
$uses_libtool = 1 if $macro eq "AC_PROG_LIBTOOL"
|
||||
|| $macro eq "AM_PROG_LIBTOOL"
|
||||
@@ -741,6 +774,42 @@ sub autoreconf_current_directory ($)
|
||||
@@ -741,6 +777,42 @@ sub autoreconf_current_directory ($)
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -57,6 +57,9 @@ src_compile() {
|
||||
src_install() {
|
||||
default
|
||||
|
||||
# dissuade Portage from removing our dir file
|
||||
touch "${ED}"/usr/share/${P}/info/.keepinfodir || die
|
||||
|
||||
rm \
|
||||
"${ED}"/usr/bin/{aclocal,automake} \
|
||||
"${ED}"/usr/share/man/man1/{aclocal,automake}.1 || die
|
||||
|
||||
@ -106,6 +106,9 @@ src_test() {
|
||||
src_install() {
|
||||
default
|
||||
|
||||
# dissuade Portage from removing our dir file
|
||||
touch "${ED}"/usr/share/${P}/info/.keepinfodir || die
|
||||
|
||||
rm "${ED}"/usr/share/aclocal/README || die
|
||||
rmdir "${ED}"/usr/share/aclocal || die
|
||||
rm \
|
||||
|
||||
@ -101,6 +101,9 @@ src_test() {
|
||||
src_install() {
|
||||
default
|
||||
|
||||
# dissuade Portage from removing our dir file
|
||||
touch "${ED}"/usr/share/${P}/info/.keepinfodir || die
|
||||
|
||||
rm "${ED}"/usr/share/aclocal/README || die
|
||||
rmdir "${ED}"/usr/share/aclocal || die
|
||||
rm \
|
||||
|
||||
@ -101,6 +101,9 @@ src_test() {
|
||||
src_install() {
|
||||
default
|
||||
|
||||
# dissuade Portage from removing our dir file
|
||||
touch "${ED}"/usr/share/${P}/info/.keepinfodir || die
|
||||
|
||||
rm "${ED}"/usr/share/aclocal/README || die
|
||||
rmdir "${ED}"/usr/share/aclocal || die
|
||||
rm \
|
||||
|
||||
@ -1,27 +1,8 @@
|
||||
DIST cmake-3.28.0-docs.tar.xz 525776 BLAKE2B b643f76012768f0100c51f0dd146230eba25b634ab4f9abd9c739b0b257e4b1d54aa01be8d2dcd27a7b1d9822bf13eb8af16ff3c6984eeefdeb58988a164bc26 SHA512 474dc77e44240de921013219bd7cdc4aee80214fbf38d60dc2ddb53c0fda8a11c466c01bbee2abbd32b711ec7524678515e39a79a5634354a6cb38f9683e229f
|
||||
DIST cmake-3.28.5-SHA-256.txt 1646 BLAKE2B 763cbec9ede58cc43a7435e3fe97a9a9f28b201712f52d98ecdf8035887232fe6000675c9bab90f275ff6d44406839f04352784a921dcbc9d65c5e2440b53f52 SHA512 0fdeed277d113e4642c11b87b98305da43213bd89566e3aaaf427a11e168d9e6754632c2fd76fae542d29fddfa8b67c3c0df19f741c53fdd3aea8ce7bec73ff3
|
||||
DIST cmake-3.28.5-SHA-256.txt.asc 833 BLAKE2B bde735a577b556bc30ae1a5de0df8533243c955cc5d222537b3323e7108900af2f01799a4bfa843d953b141cc76a19aed77bfba15cf4e2c3cc36a0e7e844e853 SHA512 d495afd2ce4e16f8d3ecc0b319d59c3634aae71c26110d14225f9dd628bfe173cdd94818c69c930ef5cfff3b331445e192db0082188e0822155184e3f6f80e7d
|
||||
DIST cmake-3.28.5.tar.gz 11076017 BLAKE2B 7da653e42fca4848362a97e80320ffcc85ced4951dfe475f48f1619a40dc674d2828a78df2ef09589868f41f1da86970074186f730e675851cd9e7c1b099ba4c SHA512 d8f1c056e94c835c2078a5e68b23a3918f0e2cc40ef9dacaf5df4f2c26106149d85364c01528fcc2d6a4b6c2182ba420d938c519fa98757a5fc375cf152c7f82
|
||||
DIST cmake-3.31.0-docs.tar.xz 562756 BLAKE2B ef1d145658fd197ea515f05fbbad54b213bf458f3068829634242bc43bdb4f97bd45fcc45c9958919d2a78276ffc1d14d507822831f44fe9be5080ecc62e75fe SHA512 b4025633a0f42003005dfacdaea55c67e08d8f9082c8c6c564540b4d536246acedece41adb76cb00042d2f25f85b3817d23f70e393eb22a0857693d51ca60748
|
||||
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.7-SHA-256.txt 1646 BLAKE2B a3b52506b586ee81cb4192ddbfa52c8f2c4456d99ce3e0f1c2e88c22a756d58905219498e41b726bce6258b5bbe44fb2c58bb0c5972303a6ca8c2dc37de59676 SHA512 eb967dbc6a4c18d1b0b97910b89a5e9392e29bd1a8c169c92899215ee15f5a8a4852c06b3643c5ce420a57ef93c9153380d75f68f23092475032850390d1ab4e
|
||||
DIST cmake-3.31.7-SHA-256.txt.asc 833 BLAKE2B 9ddb47b9aa26875b294d4e3db27b4c9518c3a01f3a11d1a50afae08ef7871f52367c0d275415cd801613b036ae88f92611d03bb5d576e8bcd324c3ec46d943e1 SHA512 9b7234c8fe122cf458a42c5d5ba71bd7694c2cb610cc989d2ea2a710a5615a0f49f0747b3ab4321d0bb69987321e8256b335a3e5d29de4bc783d683b7dedae93
|
||||
DIST cmake-3.31.7.tar.gz 11711975 BLAKE2B 8bf3ea288695f6e1a9f301f8ad471e1007061cb9ed69b8a432d5de7e1779580ffbbd4050a85b1a3df30a85ee971ed0421ce14d9a77b026f7147d73ca8fee7ec9 SHA512 896f29e8e7c897e6e346141496d3f338aeaced8300fb2fd1fedcd0236742bfe4842de1c94253adf54f4847b17c5d9699c92d199cbb4a74c99ee14972c939b09e
|
||||
DIST cmake-3.31.8-SHA-256.txt 1646 BLAKE2B 6067ab2d89d6be87c83beeb714cac72effe4123280caa1254048cd9ba5d0df357bafe9e958f13466d538cb5648b0c318d22e73deaeff71462ffdc72bb03df5d2 SHA512 466f1eabb7a7b0fbb72d053736ac82ed8b47621b1a57f807ec7d1ef5415ec4da6528b918f198e9625cf70c08c39dd55223df0dabae8c0f11927d368ef392035d
|
||||
DIST cmake-3.31.8-SHA-256.txt.asc 833 BLAKE2B a980155910975cf401f579c6342dd2ef885fc4c28d8a5593b901749a7520966cc24c20db5499c5a67a3034f5e364c613fce6fc0232263382d44de615a3993e85 SHA512 86a5b5e9f54f5c9a4cd70b5d078adb3849719a191cad209efc191afaecd89c5386a54b9a35880e6af0dbf9d67410d0e11e932710fd9d8e61f5f88bec49a8914b
|
||||
DIST cmake-3.31.8.tar.gz 11713806 BLAKE2B 387f14e4dd483a033029ad198cb00901c1eea5755462fbaa0ce38a3ffb9a155e27604cfe0d337c74aa3f156f38fb3ef48b0c545b39a4cb0becf4b552b511bf9d SHA512 07dbb5af1d449760ef92a921e43c0a0a091989ac51ce3f8b7607bf617b8b56e47c675486d3c620c04f1105b7dfa3852b926915e0888ff46ea473cd01e572f461
|
||||
DIST cmake-3.31.9-SHA-256.txt 1646 BLAKE2B 0806782ad7afaafa600e185a8e84ccb9cd4456d65eb8686be4f71f10fffc16996b3dfecc3f5620036b534040d0abf6253a3ae0b7a2e4ad7350b6f7df2bfe75be SHA512 cfe75c647578ed4a60267d08d3794c35ba738ee7f358e969fea067b56f688946dfe2c737ca06fb175f524a7f6af7ffd5b391d48ab9516a280fee41a2c0d8aa2a
|
||||
DIST cmake-3.31.9-SHA-256.txt.asc 833 BLAKE2B d168612ca7bf09b4ee1c12342c147a5fd129719c48c4ca785f0ccb81df61ef61d61cec517d7a0ed6cf408efb2194ff23d7ddbb1f0553ef3e598c92505ba0c7ca SHA512 6dfc53cf097bb3d0563623e6f1170fe31c337049dbb82b3fc3d1f2a7598738a096b5653fd839ff6ad33dbd37eb847f7677ff58a049557c488d6ef47bbddf2a61
|
||||
DIST cmake-3.31.9.tar.gz 11714375 BLAKE2B cfbc9aeff695b99134234171fd515c49eaac8c875b2a84b305da08392d7b886bef756c60ca00ba57b427127fc0a2307b4e9b00cfb1382995466cc0092b549b1f SHA512 4fff8d02d3d1d938184f6a62b7b436404bdbb97a13e697bb10e325a0559e214a6010120f309fd1ed363a6e23b3042bc52a21d5da5b39732537af8bb37f4d4591
|
||||
DIST cmake-4.0.0_rc1-docs.tar.xz 577536 BLAKE2B 74a742ffef8e1af1652746e1c177d4198155145a039635e6a0ea40af463f3a2d45b6c6ce7d3a9b1fee24f0c1cfd1c3aa95c27669ca3c6281d54e701fc0ece202 SHA512 74c20067d3b82493024b2f2711b55b93998ce3b5f35ab5a154f33a8268a35a29d01127c55ce6b85b80ff252d15284ed1065e1338422124f6722a4190a984637c
|
||||
DIST cmake-4.0.3-SHA-256.txt 2015 BLAKE2B a346da6aa064c5b390459ab265680e0835f4a66fae6c957cedce302da13daa31e8387b1113b049d5518a2b0431d6ee9ad8fd10abec9e6b35502f954cc02a15ee SHA512 f1ce0d1d9ca3286d311611de2da19de543105dfedda5f0449648a79d0c4ecb2a221aad540915bdc3f1904966c79c60b828cb8a7e6198a718f6f6906bd07697eb
|
||||
DIST cmake-4.0.3-SHA-256.txt.asc 833 BLAKE2B 0e82305e93eedfe888e2c54590e509aad58f5d634d3112c66ff5eff622619aef53e4d97f67921b5998082117430d541220df6e2e58656749ae8620aad4928a8a SHA512 d502d87bbf5bb24bdd2d6a0a1d97b854dcc09e17b00e6fa9af4610eb5984b46fd2d7a2a01c15e89bbeed25882738fa764d4b7746c4e25c197d9017277c6f95b8
|
||||
DIST cmake-4.0.3.tar.gz 11830216 BLAKE2B 4dc2705baf2404b64da88a5b8838850b782849a4dcdfb0eaefa819ba00a018885a8bd0b42f17f92c8e24b9e76c66e60880377017d8e2d584cb75b2978018e214 SHA512 d3fb9ef408a1b13cd6ef1c294b2515733d1c7220c2c639426bd8037d023ebb439f02e412dd8dd42e385b8e3553547d785eeedc47f2b0843e413b88bd5a7eab18
|
||||
DIST cmake-4.0.4-SHA-256.txt 2015 BLAKE2B 4e7c7e2ef9d4fff4cda2b85f266cc7b1de2dfd0ada2c44ae20d8efc877c9e6ab9bd9a3ae877b103572bad93cbf10b3dcec28c5ba90c712e65aa77469c1e1c40c SHA512 84554190345bfccaa53f97c8c5d852178ed1351ddec61f77c05259a1a5e94d61d87c09398a46e095731fa9c859fa94485d7243cf30ade148adabcf00f0ec6ed8
|
||||
DIST cmake-4.0.4-SHA-256.txt.asc 833 BLAKE2B 890b0f05b5fe949110c6a4343c1d307960127e85a1c8b81ecb6a8fc8bf8f82d34f21d9b5967b661ddf53f173641188a245c12b6a3723d17790c23a8abcb0ac0c SHA512 ca9acb330168d6a027fe6243d2ddbf4256ce084b11a17fd54def3610e065cb8318b97ab1fddf37c087ce87e9edd58a1ec7720fb477e63d681d9f7ee82ac7143b
|
||||
DIST cmake-4.0.4.tar.gz 11830071 BLAKE2B 9ecf401fca4a16944d4499daff6995baa1c37fdac4d75bc3c4f228585612b58786ccff5273c72dae801427897b1da05f71b4ae58835f939c4bc533b4cefed5c5 SHA512 d40959be0c685e7e579557feb0c7682a19139a7d50b7d94f01b4d8d2ce083c1a806891e9f7e10b5bdde436e43a7bed91bea8318214dd6a14237b689bfe5d0041
|
||||
DIST cmake-4.1.0-SHA-256.txt 2015 BLAKE2B cbbe940911a0bfb18a0fb0dcc714ad750f348c1a7f7e176816cc6d9e32e0ae4b3f0c1ace3779e17cb443f2cce2b41bf53d756a20b665a3bdcb95d4acd0b6638f SHA512 e81e07abae94588a5ed9cb62396dba04885ed8ddda98751c991af970509e07e6899896d998b52c04c67e58e81e1af243fc64bf7a127e37027385539c5cf6a050
|
||||
DIST cmake-4.1.0-SHA-256.txt.asc 833 BLAKE2B 28b6415e1e60f81cf3295573ad43e732fbd53b8d8c76b589a56ea9a8abb02bc7de1d0875fe55ffde8588368a1555f8010769b6ffa92ef860a085b15d0b7f5917 SHA512 beb141dbb66c302a6aff1667afa56898f266e9f8d630e75b806bc2e59178ba56f5a84022b5c9d2e24fb8e762168644ba49fe059812750132c2b11b5821ee456a
|
||||
DIST cmake-4.1.0.tar.gz 12042798 BLAKE2B 57e086b18f24d97e386a391151b09fe228feb22fbf0af31f26859069cf269de32b763d1545cdd18f5f73ede1980a83cb21a2b9a8a04a5aa0b08f2525def4c134 SHA512 644b6b13539ba0e7f35a7496e4240b1d3361606163f35b69006e47d03ffd9759d35c62a73826253ed168af4196df29983ec10c0f561ea74d7ed6ffee0c2cd8e4
|
||||
DIST cmake-4.1.1-SHA-256.txt 2015 BLAKE2B 6e8f947ae9bcf0ffbbd379a58c131999ecb1a8030cac646eb50991e22870ec3f5500e4551d6a7d2bfda59470ca0a86c22cb0acfde8b73f07cd7f537aa4b9cb4f SHA512 68d801a10733d8c2580cee08314a4de96eec31b11c046249c0633f5691fdb2cc3f96525ea6fd3d3ec9b21ecd186658e692392d11d40e80927320b545c2e1833c
|
||||
DIST cmake-4.1.1-SHA-256.txt.asc 833 BLAKE2B 25b644d353c54a132b2b7721e92a0ab6ee4b807a3b05f58665925ebdc0a19b1200e46028827a38a97ee61b652ed3f9df37c12cddd19448118bce572401836858 SHA512 cc292de8cc118e795f8de23c07312f8530452ec266b42f2a9c6bbdb05ff4951cdb96fa62472a5df8ec0044eed542ebd0df773f0dbace1aa9826a6056b48c7ca5
|
||||
DIST cmake-4.1.1.tar.gz 12042807 BLAKE2B 8e0806d2d2342c646ca3379dd9481dd27705d84d9720dc572beadd9e8eac48dd27398df6bdade34eb5294416aa62bb075eaa622c28679a82bacafc66f1b165c2 SHA512 40f16fbe66562aec574e08758c7b8a09536b8c7086fe7f6f9123e5255a9fc1aa638b0f88b3812ed5c8e6bc4550d0ee0be304dc71be6c980dbc44d1899d238e30
|
||||
DIST cmake-4.1.2-SHA-256.txt 2015 BLAKE2B f627a8089da03f59bf257d79751f2f46ce48a95eebe79e597faf7f541eef5cb17dde4bb01db3d269efa18167a0c177e808085d813dde72f5d85aa73216ecb81c SHA512 47d8530ec08caaef28f949e0b23dc4a155898b9e72e9f8d038785f74284df0dfc7fb22ffbad3f7d0d17ceeafdc1784090d7c1fca8177dcd9f88d15916d5beeb4
|
||||
DIST cmake-4.1.2-SHA-256.txt.asc 833 BLAKE2B e14f3140aeddc3a63dc2c2a86f6188631a26740d24529508ea363942d12da0565c428da13148108a4fcc6ef79938f14f48e04eade66ec0e3a8c7073242e77023 SHA512 3344bed89dd64533bb74b805af9044af27d490449d2d4eb8491b9c3591e04c86d06bd10955753fd0ad14eef83e26428bb221c88b1eff341dee0d1ba4b2652e1c
|
||||
DIST cmake-4.1.2.tar.gz 12048810 BLAKE2B a15dcfa25d22373bcd0a92109fe9e4a42b37ee4d9bcc1a635cadd13d18f9bafe3a7b08db2cdd0fa0a5269655b873159fffac617ecd7a610f1516c9545691e9a3 SHA512 169b8ebfbd2c880a1f3ed8c3da8d4b8e9252a5a1ff9f0011e39bb3bb84d183f0379eea880b80e2e052c333db91e49b80e5a65131f71fc8582709b604e94bf280
|
||||
|
||||
@ -1,277 +0,0 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-cmake-docs
|
||||
# Set to 1 if prebuilt, 0 if not
|
||||
# (the construct below is to allow overriding from env for script)
|
||||
: ${CMAKE_DOCS_PREBUILT:=1}
|
||||
|
||||
CMAKE_DOCS_PREBUILT_DEV=sam
|
||||
CMAKE_DOCS_VERSION=$(ver_cut 1-2).0
|
||||
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
|
||||
# See bug #784815
|
||||
CMAKE_DOCS_USEFLAG="+doc"
|
||||
|
||||
# TODO RunCMake.LinkWhatYouUse fails consistently w/ ninja
|
||||
# ... but seems fine as of 3.22.3?
|
||||
# TODO ... but bootstrap sometimes(?) fails with ninja now. bug #834759.
|
||||
CMAKE_MAKEFILE_GENERATOR="emake"
|
||||
CMAKE_REMOVE_MODULES_LIST=( none )
|
||||
inherit bash-completion-r1 cmake flag-o-matic multiprocessing \
|
||||
toolchain-funcs xdg-utils
|
||||
|
||||
MY_P="${P/_/-}"
|
||||
|
||||
DESCRIPTION="Cross platform Make"
|
||||
HOMEPAGE="https://cmake.org/"
|
||||
if [[ ${PV} == *9999* ]] ; then
|
||||
CMAKE_DOCS_PREBUILT=0
|
||||
|
||||
EGIT_REPO_URI="https://gitlab.kitware.com/cmake/cmake.git"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz"
|
||||
|
||||
if [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then
|
||||
SRC_URI+=" !doc? ( https://dev.gentoo.org/~${CMAKE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${CMAKE_DOCS_VERSION}-docs.tar.xz )"
|
||||
fi
|
||||
|
||||
if [[ ${PV} != *_rc* ]] ; then
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bradking.asc
|
||||
inherit verify-sig
|
||||
|
||||
SRC_URI+=" verify-sig? (
|
||||
https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt
|
||||
https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt.asc
|
||||
)"
|
||||
|
||||
KEYWORDS="ppc"
|
||||
|
||||
BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20230817 )"
|
||||
fi
|
||||
fi
|
||||
|
||||
[[ ${CMAKE_DOCS_PREBUILT} == 1 ]] && CMAKE_DOCS_USEFLAG="doc"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
IUSE="${CMAKE_DOCS_USEFLAG} dap gui ncurses test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
>=app-arch/libarchive-3.3.3:=
|
||||
app-crypt/rhash:0=
|
||||
>=dev-libs/expat-2.0.1
|
||||
>=dev-libs/jsoncpp-1.9.2-r2:0=
|
||||
>=dev-libs/libuv-1.10.0:=
|
||||
>=net-misc/curl-7.21.5[ssl]
|
||||
sys-libs/zlib
|
||||
virtual/pkgconfig
|
||||
dap? ( dev-cpp/cppdap )
|
||||
gui? ( dev-qt/qtbase:6[gui,widgets] )
|
||||
ncurses? ( sys-libs/ncurses:= )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND+="
|
||||
doc? (
|
||||
dev-python/requests
|
||||
dev-python/sphinx
|
||||
)
|
||||
test? ( app-arch/libarchive[zstd] )
|
||||
"
|
||||
|
||||
SITEFILE="50${PN}-gentoo.el"
|
||||
|
||||
PATCHES=(
|
||||
# Prefix
|
||||
"${FILESDIR}"/${PN}-3.27.0_rc1-0001-Don-t-use-.so-for-modules-on-darwin-macos.-Use-.bund.patch
|
||||
"${FILESDIR}"/${PN}-3.27.0_rc1-0002-Set-some-proper-paths-to-make-cmake-find-our-tools.patch
|
||||
# Misc
|
||||
"${FILESDIR}"/${PN}-3.27.0_rc1-0003-Prefer-pkgconfig-in-FindBLAS.patch
|
||||
"${FILESDIR}"/${PN}-3.27.0_rc1-0004-Ensure-that-the-correct-version-of-Qt-is-always-used.patch
|
||||
"${FILESDIR}"/${PN}-3.27.0_rc1-0005-Respect-Gentoo-s-Python-eclasses.patch
|
||||
"${FILESDIR}"/${PN}-3.27.0_rc1-0006-Filter-out-distcc-warnings-to-avoid-confusing-CMake.patch
|
||||
|
||||
# Upstream fixes (can usually be removed with a version bump)
|
||||
"${FILESDIR}"/${PN}-3.31.6-curl-8.13.0.patch
|
||||
"${FILESDIR}"/${PN}-3.28.5-curl-8.16.0.patch
|
||||
)
|
||||
|
||||
cmake_src_bootstrap() {
|
||||
# disable running of cmake in bootstrap command
|
||||
sed -i \
|
||||
-e '/"${cmake_bootstrap_dir}\/cmake"/s/^/#DONOTRUN /' \
|
||||
bootstrap || die "sed failed"
|
||||
|
||||
# execinfo.h on Solaris isn't quite what it is on Darwin
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
sed -i -e 's/execinfo\.h/blablabla.h/' \
|
||||
Source/kwsys/CMakeLists.txt || die
|
||||
fi
|
||||
|
||||
# bootstrap script isn't exactly /bin/sh compatible
|
||||
tc-env_build ${CONFIG_SHELL:-sh} ./bootstrap \
|
||||
--prefix="${T}/cmakestrap/" \
|
||||
--parallel=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") \
|
||||
|| die "Bootstrap failed"
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
git-r3_src_unpack
|
||||
elif [[ ${PV} == *_rc* ]] || ! use verify-sig ; then
|
||||
default
|
||||
else
|
||||
cd "${DISTDIR}" || die
|
||||
|
||||
# See https://mgorny.pl/articles/verify-sig-by-example.html#verifying-using-a-checksum-file-with-a-detached-signature
|
||||
verify-sig_verify_detached ${MY_P}-SHA-256.txt{,.asc}
|
||||
verify-sig_verify_unsigned_checksums ${MY_P}-SHA-256.txt sha256 ${MY_P}.tar.gz
|
||||
|
||||
cd "${WORKDIR}" || die
|
||||
|
||||
default
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
cmake_src_prepare
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
# Disable Xcode hooks, bug #652134
|
||||
sed -i -e 's/cm\(\|Global\|Local\)XCode[^.]\+\.\(cxx\|h\)//' \
|
||||
Source/CMakeLists.txt || die
|
||||
sed -i -e '/define CMAKE_USE_XCODE/s/XCODE/NO_XCODE/' \
|
||||
-e '/cmGlobalXCodeGenerator.h/d' \
|
||||
Source/cmake.cxx || die
|
||||
|
||||
# Disable isysroot usage with GCC, we've properly instructed
|
||||
# where things are via GCC configuration and ldwrapper
|
||||
sed -i -e '/cmake_gnu_set_sysroot_flag/d' \
|
||||
Modules/Platform/Apple-GNU-*.cmake || die
|
||||
# Disable isysroot usage with clang as well
|
||||
sed -i -e '/_SYSROOT_FLAG/d' \
|
||||
Modules/Platform/Apple-Clang.cmake || die
|
||||
# Don't set a POSIX standard, system headers don't like that, #757426
|
||||
sed -i -e 's/^#if !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \
|
||||
Source/cmLoadCommandCommand.cxx \
|
||||
Source/cmStandardLexer.h \
|
||||
Source/cmSystemTools.cxx \
|
||||
Source/cmTimestamp.cxx
|
||||
sed -i -e 's/^#if !defined(_POSIX_C_SOURCE) && !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \
|
||||
Source/cmStandardLexer.h
|
||||
fi
|
||||
|
||||
# Add gcc libs to the default link paths
|
||||
sed -i \
|
||||
-e "s|@GENTOO_PORTAGE_GCCLIBDIR@|${EPREFIX}/usr/${CHOST}/lib/|g" \
|
||||
-e "$(usex prefix-guest "s|@GENTOO_HOST@||" "/@GENTOO_HOST@/d")" \
|
||||
-e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \
|
||||
Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed"
|
||||
|
||||
## in theory we could handle these flags in src_configure, as we do in many other packages. But we *must*
|
||||
## handle them as part of bootstrapping, sadly.
|
||||
|
||||
# Fix linking on Solaris
|
||||
[[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl
|
||||
|
||||
# ODR warnings, bug #858335
|
||||
# https://gitlab.kitware.com/cmake/cmake/-/issues/20740
|
||||
filter-lto
|
||||
|
||||
if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then
|
||||
CMAKE_BINARY="${S}/Bootstrap.cmk/cmake"
|
||||
cmake_src_bootstrap
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DCMAKE_USE_SYSTEM_LIBRARIES=ON
|
||||
-DCMake_ENABLE_DEBUGGER=$(usex dap)
|
||||
-DCMAKE_DOC_DIR=/share/doc/${PF}
|
||||
-DCMAKE_MAN_DIR=/share/man
|
||||
-DCMAKE_DATA_DIR=/share/${PN}
|
||||
-DSPHINX_MAN=$(usex doc)
|
||||
-DSPHINX_HTML=$(usex doc)
|
||||
-DBUILD_CursesDialog="$(usex ncurses)"
|
||||
-DBUILD_TESTING=$(usex test)
|
||||
-DBUILD_QtDialog=$(usex gui)
|
||||
)
|
||||
|
||||
use gui && mycmakeargs+=( -DCMake_QT_MAJOR_VERSION=6 )
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Fix OutDir and SelectLibraryConfigurations tests
|
||||
# these are altered thanks to our eclass
|
||||
sed -i -e 's:^#_cmake_modify_IGNORE ::g' \
|
||||
"${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \
|
||||
|| die
|
||||
|
||||
pushd "${BUILD_DIR}" > /dev/null || die
|
||||
|
||||
# Excluded tests:
|
||||
# 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
|
||||
# Fortran: requires fortran
|
||||
# RunCMake.CompilerLauncher: also requires fortran
|
||||
# RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because
|
||||
# debugedit binary is not in the expected location
|
||||
# RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because
|
||||
# it can't find a deb package that owns libc
|
||||
# TestUpload, which requires network access
|
||||
# RunCMake.CMP0125, known failure reported upstream (bug #829414)
|
||||
local myctestargs=(
|
||||
--output-on-failure
|
||||
-E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload|RunCMake.CMP0125)" \
|
||||
)
|
||||
|
||||
local -x QT_QPA_PLATFORM=offscreen
|
||||
|
||||
cmake_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
|
||||
# If USE=doc, there'll be newly generated docs which we install instead.
|
||||
if ! use doc && [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then
|
||||
doman "${WORKDIR}"/${PN}-${CMAKE_DOCS_VERSION}-docs/man*/*.[0-8]
|
||||
fi
|
||||
|
||||
insinto /usr/share/vim/vimfiles/syntax
|
||||
doins Auxiliary/vim/syntax/cmake.vim
|
||||
|
||||
insinto /usr/share/vim/vimfiles/indent
|
||||
doins Auxiliary/vim/indent/cmake.vim
|
||||
|
||||
insinto /usr/share/vim/vimfiles/ftdetect
|
||||
doins "${FILESDIR}/${PN}.vim"
|
||||
|
||||
dobashcomp Auxiliary/bash-completion/{${PN},ctest,cpack}
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if use gui; then
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
if use gui; then
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
fi
|
||||
}
|
||||
@ -1,315 +0,0 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-cmake-docs
|
||||
# Set to 1 if prebuilt, 0 if not
|
||||
# (the construct below is to allow overriding from env for script)
|
||||
: ${CMAKE_DOCS_PREBUILT:=1}
|
||||
|
||||
CMAKE_DOCS_PREBUILT_DEV=sam
|
||||
CMAKE_DOCS_VERSION=$(ver_cut 1-2).0
|
||||
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
|
||||
# See bug #784815
|
||||
CMAKE_DOCS_USEFLAG="+doc"
|
||||
|
||||
# TODO RunCMake.LinkWhatYouUse fails consistently w/ ninja
|
||||
# ... but seems fine as of 3.22.3?
|
||||
# TODO ... but bootstrap sometimes(?) fails with ninja now. bug #834759.
|
||||
CMAKE_MAKEFILE_GENERATOR="emake"
|
||||
CMAKE_REMOVE_MODULES_LIST=( none )
|
||||
inherit bash-completion-r1 cmake flag-o-matic multiprocessing \
|
||||
toolchain-funcs xdg-utils
|
||||
|
||||
MY_P="${P/_/-}"
|
||||
|
||||
DESCRIPTION="Cross platform Make"
|
||||
HOMEPAGE="https://cmake.org/"
|
||||
if [[ ${PV} == *9999* ]] ; then
|
||||
CMAKE_DOCS_PREBUILT=0
|
||||
|
||||
EGIT_REPO_URI="https://gitlab.kitware.com/cmake/cmake.git"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz"
|
||||
|
||||
if [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then
|
||||
SRC_URI+=" !doc? ( https://dev.gentoo.org/~${CMAKE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${CMAKE_DOCS_VERSION}-docs.tar.xz )"
|
||||
fi
|
||||
|
||||
if [[ ${PV} != *_rc* ]] ; then
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bradking.asc
|
||||
inherit verify-sig
|
||||
|
||||
SRC_URI+=" verify-sig? (
|
||||
https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt
|
||||
https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt.asc
|
||||
)"
|
||||
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
|
||||
BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20240902 )"
|
||||
fi
|
||||
fi
|
||||
|
||||
[[ ${CMAKE_DOCS_PREBUILT} == 1 ]] && CMAKE_DOCS_USEFLAG="doc"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
IUSE="${CMAKE_DOCS_USEFLAG} dap gui ncurses test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
>=app-arch/libarchive-3.3.3:=
|
||||
app-crypt/rhash:0=
|
||||
>=dev-libs/expat-2.0.1
|
||||
>=dev-libs/jsoncpp-1.9.2-r2:0=
|
||||
>=dev-libs/libuv-1.10.0:=
|
||||
>=net-misc/curl-7.21.5[ssl]
|
||||
sys-libs/zlib
|
||||
virtual/pkgconfig
|
||||
dap? ( dev-cpp/cppdap )
|
||||
gui? ( dev-qt/qtbase:6[gui,widgets] )
|
||||
ncurses? ( sys-libs/ncurses:= )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND+="
|
||||
doc? (
|
||||
dev-python/requests
|
||||
dev-python/sphinx
|
||||
)
|
||||
test? ( app-arch/libarchive[zstd] )
|
||||
"
|
||||
|
||||
SITEFILE="50${PN}-gentoo.el"
|
||||
|
||||
PATCHES=(
|
||||
# Prefix
|
||||
"${FILESDIR}"/${PN}-3.27.0_rc1-0001-Don-t-use-.so-for-modules-on-darwin-macos.-Use-.bund.patch
|
||||
"${FILESDIR}"/${PN}-3.27.0_rc1-0002-Set-some-proper-paths-to-make-cmake-find-our-tools.patch
|
||||
# Misc
|
||||
"${FILESDIR}"/${PN}-3.27.0_rc1-0003-Prefer-pkgconfig-in-FindBLAS.patch
|
||||
"${FILESDIR}"/${PN}-3.27.0_rc1-0004-Ensure-that-the-correct-version-of-Qt-is-always-used.patch
|
||||
"${FILESDIR}"/${PN}-3.27.0_rc1-0005-Respect-Gentoo-s-Python-eclasses.patch
|
||||
# Cuda
|
||||
"${FILESDIR}/${PN}-3.30.3-cudahostld.patch"
|
||||
|
||||
# Upstream fixes (can usually be removed with a version bump)
|
||||
"${FILESDIR}"/${PN}-3.31.6-curl-8.13.0.patch
|
||||
"${FILESDIR}/${PN}-4.1.1-curl-8.16.0.patch"
|
||||
)
|
||||
|
||||
cmake_src_bootstrap() {
|
||||
# disable running of cmake in bootstrap command
|
||||
sed -i \
|
||||
-e '/"${cmake_bootstrap_dir}\/cmake"/s/^/#DONOTRUN /' \
|
||||
bootstrap || die "sed failed"
|
||||
|
||||
# execinfo.h on Solaris isn't quite what it is on Darwin
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
sed -i -e 's/execinfo\.h/blablabla.h/' \
|
||||
Source/kwsys/CMakeLists.txt || die
|
||||
fi
|
||||
|
||||
# bootstrap script isn't exactly /bin/sh compatible
|
||||
tc-env_build ${CONFIG_SHELL:-sh} ./bootstrap \
|
||||
--prefix="${T}/cmakestrap/" \
|
||||
--parallel=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") \
|
||||
|| die "Bootstrap failed"
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
if [[ -z ${EPREFIX} ]] ; then
|
||||
local file
|
||||
local errant_files=()
|
||||
|
||||
# See bug #599684 and bug #753581 (at least)
|
||||
for file in /etc/arch-release /etc/redhat-release /etc/debian_version ; do
|
||||
if [[ -e ${file} ]]; then
|
||||
errant_files+=( "${file}" )
|
||||
fi
|
||||
done
|
||||
|
||||
# If errant files exist
|
||||
if [[ ${#errant_files[@]} -gt 0 ]]; then
|
||||
eerror "Errant files found!"
|
||||
eerror "The presence of these files is known to confuse CMake's"
|
||||
eerror "library path logic. Please (re)move these files:"
|
||||
|
||||
for file in "${errant_files[@]}"; do
|
||||
eerror " mv ${file} ${file}.bak"
|
||||
done
|
||||
|
||||
die "Stray files found in /etc/, see above message"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
git-r3_src_unpack
|
||||
elif [[ ${PV} == *_rc* ]] || ! use verify-sig ; then
|
||||
default
|
||||
else
|
||||
cd "${DISTDIR}" || die
|
||||
|
||||
# See https://mgorny.pl/articles/verify-sig-by-example.html#verifying-using-a-checksum-file-with-a-detached-signature
|
||||
verify-sig_verify_detached ${MY_P}-SHA-256.txt{,.asc}
|
||||
verify-sig_verify_unsigned_checksums ${MY_P}-SHA-256.txt sha256 ${MY_P}.tar.gz
|
||||
|
||||
cd "${WORKDIR}" || die
|
||||
|
||||
default
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
cmake_src_prepare
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
# Disable Xcode hooks, bug #652134
|
||||
sed -i -e 's/cm\(\|Global\|Local\)XCode[^.]\+\.\(cxx\|h\)//' \
|
||||
Source/CMakeLists.txt || die
|
||||
sed -i -e '/define CMAKE_USE_XCODE/s/XCODE/NO_XCODE/' \
|
||||
-e '/cmGlobalXCodeGenerator.h/d' \
|
||||
Source/cmake.cxx || die
|
||||
# Disable system integration, bug #933744
|
||||
sed -i -e 's/__APPLE__/__DISABLED__/' \
|
||||
Source/cmFindProgramCommand.cxx \
|
||||
Source/CPack/cmCPackGeneratorFactory.cxx || die
|
||||
sed -i -e 's/__MAC_OS_X_VERSION_MIN_REQUIRED/__DISABLED__/' \
|
||||
Source/cmMachO.cxx || die
|
||||
sed -i -e 's:CPack/cmCPack\(Bundle\|DragNDrop\|PKG\|ProductBuild\)Generator.cxx::' \
|
||||
Source/CMakeLists.txt || die
|
||||
|
||||
# Disable isysroot usage with GCC, we've properly instructed
|
||||
# where things are via GCC configuration and ldwrapper
|
||||
sed -i -e '/cmake_gnu_set_sysroot_flag/d' \
|
||||
Modules/Platform/Apple-GNU-*.cmake || die
|
||||
# Disable isysroot usage with clang as well
|
||||
sed -i -e '/_SYSROOT_FLAG/d' \
|
||||
Modules/Platform/Apple-Clang.cmake || die
|
||||
# Don't set a POSIX standard, system headers don't like that, #757426
|
||||
sed -i -e 's/^#if !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \
|
||||
Source/cmLoadCommandCommand.cxx \
|
||||
Source/cmStandardLexer.h \
|
||||
Source/cmSystemTools.cxx \
|
||||
Source/cmTimestamp.cxx
|
||||
sed -i -e 's/^#if !defined(_POSIX_C_SOURCE) && !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \
|
||||
Source/cmStandardLexer.h
|
||||
fi
|
||||
|
||||
# Add gcc libs to the default link paths
|
||||
sed -i \
|
||||
-e "s|@GENTOO_PORTAGE_GCCLIBDIR@|${EPREFIX}/usr/${CHOST}/lib/|g" \
|
||||
-e "$(usex prefix-guest "s|@GENTOO_HOST@||" "/@GENTOO_HOST@/d")" \
|
||||
-e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \
|
||||
Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed"
|
||||
|
||||
## in theory we could handle these flags in src_configure, as we do in many other packages. But we *must*
|
||||
## handle them as part of bootstrapping, sadly.
|
||||
|
||||
# Fix linking on Solaris
|
||||
[[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl
|
||||
|
||||
# ODR warnings, bug #858335
|
||||
# https://gitlab.kitware.com/cmake/cmake/-/issues/20740
|
||||
filter-lto
|
||||
|
||||
if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then
|
||||
CMAKE_BINARY="${S}/Bootstrap.cmk/cmake"
|
||||
cmake_src_bootstrap
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DCMAKE_USE_SYSTEM_LIBRARIES=ON
|
||||
-DCMake_ENABLE_DEBUGGER=$(usex dap)
|
||||
-DCMAKE_DOC_DIR=/share/doc/${PF}
|
||||
-DCMAKE_MAN_DIR=/share/man
|
||||
-DCMAKE_DATA_DIR=/share/${PN}
|
||||
-DSPHINX_MAN=$(usex doc)
|
||||
-DSPHINX_HTML=$(usex doc)
|
||||
-DBUILD_CursesDialog="$(usex ncurses)"
|
||||
-DBUILD_TESTING=$(usex test)
|
||||
-DBUILD_QtDialog=$(usex gui)
|
||||
)
|
||||
|
||||
use gui && mycmakeargs+=( -DCMake_QT_MAJOR_VERSION=6 )
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Fix OutDir and SelectLibraryConfigurations tests
|
||||
# these are altered thanks to our eclass
|
||||
sed -i -e 's:^#_cmake_modify_IGNORE ::g' \
|
||||
"${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \
|
||||
|| die
|
||||
|
||||
unset CLICOLOR CLICOLOR_FORCE CMAKE_COMPILER_COLOR_DIAGNOSTICS CMAKE_COLOR_DIAGNOSTICS
|
||||
|
||||
pushd "${BUILD_DIR}" > /dev/null || die
|
||||
|
||||
# Excluded tests:
|
||||
# BootstrapTest: we 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
|
||||
# Fortran: requires fortran
|
||||
# RunCMake.CompilerLauncher: also requires fortran
|
||||
# RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because
|
||||
# debugedit binary is not in the expected location
|
||||
# RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because
|
||||
# it can't find a deb package that owns libc
|
||||
# TestUpload, which requires network access
|
||||
# RunCMake.CMP0125, known failure reported upstream (bug #829414)
|
||||
local myctestargs=(
|
||||
--output-on-failure
|
||||
-E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload|RunCMake.CMP0125)" \
|
||||
)
|
||||
|
||||
local -x QT_QPA_PLATFORM=offscreen
|
||||
|
||||
cmake_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
|
||||
# If USE=doc, there'll be newly generated docs which we install instead.
|
||||
if ! use doc && [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then
|
||||
doman "${WORKDIR}"/${PN}-${CMAKE_DOCS_VERSION}-docs/man*/*.[0-8]
|
||||
fi
|
||||
|
||||
insinto /usr/share/vim/vimfiles/syntax
|
||||
doins Auxiliary/vim/syntax/cmake.vim
|
||||
|
||||
insinto /usr/share/vim/vimfiles/indent
|
||||
doins Auxiliary/vim/indent/cmake.vim
|
||||
|
||||
insinto /usr/share/vim/vimfiles/ftdetect
|
||||
doins "${FILESDIR}/${PN}.vim"
|
||||
|
||||
dobashcomp Auxiliary/bash-completion/{${PN},ctest,cpack}
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if use gui; then
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
if use gui; then
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
fi
|
||||
}
|
||||
@ -1,315 +0,0 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-cmake-docs
|
||||
# Set to 1 if prebuilt, 0 if not
|
||||
# (the construct below is to allow overriding from env for script)
|
||||
: ${CMAKE_DOCS_PREBUILT:=1}
|
||||
|
||||
CMAKE_DOCS_PREBUILT_DEV=sam
|
||||
CMAKE_DOCS_VERSION=$(ver_cut 1-2).0
|
||||
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
|
||||
# See bug #784815
|
||||
CMAKE_DOCS_USEFLAG="+doc"
|
||||
|
||||
# TODO RunCMake.LinkWhatYouUse fails consistently w/ ninja
|
||||
# ... but seems fine as of 3.22.3?
|
||||
# TODO ... but bootstrap sometimes(?) fails with ninja now. bug #834759.
|
||||
CMAKE_MAKEFILE_GENERATOR="emake"
|
||||
CMAKE_REMOVE_MODULES_LIST=( none )
|
||||
inherit bash-completion-r1 cmake flag-o-matic multiprocessing \
|
||||
toolchain-funcs xdg-utils
|
||||
|
||||
MY_P="${P/_/-}"
|
||||
|
||||
DESCRIPTION="Cross platform Make"
|
||||
HOMEPAGE="https://cmake.org/"
|
||||
if [[ ${PV} == *9999* ]] ; then
|
||||
CMAKE_DOCS_PREBUILT=0
|
||||
|
||||
EGIT_REPO_URI="https://gitlab.kitware.com/cmake/cmake.git"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz"
|
||||
|
||||
if [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then
|
||||
SRC_URI+=" !doc? ( https://dev.gentoo.org/~${CMAKE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${CMAKE_DOCS_VERSION}-docs.tar.xz )"
|
||||
fi
|
||||
|
||||
if [[ ${PV} != *_rc* ]] ; then
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bradking.asc
|
||||
inherit verify-sig
|
||||
|
||||
SRC_URI+=" verify-sig? (
|
||||
https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt
|
||||
https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt.asc
|
||||
)"
|
||||
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
|
||||
BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20240902 )"
|
||||
fi
|
||||
fi
|
||||
|
||||
[[ ${CMAKE_DOCS_PREBUILT} == 1 ]] && CMAKE_DOCS_USEFLAG="doc"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
IUSE="${CMAKE_DOCS_USEFLAG} dap gui ncurses test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
>=app-arch/libarchive-3.3.3:=
|
||||
app-crypt/rhash:0=
|
||||
>=dev-libs/expat-2.0.1
|
||||
>=dev-libs/jsoncpp-1.9.2-r2:0=
|
||||
>=dev-libs/libuv-1.10.0:=
|
||||
>=net-misc/curl-7.21.5[ssl]
|
||||
sys-libs/zlib
|
||||
virtual/pkgconfig
|
||||
dap? ( dev-cpp/cppdap )
|
||||
gui? ( dev-qt/qtbase:6[gui,widgets] )
|
||||
ncurses? ( sys-libs/ncurses:= )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND+="
|
||||
doc? (
|
||||
dev-python/requests
|
||||
dev-python/sphinx
|
||||
)
|
||||
test? ( app-arch/libarchive[zstd] )
|
||||
"
|
||||
|
||||
SITEFILE="50${PN}-gentoo.el"
|
||||
|
||||
PATCHES=(
|
||||
# Prefix
|
||||
"${FILESDIR}"/${PN}-3.27.0_rc1-0001-Don-t-use-.so-for-modules-on-darwin-macos.-Use-.bund.patch
|
||||
"${FILESDIR}"/${PN}-3.27.0_rc1-0002-Set-some-proper-paths-to-make-cmake-find-our-tools.patch
|
||||
# Misc
|
||||
"${FILESDIR}"/${PN}-3.31.6-Prefer-pkgconfig-in-FindBLAS.patch
|
||||
"${FILESDIR}"/${PN}-3.27.0_rc1-0004-Ensure-that-the-correct-version-of-Qt-is-always-used.patch
|
||||
"${FILESDIR}"/${PN}-3.27.0_rc1-0005-Respect-Gentoo-s-Python-eclasses.patch
|
||||
# Cuda
|
||||
"${FILESDIR}"/${PN}-3.30.3-cudahostld.patch
|
||||
|
||||
# Upstream fixes (can usually be removed with a version bump)
|
||||
"${FILESDIR}"/${PN}-3.31.7-hdf5.patch
|
||||
"${FILESDIR}/${PN}-4.1.1-curl-8.16.0.patch"
|
||||
)
|
||||
|
||||
cmake_src_bootstrap() {
|
||||
# disable running of cmake in bootstrap command
|
||||
sed -i \
|
||||
-e '/"${cmake_bootstrap_dir}\/cmake"/s/^/#DONOTRUN /' \
|
||||
bootstrap || die "sed failed"
|
||||
|
||||
# execinfo.h on Solaris isn't quite what it is on Darwin
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
sed -i -e 's/execinfo\.h/blablabla.h/' \
|
||||
Source/kwsys/CMakeLists.txt || die
|
||||
fi
|
||||
|
||||
# bootstrap script isn't exactly /bin/sh compatible
|
||||
tc-env_build ${CONFIG_SHELL:-sh} ./bootstrap \
|
||||
--prefix="${T}/cmakestrap/" \
|
||||
--parallel=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") \
|
||||
|| die "Bootstrap failed"
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
if [[ -z ${EPREFIX} ]] ; then
|
||||
local file
|
||||
local errant_files=()
|
||||
|
||||
# See bug #599684 and bug #753581 (at least)
|
||||
for file in /etc/arch-release /etc/redhat-release /etc/debian_version ; do
|
||||
if [[ -e ${file} ]]; then
|
||||
errant_files+=( "${file}" )
|
||||
fi
|
||||
done
|
||||
|
||||
# If errant files exist
|
||||
if [[ ${#errant_files[@]} -gt 0 ]]; then
|
||||
eerror "Errant files found!"
|
||||
eerror "The presence of these files is known to confuse CMake's"
|
||||
eerror "library path logic. Please (re)move these files:"
|
||||
|
||||
for file in "${errant_files[@]}"; do
|
||||
eerror " mv ${file} ${file}.bak"
|
||||
done
|
||||
|
||||
die "Stray files found in /etc/, see above message"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
git-r3_src_unpack
|
||||
elif [[ ${PV} == *_rc* ]] || ! use verify-sig ; then
|
||||
default
|
||||
else
|
||||
cd "${DISTDIR}" || die
|
||||
|
||||
# See https://mgorny.pl/articles/verify-sig-by-example.html#verifying-using-a-checksum-file-with-a-detached-signature
|
||||
verify-sig_verify_detached ${MY_P}-SHA-256.txt{,.asc}
|
||||
verify-sig_verify_unsigned_checksums ${MY_P}-SHA-256.txt sha256 ${MY_P}.tar.gz
|
||||
|
||||
cd "${WORKDIR}" || die
|
||||
|
||||
default
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
cmake_src_prepare
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
# Disable Xcode hooks, bug #652134
|
||||
sed -i -e 's/cm\(\|Global\|Local\)XCode[^.]\+\.\(cxx\|h\)//' \
|
||||
Source/CMakeLists.txt || die
|
||||
sed -i -e '/define CMAKE_USE_XCODE/s/XCODE/NO_XCODE/' \
|
||||
-e '/cmGlobalXCodeGenerator.h/d' \
|
||||
Source/cmake.cxx || die
|
||||
# Disable system integration, bug #933744
|
||||
sed -i -e 's/__APPLE__/__DISABLED__/' \
|
||||
Source/cmFindProgramCommand.cxx \
|
||||
Source/CPack/cmCPackGeneratorFactory.cxx || die
|
||||
sed -i -e 's/__MAC_OS_X_VERSION_MIN_REQUIRED/__DISABLED__/' \
|
||||
Source/cmMachO.cxx || die
|
||||
sed -i -e 's:CPack/cmCPack\(Bundle\|DragNDrop\|PKG\|ProductBuild\)Generator.cxx::' \
|
||||
Source/CMakeLists.txt || die
|
||||
|
||||
# Disable isysroot usage with GCC, we've properly instructed
|
||||
# where things are via GCC configuration and ldwrapper
|
||||
sed -i -e '/cmake_gnu_set_sysroot_flag/d' \
|
||||
Modules/Platform/Apple-GNU-*.cmake || die
|
||||
# Disable isysroot usage with clang as well
|
||||
sed -i -e '/_SYSROOT_FLAG/d' \
|
||||
Modules/Platform/Apple-Clang.cmake || die
|
||||
# Don't set a POSIX standard, system headers don't like that, #757426
|
||||
sed -i -e 's/^#if !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \
|
||||
Source/cmLoadCommandCommand.cxx \
|
||||
Source/cmStandardLexer.h \
|
||||
Source/cmSystemTools.cxx \
|
||||
Source/cmTimestamp.cxx
|
||||
sed -i -e 's/^#if !defined(_POSIX_C_SOURCE) && !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \
|
||||
Source/cmStandardLexer.h
|
||||
fi
|
||||
|
||||
# Add gcc libs to the default link paths
|
||||
sed -i \
|
||||
-e "s|@GENTOO_PORTAGE_GCCLIBDIR@|${EPREFIX}/usr/${CHOST}/lib/|g" \
|
||||
-e "$(usex prefix-guest "s|@GENTOO_HOST@||" "/@GENTOO_HOST@/d")" \
|
||||
-e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \
|
||||
Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed"
|
||||
|
||||
## in theory we could handle these flags in src_configure, as we do in many other packages. But we *must*
|
||||
## handle them as part of bootstrapping, sadly.
|
||||
|
||||
# Fix linking on Solaris
|
||||
[[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl
|
||||
|
||||
# ODR warnings, bug #858335
|
||||
# https://gitlab.kitware.com/cmake/cmake/-/issues/20740
|
||||
filter-lto
|
||||
|
||||
if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then
|
||||
CMAKE_BINARY="${S}/Bootstrap.cmk/cmake"
|
||||
cmake_src_bootstrap
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DCMAKE_USE_SYSTEM_LIBRARIES=ON
|
||||
-DCMake_ENABLE_DEBUGGER=$(usex dap)
|
||||
-DCMAKE_DOC_DIR=/share/doc/${PF}
|
||||
-DCMAKE_MAN_DIR=/share/man
|
||||
-DCMAKE_DATA_DIR=/share/${PN}
|
||||
-DSPHINX_MAN=$(usex doc)
|
||||
-DSPHINX_HTML=$(usex doc)
|
||||
-DBUILD_CursesDialog="$(usex ncurses)"
|
||||
-DBUILD_TESTING=$(usex test)
|
||||
-DBUILD_QtDialog=$(usex gui)
|
||||
)
|
||||
|
||||
use gui && mycmakeargs+=( -DCMake_QT_MAJOR_VERSION=6 )
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Fix OutDir and SelectLibraryConfigurations tests
|
||||
# these are altered thanks to our eclass
|
||||
sed -i -e 's:^#_cmake_modify_IGNORE ::g' \
|
||||
"${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \
|
||||
|| die
|
||||
|
||||
unset CLICOLOR CLICOLOR_FORCE CMAKE_COMPILER_COLOR_DIAGNOSTICS CMAKE_COLOR_DIAGNOSTICS
|
||||
|
||||
pushd "${BUILD_DIR}" > /dev/null || die
|
||||
|
||||
# Excluded tests:
|
||||
# BootstrapTest: we 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
|
||||
# Fortran: requires fortran
|
||||
# RunCMake.CompilerLauncher: also requires fortran
|
||||
# RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because
|
||||
# debugedit binary is not in the expected location
|
||||
# RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because
|
||||
# it can't find a deb package that owns libc
|
||||
# TestUpload, which requires network access
|
||||
# RunCMake.CMP0125, known failure reported upstream (bug #829414)
|
||||
local myctestargs=(
|
||||
--output-on-failure
|
||||
-E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload|RunCMake.CMP0125)" \
|
||||
)
|
||||
|
||||
local -x QT_QPA_PLATFORM=offscreen
|
||||
|
||||
cmake_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
|
||||
# If USE=doc, there'll be newly generated docs which we install instead.
|
||||
if ! use doc && [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then
|
||||
doman "${WORKDIR}"/${PN}-${CMAKE_DOCS_VERSION}-docs/man*/*.[0-8]
|
||||
fi
|
||||
|
||||
insinto /usr/share/vim/vimfiles/syntax
|
||||
doins Auxiliary/vim/syntax/cmake.vim
|
||||
|
||||
insinto /usr/share/vim/vimfiles/indent
|
||||
doins Auxiliary/vim/indent/cmake.vim
|
||||
|
||||
insinto /usr/share/vim/vimfiles/ftdetect
|
||||
doins "${FILESDIR}/${PN}.vim"
|
||||
|
||||
dobashcomp Auxiliary/bash-completion/{${PN},ctest,cpack}
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if use gui; then
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
if use gui; then
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
fi
|
||||
}
|
||||
@ -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
|
||||
@ -62,12 +62,13 @@ SLOT="0"
|
||||
IUSE="${CMAKE_DOCS_USEFLAG} dap gui ncurses test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# >= 1.51.0-r1 for ppc32 workaround (bug #941738)
|
||||
RDEPEND="
|
||||
>=app-arch/libarchive-3.3.3:=
|
||||
app-crypt/rhash:0=
|
||||
>=dev-libs/expat-2.0.1
|
||||
>=dev-libs/jsoncpp-1.9.2-r2:0=
|
||||
>=dev-libs/libuv-1.10.0:=
|
||||
>=dev-libs/libuv-1.51.0-r1:=
|
||||
>=net-misc/curl-7.21.5[ssl]
|
||||
sys-libs/zlib
|
||||
virtual/pkgconfig
|
||||
@ -99,7 +100,6 @@ PATCHES=(
|
||||
|
||||
# Upstream fixes (can usually be removed with a version bump)
|
||||
"${FILESDIR}"/${PN}-3.31.7-hdf5.patch
|
||||
"${FILESDIR}/${PN}-4.1.1-curl-8.16.0.patch"
|
||||
)
|
||||
|
||||
cmake_src_bootstrap() {
|
||||
@ -1,323 +0,0 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-cmake-docs
|
||||
# Set to 1 if prebuilt, 0 if not
|
||||
# (the construct below is to allow overriding from env for script)
|
||||
: ${CMAKE_DOCS_PREBUILT:=1}
|
||||
|
||||
CMAKE_DOCS_PREBUILT_DEV=sam
|
||||
CMAKE_DOCS_VERSION=4.0.0_rc1
|
||||
#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"
|
||||
|
||||
# TODO RunCMake.LinkWhatYouUse fails consistently w/ ninja
|
||||
# ... but seems fine as of 3.22.3?
|
||||
# TODO ... but bootstrap sometimes(?) fails with ninja now. bug #834759.
|
||||
CMAKE_MAKEFILE_GENERATOR="emake"
|
||||
CMAKE_REMOVE_MODULES_LIST=( none )
|
||||
inherit bash-completion-r1 cmake flag-o-matic multiprocessing \
|
||||
toolchain-funcs xdg-utils
|
||||
|
||||
MY_P="${P/_/-}"
|
||||
|
||||
DESCRIPTION="Cross platform Make"
|
||||
HOMEPAGE="https://cmake.org/"
|
||||
if [[ ${PV} == *9999* ]] ; then
|
||||
CMAKE_DOCS_PREBUILT=0
|
||||
|
||||
EGIT_REPO_URI="https://gitlab.kitware.com/cmake/cmake.git"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz"
|
||||
|
||||
if [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then
|
||||
SRC_URI+=" !doc? ( https://dev.gentoo.org/~${CMAKE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${CMAKE_DOCS_VERSION}-docs.tar.xz )"
|
||||
fi
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bradking.asc
|
||||
inherit verify-sig
|
||||
|
||||
SRC_URI+=" verify-sig? (
|
||||
https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}-SHA-256.txt
|
||||
https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}-SHA-256.txt.asc
|
||||
https://github.com/Kitware/CMake/releases/download/v${PV/_/-}/${MY_P}-SHA-256.txt
|
||||
https://github.com/Kitware/CMake/releases/download/v${PV/_/-}/${MY_P}-SHA-256.txt.asc
|
||||
)"
|
||||
|
||||
if [[ ${PV} != *_rc* ]] ; then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
|
||||
BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20240902 )"
|
||||
fi
|
||||
|
||||
[[ ${CMAKE_DOCS_PREBUILT} == 1 ]] && CMAKE_DOCS_USEFLAG="doc"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
IUSE="${CMAKE_DOCS_USEFLAG} dap gui ncurses test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
>=app-arch/libarchive-3.3.3:=
|
||||
app-crypt/rhash:0=
|
||||
>=dev-libs/expat-2.0.1
|
||||
>=dev-libs/jsoncpp-1.9.2-r2:0=
|
||||
>=dev-libs/libuv-1.10.0:=
|
||||
>=net-misc/curl-7.21.5[ssl]
|
||||
sys-libs/zlib
|
||||
virtual/pkgconfig
|
||||
dap? ( dev-cpp/cppdap )
|
||||
gui? ( dev-qt/qtbase:6[gui,widgets] )
|
||||
ncurses? ( sys-libs/ncurses:= )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND+="
|
||||
doc? (
|
||||
dev-python/requests
|
||||
dev-python/sphinx
|
||||
)
|
||||
test? ( app-arch/libarchive[zstd] )
|
||||
"
|
||||
|
||||
SITEFILE="50${PN}-gentoo.el"
|
||||
|
||||
PATCHES=(
|
||||
# Prefix
|
||||
"${FILESDIR}"/${PN}-3.27.0_rc1-0001-Don-t-use-.so-for-modules-on-darwin-macos.-Use-.bund.patch
|
||||
"${FILESDIR}"/${PN}-3.27.0_rc1-0002-Set-some-proper-paths-to-make-cmake-find-our-tools.patch
|
||||
# Misc
|
||||
"${FILESDIR}"/${PN}-3.31.6-Prefer-pkgconfig-in-FindBLAS.patch
|
||||
"${FILESDIR}"/${PN}-3.27.0_rc1-0004-Ensure-that-the-correct-version-of-Qt-is-always-used.patch
|
||||
"${FILESDIR}"/${PN}-3.27.0_rc1-0005-Respect-Gentoo-s-Python-eclasses.patch
|
||||
# Cuda
|
||||
"${FILESDIR}/${PN}-3.30.3-cudahostld.patch"
|
||||
|
||||
# Upstream fixes (can usually be removed with a version bump)
|
||||
"${FILESDIR}"/${PN}-3.31.7-hdf5.patch
|
||||
"${FILESDIR}/${PN}-4.1.1-curl-8.16.0.patch"
|
||||
)
|
||||
|
||||
cmake_src_bootstrap() {
|
||||
# disable running of cmake in bootstrap command
|
||||
sed -i \
|
||||
-e '/"${cmake_bootstrap_dir}\/cmake"/s/^/#DONOTRUN /' \
|
||||
bootstrap || die "sed failed"
|
||||
|
||||
# execinfo.h on Solaris isn't quite what it is on Darwin
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
sed -i -e 's/execinfo\.h/blablabla.h/' \
|
||||
Source/kwsys/CMakeLists.txt || die
|
||||
fi
|
||||
|
||||
# bootstrap script isn't exactly /bin/sh compatible
|
||||
tc-env_build ${CONFIG_SHELL:-sh} ./bootstrap \
|
||||
--prefix="${T}/cmakestrap/" \
|
||||
--parallel=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") \
|
||||
|| die "Bootstrap failed"
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
if [[ -z ${EPREFIX} ]] ; then
|
||||
local file
|
||||
local errant_files=()
|
||||
|
||||
# See bug #599684 and bug #753581 (at least)
|
||||
for file in /etc/arch-release /etc/redhat-release /etc/debian_version ; do
|
||||
if [[ -e ${file} ]]; then
|
||||
errant_files+=( "${file}" )
|
||||
fi
|
||||
done
|
||||
|
||||
# If errant files exist
|
||||
if [[ ${#errant_files[@]} -gt 0 ]]; then
|
||||
eerror "Errant files found!"
|
||||
eerror "The presence of these files is known to confuse CMake's"
|
||||
eerror "library path logic. Please (re)move these files:"
|
||||
|
||||
for file in "${errant_files[@]}"; do
|
||||
eerror " mv ${file} ${file}.bak"
|
||||
done
|
||||
|
||||
die "Stray files found in /etc/, see above message"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
git-r3_src_unpack
|
||||
elif [[ ${PV} == *_rc* ]] || ! use verify-sig ; then
|
||||
default
|
||||
else
|
||||
cd "${DISTDIR}" || die
|
||||
|
||||
# See https://mgorny.pl/articles/verify-sig-by-example.html#verifying-using-a-checksum-file-with-a-detached-signature
|
||||
verify-sig_verify_detached ${MY_P}-SHA-256.txt{,.asc}
|
||||
verify-sig_verify_unsigned_checksums ${MY_P}-SHA-256.txt sha256 ${MY_P}.tar.gz
|
||||
|
||||
cd "${WORKDIR}" || die
|
||||
|
||||
default
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
cmake_src_prepare
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
# Disable Xcode hooks, bug #652134
|
||||
sed -i -e 's/cm\(\|Global\|Local\)XCode[^.]\+\.\(cxx\|h\)//' \
|
||||
Source/CMakeLists.txt || die
|
||||
sed -i -e '/define CMAKE_USE_XCODE/s/XCODE/NO_XCODE/' \
|
||||
-e '/cmGlobalXCodeGenerator.h/d' \
|
||||
Source/cmake.cxx || die
|
||||
# Disable system integration, bug #933744
|
||||
sed -i -e 's/__APPLE__/__DISABLED__/' \
|
||||
Source/cmFindProgramCommand.cxx \
|
||||
Source/CPack/cmCPackGeneratorFactory.cxx || die
|
||||
sed -i -e 's/__MAC_OS_X_VERSION_MIN_REQUIRED/__DISABLED__/' \
|
||||
Source/cmMachO.cxx || die
|
||||
sed -i -e 's:CPack/cmCPack\(Bundle\|DragNDrop\|PKG\|ProductBuild\)Generator.cxx::' \
|
||||
Source/CMakeLists.txt || die
|
||||
|
||||
# Disable isysroot usage with GCC, we've properly instructed
|
||||
# where things are via GCC configuration and ldwrapper
|
||||
sed -i -e '/cmake_gnu_set_sysroot_flag/d' \
|
||||
Modules/Platform/Apple-GNU-*.cmake || die
|
||||
# Disable isysroot usage with clang as well
|
||||
sed -i -e '/_SYSROOT_FLAG/d' \
|
||||
Modules/Platform/Apple-Clang.cmake || die
|
||||
# Don't set a POSIX standard, system headers don't like that, #757426
|
||||
sed -i -e 's/^#if !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \
|
||||
Source/cmLoadCommandCommand.cxx \
|
||||
Source/cmStandardLexer.h \
|
||||
Source/cmSystemTools.cxx \
|
||||
Source/cmTimestamp.cxx
|
||||
sed -i -e 's/^#if !defined(_POSIX_C_SOURCE) && !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \
|
||||
Source/cmStandardLexer.h
|
||||
fi
|
||||
|
||||
# Add gcc libs to the default link paths
|
||||
sed -i \
|
||||
-e "s|@GENTOO_PORTAGE_GCCLIBDIR@|${EPREFIX}/usr/${CHOST}/lib/|g" \
|
||||
-e "$(usex prefix-guest "s|@GENTOO_HOST@||" "/@GENTOO_HOST@/d")" \
|
||||
-e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \
|
||||
Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed"
|
||||
|
||||
## in theory we could handle these flags in src_configure, as we do in many other packages. But we *must*
|
||||
## handle them as part of bootstrapping, sadly.
|
||||
|
||||
# Fix linking on Solaris
|
||||
[[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl
|
||||
|
||||
# ODR warnings, bug #858335
|
||||
# https://gitlab.kitware.com/cmake/cmake/-/issues/20740
|
||||
filter-lto
|
||||
|
||||
# 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
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DCMAKE_USE_SYSTEM_LIBRARIES=ON
|
||||
-DCMake_ENABLE_DEBUGGER=$(usex dap)
|
||||
-DCMAKE_DOC_DIR=/share/doc/${PF}
|
||||
-DCMAKE_MAN_DIR=/share/man
|
||||
-DCMAKE_DATA_DIR=/share/${PN}
|
||||
-DSPHINX_MAN=$(usex doc)
|
||||
-DSPHINX_HTML=$(usex doc)
|
||||
-DBUILD_CursesDialog="$(usex ncurses)"
|
||||
-DBUILD_TESTING=$(usex test)
|
||||
-DBUILD_QtDialog=$(usex gui)
|
||||
)
|
||||
|
||||
use gui && mycmakeargs+=( -DCMake_QT_MAJOR_VERSION=6 )
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Fix OutDir and SelectLibraryConfigurations tests
|
||||
# these are altered thanks to our eclass
|
||||
sed -i -e 's:^#_cmake_modify_IGNORE ::g' \
|
||||
"${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \
|
||||
|| die
|
||||
|
||||
unset CLICOLOR CLICOLOR_FORCE CMAKE_COMPILER_COLOR_DIAGNOSTICS CMAKE_COLOR_DIAGNOSTICS
|
||||
|
||||
pushd "${BUILD_DIR}" > /dev/null || die
|
||||
|
||||
# Excluded tests:
|
||||
# BootstrapTest: we 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
|
||||
# Fortran: requires fortran
|
||||
# RunCMake.CompilerLauncher: also requires fortran
|
||||
# RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because
|
||||
# debugedit binary is not in the expected location
|
||||
# RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because
|
||||
# it can't find a deb package that owns libc
|
||||
# TestUpload, which requires network access
|
||||
# RunCMake.CMP0125, known failure reported upstream (bug #829414)
|
||||
local myctestargs=(
|
||||
--output-on-failure
|
||||
-E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload|RunCMake.CMP0125)" \
|
||||
)
|
||||
|
||||
local -x QT_QPA_PLATFORM=offscreen
|
||||
|
||||
cmake_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
|
||||
# If USE=doc, there'll be newly generated docs which we install instead.
|
||||
if ! use doc && [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then
|
||||
doman "${WORKDIR}"/${PN}-${CMAKE_DOCS_VERSION}-docs/man*/*.[0-8]
|
||||
fi
|
||||
|
||||
insinto /usr/share/vim/vimfiles/syntax
|
||||
doins Auxiliary/vim/syntax/cmake.vim
|
||||
|
||||
insinto /usr/share/vim/vimfiles/indent
|
||||
doins Auxiliary/vim/indent/cmake.vim
|
||||
|
||||
insinto /usr/share/vim/vimfiles/ftdetect
|
||||
doins "${FILESDIR}/${PN}.vim"
|
||||
|
||||
dobashcomp Auxiliary/bash-completion/{${PN},ctest,cpack}
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if use gui; then
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
if use gui; then
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
fi
|
||||
}
|
||||
@ -1,322 +0,0 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-cmake-docs
|
||||
# Set to 1 if prebuilt, 0 if not
|
||||
# (the construct below is to allow overriding from env for script)
|
||||
: ${CMAKE_DOCS_PREBUILT:=1}
|
||||
|
||||
CMAKE_DOCS_PREBUILT_DEV=sam
|
||||
CMAKE_DOCS_VERSION=4.0.0_rc1
|
||||
#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"
|
||||
|
||||
# TODO RunCMake.LinkWhatYouUse fails consistently w/ ninja
|
||||
# ... but seems fine as of 3.22.3?
|
||||
# TODO ... but bootstrap sometimes(?) fails with ninja now. bug #834759.
|
||||
CMAKE_MAKEFILE_GENERATOR="emake"
|
||||
CMAKE_REMOVE_MODULES_LIST=( none )
|
||||
inherit bash-completion-r1 cmake flag-o-matic multiprocessing \
|
||||
toolchain-funcs xdg-utils
|
||||
|
||||
MY_P="${P/_/-}"
|
||||
|
||||
DESCRIPTION="Cross platform Make"
|
||||
HOMEPAGE="https://cmake.org/"
|
||||
if [[ ${PV} == *9999* ]] ; then
|
||||
CMAKE_DOCS_PREBUILT=0
|
||||
|
||||
EGIT_REPO_URI="https://gitlab.kitware.com/cmake/cmake.git"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz"
|
||||
|
||||
if [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then
|
||||
SRC_URI+=" !doc? ( https://dev.gentoo.org/~${CMAKE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${CMAKE_DOCS_VERSION}-docs.tar.xz )"
|
||||
fi
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bradking.asc
|
||||
inherit verify-sig
|
||||
|
||||
SRC_URI+=" verify-sig? (
|
||||
https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}-SHA-256.txt
|
||||
https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}-SHA-256.txt.asc
|
||||
https://github.com/Kitware/CMake/releases/download/v${PV/_/-}/${MY_P}-SHA-256.txt
|
||||
https://github.com/Kitware/CMake/releases/download/v${PV/_/-}/${MY_P}-SHA-256.txt.asc
|
||||
)"
|
||||
|
||||
if [[ ${PV} != *_rc* ]] ; then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
|
||||
BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20240902 )"
|
||||
fi
|
||||
|
||||
[[ ${CMAKE_DOCS_PREBUILT} == 1 ]] && CMAKE_DOCS_USEFLAG="doc"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
IUSE="${CMAKE_DOCS_USEFLAG} dap gui ncurses test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
>=app-arch/libarchive-3.3.3:=
|
||||
app-crypt/rhash:0=
|
||||
>=dev-libs/expat-2.0.1
|
||||
>=dev-libs/jsoncpp-1.9.2-r2:0=
|
||||
>=dev-libs/libuv-1.10.0:=
|
||||
>=net-misc/curl-7.21.5[ssl]
|
||||
sys-libs/zlib
|
||||
virtual/pkgconfig
|
||||
dap? ( dev-cpp/cppdap )
|
||||
gui? ( dev-qt/qtbase:6[gui,widgets] )
|
||||
ncurses? ( sys-libs/ncurses:= )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND+="
|
||||
doc? (
|
||||
dev-python/requests
|
||||
dev-python/sphinx
|
||||
)
|
||||
test? ( app-arch/libarchive[zstd] )
|
||||
"
|
||||
|
||||
SITEFILE="50${PN}-gentoo.el"
|
||||
|
||||
PATCHES=(
|
||||
# Prefix
|
||||
"${FILESDIR}"/${PN}-3.27.0_rc1-0001-Don-t-use-.so-for-modules-on-darwin-macos.-Use-.bund.patch
|
||||
"${FILESDIR}"/${PN}-3.27.0_rc1-0002-Set-some-proper-paths-to-make-cmake-find-our-tools.patch
|
||||
# Misc
|
||||
"${FILESDIR}"/${PN}-3.31.6-Prefer-pkgconfig-in-FindBLAS.patch
|
||||
"${FILESDIR}"/${PN}-3.27.0_rc1-0004-Ensure-that-the-correct-version-of-Qt-is-always-used.patch
|
||||
"${FILESDIR}"/${PN}-3.27.0_rc1-0005-Respect-Gentoo-s-Python-eclasses.patch
|
||||
# Cuda
|
||||
"${FILESDIR}/${PN}-3.30.3-cudahostld.patch"
|
||||
|
||||
# Upstream fixes (can usually be removed with a version bump)
|
||||
"${FILESDIR}"/${PN}-3.31.7-hdf5.patch
|
||||
)
|
||||
|
||||
cmake_src_bootstrap() {
|
||||
# disable running of cmake in bootstrap command
|
||||
sed -i \
|
||||
-e '/"${cmake_bootstrap_dir}\/cmake"/s/^/#DONOTRUN /' \
|
||||
bootstrap || die "sed failed"
|
||||
|
||||
# execinfo.h on Solaris isn't quite what it is on Darwin
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
sed -i -e 's/execinfo\.h/blablabla.h/' \
|
||||
Source/kwsys/CMakeLists.txt || die
|
||||
fi
|
||||
|
||||
# bootstrap script isn't exactly /bin/sh compatible
|
||||
tc-env_build ${CONFIG_SHELL:-sh} ./bootstrap \
|
||||
--prefix="${T}/cmakestrap/" \
|
||||
--parallel=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") \
|
||||
|| die "Bootstrap failed"
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
if [[ -z ${EPREFIX} ]] ; then
|
||||
local file
|
||||
local errant_files=()
|
||||
|
||||
# See bug #599684 and bug #753581 (at least)
|
||||
for file in /etc/arch-release /etc/redhat-release /etc/debian_version ; do
|
||||
if [[ -e ${file} ]]; then
|
||||
errant_files+=( "${file}" )
|
||||
fi
|
||||
done
|
||||
|
||||
# If errant files exist
|
||||
if [[ ${#errant_files[@]} -gt 0 ]]; then
|
||||
eerror "Errant files found!"
|
||||
eerror "The presence of these files is known to confuse CMake's"
|
||||
eerror "library path logic. Please (re)move these files:"
|
||||
|
||||
for file in "${errant_files[@]}"; do
|
||||
eerror " mv ${file} ${file}.bak"
|
||||
done
|
||||
|
||||
die "Stray files found in /etc/, see above message"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
git-r3_src_unpack
|
||||
elif [[ ${PV} == *_rc* ]] || ! use verify-sig ; then
|
||||
default
|
||||
else
|
||||
cd "${DISTDIR}" || die
|
||||
|
||||
# See https://mgorny.pl/articles/verify-sig-by-example.html#verifying-using-a-checksum-file-with-a-detached-signature
|
||||
verify-sig_verify_detached ${MY_P}-SHA-256.txt{,.asc}
|
||||
verify-sig_verify_unsigned_checksums ${MY_P}-SHA-256.txt sha256 ${MY_P}.tar.gz
|
||||
|
||||
cd "${WORKDIR}" || die
|
||||
|
||||
default
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
cmake_src_prepare
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
# Disable Xcode hooks, bug #652134
|
||||
sed -i -e 's/cm\(\|Global\|Local\)XCode[^.]\+\.\(cxx\|h\)//' \
|
||||
Source/CMakeLists.txt || die
|
||||
sed -i -e '/define CMAKE_USE_XCODE/s/XCODE/NO_XCODE/' \
|
||||
-e '/cmGlobalXCodeGenerator.h/d' \
|
||||
Source/cmake.cxx || die
|
||||
# Disable system integration, bug #933744
|
||||
sed -i -e 's/__APPLE__/__DISABLED__/' \
|
||||
Source/cmFindProgramCommand.cxx \
|
||||
Source/CPack/cmCPackGeneratorFactory.cxx || die
|
||||
sed -i -e 's/__MAC_OS_X_VERSION_MIN_REQUIRED/__DISABLED__/' \
|
||||
Source/cmMachO.cxx || die
|
||||
sed -i -e 's:CPack/cmCPack\(Bundle\|DragNDrop\|PKG\|ProductBuild\)Generator.cxx::' \
|
||||
Source/CMakeLists.txt || die
|
||||
|
||||
# Disable isysroot usage with GCC, we've properly instructed
|
||||
# where things are via GCC configuration and ldwrapper
|
||||
sed -i -e '/cmake_gnu_set_sysroot_flag/d' \
|
||||
Modules/Platform/Apple-GNU-*.cmake || die
|
||||
# Disable isysroot usage with clang as well
|
||||
sed -i -e '/_SYSROOT_FLAG/d' \
|
||||
Modules/Platform/Apple-Clang.cmake || die
|
||||
# Don't set a POSIX standard, system headers don't like that, #757426
|
||||
sed -i -e 's/^#if !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \
|
||||
Source/cmLoadCommandCommand.cxx \
|
||||
Source/cmStandardLexer.h \
|
||||
Source/cmSystemTools.cxx \
|
||||
Source/cmTimestamp.cxx
|
||||
sed -i -e 's/^#if !defined(_POSIX_C_SOURCE) && !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \
|
||||
Source/cmStandardLexer.h
|
||||
fi
|
||||
|
||||
# Add gcc libs to the default link paths
|
||||
sed -i \
|
||||
-e "s|@GENTOO_PORTAGE_GCCLIBDIR@|${EPREFIX}/usr/${CHOST}/lib/|g" \
|
||||
-e "$(usex prefix-guest "s|@GENTOO_HOST@||" "/@GENTOO_HOST@/d")" \
|
||||
-e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \
|
||||
Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed"
|
||||
|
||||
## in theory we could handle these flags in src_configure, as we do in many other packages. But we *must*
|
||||
## handle them as part of bootstrapping, sadly.
|
||||
|
||||
# Fix linking on Solaris
|
||||
[[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl
|
||||
|
||||
# ODR warnings, bug #858335
|
||||
# https://gitlab.kitware.com/cmake/cmake/-/issues/20740
|
||||
filter-lto
|
||||
|
||||
# 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
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DCMAKE_USE_SYSTEM_LIBRARIES=ON
|
||||
-DCMake_ENABLE_DEBUGGER=$(usex dap)
|
||||
-DCMAKE_DOC_DIR=/share/doc/${PF}
|
||||
-DCMAKE_MAN_DIR=/share/man
|
||||
-DCMAKE_DATA_DIR=/share/${PN}
|
||||
-DSPHINX_MAN=$(usex doc)
|
||||
-DSPHINX_HTML=$(usex doc)
|
||||
-DBUILD_CursesDialog="$(usex ncurses)"
|
||||
-DBUILD_TESTING=$(usex test)
|
||||
-DBUILD_QtDialog=$(usex gui)
|
||||
)
|
||||
|
||||
use gui && mycmakeargs+=( -DCMake_QT_MAJOR_VERSION=6 )
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Fix OutDir and SelectLibraryConfigurations tests
|
||||
# these are altered thanks to our eclass
|
||||
sed -i -e 's:^#_cmake_modify_IGNORE ::g' \
|
||||
"${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \
|
||||
|| die
|
||||
|
||||
unset CLICOLOR CLICOLOR_FORCE CMAKE_COMPILER_COLOR_DIAGNOSTICS CMAKE_COLOR_DIAGNOSTICS
|
||||
|
||||
pushd "${BUILD_DIR}" > /dev/null || die
|
||||
|
||||
# Excluded tests:
|
||||
# BootstrapTest: we 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
|
||||
# Fortran: requires fortran
|
||||
# RunCMake.CompilerLauncher: also requires fortran
|
||||
# RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because
|
||||
# debugedit binary is not in the expected location
|
||||
# RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because
|
||||
# it can't find a deb package that owns libc
|
||||
# TestUpload, which requires network access
|
||||
# RunCMake.CMP0125, known failure reported upstream (bug #829414)
|
||||
local myctestargs=(
|
||||
--output-on-failure
|
||||
-E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload|RunCMake.CMP0125)" \
|
||||
)
|
||||
|
||||
local -x QT_QPA_PLATFORM=offscreen
|
||||
|
||||
cmake_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
|
||||
# If USE=doc, there'll be newly generated docs which we install instead.
|
||||
if ! use doc && [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then
|
||||
doman "${WORKDIR}"/${PN}-${CMAKE_DOCS_VERSION}-docs/man*/*.[0-8]
|
||||
fi
|
||||
|
||||
insinto /usr/share/vim/vimfiles/syntax
|
||||
doins Auxiliary/vim/syntax/cmake.vim
|
||||
|
||||
insinto /usr/share/vim/vimfiles/indent
|
||||
doins Auxiliary/vim/indent/cmake.vim
|
||||
|
||||
insinto /usr/share/vim/vimfiles/ftdetect
|
||||
doins "${FILESDIR}/${PN}.vim"
|
||||
|
||||
dobashcomp Auxiliary/bash-completion/{${PN},ctest,cpack}
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if use gui; then
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
if use gui; then
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
fi
|
||||
}
|
||||
@ -1,322 +0,0 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-cmake-docs
|
||||
# Set to 1 if prebuilt, 0 if not
|
||||
# (the construct below is to allow overriding from env for script)
|
||||
: ${CMAKE_DOCS_PREBUILT:=1}
|
||||
|
||||
CMAKE_DOCS_PREBUILT_DEV=sam
|
||||
CMAKE_DOCS_VERSION=4.0.0_rc1
|
||||
#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"
|
||||
|
||||
# TODO RunCMake.LinkWhatYouUse fails consistently w/ ninja
|
||||
# ... but seems fine as of 3.22.3?
|
||||
# TODO ... but bootstrap sometimes(?) fails with ninja now. bug #834759.
|
||||
CMAKE_MAKEFILE_GENERATOR="emake"
|
||||
CMAKE_REMOVE_MODULES_LIST=( none )
|
||||
inherit bash-completion-r1 cmake flag-o-matic multiprocessing \
|
||||
toolchain-funcs xdg-utils
|
||||
|
||||
MY_P="${P/_/-}"
|
||||
|
||||
DESCRIPTION="Cross platform Make"
|
||||
HOMEPAGE="https://cmake.org/"
|
||||
if [[ ${PV} == *9999* ]] ; then
|
||||
CMAKE_DOCS_PREBUILT=0
|
||||
|
||||
EGIT_REPO_URI="https://gitlab.kitware.com/cmake/cmake.git"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz"
|
||||
|
||||
if [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then
|
||||
SRC_URI+=" !doc? ( https://dev.gentoo.org/~${CMAKE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${CMAKE_DOCS_VERSION}-docs.tar.xz )"
|
||||
fi
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bradking.asc
|
||||
inherit verify-sig
|
||||
|
||||
SRC_URI+=" verify-sig? (
|
||||
https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}-SHA-256.txt
|
||||
https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}-SHA-256.txt.asc
|
||||
https://github.com/Kitware/CMake/releases/download/v${PV/_/-}/${MY_P}-SHA-256.txt
|
||||
https://github.com/Kitware/CMake/releases/download/v${PV/_/-}/${MY_P}-SHA-256.txt.asc
|
||||
)"
|
||||
|
||||
if [[ ${PV} != *_rc* ]] ; then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
|
||||
BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20240902 )"
|
||||
fi
|
||||
|
||||
[[ ${CMAKE_DOCS_PREBUILT} == 1 ]] && CMAKE_DOCS_USEFLAG="doc"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
IUSE="${CMAKE_DOCS_USEFLAG} dap gui ncurses test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
>=app-arch/libarchive-3.3.3:=
|
||||
app-crypt/rhash:0=
|
||||
>=dev-libs/expat-2.0.1
|
||||
>=dev-libs/jsoncpp-1.9.2-r2:0=
|
||||
>=dev-libs/libuv-1.10.0:=
|
||||
>=net-misc/curl-7.21.5[ssl]
|
||||
sys-libs/zlib
|
||||
virtual/pkgconfig
|
||||
dap? ( dev-cpp/cppdap )
|
||||
gui? ( dev-qt/qtbase:6[gui,widgets] )
|
||||
ncurses? ( sys-libs/ncurses:= )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND+="
|
||||
doc? (
|
||||
dev-python/requests
|
||||
dev-python/sphinx
|
||||
)
|
||||
test? ( app-arch/libarchive[zstd] )
|
||||
"
|
||||
|
||||
SITEFILE="50${PN}-gentoo.el"
|
||||
|
||||
PATCHES=(
|
||||
# Prefix
|
||||
"${FILESDIR}"/${PN}-3.27.0_rc1-0001-Don-t-use-.so-for-modules-on-darwin-macos.-Use-.bund.patch
|
||||
"${FILESDIR}"/${PN}-3.27.0_rc1-0002-Set-some-proper-paths-to-make-cmake-find-our-tools.patch
|
||||
# Misc
|
||||
"${FILESDIR}"/${PN}-3.31.6-Prefer-pkgconfig-in-FindBLAS.patch
|
||||
"${FILESDIR}"/${PN}-3.27.0_rc1-0004-Ensure-that-the-correct-version-of-Qt-is-always-used.patch
|
||||
"${FILESDIR}"/${PN}-3.27.0_rc1-0005-Respect-Gentoo-s-Python-eclasses.patch
|
||||
# Cuda
|
||||
"${FILESDIR}/${PN}-3.30.3-cudahostld.patch"
|
||||
|
||||
# Upstream fixes (can usually be removed with a version bump)
|
||||
"${FILESDIR}/${PN}-4.1.1-curl-8.16.0.patch"
|
||||
)
|
||||
|
||||
cmake_src_bootstrap() {
|
||||
# disable running of cmake in bootstrap command
|
||||
sed -i \
|
||||
-e '/"${cmake_bootstrap_dir}\/cmake"/s/^/#DONOTRUN /' \
|
||||
bootstrap || die "sed failed"
|
||||
|
||||
# execinfo.h on Solaris isn't quite what it is on Darwin
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
sed -i -e 's/execinfo\.h/blablabla.h/' \
|
||||
Source/kwsys/CMakeLists.txt || die
|
||||
fi
|
||||
|
||||
# bootstrap script isn't exactly /bin/sh compatible
|
||||
tc-env_build ${CONFIG_SHELL:-sh} ./bootstrap \
|
||||
--prefix="${T}/cmakestrap/" \
|
||||
--parallel=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") \
|
||||
|| die "Bootstrap failed"
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
if [[ -z ${EPREFIX} ]] ; then
|
||||
local file
|
||||
local errant_files=()
|
||||
|
||||
# See bug #599684 and bug #753581 (at least)
|
||||
for file in /etc/arch-release /etc/redhat-release /etc/debian_version ; do
|
||||
if [[ -e ${file} ]]; then
|
||||
errant_files+=( "${file}" )
|
||||
fi
|
||||
done
|
||||
|
||||
# If errant files exist
|
||||
if [[ ${#errant_files[@]} -gt 0 ]]; then
|
||||
eerror "Errant files found!"
|
||||
eerror "The presence of these files is known to confuse CMake's"
|
||||
eerror "library path logic. Please (re)move these files:"
|
||||
|
||||
for file in "${errant_files[@]}"; do
|
||||
eerror " mv ${file} ${file}.bak"
|
||||
done
|
||||
|
||||
die "Stray files found in /etc/, see above message"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
git-r3_src_unpack
|
||||
elif [[ ${PV} == *_rc* ]] || ! use verify-sig ; then
|
||||
default
|
||||
else
|
||||
cd "${DISTDIR}" || die
|
||||
|
||||
# See https://mgorny.pl/articles/verify-sig-by-example.html#verifying-using-a-checksum-file-with-a-detached-signature
|
||||
verify-sig_verify_detached ${MY_P}-SHA-256.txt{,.asc}
|
||||
verify-sig_verify_unsigned_checksums ${MY_P}-SHA-256.txt sha256 ${MY_P}.tar.gz
|
||||
|
||||
cd "${WORKDIR}" || die
|
||||
|
||||
default
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
cmake_src_prepare
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
# Disable Xcode hooks, bug #652134
|
||||
sed -i -e 's/cm\(\|Global\|Local\)XCode[^.]\+\.\(cxx\|h\)//' \
|
||||
Source/CMakeLists.txt || die
|
||||
sed -i -e '/define CMAKE_USE_XCODE/s/XCODE/NO_XCODE/' \
|
||||
-e '/cmGlobalXCodeGenerator.h/d' \
|
||||
Source/cmake.cxx || die
|
||||
# Disable system integration, bug #933744
|
||||
sed -i -e 's/__APPLE__/__DISABLED__/' \
|
||||
Source/cmFindProgramCommand.cxx \
|
||||
Source/CPack/cmCPackGeneratorFactory.cxx || die
|
||||
sed -i -e 's/__MAC_OS_X_VERSION_MIN_REQUIRED/__DISABLED__/' \
|
||||
Source/cmMachO.cxx || die
|
||||
sed -i -e 's:CPack/cmCPack\(Bundle\|DragNDrop\|PKG\|ProductBuild\)Generator.cxx::' \
|
||||
Source/CMakeLists.txt || die
|
||||
|
||||
# Disable isysroot usage with GCC, we've properly instructed
|
||||
# where things are via GCC configuration and ldwrapper
|
||||
sed -i -e '/cmake_gnu_set_sysroot_flag/d' \
|
||||
Modules/Platform/Apple-GNU-*.cmake || die
|
||||
# Disable isysroot usage with clang as well
|
||||
sed -i -e '/_SYSROOT_FLAG/d' \
|
||||
Modules/Platform/Apple-Clang.cmake || die
|
||||
# Don't set a POSIX standard, system headers don't like that, #757426
|
||||
sed -i -e 's/^#if !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \
|
||||
Source/cmLoadCommandCommand.cxx \
|
||||
Source/cmStandardLexer.h \
|
||||
Source/cmSystemTools.cxx \
|
||||
Source/cmTimestamp.cxx
|
||||
sed -i -e 's/^#if !defined(_POSIX_C_SOURCE) && !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \
|
||||
Source/cmStandardLexer.h
|
||||
fi
|
||||
|
||||
# Add gcc libs to the default link paths
|
||||
sed -i \
|
||||
-e "s|@GENTOO_PORTAGE_GCCLIBDIR@|${EPREFIX}/usr/${CHOST}/lib/|g" \
|
||||
-e "$(usex prefix-guest "s|@GENTOO_HOST@||" "/@GENTOO_HOST@/d")" \
|
||||
-e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \
|
||||
Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed"
|
||||
|
||||
## in theory we could handle these flags in src_configure, as we do in many other packages. But we *must*
|
||||
## handle them as part of bootstrapping, sadly.
|
||||
|
||||
# Fix linking on Solaris
|
||||
[[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl
|
||||
|
||||
# ODR warnings, bug #858335
|
||||
# https://gitlab.kitware.com/cmake/cmake/-/issues/20740
|
||||
filter-lto
|
||||
|
||||
# 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
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DCMAKE_USE_SYSTEM_LIBRARIES=ON
|
||||
-DCMake_ENABLE_DEBUGGER=$(usex dap)
|
||||
-DCMAKE_DOC_DIR=/share/doc/${PF}
|
||||
-DCMAKE_MAN_DIR=/share/man
|
||||
-DCMAKE_DATA_DIR=/share/${PN}
|
||||
-DSPHINX_MAN=$(usex doc)
|
||||
-DSPHINX_HTML=$(usex doc)
|
||||
-DBUILD_CursesDialog="$(usex ncurses)"
|
||||
-DBUILD_TESTING=$(usex test)
|
||||
-DBUILD_QtDialog=$(usex gui)
|
||||
)
|
||||
|
||||
use gui && mycmakeargs+=( -DCMake_QT_MAJOR_VERSION=6 )
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Fix OutDir and SelectLibraryConfigurations tests
|
||||
# these are altered thanks to our eclass
|
||||
sed -i -e 's:^#_cmake_modify_IGNORE ::g' \
|
||||
"${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \
|
||||
|| die
|
||||
|
||||
unset CLICOLOR CLICOLOR_FORCE CMAKE_COMPILER_COLOR_DIAGNOSTICS CMAKE_COLOR_DIAGNOSTICS
|
||||
|
||||
pushd "${BUILD_DIR}" > /dev/null || die
|
||||
|
||||
# Excluded tests:
|
||||
# BootstrapTest: we 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
|
||||
# Fortran: requires fortran
|
||||
# RunCMake.CompilerLauncher: also requires fortran
|
||||
# RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because
|
||||
# debugedit binary is not in the expected location
|
||||
# RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because
|
||||
# it can't find a deb package that owns libc
|
||||
# TestUpload, which requires network access
|
||||
# RunCMake.CMP0125, known failure reported upstream (bug #829414)
|
||||
local myctestargs=(
|
||||
--output-on-failure
|
||||
-E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload|RunCMake.CMP0125)" \
|
||||
)
|
||||
|
||||
local -x QT_QPA_PLATFORM=offscreen
|
||||
|
||||
cmake_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
|
||||
# If USE=doc, there'll be newly generated docs which we install instead.
|
||||
if ! use doc && [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then
|
||||
doman "${WORKDIR}"/${PN}-${CMAKE_DOCS_VERSION}-docs/man*/*.[0-8]
|
||||
fi
|
||||
|
||||
insinto /usr/share/vim/vimfiles/syntax
|
||||
doins Auxiliary/vim/syntax/cmake.vim
|
||||
|
||||
insinto /usr/share/vim/vimfiles/indent
|
||||
doins Auxiliary/vim/indent/cmake.vim
|
||||
|
||||
insinto /usr/share/vim/vimfiles/ftdetect
|
||||
doins "${FILESDIR}/${PN}.vim"
|
||||
|
||||
dobashcomp Auxiliary/bash-completion/{${PN},ctest,cpack}
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if use gui; then
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
if use gui; then
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
fi
|
||||
}
|
||||
@ -66,12 +66,13 @@ SLOT="0"
|
||||
IUSE="${CMAKE_DOCS_USEFLAG} dap gui ncurses test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# >= 1.51.0-r1 for ppc32 workaround (bug #941738)
|
||||
RDEPEND="
|
||||
>=app-arch/libarchive-3.3.3:=
|
||||
app-crypt/rhash:0=
|
||||
>=dev-libs/expat-2.0.1
|
||||
>=dev-libs/jsoncpp-1.9.2-r2:0=
|
||||
>=dev-libs/libuv-1.10.0:=
|
||||
>=dev-libs/libuv-1.51.0-r1:=
|
||||
>=net-misc/curl-7.21.5[ssl]
|
||||
sys-libs/zlib
|
||||
virtual/pkgconfig
|
||||
@ -102,7 +103,6 @@ PATCHES=(
|
||||
"${FILESDIR}/${PN}-3.30.3-cudahostld.patch"
|
||||
|
||||
# Upstream fixes (can usually be removed with a version bump)
|
||||
"${FILESDIR}/${PN}-4.1.1-curl-8.16.0.patch"
|
||||
)
|
||||
|
||||
cmake_src_bootstrap() {
|
||||
@ -66,12 +66,13 @@ SLOT="0"
|
||||
IUSE="${CMAKE_DOCS_USEFLAG} dap gui ncurses test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# >= 1.51.0-r1 for ppc32 workaround (bug #941738)
|
||||
RDEPEND="
|
||||
>=app-arch/libarchive-3.3.3:=
|
||||
app-crypt/rhash:0=
|
||||
>=dev-libs/expat-2.0.1
|
||||
>=dev-libs/jsoncpp-1.9.2-r2:0=
|
||||
>=dev-libs/libuv-1.10.0:=
|
||||
>=dev-libs/libuv-1.51.0-r1:=
|
||||
>=net-misc/curl-7.21.5[ssl]
|
||||
sys-libs/zlib
|
||||
virtual/pkgconfig
|
||||
|
||||
@ -1,31 +0,0 @@
|
||||
From 9bc75325cc38962ecdd4a3ebd67ce34ea8162a45 Mon Sep 17 00:00:00 2001
|
||||
From: Lars Wendler <polynomial-c@gentoo.org>
|
||||
Date: Thu, 13 Feb 2020 13:12:45 +0100
|
||||
Subject: [PATCH 3/6] Prefer pkgconfig in FindBLAS
|
||||
|
||||
--- a/Modules/FindBLAS.cmake
|
||||
+++ b/Modules/FindBLAS.cmake
|
||||
@@ -7,6 +7,10 @@ FindBLAS
|
||||
|
||||
Find Basic Linear Algebra Subprograms (BLAS) library
|
||||
|
||||
+Version modified for Gentoo Linux.
|
||||
+If a valid PkgConfig configuration is found, this overrides and cancels
|
||||
+all further checks.
|
||||
+
|
||||
This module finds an installed Fortran library that implements the
|
||||
`BLAS linear-algebra interface`_.
|
||||
|
||||
@@ -276,6 +280,9 @@ function(_add_blas_target)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
+# first, try PkgConfig
|
||||
+set(BLA_PREFER_PKGCONFIG ON)
|
||||
+
|
||||
if(CMAKE_Fortran_COMPILER_LOADED)
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/CheckFortranFunctionExists.cmake)
|
||||
else()
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@ -1,26 +0,0 @@
|
||||
From f7ad7429b0b17c70b0309a5a8ee04d1afc434df0 Mon Sep 17 00:00:00 2001
|
||||
From: Felix W <felix.wischke@gmail.com>
|
||||
Date: Fri, 9 Jun 2023 09:59:41 +0100
|
||||
Subject: [PATCH 6/6] Filter out distcc warnings to avoid confusing CMake
|
||||
|
||||
Forward-ported from 3.16.5 to 3.18.0
|
||||
|
||||
Bug: https://bugs.gentoo.org/691544
|
||||
Bug: https://gitlab.kitware.com/cmake/cmake/-/issues/22573
|
||||
[imported from cmake 3.18.0-filter_distcc_warning.patch]
|
||||
|
||||
Signed-off-by: Sam James <sam@gentoo.org>
|
||||
--- a/Source/Checks/cm_cxx_features.cmake
|
||||
+++ b/Source/Checks/cm_cxx_features.cmake
|
||||
@@ -55,6 +55,8 @@ function(cm_check_cxx_feature name)
|
||||
string(REGEX REPLACE "[^\n]*icpc: command line warning #10121: overriding [^\n]*" "" check_output "${check_output}")
|
||||
# Filter out ld warnings.
|
||||
string(REGEX REPLACE "[^\n]*ld: warning: [^\n]*" "" check_output "${check_output}")
|
||||
+ # Filter out distcc.
|
||||
+ string(REGEX REPLACE "[^\n]*distcc\\[[0-9]+\\][^\n]*[Ww]arning:[^\n]*" "" check_output "${check_output}")
|
||||
# If using the feature causes warnings, treat it as broken/unavailable.
|
||||
if(check_output MATCHES "(^|[ :])[Ww][Aa][Rr][Nn][Ii][Nn][Gg]")
|
||||
set(CMake_HAVE_CXX_${FEATURE} OFF CACHE INTERNAL "TRY_COMPILE" FORCE)
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@ -1,28 +0,0 @@
|
||||
https://github.com/Kitware/CMake/commit/c92268f91b30e6d52b82d1ffad227cadafcf4dbf
|
||||
From: Matt Jolly <kangie@gentoo.org>
|
||||
Date: Thu, 11 Sep 2025 11:20:42 +1000
|
||||
Subject: [PATCH] cmCTestCurl: Avoid using undocumented type for
|
||||
CURLOPT_PROXYTYPE values
|
||||
|
||||
Since upstream curl commit `1a12663d06` (CURLOPT: bump `CURLPROXY_*`
|
||||
enums to `long`, drop casts, 2025-07-28), the `CURLPROXY_*` constants
|
||||
are integer literals instead of `enum curl_proxytype`. It turns out
|
||||
that `curl_easy_setopt` has always expected a `long` anyway, and that
|
||||
`curl_proxytype` is not documented for public use.
|
||||
|
||||
Rebased for 3.28.5
|
||||
|
||||
Signed-off-by: Matt Jolly <kangie@gentoo.org>
|
||||
--- a/Source/CTest/cmCTestCurl.h
|
||||
+++ b/Source/CTest/cmCTestCurl.h
|
||||
@@ -44,7 +44,7 @@ private:
|
||||
std::vector<std::string> HttpHeaders;
|
||||
std::string HTTPProxyAuth;
|
||||
std::string HTTPProxy;
|
||||
- curl_proxytype HTTPProxyType;
|
||||
+ long HTTPProxyType;
|
||||
bool VerifyHostOff;
|
||||
bool VerifyPeerOff;
|
||||
bool UseHttp10;
|
||||
--
|
||||
2.49.1
|
||||
@ -1,36 +0,0 @@
|
||||
https://bugs.gentoo.org/953060
|
||||
https://gitlab.kitware.com/cmake/cmake/-/issues/26754
|
||||
https://gitlab.kitware.com/cmake/cmake/-/merge_requests/10449
|
||||
|
||||
From 1b0c92a3a1b782ff3e1c4499b6ab8db614d45bcd Mon Sep 17 00:00:00 2001
|
||||
From: Brad King <brad.king@kitware.com>
|
||||
Date: Mon, 10 Mar 2025 11:08:42 -0400
|
||||
Subject: [PATCH] cmCurl: Avoid using undocumented type for CURLOPT_NETRC
|
||||
values
|
||||
|
||||
Since upstream curl commit `2ec00372a1` (curl.h: change some enums to
|
||||
defines with L suffix, 2025-02-25), the `CURL_NETRC_*` constants are
|
||||
integer literals instead of `enum CURL_NETRC_OPTION`. It turns out
|
||||
that `curl_easy_setopt` has always expected a `long` anyway, and
|
||||
that `CURL_NETRC_OPTION` is not documented for public use.
|
||||
|
||||
Fixes: #26754
|
||||
---
|
||||
Source/cmCurl.cxx | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Source/cmCurl.cxx b/Source/cmCurl.cxx
|
||||
index b9133ed7d47..0cf8a71a72d 100644
|
||||
--- a/Source/cmCurl.cxx
|
||||
+++ b/Source/cmCurl.cxx
|
||||
@@ -170,7 +170,7 @@ std::string cmCurlSetNETRCOption(::CURL* curl, const std::string& netrc_level,
|
||||
const std::string& netrc_file)
|
||||
{
|
||||
std::string e;
|
||||
- CURL_NETRC_OPTION curl_netrc_level = CURL_NETRC_LAST;
|
||||
+ long curl_netrc_level = CURL_NETRC_LAST;
|
||||
::CURLcode res;
|
||||
|
||||
if (!netrc_level.empty()) {
|
||||
--
|
||||
GitLab
|
||||
@ -1,24 +0,0 @@
|
||||
https://github.com/Kitware/CMake/commit/c92268f91b30e6d52b82d1ffad227cadafcf4dbf
|
||||
From: Brad King <brad.king@kitware.com>
|
||||
Date: Tue, 2 Sep 2025 11:41:10 -0400
|
||||
Subject: [PATCH] cmCTestCurl: Avoid using undocumented type for
|
||||
CURLOPT_PROXYTYPE values
|
||||
|
||||
Since upstream curl commit `1a12663d06` (CURLOPT: bump `CURLPROXY_*`
|
||||
enums to `long`, drop casts, 2025-07-28), the `CURLPROXY_*` constants
|
||||
are integer literals instead of `enum curl_proxytype`. It turns out
|
||||
that `curl_easy_setopt` has always expected a `long` anyway, and that
|
||||
`curl_proxytype` is not documented for public use.
|
||||
|
||||
Fixes: #27178
|
||||
--- a/Source/CTest/cmCTestCurl.h
|
||||
+++ b/Source/CTest/cmCTestCurl.h
|
||||
@@ -52,7 +52,7 @@ class cmCTestCurl
|
||||
std::vector<std::string> HttpHeaders;
|
||||
std::string HTTPProxyAuth;
|
||||
std::string HTTPProxy;
|
||||
- curl_proxytype HTTPProxyType;
|
||||
+ long HTTPProxyType;
|
||||
bool UseHttp10 = false;
|
||||
bool Quiet = false;
|
||||
int TimeOutSeconds = 0;
|
||||
@ -18,7 +18,7 @@ elif [[ $(ver_cut 3) -ge 90 || $(ver_cut 4) -ge 90 ]] ; then
|
||||
else
|
||||
SRC_URI="mirror://gnu/make/${P}.tar.lz"
|
||||
SRC_URI+=" verify-sig? ( mirror://gnu/make/${P}.tar.lz.sig )"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
|
||||
@ -12,16 +12,13 @@ DIST meson-1.6.1.tar.gz 2276144 BLAKE2B 7ccdb3bf3f701fc787fabf91413db8301a8658b8
|
||||
DIST meson-1.6.1.tar.gz.asc 833 BLAKE2B 6666eca8e5506b8692fc29ba66dc3ee9d725a7d720a7b43db720098f7e00671e71993586606c187d8314e3919474f5733d64a8d052be6552cbcf013a872905ab SHA512 543cf396de0a58998c3587aa05580fa9a56734db40b74fc5fbb22cd56124531804a5360d6b9acb9baa71753ac04c343364da4d78a0d366d8e8bc760030ebf8d3
|
||||
DIST meson-1.7.2.tar.gz 5009274 BLAKE2B f5a19d7c0dfa35efda5bdef972fa6362a64fee2c74be0c09dee6d52c30a8b0169dbe7fab3199add306c778f6a57196251b44ec27ff6b5e038e12c11b27513a54 SHA512 c3c71ae0e0c31d8d72e200bb5fd5e6584ce41aabe1e85575d50371f82ed02c6e346da3b0b4a2786199b9410daaa1622807a88bfc8ac991cf134bad4a53b3c863
|
||||
DIST meson-1.7.2.tar.gz.asc 996 BLAKE2B 9a34bb86f15eb92d4eb972835e8e18e175c869a6ba9d88310ca6058654200b227c7a4a945eee220784f584737a3b74ffcd06e2b60a3e502e49af5da69eb1e5bf SHA512 a1e0461a28dfc8ba74ffd919511584148094c2bc809c3d380749856cbdaa33473c1a0c1ec92928020f50e116803fc03deb37b3ee2aca7e56287b155a5ccc36ac
|
||||
DIST meson-1.8.3.tar.gz 2335924 BLAKE2B 3c440854bd91c757d4370b498f0e6e903df4589f4958e05fa16ae70e6efc01d2e96f101612146556b81cc3db370255f4319bd5d49d8e46210df282cc447ec12e SHA512 effd6f556152e508185a5bc59131b3a31696577298aec5f3d3ab68153ade9e98242171d6b72c00f8c32fc3492aba3487252d77a94a96b5a92e89724de045d49b
|
||||
DIST meson-1.8.3.tar.gz.asc 833 BLAKE2B 25f00f76819c74e64b3750ddd4507fdd8a0be764db54ea48ba49f0985bfbf04d294e5eff1ee799ec082cba24ed59b21a8fd75f81dee9d824e5f8cd9c775b0dcd SHA512 9c28747ff4756422dae4eb4a86de24fe230e6676660aa9cfb72d29311012106a9edbcfff3559682917a7e0ed8c80af8b8ec37807d3f7e0f4005eed5793367307
|
||||
DIST meson-1.8.4.tar.gz 2336961 BLAKE2B fd574be17f1dde56fed13e18151cddc3265b4175b46bb45961f46a586e0e3b619ce5179df78505ac46cc6af7d8cbd4fc73f6434b8581b3e3518d791f6bb6e75c SHA512 3325c3968649847621e4d39309222741e5158b204ff6cc88410f364634c9978b5fb4c02c73968b3b7df46c89371a5b27aec9a997917dae757415bd77f5db39f2
|
||||
DIST meson-1.8.4.tar.gz.asc 833 BLAKE2B 33fea09355be6f3df1c9f82daf2c92cbebd79846f82039e697f390db4811ade49edaeb942a4d1da8cb95238cff400e4ef1a76e141189acf10bc5da70e3fb3c44 SHA512 e0e6474a020e320d940d8de1843b491d1906c38bca304168324cae333c5635c70b210ef14e1d31ada2a31e7d3b8e5ae4a8563373230f40c52c2cac017359fd29
|
||||
DIST meson-1.9.0.tar.gz 2366082 BLAKE2B 54cef087a9629087e67a0d75422d08370e86273a202d9e054d160a4ae52b7b1ad612a2a2c8e72a00a8e29bd5857375bedca5935cd74a560950c6b45a48d69f19 SHA512 62e633e07e7e8be1bf4f62f9e5a2df9535750fc0047ee5c21b17bc851d190cc0cf8e6696614692091013dc72e68aa23d2c1fe04500e146f56876591250474d04
|
||||
DIST meson-1.9.0.tar.gz.asc 833 BLAKE2B 3054c5f24b264fd5471b4094e6a37cfa4cad3567b8eda69d4b7a6c0e5486c95199b683c1b5b9ed1be44fd0eacaca1afb9dd95fd363a23753fdd0f71f194e9793 SHA512 7f2ce856cf16004ebdef1ce294e7efc44f644691cac2f704625b4a56b270d4b2db54564bef9f4c90360c1ec738e54b948aba336e1feb70dca2daf0e500f2b627
|
||||
DIST meson-1.8.5.tar.gz 5056050 BLAKE2B 4f67b140329d3b64dcc213e0c4e65d105dd98e0348d4c2bda622cfb617a6bd5434da13a0bc845cdb40ce376a30752d3183007f9b364cf54c699bc89cdecad195 SHA512 d0333380c4c9d8724212a100b7a4faa323c076ead9eed78e712974d68449271c6fd020e07ac8373fcdb18a0738a3ff5709dcacf8ff1aedf3a8ebd6edbb6b4c04
|
||||
DIST meson-1.8.5.tar.gz.asc 996 BLAKE2B ff8c1ffe8fd8488a00ffcc9d5d0c19dcadfca5216ad8c70daf44526f949c835d775dc558932237a891345e9d900385081ee1d7c76b41237aac423bf72b8f5f7b SHA512 da9ff37ac207dbfbe8bca511e6b8ee233aaaf89653bf00c43d2fed2ecaf0b59b0b11bd4efafa4f87a6f70c8ad11f23834d313c7d1ae07a77baa0d9cfbbe535aa
|
||||
DIST meson-1.9.1.tar.gz 5083044 BLAKE2B a4d1894636ee61fa0101153f07d53717d34ba9de620b69becf669e06dc09a85874b4c5d619a509347c97e4112502a431affecccc5faf96464b072b5563247b9e SHA512 e5a167ff035f1494d6b1df7d3bf6feb37aa6421222fd27bfbebb36de4c7c3083e327679b82b7d9d3d4a2cc4dc2a3babb7cbf03358e4a2784d47eb34502014a1c
|
||||
DIST meson-1.9.1.tar.gz.asc 992 BLAKE2B 5271c87e19da0f0776c01b1f9f71eef0540e532a9397dbbff3c09c9b3b7698b8ea650f46c8b7edab8e5fd72c1fce4445d556c310770cc23c8275ebf8f06241f6 SHA512 a621781134e4793ea557fd1487895b65a38de23b676a7b6d8d7ac779abcdf768bdf09f933ea7ecedee0cd78fa62ab6319a9108cdf39ffa2e5695cddf183fb903
|
||||
DIST meson-reference-1.4.2.3 339324 BLAKE2B 1a4fbd8c27a8cfba773777eabd2ebaa0f76ec0c61dcfe1c7b4483737b348ff9528d68f26e68d7d40b2e1875611eed5b9a31c1cf55fed8eabb42fc1e31d9ef14b SHA512 8b8ec43e812599203ec44c08805eb6818485805c45b9c69802261eaa35efc97846a96f6472c6b1ef5f6c703e7153fd957df7b805f173ca3400a2030dfbe002ca
|
||||
DIST meson-reference-1.5.2.3 341110 BLAKE2B 0d588b796f7f2da2dcb0e7822acde6a9a461930da4bfead3cf9148fa0fac18cd0ccbc6e891f555c973836f1c16b4eae299908a838a0b6843293de8815d30fc23 SHA512 64715ce2113e362e7d67179fe13566bc8f84ce7f4e6d795b836f42455a871173fee06e3e969e2996022d7e6c9b4b5379587a4c0c3d97b4bca527fb8902d3547f
|
||||
DIST meson-reference-1.6.1.3 343730 BLAKE2B 55df822192781a70e4bc44cfe14fb363e3f820406260ca9705d7fdb5fad1bf0117e3f1325d37e58e23477bc075ab6bd84056409355ec694f72eeaa5bf982ecc7 SHA512 553cdcd86a7a600cda05ac970cc285c4c50017d1e7d2925645d7f19a62b34c2f079673cafecf4111aa102afbe9d8e4d56f166d1d9940b740eeec0bb99d6cbc0d
|
||||
DIST meson-reference-1.7.2.3 344764 BLAKE2B 82de9a7a01c2f1b45a2b3432deb4713af3cfd3b2dc9af8802488b7d1b86dde9b6ac81f90b144006a79e90b313e1d4d23f9cc90e17255ce9573e5487d3e20c286 SHA512 d482a3b3bed671705d6316e106984ad2c2169fe890349437e512455705ee8dddb31a29d31f44402a4c7c5bd2f78595b75bfc5ad34d8c0337b66f40837b08ee56
|
||||
DIST meson-reference-1.8.3.3 345855 BLAKE2B c8825ba7b72b36866ebfa8cdf63362f2d38673315378ea213c438057f5dafa36b9e729e8c415a29715c1da4fe72733a4a6a2cdbee4b7df57e5eb97f50152491b SHA512 3085c10cfc08ce4f0edad7129ce4d9a0bf75c6522309e344ba14e27c34d46c3da25ebb46260de28caef4a6c8134857d63297ded26f1296639a8a097e62a1801c
|
||||
DIST meson-reference-1.8.4.3 345964 BLAKE2B a2840cfabe319cb244ad46bb3b72b7e19bcaf3bfbd0f804c3982a191f795284cc4d35ee00266bf069dd95c0fa99fdb565343007aed75a7a0859ad85528422667 SHA512 95385faa364103c9f38b497f6e021d81c0e08048863a046b5c9030d11f7554f8237d405fe04d2145513e3685a13c71b167f29a8727d0f8cb0ca591076e0b39b9
|
||||
DIST meson-reference-1.9.0.3 347286 BLAKE2B 1fb96870791e7bdaefed5c9a0e807d412e922e965690ef2f8820075a27c2d20d7b8057f0f3b7b009dcc5f20cb7ba7ee778d2df6e4eac583cda58625d58fe9266 SHA512 6e0e127c988b6269c13ba901ce7bbedab135d81a0b4bcd8528a01371d9f74964381c446c2fa35876953ad0199866a0016b1e39f315b054b91499fc00597a9c5d
|
||||
DIST meson-reference-1.8.5.3 345964 BLAKE2B df514085c03c6cd84e31b1ea1aea18d34fdd5aebbcfa3ca96b31ca7dc97c89649f0b26e927288ed71beb3500a46d53cf6c42b740d9a8b3a22d75258cdf99c3c6 SHA512 ef8c4479b13bea4510dd57b0e18a4b86255853885763ae0a2ee19b3e0e846c6619bb6a646d656266650a58bc2afc7b1fa91b05bfc6f8fec9dcd73a7627a369fe
|
||||
DIST meson-reference-1.9.1.3 347286 BLAKE2B cae2e9a97bcb7fc6894723156280306ea0fb35d9cbe68d31785ac0678b17b8a4bdfdf2362834b9daf3c01e0ff8dd67c0f1d384595ef4e93858064bdad3e46840 SHA512 d79a772f4fdd55309acda104087d0bbdc707e8fd2816b516daf0b8d1c034892ddb0bec9a383d6f65184e9509a358e2a8b392a484b65ab9d26c0e68a02fd6db95
|
||||
|
||||
@ -1,231 +0,0 @@
|
||||
# Copyright 2016-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{11..14} pypy3_11 )
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
|
||||
inherit shell-completion edo distutils-r1 flag-o-matic toolchain-funcs
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/mesonbuild/meson"
|
||||
inherit ninja-utils git-r3
|
||||
|
||||
BDEPEND="
|
||||
${NINJA_DEPEND}
|
||||
$(python_gen_any_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
|
||||
"
|
||||
|
||||
else
|
||||
inherit verify-sig
|
||||
|
||||
MY_PV=${PV/_/}
|
||||
MY_P=${P/_/}
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
SRC_URI="
|
||||
https://github.com/mesonbuild/meson/releases/download/${MY_PV}/${MY_P}.tar.gz
|
||||
verify-sig? ( https://github.com/mesonbuild/meson/releases/download/${MY_PV}/${MY_P}.tar.gz.asc )
|
||||
https://github.com/mesonbuild/meson/releases/download/${MY_PV}/meson-reference.3 -> meson-reference-${MY_PV}.3
|
||||
"
|
||||
# Releases may be signed by those listed in Releasing.md. Jussi
|
||||
# remains the default release manager.
|
||||
# https://github.com/mesonbuild/meson/commit/c2d795735fa1c46c54d6aed4d4a30f36a1f853cb
|
||||
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-jpakkane )"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg
|
||||
|
||||
if [[ ${PV} != *_rc* ]] ; then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
fi
|
||||
|
||||
DESCRIPTION="Open source build system"
|
||||
HOMEPAGE="https://mesonbuild.com/"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="test test-full"
|
||||
RESTRICT="!test? ( test )"
|
||||
REQUIRED_USE="test-full? ( test )"
|
||||
|
||||
DEPEND="
|
||||
test? (
|
||||
dev-libs/glib:2
|
||||
dev-libs/gobject-introspection
|
||||
app-alternatives/ninja
|
||||
dev-vcs/git
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
virtual/pkgconfig
|
||||
dev-build/cmake
|
||||
)
|
||||
test-full? (
|
||||
|| ( dev-lang/rust dev-lang/rust-bin )
|
||||
dev-lang/nasm
|
||||
>=dev-lang/pypy-3
|
||||
dev-lang/vala
|
||||
dev-python/cython
|
||||
virtual/fortran
|
||||
virtual/jdk
|
||||
|
||||
app-text/doxygen
|
||||
dev-cpp/gtest
|
||||
dev-libs/protobuf
|
||||
dev-util/bindgen
|
||||
dev-util/gtk-doc
|
||||
dev-util/itstool
|
||||
llvm-core/llvm
|
||||
media-libs/libsdl2
|
||||
media-libs/libwmf
|
||||
net-libs/libpcap
|
||||
sci-libs/hdf5[fortran]
|
||||
sci-libs/netcdf
|
||||
sys-cluster/openmpi[fortran]
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
|
||||
dev-qt/linguist-tools:5
|
||||
dev-qt/qtwidgets:5
|
||||
dev-qt/qtbase:6[gui,widgets]
|
||||
dev-qt/qtdeclarative:6
|
||||
dev-qt/qttools:6
|
||||
dev-util/gdbus-codegen
|
||||
x11-libs/gtk+:3
|
||||
|
||||
dev-libs/wayland
|
||||
dev-util/wayland-scanner
|
||||
)
|
||||
"
|
||||
RDEPEND="
|
||||
!<dev-build/muon-0.2.0-r2[man(-)]
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.2.1-python-path.patch
|
||||
)
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
git-r3_src_unpack
|
||||
else
|
||||
default
|
||||
use verify-sig && verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.gz{,.asc}
|
||||
fi
|
||||
}
|
||||
|
||||
python_prepare_all() {
|
||||
local disable_unittests=(
|
||||
# ASAN and sandbox both want control over LD_PRELOAD
|
||||
# https://bugs.gentoo.org/673016
|
||||
-e 's/test_generate_gir_with_address_sanitizer/_&/'
|
||||
-e 's/test_env_cflags_ldflags/_&/'
|
||||
-e 's/test_c_link_args_and_env/_&/'
|
||||
|
||||
# ASAN is unsupported on some targets
|
||||
# https://bugs.gentoo.org/692822
|
||||
-e 's/test_pch_with_address_sanitizer/_&/'
|
||||
|
||||
# clippy-driver fails, but only when run via portage.
|
||||
#
|
||||
# error[E0463]: can't find crate for `std`
|
||||
# error: requires `sized` lang_item
|
||||
-e 's/test_rust_clippy/_&/'
|
||||
)
|
||||
|
||||
sed -i "${disable_unittests[@]}" unittests/*.py || die
|
||||
|
||||
# Broken due to python2 script created by python_wrapper_setup
|
||||
rm -r "test cases/frameworks/1 boost" || die
|
||||
# nvcc breaks on essentially any LDFLAGS
|
||||
# https://bugs.gentoo.org/936757
|
||||
# https://github.com/mesonbuild/meson/issues/11234
|
||||
rm -r "test cases/cuda"/* || die
|
||||
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
python_check_deps() {
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
python_has_version "dev-python/pyyaml[${PYTHON_USEDEP}]"
|
||||
fi
|
||||
}
|
||||
|
||||
python_configure_all() {
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
# We use the unsafe_yaml loader because strictyaml is not packaged. In
|
||||
# theory they produce the same results, but pyyaml is faster and
|
||||
# without safety checks.
|
||||
edo ./meson.py setup \
|
||||
--prefix "${EPREFIX}/usr" \
|
||||
-Dhtml=false \
|
||||
-Dunsafe_yaml=true \
|
||||
docs/ docs/builddir
|
||||
fi
|
||||
}
|
||||
|
||||
python_compile_all() {
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
eninja -C docs/builddir
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
tc-export PKG_CONFIG
|
||||
if ${PKG_CONFIG} --exists Qt5Core && ! ${PKG_CONFIG} --exists Qt5Gui; then
|
||||
ewarn "Found Qt5Core but not Qt5Gui; skipping tests"
|
||||
else
|
||||
distutils-r1_src_test
|
||||
fi
|
||||
}
|
||||
|
||||
python_test() {
|
||||
(
|
||||
# meson has its own tests for LTO support. We don't need to verify that
|
||||
# all tests work when they happen to use it. And in particular, this
|
||||
# breaks rust.
|
||||
filter-lto
|
||||
|
||||
# remove unwanted python_wrapper_setup contents
|
||||
# We actually do want to non-error if python2 is installed and tested.
|
||||
remove="${T}/${EPYTHON}/bin:"
|
||||
PATH=${PATH/${remove}/}
|
||||
|
||||
# test_meson_installed
|
||||
unset PYTHONDONTWRITEBYTECODE
|
||||
|
||||
# https://bugs.gentoo.org/687792
|
||||
unset PKG_CONFIG
|
||||
|
||||
# test_cross_file_system_paths
|
||||
unset XDG_DATA_HOME
|
||||
|
||||
# 'test cases/unit/73 summary' expects 80 columns
|
||||
export COLUMNS=80
|
||||
|
||||
# If JAVA_HOME is not set, meson looks for javac in PATH.
|
||||
# If javac is in /usr/bin, meson assumes /usr/include is a valid
|
||||
# JDK include path. Setting JAVA_HOME works around this broken
|
||||
# autodetection. If no JDK is installed, we should end up with an empty
|
||||
# value in JAVA_HOME, and the tests should get skipped.
|
||||
export JAVA_HOME=$(java-config -O 2>/dev/null)
|
||||
|
||||
${EPYTHON} -u run_tests.py
|
||||
) || die "Testing failed with ${EPYTHON}"
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
distutils-r1_python_install_all
|
||||
|
||||
insinto /usr/share/vim/vimfiles
|
||||
doins -r data/syntax-highlighting/vim/{ftdetect,indent,syntax}
|
||||
|
||||
dozshcomp data/shell-completions/zsh/_meson
|
||||
dobashcomp data/shell-completions/bash/meson
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
DESTDIR="${ED}" eninja -C docs/builddir install
|
||||
else
|
||||
newman "${DISTDIR}"/meson-reference-${MY_PV}.3 meson-reference.3
|
||||
fi
|
||||
}
|
||||
@ -32,8 +32,9 @@ else
|
||||
# Releases may be signed by those listed in Releasing.md. Jussi
|
||||
# remains the default release manager.
|
||||
# https://github.com/mesonbuild/meson/commit/c2d795735fa1c46c54d6aed4d4a30f36a1f853cb
|
||||
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-jpakkane )"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg
|
||||
BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-eschwartz-20250723-r1 sec-keys/openpgp-keys-jpakkane )"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/eschwartz.asc
|
||||
#VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg
|
||||
|
||||
if [[ ${PV} != *_rc* ]] ; then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
@ -32,8 +32,9 @@ else
|
||||
# Releases may be signed by those listed in Releasing.md. Jussi
|
||||
# remains the default release manager.
|
||||
# https://github.com/mesonbuild/meson/commit/c2d795735fa1c46c54d6aed4d4a30f36a1f853cb
|
||||
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-jpakkane )"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg
|
||||
BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-eschwartz-20250723-r1 sec-keys/openpgp-keys-jpakkane )"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/eschwartz.asc
|
||||
#VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg
|
||||
|
||||
if [[ ${PV} != *_rc* ]] ; then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
@ -1,2 +1 @@
|
||||
DIST azure-sdk-for-cpp-11a2a38aa79daf573c2a16353dd9121536ac9fc1.tar.gz 3375477 BLAKE2B ee381975a7464c62b6a2d6a7aeaa52118cf6941a6c91b81eb8e056cc5deef9cd0d23dc7e56f273796fa906a064e9e23acb763762013b9c27837788cc261253ce SHA512 892223ff787bf68dd782e058962120b06f12891383fe26e157d9efd59ecc4d5d216f4fb1df6d46a46a57167ec1c3cfe864757e4e198a3c8a6a721603d7c51695
|
||||
DIST azure-sdk-for-cpp-de3cc64a55b2a67d672b7ca899a8675182d1c989.tar.gz 3359660 BLAKE2B eda2034cc789ad6d5e1d477bbb5a3619a53ee22b511707b8aec9471dc8b09814b4b6c199442532790f7b43c07e21bfa3f6534cf49e1f46d7f8a5e60f3e5eecce SHA512 b6004de0e1f312bdd55f91f597d2ee831be9d3d500a0c554a8258f52d054c288a6caff3ae86cc023b9ee1167df9fd898d65278f0b076ae23b2e65e9ab5791d36
|
||||
|
||||
@ -1,46 +0,0 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit cmake
|
||||
|
||||
COMMIT="de3cc64a55b2a67d672b7ca899a8675182d1c989"
|
||||
MY_P="azure-sdk-for-cpp-${COMMIT}"
|
||||
DESCRIPTION="Azure SDK for C++"
|
||||
HOMEPAGE="https://azure.github.io/azure-sdk-for-cpp/"
|
||||
SRC_URI="https://github.com/Azure/azure-sdk-for-cpp/archive/${COMMIT}.tar.gz -> ${MY_P}.tar.gz"
|
||||
S="${WORKDIR}/${MY_P}/sdk/core/${PN}"
|
||||
LICENSE="MIT"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="amd64"
|
||||
IUSE="doc"
|
||||
RESTRICT="test" # Too many online tests.
|
||||
|
||||
RDEPEND="
|
||||
dev-libs/openssl:=
|
||||
net-misc/curl[ssl]
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
"
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
doc? ( app-text/doxygen )
|
||||
"
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DBUILD_DOCUMENTATION=$(usex doc)
|
||||
-DWARNINGS_AS_ERRORS=no
|
||||
)
|
||||
|
||||
AZURE_SDK_DISABLE_AUTO_VCPKG=yes \
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
rm -v "${ED}"/usr/share/*/copyright || die
|
||||
use doc && dodoc -r "${BUILD_DIR}"/docs/html
|
||||
}
|
||||
@ -13,7 +13,7 @@ SRC_URI="https://github.com/Azure/azure-sdk-for-cpp/archive/${COMMIT}.tar.gz ->
|
||||
S="${WORKDIR}/${MY_P}/sdk/core/${PN}"
|
||||
LICENSE="MIT"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64"
|
||||
KEYWORDS="amd64"
|
||||
IUSE="doc"
|
||||
RESTRICT="test" # Too many online tests.
|
||||
|
||||
|
||||
@ -1,2 +1,2 @@
|
||||
DIST azure-sdk-for-cpp-11a2a38aa79daf573c2a16353dd9121536ac9fc1.tar.gz 3375477 BLAKE2B ee381975a7464c62b6a2d6a7aeaa52118cf6941a6c91b81eb8e056cc5deef9cd0d23dc7e56f273796fa906a064e9e23acb763762013b9c27837788cc261253ce SHA512 892223ff787bf68dd782e058962120b06f12891383fe26e157d9efd59ecc4d5d216f4fb1df6d46a46a57167ec1c3cfe864757e4e198a3c8a6a721603d7c51695
|
||||
DIST azure-sdk-for-cpp-6aea93d0410f5bc3e3a58a8d492a3063cac3aced.tar.gz 3360426 BLAKE2B 027729aece30196a607a3bb9d6b12e1f884069526b96773701fe211945426a0175ed94d65ae5df6577dfe871a89cbbcff53ea1c6ab814719385af9c9a821aad5 SHA512 f7abcf97468caa04c841935911490c134f1d860b9ae11f2ba57a2a480b9c63a7277fe2ed1440ae0d3c8d2ba76890bc170f38ee936016f9a4ba9b4989f2b7eb11
|
||||
DIST azure-sdk-for-cpp-fe5e5ad9e50423ad992648a60151696ed896b7c6.tar.gz 3399411 BLAKE2B dba68b4c673bfa48c3e8bb08d51f4e677e82cdd9a2eb651ec91f62b0a658d22493d5ded51346ee08c43b3da369ab6dbd77dc57396544facf48fe5082d8682312 SHA512 7fe149e37d17e54fb3669f143b7ba16c8d4bde3caf56e132786aa97d7c3d662b753a99d0ed460ca29dfc469776aaf5e0d36df17e419458c4f941c1c5763990dd
|
||||
|
||||
@ -13,7 +13,7 @@ SRC_URI="https://github.com/Azure/azure-sdk-for-cpp/archive/${COMMIT}.tar.gz ->
|
||||
S="${WORKDIR}/${MY_P}/sdk/identity/${PN}"
|
||||
LICENSE="MIT"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64"
|
||||
KEYWORDS="amd64"
|
||||
IUSE="doc"
|
||||
RESTRICT="test" # Too many online tests.
|
||||
|
||||
|
||||
@ -5,7 +5,7 @@ EAPI=8
|
||||
|
||||
inherit cmake
|
||||
|
||||
COMMIT="6aea93d0410f5bc3e3a58a8d492a3063cac3aced"
|
||||
COMMIT="fe5e5ad9e50423ad992648a60151696ed896b7c6"
|
||||
MY_P="azure-sdk-for-cpp-${COMMIT}"
|
||||
DESCRIPTION="Azure SDK for C++"
|
||||
HOMEPAGE="https://azure.github.io/azure-sdk-for-cpp/"
|
||||
@ -13,7 +13,7 @@ SRC_URI="https://github.com/Azure/azure-sdk-for-cpp/archive/${COMMIT}.tar.gz ->
|
||||
S="${WORKDIR}/${MY_P}/sdk/identity/${PN}"
|
||||
LICENSE="MIT"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="amd64"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="doc"
|
||||
RESTRICT="test" # Too many online tests.
|
||||
|
||||
@ -30,10 +30,6 @@ BDEPEND="
|
||||
doc? ( app-text/doxygen )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-imds-double-slash.patch
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DBUILD_DOCUMENTATION=$(usex doc)
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user